rnd-20030924-B-src
[rocksndiamonds.git] / src / main.c
index 479e0122634d42a0a02e6964d4c0c175f6469794..f3c946f44685bbf0876bbef8fde7dd05ef0a3c60 100644 (file)
@@ -50,7 +50,8 @@ short                 StorePlayer[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  Back[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 boolean                        Stop[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 boolean                        Pushed[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
-boolean                        Changing[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+unsigned long          Changed[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+unsigned long          ChangeEvent[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  JustStopped[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  AmoebaNr[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 short                  AmoebaCnt[MAX_NUM_AMOEBA];
@@ -139,8 +140,8 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   },
   {
     "key_obsolete",
-    "key",
-    "key"
+    "obsolete",
+    "key (OBSOLETE)"
   },
   {
     "emerald",
@@ -154,8 +155,8 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
   },
   {
     "player_obsolete",
-    "player",
-    "player"
+    "obsolete",
+    "player (OBSOLETE)"
   },
   {
     "bug",
@@ -699,9 +700,9 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "fire breathing dragon"
   },
   {
-    "em_key_1_file",
-    "key",
-    "red key (EM style)"
+    "em_key_1_file_obsolete",
+    "obsolete",
+    "key (OBSOLETE)"
   },
   {
     "char_space",
@@ -1139,19 +1140,19 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "blue door (EM style)"
   },
   {
-    "em_key_2_file",
-    "key",
-    "yellow key (EM style)"
+    "em_key_2_file_obsolete",
+    "obsolete",
+    "key (OBSOLETE)"
   },
   {
-    "em_key_3_file",
-    "key",
-    "green key (EM style)"
+    "em_key_3_file_obsolete",
+    "obsolete",
+    "key (OBSOLETE)"
   },
   {
-    "em_key_4_file",
-    "key",
-    "blue key (EM style)"
+    "em_key_4_file_obsolete",
+    "obsolete",
+    "key (OBSOLETE)"
   },
   {
     "sp_empty_space",
@@ -1584,9 +1585,9 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "land mine"
   },
   {
-    "envelope",
-    "envelope",
-    "mail envelope"
+    "envelope_obsolete",
+    "obsolete",
+    "envelope (OBSOLETE)"
   },
   {
     "light_switch",
@@ -3183,31 +3184,51 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "custom",
     "custom element 256"
   },
-
-  /* ----------------------------------------------------------------------- */
-  /* "real" (and therefore drawable) runtime elements                        */
-  /* ----------------------------------------------------------------------- */
-
   {
     "em_key_1",
     "key",
-    "-"
+    "red key (EM style)"
     },
   {
     "em_key_2",
     "key",
-    "-"
+    "yellow key (EM style)"
     },
   {
     "em_key_3",
     "key",
-    "-"
+    "green key (EM style)"
   },
   {
     "em_key_4",
     "key",
-    "-"
+    "blue key (EM style)"
+  },
+  {
+    "envelope_1",
+    "envelope",
+    "mail envelope 1"
+  },
+  {
+    "envelope_2",
+    "envelope",
+    "mail envelope 2"
+  },
+  {
+    "envelope_3",
+    "envelope",
+    "mail envelope 3"
   },
+  {
+    "envelope_4",
+    "envelope",
+    "mail envelope 4"
+  },
+
+  /* ----------------------------------------------------------------------- */
+  /* "real" (and therefore drawable) runtime elements                        */
+  /* ----------------------------------------------------------------------- */
+
   {
     "dynabomb_player_1_active",
     "dynabomb",
@@ -3343,6 +3364,11 @@ struct ElementInfo element_info[MAX_NUM_ELEMENTS + 1] =
     "exit",
     "-"
   },
+  {
+    "exit_closing",
+    "exit",
+    "-"
+  },
   {
     "sp_exit_open",
     "sp_exit",
@@ -3687,6 +3713,7 @@ struct SpecialSuffixInfo special_suffix_info[NUM_SPECIAL_GFX_ARGS + 1] =
   { ".EDITOR",         GAME_MODE_EDITOR,               },
   { ".INFO",           GAME_MODE_INFO,                 },
   { ".SETUP",          GAME_MODE_SETUP,                },
+  { ".PLAYING",                GAME_MODE_PLAYING,              },
   { ".DOOR",           GAME_MODE_PSEUDO_DOOR,          },
   { ".PREVIEW",                GAME_MODE_PSEUDO_PREVIEW,       },
   { ".CRUMBLED",       GAME_MODE_PSEUDO_CRUMBLED,      },
@@ -3722,6 +3749,9 @@ struct TokenIntPtrInfo image_config_vars[] =
 
   { "door.step_offset",                &door.step_offset                          },
   { "door.step_delay",         &door.step_delay                           },
+  { "door.anim_mode",          &door.anim_mode                            },
+
+  { "game.envelope.anim_mode", &game.envelope.anim_mode                   },
 
   { NULL,                      NULL,                                      }
 };