added new option "create_user_levelset" (setup file only)
[rocksndiamonds.git] / src / libgame / system.h
index 4e64c32648224417a0da13705b567fc20155b420..185fdc5a1376c289d6eb3a2e4efe57fe05d1bd44 100644 (file)
 
 #define FADE_MODE_DEFAULT      FADE_MODE_FADE
 
+#define AUTO_DELAY_UNIT_MS     0
+#define AUTO_DELAY_UNIT_FRAMES 1
+
+#define AUTO_DELAY_UNIT_DEFAULT        AUTO_DELAY_UNIT_MS
+
 // values for toon positions
 #define POS_UNDEFINED          -1
 #define POS_LEFT               0
                                 y >= gfx.ey && y < gfx.ey + gfx.eysize)
 
 // values for mouse cursor
+#define CURSOR_UNDEFINED       -1
 #define CURSOR_DEFAULT         0
 #define CURSOR_NONE            1
 #define CURSOR_PLAYFIELD       2
@@ -1010,6 +1016,7 @@ struct VideoSystemInfo
   int screen_rendering_mode;
   int vsync_mode;
 
+  unsigned int frame_counter;
   unsigned int frame_delay;
   unsigned int frame_delay_value;
 
@@ -1121,6 +1128,8 @@ struct GfxInfo
   void (*draw_tile_cursor_function)(int);
 
   int cursor_mode;
+  int cursor_mode_override;
+  int cursor_mode_final;
   int mouse_x, mouse_y;
 };
 
@@ -1317,6 +1326,7 @@ struct SetupInternalInfo
 
   boolean choose_from_top_leveldir;
   boolean show_scaling_in_title;
+  boolean create_user_levelset;
 
   boolean menu_game;
   boolean menu_editor;
@@ -1849,14 +1859,18 @@ void FreeBitmapTextures(Bitmap **);
 void ScaleBitmap(Bitmap **, int);
 
 void SetMouseCursor(int);
+void UpdateRawMousePosition(int, int);
+void UpdateMousePosition(void);
 
 void OpenAudio(void);
 void CloseAudio(void);
 void SetAudioMode(boolean);
 
+void InitEventFilter(EventFilter);
 boolean PendingEvent(void);
 void WaitEvent(Event *event);
 void PeekEvent(Event *event);
+void PumpEvents(void);
 void CheckQuitEvent(void);
 Key GetEventKey(KeyEvent *, boolean);
 KeyMod HandleKeyModState(Key, int);