added flags for test mode, teamwork mode and infinite levels to EM engine
[rocksndiamonds.git] / src / game_em / emerald.h
index d618f7c89699cb28cc6e3990ac0b6a644638940d..bceb8473cb5944c4134668fa3cf9ed0448348207 100644 (file)
@@ -62,10 +62,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 // ----------------------------------------------------------------------------
 // definition of elements used in the Emerald Mine Club engine;
 // the element names (mostly) have the following properties:
-// - elements that start with 'X' can be stored in a level file
-// - elements that start with 'Y' indicate moving or active elements
-// - elements that start with 'Z' are internal elements without graphics
-// - elements that end with 'B' are the "backside" of moving elements
+// - elements that start with 'X' are not animated (more or less)
+// - elements that start with 'Y' are animated elements
+// - elements that start with 'Z' are internal elements (without graphics)
+// - elements that end with 'B' or '_blank' change to the "Xblank" element
 // ----------------------------------------------------------------------------
 
 enum
@@ -77,9 +77,11 @@ enum
   Ztank,               /* internal tank/alien/bomb explosion */
   Zeater,              /* internal eater explosion */
   Zdynamite,           /* internal dynamite explosion */
+  Zboom,               /* explosion */
 
+  Xchain,              /* chain explosion; transition to Zboom */
   Xboom_bug,           /* bug explosion; transition to Zbug */
-  Xboom_bomb,          /* tank/alien/bomb explosion; transition to Ztank */
+  Xboom_tank,          /* tank/alien/bomb explosion; transition to Ztank */
   Xboom_android,       /* android explosion; transition to Xboom_2 */
   Xboom_1,             /* tile explosion; transition to Xboom_2 */
   Xboom_2,             /* transition to boom[] */
@@ -124,12 +126,12 @@ enum
 
   Xandroid,
   Xandroid_1_n,
-  Xandroid_2_n,
   Xandroid_1_e,
-  Xandroid_2_e,
   Xandroid_1_w,
-  Xandroid_2_w,
   Xandroid_1_s,
+  Xandroid_2_n,
+  Xandroid_2_e,
+  Xandroid_2_w,
   Xandroid_2_s,
   Yandroid_n,
   Yandroid_nB,
@@ -492,7 +494,7 @@ enum
   Xalpha_8,
   Xalpha_9,
   Xalpha_excla,
-  Xalpha_quote,
+  Xalpha_apost,
   Xalpha_comma,
   Xalpha_minus,
   Xalpha_perio,
@@ -541,7 +543,7 @@ enum
   Ygrass_blank,
   Ydirt_blank,
 
-  TILE_MAX
+  GAME_TILE_MAX
 };
 
 /* other definitions */
@@ -676,13 +678,14 @@ struct LOGIC
   int home;                    /* number of players not yet at home */
                                /* 0 == all players at home */
 
+  boolean testmode;            /* test mode */
   boolean killed_out_of_time;  /* kill player due to time out */
 
   int exit_x, exit_y;          /* kludge for playing player exit sound */
 
   short eater_array[8][9];             /* eater data */
   short ball_array[8][8];              /* ball data */
-  short android_array[TILE_MAX];       /* android clone data */
+  short android_array[GAME_TILE_MAX];  /* android clone data */
 
   short cavebuf[CAVE_BUFFER_WIDTH][CAVE_BUFFER_HEIGHT];
   short nextbuf[CAVE_BUFFER_WIDTH][CAVE_BUFFER_HEIGHT];