X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_cave.h;h=ca0721ef6a160a602e450ca7a62234775e1c1a5d;hb=01bf4018243f57cefbc0308e49f4dd2d40a0c054;hp=bd677ead2280668ff791dc6cfd72039a13cc9888;hpb=e25acb01746ef65a1c5d4919b0e7c2c5d48b6807;p=rocksndiamonds.git diff --git a/src/game_bd/bd_cave.h b/src/game_bd/bd_cave.h index bd677ead..ca0721ef 100644 --- a/src/game_bd/bd_cave.h +++ b/src/game_bd/bd_cave.h @@ -167,6 +167,7 @@ enum _element_property E_P_BLOWS_UP_FLIES, /* flies blow up, if they touch this */ E_P_EXPLODES_BY_HIT, /* explodes if hit by a stone */ + E_P_EXPLOSION, /* set for every stage of every explosion. */ E_P_EXPLOSION_FIRST_STAGE, /* set for first stage of every explosion. helps slower/faster explosions changing */ @@ -202,6 +203,7 @@ enum _element_property #define P_BLOWS_UP_FLIES (1 << E_P_BLOWS_UP_FLIES) #define P_EXPLODES_BY_HIT (1 << E_P_EXPLODES_BY_HIT) +#define P_EXPLOSION (1 << E_P_EXPLOSION) #define P_EXPLOSION_FIRST_STAGE (1 << E_P_EXPLOSION_FIRST_STAGE) #define P_NON_EXPLODABLE (1 << E_P_NON_EXPLODABLE) @@ -375,11 +377,11 @@ typedef struct _gd_cave /* and this one the highscores */ GdHighScore highscore[GD_HIGHSCORE_NUM]; - GHashTable *tags; /* stores read-but-not-understood strings from bdcff, so we can save them later. */ + HashTable *tags; /* stores read-but-not-understood strings from bdcff, so we can save them later. */ GdElement **map; /* pointer to data for map, non-null if has a map */ - GList *objects; - GList *replays; + List *objects; + List *replays; boolean intermission; /* is this cave an intermission? */ boolean intermission_instantlife; /* one life extra, if the intermission is reached */ @@ -626,7 +628,7 @@ typedef struct _gd_cave } GdCave; -#define CAVE_OFFSET(property) (G_STRUCT_OFFSET(GdCave, property)) +#define CAVE_OFFSET(property) (STRUCT_OFFSET(GdCave, property)) /* arrays for movements */ /* also no1 and bd2 cave data import helpers; line direction coordinates */ @@ -642,8 +644,8 @@ GdElement gd_get_element_from_string(const char *string); void gd_cave_init(void); /* for cave tags hash table */ -boolean gd_str_case_equal(gconstpointer s1, gconstpointer s2); -guint gd_str_case_hash(gconstpointer v); +int gd_str_case_equal(void *s1, void *s2); +unsigned int gd_str_case_hash(void *v); /* cave highscore functions */ int gd_highscore_compare(gconstpointer a, gconstpointer b); @@ -712,7 +714,6 @@ GdReplay *gd_replay_new(void); GdReplay *gd_replay_new_from_replay(GdReplay *orig); void gd_replay_free(GdReplay *replay); void gd_replay_store_movement(GdReplay *replay, GdDirection player_move, boolean player_fire, boolean suicide); -boolean gd_replay_get_next_movement(GdReplay *replay, GdDirection *player_move, boolean *player_fire, boolean *suicide); guint32 gd_cave_adler_checksum(GdCave *cave); void gd_cave_adler_checksum_more(GdCave *cave, guint32 *a, guint32 *b);