added new animation mode ".global_anim_sync" for game element graphics
[rocksndiamonds.git] / src / main.h
index f3e757126a43e06115932f01563fb4b010f1d4bd..1a77f8a9bc7959fc7c73dfd018e4a213ef25ac8b 100644 (file)
 #define EP_BITMASK_BASE_DEFAULT                (1 << EP_CAN_MOVE_INTO_ACID)
 #define EP_BITMASK_DEFAULT             0
 
-#define PROPERTY_BIT(p)                        (1 << ((p) % 32))
+#define PROPERTY_BIT(p)                        (1u << ((p) % 32))
 #define PROPERTY_VAR(e,p)              (element_info[e].properties[(p) / 32])
 #define HAS_PROPERTY(e,p)      ((PROPERTY_VAR(e, p) & PROPERTY_BIT(p)) != 0)
 #define SET_PROPERTY(e,p,v)    ((v) ?                                     \
@@ -2411,6 +2411,7 @@ enum
   GFX_ARG_DELAY,
   GFX_ARG_ANIM_MODE,
   GFX_ARG_GLOBAL_SYNC,
+  GFX_ARG_GLOBAL_ANIM_SYNC,
   GFX_ARG_CRUMBLED_LIKE,
   GFX_ARG_DIGGABLE_LIKE,
   GFX_ARG_BORDER_SIZE,
@@ -2611,7 +2612,7 @@ enum
 #define PROGRAM_VERSION_SUPER          4
 #define PROGRAM_VERSION_MAJOR          3
 #define PROGRAM_VERSION_MINOR          2
-#define PROGRAM_VERSION_PATCH          0
+#define PROGRAM_VERSION_PATCH          3
 #define PROGRAM_VERSION_EXTRA          ""
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"
@@ -3123,11 +3124,14 @@ struct ScoreInfo
   int last_added_local;
   int last_level_nr;
   int last_entry_nr;
+  int next_level_nr;
 
   boolean updated;
   boolean uploaded;
   boolean tape_downloaded;
   boolean force_last_added;
+  boolean continue_playing;
+  boolean continue_on_return;
 
   struct ScoreEntry entry[MAX_SCORE_ENTRIES];
 };
@@ -3623,6 +3627,7 @@ struct GraphicInfo
   int anim_mode;
 
   boolean anim_global_sync;
+  boolean anim_global_anim_sync;
 
   int crumbled_like;           // element for cloning crumble graphics
   int diggable_like;           // element for cloning digging graphics
@@ -3906,6 +3911,7 @@ extern SetupFileHash             *element_token_hash;
 extern SetupFileHash          *graphic_token_hash;
 extern SetupFileHash          *font_token_hash;
 extern SetupFileHash          *hide_setup_hash;
+extern SetupFileHash          *anim_url_hash;
 extern struct ConfigTypeInfo   image_config_suffix[];
 extern struct ConfigTypeInfo   sound_config_suffix[];
 extern struct ConfigTypeInfo   music_config_suffix[];