replaced some glib function calls to g_hash_table_*()
[rocksndiamonds.git] / src / game_bd / bd_cavedb.c
index fb2f08efdf78312eb2bd185bad931eaecb94d5cf..804cd06e42599fb6ee863de5ed59c1319a8a2f6c 100644 (file)
@@ -930,7 +930,7 @@ GdElement gd_element_get_hammered(GdElement elem)
 void gd_cave_db_init(void)
 {
   int i;
-  GHashTable *pointers;
+  struct hashtable *pointers;
   boolean lowercase_names = TRUE;
 
   /* TRANSLATORS: some languages (for example, german) do not have lowercase nouns. */
@@ -949,10 +949,10 @@ void gd_cave_db_init(void)
     lowercase_names = FALSE;
 
   /* check element database for faults. */
-  for (i = 0; gd_elements[i].element!=-1; i++)
+  for (i = 0; gd_elements[i].element != -1; i++)
   {
     if (gd_elements[i].element != i)
-      Error("element: i:0x%x!=0x%x", i, gd_elements[i].element);
+      Error("element: i:0x%x != 0x%x", i, gd_elements[i].element);
 
     /* if it has a name, create a lowercase name (of the translated one).
        will be used by the editor */
@@ -967,13 +967,13 @@ void gd_cave_db_init(void)
     }
 
     /* we do not like generated pixbufs for games. only those that are in the png. */
-    if (ABS(gd_elements[i].image_game)>GD_NUM_OF_CELLS_X*GD_NUM_OF_CELLS_Y)
+    if (ABS(gd_elements[i].image_game) > GD_NUM_OF_CELLS_X * GD_NUM_OF_CELLS_Y)
       Error("game pixbuf for element %x (%s) bigger than png size", i, gd_elements[i].name);
 
     if (gd_elements[i].image < 0)
       Error("editor pixbuf for element %x (%s) should not be animated", i, gd_elements[i].name);
 
-    if (gd_elements[i].properties&P_CAN_BE_HAMMERED && gd_element_get_hammered((GdElement) i) == O_NONE)
+    if (gd_elements[i].properties & P_CAN_BE_HAMMERED && gd_element_get_hammered((GdElement) i) == O_NONE)
       Error("element %x (%s) can be hammered, but get_hammered_element does not define another one", i, gd_elements[i].name);
   }
 
@@ -1000,7 +1000,7 @@ void gd_cave_db_init(void)
   */
 
   /* check the cave property database for faults. */
-  pointers = g_hash_table_new(g_direct_hash, g_direct_equal);
+  pointers = create_hashtable(get_hash_from_integer, hash_key_integers_are_equal, NULL, NULL);
 
   for (i = 0; gd_cave_properties[i].identifier != NULL; i++)
   {
@@ -1072,14 +1072,15 @@ void gd_cave_db_init(void)
       /* other types */
       /* check if its pointer is not the same as another one's */
       /* +1 is added so it is never zero */
-      if (!(gd_cave_properties[i].flags&GD_DONT_SAVE) && strcmp(gd_cave_properties[i].identifier, "") == 0)
+      if (!(gd_cave_properties[i].flags & GD_DONT_SAVE) && strcmp(gd_cave_properties[i].identifier, "") == 0)
       {
        Error ("property should have a bdcff identifier: line %d, name %s",
               i, gd_cave_properties[i].name);
       }
 
-      another_prop = g_hash_table_lookup(pointers, GINT_TO_POINTER(gd_cave_properties[i].offset + 1));
-      if (another_prop!=NULL)
+      another_prop = hashtable_search(pointers, INT_TO_PTR(gd_cave_properties[i].offset + 1));
+
+      if (another_prop != NULL)
       {
        Error("property %s has the same pointer as property %s",
              gd_cave_properties[i].identifier, another_prop);
@@ -1087,11 +1088,11 @@ void gd_cave_db_init(void)
       else
       {
        /* value is the identifier, so we can report the OLD one if the check fails */
-       g_hash_table_insert(pointers, GINT_TO_POINTER(gd_cave_properties[i].offset + 1),
-                           gd_cave_properties[i].identifier);
+       hashtable_insert(pointers, INT_TO_PTR(gd_cave_properties[i].offset + 1),
+                        gd_cave_properties[i].identifier);
       }
     }
   }
 
-  g_hash_table_destroy(pointers);
+  hashtable_destroy(pointers);
 }