// these define the number of the cells in the png file
#define GD_NUM_OF_CELLS_X 8
-#define GD_NUM_OF_CELLS_Y 47
+#define GD_NUM_OF_CELLS_Y 51
// +80: placeholder for cells which are rendered by the game;
// for example diamond + arrow = falling diamond
E_P_PUSHABLE, // can be pushed
E_P_CAN_MOVE, // can move
E_P_CAN_FALL, // can fall
+ E_P_FALLING, // falling
};
// properties
#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)
+#define P_FALLING (1 << E_P_FALLING)
// These are states of the magic wall.
typedef enum _magic_wall_state
// game playing helpers
#define GD_REDRAW (1 << 10)
-void gd_drawcave_game(const GdCave *cave, int **element_buffer, int **gfx_buffer,
+void gd_drawcave_game(const GdCave *cave,
+ int **element_buffer, int **last_element_buffer, int **gfx_buffer,
boolean bonus_life_flash, int animcycle, boolean hate_invisible_outbox);
// function to copy a GdString