rnd-20040814-1-src
[rocksndiamonds.git] / src / main.h
index 009736ffc4224aa68666f655eb8b7a4c89cbc108..170a1fe53166293f95da3e79c30dbf5ca4450771 100644 (file)
@@ -23,6 +23,7 @@
 #include <fcntl.h>
 
 #include "libgame/libgame.h"
+#include "libem/libem.h"
 
 #include "conf_gfx.h"  /* include auto-generated data structure definitions */
 #include "conf_snd.h"  /* include auto-generated data structure definitions */
@@ -1382,7 +1383,6 @@ struct PlayerInfo
 
   boolean block_last_field;
   int block_delay;
-  int block_delay_value;
 
   boolean can_fall_into_acid;
 
@@ -1512,13 +1512,16 @@ struct LevelInfo
   boolean double_speed;
   boolean initial_gravity;
   boolean em_slippery_gems;    /* EM style "gems slip from wall" behaviour */
-  boolean block_last_field;    /* player blocks previous field while moving */
-  boolean sp_block_last_field; /* player blocks previous field while moving */
   boolean use_spring_bug;      /* for compatibility with old levels */
   boolean instant_relocation;  /* no visual delay when relocating player */
   boolean can_pass_to_walkable;        /* player can pass to empty or walkable tile */
   boolean grow_into_diggable;  /* amoeba can grow into anything diggable */
 
+  boolean block_last_field;    /* player blocks previous field while moving */
+  boolean sp_block_last_field; /* player blocks previous field while moving */
+  int block_delay;             /* delay for blocking previous field */
+  int sp_block_delay;          /* delay for blocking previous field */
+
   /* ('int' instead of 'boolean' because used as selectbox value in editor) */
   int use_step_counter;                /* count steps instead of seconds for level */
 
@@ -1527,6 +1530,8 @@ struct LevelInfo
   boolean use_custom_template; /* use custom properties from template file */
 
   boolean no_valid_file;       /* set when level file missing or invalid */
+
+  boolean changed;             /* set when level was changed in the editor */
 };
 
 struct TapeInfo
@@ -1578,6 +1583,10 @@ struct GameInfo
   int initial_move_delay_value;
   int initial_push_delay_value;
 
+  /* flags to handle bugs in and changes between different engine versions */
+  /* (for the latest engine version, these flags should always be "FALSE") */
+  boolean use_bug_change_when_pushing;
+
   /* variable within running game */
   int yamyam_content_nr;
   boolean magic_wall_active;