rnd-20050115-1-src
[rocksndiamonds.git] / src / game_em / main_em.h
index 920498ee0feb65f46f58ef57c6e1aaa61efefe05..4523a2181c534e3526c008fef26f76f74d913619 100644 (file)
@@ -1,7 +1,7 @@
 #ifndef MAIN_EM_H
 #define MAIN_EM_H
 
-#include "game_em.h"
+#include "../engines.h"
 
 
 /* 2000-07-30T11:06:03Z ---------------------------------------------------- */
@@ -260,6 +260,22 @@ enum
   Xball_2,
   Xball_2B,
   Yball_eat,
+
+#if 1
+  Ykey_1_eat,
+  Ykey_2_eat,
+  Ykey_3_eat,
+  Ykey_4_eat,
+  Ykey_5_eat,
+  Ykey_6_eat,
+  Ykey_7_eat,
+  Ykey_8_eat,
+  Ylenses_eat,
+  Ymagnify_eat,
+  Ygrass_eat,
+  Ydirt_eat,
+#endif
+
   Xgrow_ns,
   Ygrow_ns_eat,
   Xgrow_ew,
@@ -439,6 +455,16 @@ enum
   TILE_MAX
 };
 
+enum
+{
+  SPR_still = 0,
+  SPR_walk  = 1,
+  SPR_push  = 5,
+  SPR_spray = 9,
+
+  SPR_MAX   = 13
+};
+
 enum
 {
   SAMPLE_blank = 0,    /* player walks on blank */
@@ -569,11 +595,14 @@ struct PLAYER
   unsigned int oldx;
   unsigned int oldy;
 
+  unsigned int last_move_dir;
+
   unsigned joy_n:1;
   unsigned joy_e:1;
   unsigned joy_s:1;
   unsigned joy_w:1;
-  unsigned joy_fire:1;
+  unsigned joy_snap:1;
+  unsigned joy_drop:1;
   unsigned joy_stick:1;
   unsigned joy_spin:1;
 };
@@ -591,6 +620,11 @@ struct PLAYER
 
 #define FILE_VERSION_EM_ACTUAL FILE_VERSION_EM_V6
 
+struct GlobalInfo_EM
+{
+  Bitmap *screenbuffer;
+};
+
 struct LevelInfo_EM
 {
   int file_version;
@@ -608,6 +642,13 @@ struct GraphicInfo_EM
   int src_offset_x, src_offset_y;
   int dst_offset_x, dst_offset_y;
   int width, height;
+
+  boolean has_crumbled_graphics;
+  Bitmap *crumbled_bitmap;
+  int crumbled_src_x, crumbled_src_y;
+  int crumbled_border_size;
+
+  int unique_identifier;       /* used to identify needed screen updates */
 };
 
 #endif /* MAIN_EM_H */