/* 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 */
} 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 */
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);
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);