Mouse_sync

Set this flag to synchronize the mouse pointer with the windows mouse position. This leads to a much smoother mouse movement because the mouse position is updated several times per frame cycle, not once per frame as before.

 

Sys_metrics

This feature was imported from C (GetSystemMetrics) and allows you to get a lot of information (88 parameters) about your PC: the size of the screen, the size of the mouse pointer, the number of monitors, etc.

var mouse_wheel = 0;

starter check_mouse()
{
     mouse_wheel = sys_metrics(75); // see if the mouse has a scrolling wheel or not
     while (1)
     {
          if (mouse_wheel != 0) // wheel present?
          {
               // then use the wheel to zoom in and out
               camera.arc -= 0.1 * mickey.z * time;
          }
          else // wheel not detected
          {
               // use the "Y" and "H" keys to zoom in and out
               camera.arc -= (key_y - key_h) * time;
          }
          camera.arc = min (max (camera.arc, 10), 100); // limit camera.arc to 10..100 degrees
          wait (1);
     }
}

 

Bmap_load

Loads a bitmap (jpg, png, bmp, tga, dds, dib) from a file during gameplay. This way you can choose a particular skin for your model at run time, without having to load all its skins in the video memory. Don't forget that you can load compressed textures too!

function change_players_skin()
{
    bmap_load (bmap_for_entity (player, 0), "newskin.bmp");
}

on_c change_players_skin; // press "C" to change player's skin