replaced glib function calls to g_list_*()
[rocksndiamonds.git] / src / game_bd / bd_caveobject.c
index 748de2bedf4c71fbcc99420076aa56e442b21458..d76179068a6aa7037e84c1436f4a6e782d473071 100644 (file)
@@ -29,134 +29,6 @@ GdObjectLevels gd_levels_mask[] =
   GD_OBJECT_LEVEL5
 };
 
-/* bdcff text description of object. caller should free string. */
-char *gd_object_get_bdcff(const GdObject *object)
-{
-  GString *str;
-  int j;
-  const char *type;
-
-  switch (object->type)
-  {
-    case GD_POINT:
-      return g_strdup_printf("Point=%d %d %s",
-                            object->x1, object->y1,
-                            gd_elements[object->element].filename);
-
-    case GD_LINE:
-      return g_strdup_printf("Line=%d %d %d %d %s",
-                            object->x1, object->y1, object->x2, object->y2,
-                            gd_elements[object->element].filename);
-
-    case GD_RECTANGLE:
-      return g_strdup_printf("Rectangle=%d %d %d %d %s",
-                            object->x1, object->y1, object->x2, object->y2,
-                            gd_elements[object->element].filename);
-
-    case GD_FILLED_RECTANGLE:
-      /* if elements are not the same */
-      if (object->fill_element != object->element)
-       return g_strdup_printf("FillRect=%d %d %d %d %s %s",
-                              object->x1, object->y1, object->x2, object->y2,
-                              gd_elements[object->element].filename,
-                              gd_elements[object->fill_element].filename);
-
-      /* they are the same */
-      return g_strdup_printf("FillRect=%d %d %d %d %s",
-                            object->x1, object->y1, object->x2, object->y2,
-                            gd_elements[object->element].filename);
-
-    case GD_RASTER:
-      return g_strdup_printf("Raster=%d %d %d %d %d %d %s",
-                            object->x1, object->y1,
-                            (object->x2 - object->x1) / object->dx + 1,
-                            (object->y2 - object->y1) / object->dy + 1,
-                            object->dx, object->dy,
-                            gd_elements[object->element].filename);
-
-    case GD_JOIN:
-      return g_strdup_printf("Add=%d %d %s %s",
-                            object->dx, object->dy,
-                            gd_elements[object->element].filename,
-                            gd_elements[object->fill_element].filename);
-
-    case GD_FLOODFILL_BORDER:
-      return g_strdup_printf("BoundaryFill=%d %d %s %s",
-                            object->x1, object->y1,
-                            gd_elements[object->fill_element].filename,
-                            gd_elements[object->element].filename);
-
-    case GD_FLOODFILL_REPLACE:
-      return g_strdup_printf("FloodFill=%d %d %s %s",
-                            object->x1, object->y1,
-                            gd_elements[object->fill_element].filename,
-                            gd_elements[object->element].filename);
-
-    case GD_MAZE:
-    case GD_MAZE_UNICURSAL:
-    case GD_MAZE_BRAID:
-      switch (object->type)
-      {
-       case GD_MAZE: type = "perfect"; break;
-       case GD_MAZE_UNICURSAL: type = "unicursal"; break;
-       case GD_MAZE_BRAID: type = "braid"; break;
-       default: break;
-      }
-
-      return g_strdup_printf("Maze=%d %d %d %d %d %d %d %d %d %d %d %d %s %s %s",
-                            object->x1, object->y1, object->x2, object->y2,
-                            object->dx, object->dy,
-                            object->horiz,
-                            object->seed[0],
-                            object->seed[1],
-                            object->seed[2],
-                            object->seed[3],
-                            object->seed[4],
-                            gd_elements[object->element].filename,
-                            gd_elements[object->fill_element].filename, type);
-
-    case GD_RANDOM_FILL:
-      str = g_string_new(NULL);
-      /* seed and initial fill */
-      g_string_append_printf(str, "%s=%d %d %d %d %d %d %d %d %d %s",
-                            object->c64_random ? "RandomFillC64" : "RandomFill",
-                            object->x1, object->y1, object->x2, object->y2,
-                            object->seed[0],
-                            object->seed[1],
-                            object->seed[2],
-                            object->seed[3],
-                            object->seed[4],
-                            gd_elements[object->fill_element].filename);
-
-      for (j = 0; j < 4; j++)
-      {
-       if (object->random_fill_probability[j] != 0)
-         g_string_append_printf(str, " %s %d",
-                                gd_elements[object->random_fill[j]].filename,
-                                object->random_fill_probability[j]);
-      }
-
-      if (object->element!=O_NONE)
-       g_string_append_printf(str, " %s",
-                              gd_elements[object->element].filename);
-
-      /* free string but do not free char *; return char *. */
-      return g_string_free(str, FALSE);
-
-    case GD_COPY_PASTE:
-      return g_strdup_printf("CopyPaste=%d %d %d %d %d %d %s %s",
-                            object->x1, object->y1, object->x2, object->y2,
-                            object->dx, object->dy,
-                            object->mirror ? "mirror" : "nomirror",
-                            object->flip?"flip":"noflip");
-
-    case NONE:
-      break;
-  }
-
-  return NULL;
-}
-
 /* create an INDIVIDUAL POINT CAVE OBJECT */
 GdObject *gd_object_new_point(GdObjectLevels levels, int x, int y, GdElement elem)
 {
@@ -441,7 +313,7 @@ GdObject *gd_object_new_from_string(char *str)
     {
       object.element = gd_get_element_from_string(elem0);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -455,7 +327,7 @@ GdObject *gd_object_new_from_string(char *str)
     {
       object.element = gd_get_element_from_string(elem0);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -469,7 +341,7 @@ GdObject *gd_object_new_from_string(char *str)
       object.type = GD_RECTANGLE;
       object.element = gd_get_element_from_string (elem0);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -488,14 +360,14 @@ GdObject *gd_object_new_from_string(char *str)
       object.element = gd_get_element_from_string (elem0);
       object.fill_element = gd_get_element_from_string (elem1);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     if (paramcount == 5)
     {
       object.element = object.fill_element = gd_get_element_from_string (elem0);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -515,7 +387,7 @@ GdObject *gd_object_new_from_string(char *str)
       object.type = GD_RASTER;
       object.element = gd_get_element_from_string (elem0);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -531,7 +403,7 @@ GdObject *gd_object_new_from_string(char *str)
       object.element = gd_get_element_from_string (elem0);
       object.fill_element = gd_get_element_from_string (elem1);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -546,7 +418,7 @@ GdObject *gd_object_new_from_string(char *str)
       object.fill_element = gd_get_element_from_string (elem0);
       object.element = gd_get_element_from_string (elem1);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -561,7 +433,7 @@ GdObject *gd_object_new_from_string(char *str)
       object.fill_element = gd_get_element_from_string (elem0);
       object.element = gd_get_element_from_string (elem1);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -591,7 +463,7 @@ GdObject *gd_object_new_from_string(char *str)
       object.element = gd_get_element_from_string (elem0);
       object.fill_element = gd_get_element_from_string (elem1);
 
-      return g_memdup(&object, sizeof (GdObject));
+      return getMemCopy(&object, sizeof (GdObject));
     }
 
     return NULL;
@@ -618,7 +490,7 @@ GdObject *gd_object_new_from_string(char *str)
       freeStringArray(words);
 
     words = getSplitStringArray(param, " ", -1);
-    l = g_strv_length(words);
+    l = getStringArrayLength(words);
 
     if (l < 10 || l > 19)
       return NULL;
@@ -647,7 +519,7 @@ GdObject *gd_object_new_from_string(char *str)
     if (l > 10 && l % 2 == 1)
       object.element = gd_get_element_from_string(words[l - 1]);
 
-    return g_memdup(&object, sizeof (GdObject));
+    return getMemCopy(&object, sizeof (GdObject));
   }
 
   /* COPY PASTE OBJECT */
@@ -678,7 +550,7 @@ GdObject *gd_object_new_from_string(char *str)
     else
       Warn("invalid setting for copypaste flip property: %s", flip);
 
-    return g_memdup(&object, sizeof(GdObject));
+    return getMemCopy(&object, sizeof(GdObject));
   }
 
   return NULL;
@@ -966,7 +838,7 @@ static void mazegen(GRand *rand, boolean **maze, int width, int height, int x, i
     /* if no horizontal movement possible, choose vertical */
     if (dir == 2 && (dirmask & 12) == 0)
       dir = 0;
-    else if (dir == 0 && (dirmask&3) == 0)    /* and vice versa */
+    else if (dir == 0 && (dirmask & 3) == 0)    /* and vice versa */
       dir = 2;
 
     dir += g_rand_int_range(rand, 0, 2);                /* dir */
@@ -1318,7 +1190,7 @@ static void draw_random_fill(GdCave *cave, const GdObject *object, int level)
       if (randm < object->random_fill_probability[3])
        element = object->random_fill[3];
 
-      if (object->element==O_NONE ||
+      if (object->element == O_NONE ||
          gd_cave_get_rc(cave, x, y) == object->element)
        gd_cave_store_rc(cave, x, y, element, object);
     }
@@ -1449,7 +1321,7 @@ GdCave *gd_cave_new_rendered(const GdCave *data, const int level, const guint32
   GdCave *cave;
   GdElement element;
   int x, y;
-  GList *iter;
+  List *iter;
 
   /* make a copy */
   cave = gd_cave_new_from_cave(data);
@@ -1553,7 +1425,7 @@ GdCave *gd_cave_new_rendered(const GdCave *data, const int level, const guint32
   }
 
   /* render cave objects above random data or map */
-  for (iter = data->objects; iter; iter = g_list_next(iter))
+  for (iter = data->objects; iter; iter = list_next(iter))
   {
     GdObject *object = (GdObject *)iter->data;
 
@@ -1603,6 +1475,6 @@ void gd_flatten_cave(GdCave *cave, const int level)
   gd_cave_free(rendered);
 
   /* forget objects */
-  g_list_foreach(cave->objects, (GFunc) free, NULL);
+  list_foreach(cave->objects, (list_fn) free, NULL);
   cave->objects = NULL;
 }