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
#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
} GdElements;
-typedef char GdString[128];
+typedef char GdString[MAX_LINE_LEN];
typedef struct _highscore
{
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