// constant definitions
// ----------------------------------------------------------------------------
+/* maximum cave size */
#define CAVE_WIDTH MAX_PLAYFIELD_WIDTH
#define CAVE_HEIGHT MAX_PLAYFIELD_HEIGHT
#define CAVE_BUFFER_WIDTH (CAVE_WIDTH + 2 * CAVE_BUFFER_XOFFSET)
#define CAVE_BUFFER_HEIGHT (CAVE_HEIGHT + 2 * CAVE_BUFFER_YOFFSET)
-/*
- -----------------------------------------------------------------------------
- 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 end with 'B' are the "backside" of moving elements
- -----------------------------------------------------------------------------
-*/
+
+// ----------------------------------------------------------------------------
+// definition of elements used in the Emerald Mine Club engine;
+// the element names (mostly) have the following properties:
+// - 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
{
- Xblank = 0,
+ Zborder, /* special code to indicate border */
+ Zplayer, /* special code to indicate player */
+
+ Zbug, /* internal bug explosion */
+ 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_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[] */
+
+ Xblank,
Xsplash_e,
Xsplash_w,
Xalpha_8,
Xalpha_9,
Xalpha_excla,
- Xalpha_quote,
+ Xalpha_apost,
Xalpha_comma,
Xalpha_minus,
Xalpha_perio,
Ygrass_blank,
Ydirt_blank,
- Xboom_bug, /* passed from explode to synchro (linked explosion);
- transition to explode_normal */
- Xboom_bomb, /* passed from explode to synchro (linked explosion);
- transition to explode_normal */
- Xboom_android, /* passed from explode to synchro;
- transition to boom_2 */
- Xboom_1, /* passed from explode to synchro;
- transition to boom_2 */
- Xboom_2, /* transition to boom[] */
-
- Zbug, /* passed from synchro to explode, only in next[];
- no picture */
- Ztank, /* passed from synchro to explode, only in next[];
- no picture */
- Zeater, /* passed from synchro to explode, only in next[];
- no picture */
- Zdynamite, /* passed from synchro to explode, only in next[];
- no picture */
- Zplayer, /* special code to indicate player;
- no picture */
- Zborder, /* special code to indicate border;
- no picture */
-
TILE_MAX
};