added global animation actions executed after init/anim/post delay
[rocksndiamonds.git] / src / libgame / system.h
index afb90b7a159a37014a35a43e6f7801876bb2ab9e..4e64c32648224417a0da13705b567fc20155b420 100644 (file)
 
 #define STYLE_DEFAULT          STYLE_NONE
 
+// values for special global animation delay types
+#define ANIM_DELAY_UNDEFINED   -1
+#define ANIM_DELAY_NONE                0
+#define ANIM_DELAY_INIT                1
+#define ANIM_DELAY_ANIM                2
+#define ANIM_DELAY_POST                3
+
+// values for special global animation delay actions
+#define ANIM_DELAY_ACTION_NONE -1
+
 // values for special global animation events
+#define ANIM_EVENT_UNDEFINED   -1
 #define ANIM_EVENT_NONE                0
 #define ANIM_EVENT_SELF                (1 << 16)
 #define ANIM_EVENT_ANY         (1 << 17)
-
+#define ANIM_EVENT_CLICK       (1 << 18)
+#define ANIM_EVENT_INIT                (1 << 19)
+#define ANIM_EVENT_START       (1 << 20)
+#define ANIM_EVENT_END         (1 << 21)
+#define ANIM_EVENT_POST                (1 << 22)
+#define ANIM_EVENT_UNCLICK_ANY (1 << 23)
+
+// anim number: bits 0-7
+// part number: bits 8-15
 #define ANIM_EVENT_ANIM_BIT    0
 #define ANIM_EVENT_PART_BIT    8
 
@@ -942,6 +961,11 @@ struct NetworkInfo
 
 };
 
+struct RuntimeInfo
+{
+  boolean uses_touch_device;
+};
+
 struct OptionInfo
 {
   char *server_host;
@@ -1097,6 +1121,7 @@ struct GfxInfo
   void (*draw_tile_cursor_function)(int);
 
   int cursor_mode;
+  int mouse_x, mouse_y;
 };
 
 struct TileCursorInfo
@@ -1688,6 +1713,7 @@ struct LevelStats
 
 extern struct ProgramInfo      program;
 extern struct NetworkInfo      network;
+extern struct RuntimeInfo      runtime;
 extern struct OptionInfo       options;
 extern struct VideoSystemInfo  video;
 extern struct AudioSystemInfo  audio;
@@ -1726,6 +1752,7 @@ extern int                        FrameCounter;
 void InitProgramInfo(char *, char *, char *, char *, char *, char *, char *,
                     char *, int);
 void InitNetworkInfo(boolean, boolean, boolean, char *, int);
+void InitRuntimeInfo(void);
 
 void InitScoresInfo(void);
 void SetWindowTitle(void);
@@ -1837,7 +1864,7 @@ KeyMod GetKeyModState(void);
 KeyMod GetKeyModStateFromEvents(void);
 void StartTextInput(int, int, int, int);
 void StopTextInput(void);
-boolean CheckCloseWindowEvent(ClientMessageEvent *);
+void PushUserEvent(int, int, int);
 
 void InitJoysticks(void);
 boolean ReadJoystick(int, int *, int *, boolean *, boolean *);