fixed drawing native BD element graphics on properties page in editor
[rocksndiamonds.git] / src / game_bd / bd_cave.h
index 7405016ea3b76d8d4483f868bc89d4e29087c80b..67eed046d9acb48c6dbfddf80a62f6a43d4df46d 100644 (file)
@@ -121,7 +121,11 @@ enum _element_property
   E_P_MOVED_BY_CONVEYOR_TOP,    // can be moved by conveyor belt
   E_P_MOVED_BY_CONVEYOR_BOTTOM, // can be moved UNDER the conveyor belt
 
+  E_P_DIGGABLE,                 // can be digged
   E_P_COLLECTIBLE,              // can be collected
+  E_P_PUSHABLE,                 // can be pushed
+  E_P_CAN_MOVE,                 // can move
+  E_P_CAN_FALL,                 // can fall
 };
 
 // properties
@@ -154,7 +158,11 @@ enum _element_property
 #define P_MOVED_BY_CONVEYOR_TOP                (1 << E_P_MOVED_BY_CONVEYOR_TOP)
 #define P_MOVED_BY_CONVEYOR_BOTTOM     (1 << E_P_MOVED_BY_CONVEYOR_BOTTOM)
 
+#define P_DIGGABLE                     (1 << E_P_DIGGABLE)
 #define P_COLLECTIBLE                  (1 << E_P_COLLECTIBLE)
+#define P_PUSHABLE                     (1 << E_P_PUSHABLE)
+#define P_CAN_MOVE                     (1 << E_P_CAN_MOVE)
+#define P_CAN_FALL                     (1 << E_P_CAN_FALL)
 
 // These are states of the magic wall.
 typedef enum _magic_wall_state
@@ -245,7 +253,7 @@ typedef struct _elements
 } GdElements;
 
 
-typedef char GdString[128];
+typedef char GdString[MAX_LINE_LEN];
 
 typedef struct _highscore
 {
@@ -424,6 +432,7 @@ typedef struct _gd_cave
   int level_slime_permeability_c64[5];  // Appearing in bd 2
   int level_slime_seed_c64[5];          // predictable slime random seed
   boolean slime_predictable;            // predictable random start for slime. yes for plck.
+  boolean slime_correct_random;         // correct random number generator for rendered caves
   GdElement slime_eats_1, slime_converts_1; // slime eats element x and converts to element x;
                                             // for example diamond -> falling diamond
   GdElement slime_eats_2, slime_converts_2; // this is usually stone -> stone_f