X-Git-Url: https://git.artsoft.org/?a=blobdiff_plain;f=src%2Fgame_bd%2Fbd_cave.h;h=d267c36329d5c207e620b2731f9344720c980905;hb=b377a0cc25c12922edb0e92050a552b86e5f7f3a;hp=aa27a5f73604efe438a7913dcb3947f824d40966;hpb=d2b7c541271aec188c9394af58cdb8d9f66d88b9;p=rocksndiamonds.git diff --git a/src/game_bd/bd_cave.h b/src/game_bd/bd_cave.h index aa27a5f7..d267c363 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) @@ -322,7 +324,7 @@ typedef struct _gd_cave_replay GdString player_name; /* who played this */ GdString date; /* when played */ - GString *comment; /* some comments from the player */ + char *comment; /* some comments from the player */ int score; /* score collected */ int duration; /* number of seconds played */ @@ -366,8 +368,8 @@ typedef struct _gd_cave GdString difficulty; /* difficulty of the game, for info purposes */ GdString www; /* link to author's webpage */ GdString date; /* date of creation */ - GString *story; /* story for the cave - will be shown when the cave is played. */ - GString *remark; /* some note */ + char *story; /* story for the cave - will be shown when the cave is played. */ + char *remark; /* some note */ GdString charset; /* these are not used by gdash */ GdString fontset; @@ -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); @@ -700,10 +702,9 @@ void gd_drawcave_game(const GdCave *cave, int **element_buffer, int **gfx_buffer boolean bonus_life_flash, int animcycle, boolean hate_invisible_outbox); /* function to copy a GdString */ -static inline int -gd_strcpy(GdString dest, const GdString src) +static inline char *gd_strcpy(GdString dest, const GdString src) { - return g_strlcpy(dest, src, sizeof(GdString)); + return strncpy(dest, src, sizeof(GdString)); } int gd_cave_time_show(const GdCave *cave, int internal_time); @@ -712,7 +713,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);