projects
/
rocksndiamonds.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
added functions to check if native BD cave or caveset has levels
[rocksndiamonds.git]
/
src
/
game_bd
/
bd_cave.h
diff --git
a/src/game_bd/bd_cave.h
b/src/game_bd/bd_cave.h
index 483b54feafcaafdcf99d6ed4d72753ddc8b23585..1a85776a68a4e17333308881e7c8807d1fe144c3 100644
(file)
--- 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
// 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
// +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_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
};
// 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_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
// 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_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);
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)
// 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
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);
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
#endif // BD_CAVE_H