X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_cave.h;h=3dede416f53f3dc8e5702baa67447e9057595568;hb=9090cbd92e41841a2d04f9caa9a184e8ec406497;hp=c76923a9f75980681728083dc5c3f426b11ab095;hpb=88f7ecb806128d27957a42ed0d3c073463710b42;p=rocksndiamonds.git diff --git a/src/game_bd/bd_cave.h b/src/game_bd/bd_cave.h index c76923a9..3dede416 100644 --- a/src/game_bd/bd_cave.h +++ b/src/game_bd/bd_cave.h @@ -82,7 +82,7 @@ void gd_struct_set_defaults_from_array(void *str, const GdStructDescriptor *prop // 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 @@ -121,11 +121,14 @@ 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_WALKABLE, // can be walked 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 + E_P_FALLING, // falling + E_P_GROWING, // growing (element birth) }; // properties @@ -158,11 +161,14 @@ 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_WALKABLE (1 << E_P_WALKABLE) #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) +#define P_FALLING (1 << E_P_FALLING) +#define P_GROWING (1 << E_P_GROWING) // These are states of the magic wall. typedef enum _magic_wall_state @@ -697,7 +703,8 @@ GdScheduling gd_scheduling_from_string(const char *str); // 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 @@ -716,4 +723,7 @@ void gd_replay_store_movement(GdReplay *replay, GdDirection player_move, boolean unsigned int gd_cave_adler_checksum(GdCave *cave); void gd_cave_adler_checksum_more(GdCave *cave, unsigned int *a, unsigned int *b); +boolean gd_cave_has_levels(GdCave *cave); +boolean gd_caveset_has_levels(void); + #endif // BD_CAVE_H