rnd-20031115-1-src
[rocksndiamonds.git] / src / main.h
index bf7bb7ff4e081030cdf2fd8ba55b704509cd3ec6..cbfbf67fc893ef3eceb67154b95f816196f5b996 100644 (file)
 #define ACTION_EMPTYING                                22
 #define ACTION_CHANGING                                23
 #define ACTION_EXPLODING                       24
-#define ACTION_DYING                           25
-#define ACTION_OTHER                           26
-
-#define NUM_ACTIONS                            27
+#define ACTION_BORING                          25
+#define ACTION_SLEEPING                                26
+#define ACTION_DYING                           27
+#define ACTION_TURNING                         28
+#define ACTION_TURNING_FROM_LEFT               29
+#define ACTION_TURNING_FROM_RIGHT              30
+#define ACTION_TURNING_FROM_UP                 31
+#define ACTION_TURNING_FROM_DOWN               32
+#define ACTION_OTHER                           33
+
+#define NUM_ACTIONS                            34
 
 /* values for special image configuration suffixes (must match game mode) */
 #define GFX_SPECIAL_ARG_MAIN                   0
 
 #define PROGRAM_VERSION_MAJOR  3
 #define PROGRAM_VERSION_MINOR  0
-#define PROGRAM_VERSION_PATCH  7
-#define PROGRAM_VERSION_RELEASE        0
-#define PROGRAM_VERSION_STRING "3.0.7"
+#define PROGRAM_VERSION_PATCH  8
+#define PROGRAM_VERSION_BUILD  0
 
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"
-#define PROGRAM_RIGHTS_STRING  "Copyright ©1995-2003 by"
+#define PROGRAM_COPYRIGHT_STRING "Copyright ©1995-2003 by Holger Schemel"
+
+#if 0
 #define PROGRAM_DOS_PORT_STRING        "DOS port done by Guido Schulz"
 #define PROGRAM_IDENT_STRING   PROGRAM_VERSION_STRING " " TARGET_STRING
 #define WINDOW_TITLE_STRING    PROGRAM_TITLE_STRING " " PROGRAM_IDENT_STRING
-#define WINDOW_SUBTITLE_STRING PROGRAM_RIGHTS_STRING " " PROGRAM_AUTHOR_STRING
+#endif
+
 #define ICON_TITLE_STRING      PROGRAM_TITLE_STRING
 #define COOKIE_PREFIX          "ROCKSNDIAMONDS"
 #define FILENAME_PREFIX                "Rocks"
 **     1.4 (still in use)
 **     2.0 (actual)
 */
-#define FILE_VERSION_1_0       VERSION_IDENT(1,0,0)
-#define FILE_VERSION_1_2       VERSION_IDENT(1,2,0)
-#define FILE_VERSION_1_4       VERSION_IDENT(1,4,0)
-#define FILE_VERSION_2_0       VERSION_IDENT(2,0,0)
+#define FILE_VERSION_1_0       VERSION_IDENT(1,0,0,0)
+#define FILE_VERSION_1_2       VERSION_IDENT(1,2,0,0)
+#define FILE_VERSION_1_4       VERSION_IDENT(1,4,0,0)
+#define FILE_VERSION_2_0       VERSION_IDENT(2,0,0,0)
 
 /* file version does not change for every program version, but is changed
    when new features are introduced that are incompatible with older file
 #define GAME_VERSION_1_4       FILE_VERSION_1_4
 #define GAME_VERSION_2_0       FILE_VERSION_2_0
 
-#define GAME_VERSION_ACTUAL    RELEASE_IDENT(PROGRAM_VERSION_MAJOR, \
+#define GAME_VERSION_ACTUAL    VERSION_IDENT(PROGRAM_VERSION_MAJOR, \
                                              PROGRAM_VERSION_MINOR, \
                                              PROGRAM_VERSION_PATCH, \
-                                             PROGRAM_VERSION_RELEASE)
+                                             PROGRAM_VERSION_BUILD)
 
 /* values for game_emulation */
 #define EMU_NONE               0
@@ -1246,11 +1255,16 @@ struct TapeInfo
 
 struct GameInfo
 {
+  /* values for engine initialization */
+  int default_push_delay_fixed;
+  int default_push_delay_random;
+
   /* constant within running game */
   int engine_version;
   int emulation;
   int initial_move_delay;
   int initial_move_delay_value;
+  int initial_push_delay_value;
 
   /* variable within running game */
   int yamyam_content_nr;
@@ -1498,9 +1512,10 @@ extern short                     ExplodeField[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern unsigned long           Properties[MAX_NUM_ELEMENTS][NUM_EP_BITFIELDS];
 
 extern int                     GfxFrame[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-extern int                     GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern int                     GfxRandom[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern int                     GfxElement[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern int                     GfxAction[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern int                     GfxDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 
 extern int                     lev_fieldx, lev_fieldy;
 extern int                     scroll_x, scroll_y;