added step delay option to custom element movement configuration
[rocksndiamonds.git] / src / main.h
index 49d18568d266863e96c395568cff4434cd004582..9c669ca6a6d563f98bf2ec3f0074f0958102855a 100644 (file)
@@ -2570,15 +2570,15 @@ enum
 // program information and versioning definitions
 #define PROGRAM_VERSION_SUPER          4
 #define PROGRAM_VERSION_MAJOR          2
-#define PROGRAM_VERSION_MINOR          1
-#define PROGRAM_VERSION_PATCH          0
+#define PROGRAM_VERSION_MINOR          2
+#define PROGRAM_VERSION_PATCH          2
 #define PROGRAM_VERSION_EXTRA          ""
 
 #define PROGRAM_TITLE_STRING           "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING          "Holger Schemel"
 #define PROGRAM_EMAIL_STRING           "info@artsoft.org"
 #define PROGRAM_WEBSITE_STRING         "https://www.artsoft.org/"
-#define PROGRAM_COPYRIGHT_STRING       "Copyright \xa9""1995-2020 by Holger Schemel"
+#define PROGRAM_COPYRIGHT_STRING       "Copyright \xa9""1995-2021 by Holger Schemel"
 #define PROGRAM_COMPANY_STRING         "A Game by Artsoft Entertainment"
 
 #define PROGRAM_ICON_FILENAME          "RocksIcon32x32.png"
@@ -2890,9 +2890,15 @@ struct RequestInfo
   int anim_mode;
   int align;
   int valign;
+  int sort_priority;
   boolean autowrap;
   boolean centered;
   boolean wrap_single_words;
+
+  // run-time values
+  Bitmap *bitmap;
+  int sx, sy;
+  int xsize, ysize;
 };
 
 struct PreviewInfo
@@ -3180,6 +3186,7 @@ struct LevelInfo
   boolean sb_objects_needed;   // all Sokoban objects must be solved
   boolean auto_exit_sokoban;   // automatically finish solved Sokoban levels
   boolean solved_by_one_player;        // level is solved if one player enters exit
+  boolean finish_dig_collect;  // only finished dig/collect triggers ce action
 
   boolean continuous_snapping; // repeated snapping without releasing key
   boolean block_snap_field;    // snapping blocks field to show animation
@@ -3197,6 +3204,8 @@ struct LevelInfo
   // ('int' instead of 'boolean' because used as selectbox value in editor)
   int use_step_counter;                // count steps instead of seconds for level
 
+  int time_score_base;         // use time score for 1 or 10 seconds/steps
+
   short field[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 
   boolean use_custom_template; // use custom properties from template file
@@ -3388,6 +3397,8 @@ struct ElementInfo
   int drop_delay_random;       // additional random delay after dropping
   int move_delay_fixed;                // constant delay after moving
   int move_delay_random;       // additional random delay after moving
+  int step_delay_fixed;                // constant delay while moving
+  int step_delay_random;       // additional random delay while moving
 
   int move_pattern;            // direction movable element moves to
   int move_direction_initial;  // initial direction element moves to
@@ -3647,7 +3658,7 @@ extern DrawBuffer        *fieldbuffer;
 extern DrawBuffer             *drawto_field;
 
 extern int                     game_status;
-extern boolean                 game_status_last_screen;
+extern int                     game_status_last_screen;
 extern boolean                 level_editor_test_game;
 extern boolean                 network_playing;