added global animation actions executed after init/anim/post delay
[rocksndiamonds.git] / src / main.h
index ba83a4d6c730ac07775e2e63f55da0fde0152519..3350513fe7a6e5e9579c3553f56d461c4ce14385 100644 (file)
@@ -2370,10 +2370,13 @@ enum
   GFX_ARG_DRAW_ORDER,
   GFX_ARG_INIT_DELAY_FIXED,
   GFX_ARG_INIT_DELAY_RANDOM,
+  GFX_ARG_INIT_DELAY_ACTION,
   GFX_ARG_ANIM_DELAY_FIXED,
   GFX_ARG_ANIM_DELAY_RANDOM,
+  GFX_ARG_ANIM_DELAY_ACTION,
   GFX_ARG_POST_DELAY_FIXED,
   GFX_ARG_POST_DELAY_RANDOM,
+  GFX_ARG_POST_DELAY_ACTION,
   GFX_ARG_INIT_EVENT,
   GFX_ARG_INIT_EVENT_ACTION,
   GFX_ARG_ANIM_EVENT,
@@ -2544,7 +2547,7 @@ enum
 // program information and versioning definitions
 #define PROGRAM_VERSION_SUPER          4
 #define PROGRAM_VERSION_MAJOR          1
-#define PROGRAM_VERSION_MINOR          1
+#define PROGRAM_VERSION_MINOR          2
 #define PROGRAM_VERSION_PATCH          1
 #define PROGRAM_VERSION_EXTRA          ""
 
@@ -2552,7 +2555,7 @@ enum
 #define PROGRAM_AUTHOR_STRING          "Holger Schemel"
 #define PROGRAM_EMAIL_STRING           "info@artsoft.org"
 #define PROGRAM_WEBSITE_STRING         "http://www.artsoft.org/"
-#define PROGRAM_COPYRIGHT_STRING       "Copyright \xa9""1995-2018 by Holger Schemel"
+#define PROGRAM_COPYRIGHT_STRING       "Copyright \xa9""1995-2019 by Holger Schemel"
 #define PROGRAM_COMPANY_STRING         "A Game by Artsoft Entertainment"
 
 #define PROGRAM_ICON_FILENAME          "RocksIcon32x32.png"
@@ -3412,6 +3415,18 @@ struct GlobalAnimInfo
   int music[NUM_GLOBAL_ANIM_PARTS_ALL][NUM_SPECIAL_GFX_ARGS];
 };
 
+struct GlobalAnimEventListInfo
+{
+  int *event_value;
+  int num_event_values;
+};
+
+struct GlobalAnimEventInfo
+{
+  struct GlobalAnimEventListInfo **event_list;
+  int num_event_lists;
+};
+
 struct GraphicInfo
 {
   Bitmap **bitmaps;            // bitmaps in all required sizes
@@ -3449,10 +3464,13 @@ struct GraphicInfo
 
   int init_delay_fixed;                // optional initial delay values for global
   int init_delay_random;       // animations (pause interval before start)
+  int init_delay_action;       // optional action called on animation start
   int anim_delay_fixed;                // optional delay values for bored/sleeping
   int anim_delay_random;       // and global animations (animation length)
+  int anim_delay_action;       // optional action called on animation end
   int post_delay_fixed;                // optional delay values after bored/global
   int post_delay_random;       // animations (pause before next animation)
+  int post_delay_action;       // optional action called after post delay
 
   int init_event;              // optional event triggering animation start
   int init_event_action;       // optional action called on animation start
@@ -3701,6 +3719,7 @@ extern struct TokenIntPtrInfo     image_config_vars[];
 extern struct FontInfo         font_info[];
 extern struct GlobalAnimInfo   global_anim_info[];
 extern struct GlobalAnimNameInfo global_anim_name_info[];
+extern struct GlobalAnimEventInfo global_anim_event_info;
 extern struct MusicPrefixInfo  music_prefix_info[];
 extern struct GraphicInfo      *graphic_info;
 extern struct SoundInfo               *sound_info;