rnd-20040927-3-src
[rocksndiamonds.git] / src / game_em / main_em.h
index 5a0d04367a2634a7c66e8b9d65c159359909f42c..38320ef693fc0637e9a89d959767fb41e01d9ebf 100644 (file)
@@ -7,8 +7,8 @@
 #define EM_MAX_CAVE_HEIGHT             102
 
 /* define these for backwards compatibility */
-#define BAD_ROLL
-#define BAD_SPRING
+#define EM_ENGINE_BAD_ROLL
+#define EM_ENGINE_BAD_SPRING
 
 enum
 {
@@ -16,7 +16,7 @@ enum
   Yacid_splash_eB,     /* hmm */
   Yacid_splash_wB,     /* hmm */
 
-#ifdef BAD_ROLL
+#ifdef EM_ENGINE_BAD_ROLL
   Xstone_force_e,      /* only use these in eater */
   Xstone_force_w,
   Xnut_force_e,
@@ -252,14 +252,14 @@ enum
   Ygrow_ew_eat,
   Xwonderwall,
   XwonderwallB,
-  Xameuba_1,
-  Xameuba_2,
-  Xameuba_3,
-  Xameuba_4,
-  Xameuba_5,
-  Xameuba_6,
-  Xameuba_7,
-  Xameuba_8,
+  Xamoeba_1,
+  Xamoeba_2,
+  Xamoeba_3,
+  Xamoeba_4,
+  Xamoeba_5,
+  Xamoeba_6,
+  Xamoeba_7,
+  Xamoeba_8,
   Xdoor_1,
   Xdoor_2,
   Xdoor_3,
@@ -425,6 +425,44 @@ enum
   TILE_MAX
 };
 
+enum
+{
+  SAMPLE_blank = 0,    /* player walks on blank */
+  SAMPLE_roll,         /* player pushes stone/bomb/nut/spring */
+  SAMPLE_stone,                /* stone hits ground */
+  SAMPLE_nut,          /* nut hits ground */
+  SAMPLE_crack,                /* stone hits nut */
+  SAMPLE_bug,          /* bug moves */
+  SAMPLE_tank,         /* tank moves */
+  SAMPLE_android,      /* android places something */
+  SAMPLE_spring,       /* spring hits ground/wall/bumper, stone hits spring */
+  SAMPLE_slurp,                /* spring kills alien */
+  SAMPLE_eater,                /* eater sits/eats diamond */
+  SAMPLE_alien,                /* alien moves */
+  SAMPLE_collect,      /* player collects object */
+  SAMPLE_diamond,      /* diamond/emerald hits ground */
+  SAMPLE_squash,       /* stone squashes diamond */
+  SAMPLE_wonderfall,   /* object falls thru wonderwall */
+  SAMPLE_drip,         /* drip hits ground */
+  SAMPLE_push,         /* player pushes balloon/android */
+  SAMPLE_dirt,         /* player walks on dirt */
+  SAMPLE_acid,         /* acid splashes */
+  SAMPLE_ball,         /* ball places something */
+  SAMPLE_grow,         /* growing wall grows */
+  SAMPLE_wonder,       /* wonderwall moves (is active) */
+  SAMPLE_door,         /* player goes thru door */
+  SAMPLE_exit,         /* player goes in exit */
+  SAMPLE_dynamite,     /* player places dynamite */
+  SAMPLE_tick,         /* dynamite ticks */
+  SAMPLE_press,                /* player presses wheel/wind/switch */
+  SAMPLE_wheel,                /* wheel moves */
+  SAMPLE_boom,         /* explosion */
+  SAMPLE_time,         /* time runs out */
+  SAMPLE_die,          /* player dies */
+
+  SAMPLE_MAX
+};
+
 struct LEVEL
 {
   unsigned int home_initial;          /* number of players (initial) */
@@ -441,7 +479,7 @@ struct LEVEL
 
   /* fill in all below /every/ time you read a level */
   unsigned int alien_score;           /* alien popped by stone/spring score */
-  unsigned int ameuba_time;           /* ameuba speed */
+  unsigned int amoeba_time;           /* amoeba speed */
   unsigned int android_move_cnt_initial; /* android move time counter (initial) */
   unsigned int android_move_cnt;      /* android move time counter */
   unsigned int android_move_time;     /* android move reset time */
@@ -524,15 +562,10 @@ struct PLAYER
 
 struct LevelInfo_EM
 {
-  struct LEVEL lev;
-  struct PLAYER ply1, ply2;
+  struct LEVEL *lev;
+  struct PLAYER *ply1, *ply2;
 
   unsigned short cave[EM_MAX_CAVE_WIDTH][EM_MAX_CAVE_HEIGHT];
-
-  unsigned short **Boom;
-  unsigned short **Cave;
-  unsigned short **Next;
-  unsigned short **Draw;
 };
 
 #endif /* MAIN_EM_H */