X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_cave.h;h=1a85776a68a4e17333308881e7c8807d1fe144c3;hb=3fa87bc018874afae7bfca06c6d509411a441b09;hp=483b54feafcaafdcf99d6ed4d72753ddc8b23585;hpb=0f6b2c62e0c72652c8b2093995845e02b91c51d3;p=rocksndiamonds.git diff --git a/src/game_bd/bd_cave.h b/src/game_bd/bd_cave.h index 483b54fe..1a85776a 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 @@ -126,6 +126,8 @@ enum _element_property 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 @@ -163,6 +165,8 @@ enum _element_property #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 @@ -661,6 +665,7 @@ void gd_cave_free(GdCave *cave); void gd_cave_set_gdash_defaults(GdCave *cave); void gd_cave_set_defaults_from_array(GdCave* cave, GdPropertyDefault *defaults); void gd_cave_correct_visible_size(GdCave *cave); +void gd_cave_set_random_colors(GdCave *cave, GdColorType type); void gd_cave_auto_shrink(GdCave *cave); void gd_cave_setup_for_game(GdCave *cave); @@ -696,7 +701,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 @@ -715,4 +721,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