rocksndiamonds-3.0.6
[rocksndiamonds.git] / src / main.h
index 27d2290217924810e5dfab10aaf8d2a2b2dcf3f4..985014bad0090e53a9d3630cc049b2795584c605 100644 (file)
 #define CE_LEFT_BY_PLAYER      22
 #define CE_OTHER_GETS_ENTERED  23
 #define CE_OTHER_GETS_LEFT     24
+#define CE_SWITCHED            25
+#define CE_OTHER_IS_SWITCHING  26
 
-/* values for derived change events (determined from properties above) */
-#define CE_TOUCHING_SOME_SIDE  25      /* summarized left/right/up/down/any */
-
-#define NUM_CHANGE_EVENTS      26
+#define NUM_CHANGE_EVENTS      27
 
 #define CE_BITMASK_DEFAULT     0
 
 #define PLAYER_PROTECTED(x,y)  (SHIELD_ON(PLAYERINFO(x, y)) ||         \
                                 PROTECTED_FIELD(x, y))
 
+#define PLAYER_SWITCHING(p,x,y)        ((p)->Switching &&                      \
+                                (p)->switch_x == (x) && (p)->switch_y == (y))
+
 #define PLAYER_NR_GFX(g,i)     ((g) + i * (IMG_PLAYER_2 - IMG_PLAYER_1))
 
 #define ANIM_FRAMES(g)         (graphic_info[g].anim_frames)
 
 #define PROGRAM_VERSION_MAJOR  3
 #define PROGRAM_VERSION_MINOR  0
-#define PROGRAM_VERSION_PATCH  5
+#define PROGRAM_VERSION_PATCH  6
 #define PROGRAM_VERSION_RELEASE        0
-#define PROGRAM_VERSION_STRING "3.0.5"
+#define PROGRAM_VERSION_STRING "3.0.6"
 
 #define PROGRAM_TITLE_STRING   "Rocks'n'Diamonds"
 #define PROGRAM_AUTHOR_STRING  "Holger Schemel"
@@ -1139,6 +1141,8 @@ struct PlayerInfo
   boolean LevelSolved, GameOver;
   boolean snapped;
 
+  int switch_x, switch_y;
+
   int last_move_dir;
   boolean is_moving;
   boolean is_waiting;