added flag to level files for using "game of life" bugs
[rocksndiamonds.git] / src / main.h
index 3c6e492ce8f6b5f8002e5ceb78828f3c41a3e1e2..774306224669bcbcceeb6da8c3c3947c6c84cd8d 100644 (file)
@@ -24,6 +24,7 @@
 #include "game_em/game_em.h"
 #include "game_sp/game_sp.h"
 #include "game_mm/game_mm.h"
+#include "engines.h"
 
 #include "conf_gfx.h"  /* include auto-generated data structure definitions */
 #include "conf_snd.h"  /* include auto-generated data structure definitions */
 /* program information and versioning definitions */
 #define PROGRAM_VERSION_SUPER          4
 #define PROGRAM_VERSION_MAJOR          1
-#define PROGRAM_VERSION_MINOR          0
+#define PROGRAM_VERSION_MINOR          1
 #define PROGRAM_VERSION_PATCH          1
 #define PROGRAM_VERSION_EXTRA          ""
 
@@ -3088,12 +3089,14 @@ struct LevelInfo
   boolean em_explodes_by_fire; /* EM style chain explosion behaviour */
   boolean use_spring_bug;      /* for compatibility with old levels */
   boolean use_time_orb_bug;    /* for compatibility with old levels */
+  boolean use_life_bugs;       /* for compatibility with old levels */
   boolean instant_relocation;  /* no visual delay when relocating player */
   boolean shifted_relocation;  /* no level centering when relocating player */
   boolean lazy_relocation;     /* only redraw off-screen player relocation */
   boolean can_pass_to_walkable;        /* player can pass to empty or walkable tile */
   boolean grow_into_diggable;  /* amoeba can grow into anything diggable */
   boolean auto_exit_sokoban;   /* automatically finish solved Sokoban levels */
+  boolean solved_by_one_player;        /* level is solved if one player enters exit */
 
   boolean continuous_snapping; /* repeated snapping without releasing key */
   boolean block_snap_field;    /* snapping blocks field to show animation */
@@ -3550,6 +3553,7 @@ extern SDL_Thread        *server_thread;
 extern int                     key_joystick_mapping;
 
 extern short                   Feld[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
+extern short                   Last[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   MovPos[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   MovDir[MAX_LEV_FIELDX][MAX_LEV_FIELDY];
 extern short                   MovDelay[MAX_LEV_FIELDX][MAX_LEV_FIELDY];