{
int pos = x1 + y1 * 40 + y * dy * 40 + x * dx;
- cave->objects = g_list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, pos % 40, pos / 40, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, pos % 40, pos / 40, elem));
}
}
if (x1 >= cave->w || y1 >= cave->h)
Warn("invalid point coordinates %d,%d at byte %d", x1, y1, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
index += 3;
break;
y2 >= cave->h)
Warn("invalid line coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_line(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_line(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
}
index += 5;
y2 >= cave->h)
Warn("invalid filled rectangle coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_filled_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem, import_func(data[index + 5], index + 5)));
+ cave->objects = list_append(cave->objects, gd_object_new_filled_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem, import_func(data[index + 5], index + 5)));
index += 6;
break;
y2 >= cave->h)
Warn("invalid rectangle coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
index += 5;
break;
y2 >= cave->h)
Warn("invalid line coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_line(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_line(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
index += 6;
break;
y2 >= cave->h)
Warn("invalid rectangle coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
index += 6;
break;
y2 >= cave->h)
Warn("invalid filled rectangle coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_filled_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem, bd1_import(data[index+6], index+6)));
+ cave->objects = list_append(cave->objects, gd_object_new_filled_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem, bd1_import(data[index+6], index+6)));
index += 7;
break;
y1 >= cave->h)
Warn("invalid point coordinates %d,%d at byte %d", x1, y1, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
index += 4;
break;
y2 >= cave->h)
Warn("invalid raster coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_raster(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, dx, dy, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_raster(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, dx, dy, elem));
index += 8;
break;
{
/* for (8 bits in a byte) */
if ((val & 1) != 0) /* convert to single points... */
- cave->objects = g_list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
val >>= 1;
x1++; /* next cave pos */
case 6: /* JOIN */
dy = data[index + 3] / 40;
dx = data[index + 3] % 40; /* same byte!!! */
- cave->objects = g_list_append(cave->objects, gd_object_new_join(GD_OBJECT_LEVEL_ALL, dx, dy, bd1_import(data[index+1], index+1), bd1_import(data[index+2], index+2)));
+ cave->objects = list_append(cave->objects, gd_object_new_join(GD_OBJECT_LEVEL_ALL, dx, dy, bd1_import(data[index+1], index+1), bd1_import(data[index+2], index+2)));
index += 4;
break;
for (j = 0; j < 12; j++)
cave->name[j] = data[0x1f2 + j];
- g_strchomp(cave->name); /* remove spaces */
+ chompString(cave->name); /* remove spaces */
}
else
{
c = ' '; /* don't know this, so change to space */
if (i > 0)
- c = g_ascii_tolower(c);
+ c = tolower(c);
cave->name[i] = c;
}
- g_strchomp(cave->name);
+ chompString(cave->name);
cave->intermission = data[0x389] != 0;
else
c = ' ';
if (i > 0)
- c = g_ascii_tolower(c);
+ c = tolower(c);
cave->name[i] = c;
}
- g_strchomp(cave->name); /* remove trailing and leading spaces */
+ chompString(cave->name); /* remove trailing and leading spaces */
cave->selectable = data[14] != 0;
if (x1 >= cave->w || y1 >= cave->h)
Warn("invalid point coordinates %d,%d at byte %d", x1, y1, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
index += 4;
break;
y2 >= cave->h)
Warn("invalid rectangle coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
index += 6;
break;
Warn("invalid filled rectangle coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
/* border and inside of fill is the same element. */
- cave->objects = g_list_append(cave->objects, gd_object_new_filled_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, crazydream_import_table[data[index + 1]], crazydream_import_table[data[index + 1]]));
+ cave->objects = list_append(cave->objects, gd_object_new_filled_rectangle(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, crazydream_import_table[data[index + 1]], crazydream_import_table[data[index + 1]]));
index += 6;
break;
{
for (i = 0; i < length; i++)
{
- cave->objects = g_list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, x1, y1, elem));
x1 += nx;
y1 += ny;
}
y2 >= cave->h)
Warn("invalid line coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index - 5);
- cave->objects = g_list_append(cave->objects, gd_object_new_line(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_line(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, elem));
}
index += 6;
dy + ch > cave->h)
Warn("invalid paste coordinates %d,%d at byte %d", dx, dy, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_copy_paste(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, dx, dy, FALSE, FALSE));
+ cave->objects = list_append(cave->objects, gd_object_new_copy_paste(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, dx, dy, FALSE, FALSE));
index += 3;
break;
y2 >= cave->h)
Warn("invalid raster coordinates %d,%d %d,%d at byte %d", x1, y1, x2, y2, index);
- cave->objects = g_list_append(cave->objects, gd_object_new_raster(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, dx, dy, elem));
+ cave->objects = list_append(cave->objects, gd_object_new_raster(GD_OBJECT_LEVEL_ALL, x1, y1, x2, y2, dx, dy, elem));
index += 8;
break;
gint32 prob[4] = { 37, 32, 2, 0 };
gint32 seeds[5] = { -1, -1, -1, -1, -1 };
- cave->objects = g_list_append(cave->objects, gd_object_new_random_fill(GD_OBJECT_LEVEL_ALL, 0, 0, 39, 21, seeds, O_DIRT, rand, prob, O_BLADDER_SPENDER, FALSE));
+ cave->objects = list_append(cave->objects, gd_object_new_random_fill(GD_OBJECT_LEVEL_ALL, 0, 0, 39, 21, seeds, O_DIRT, rand, prob, O_BLADDER_SPENDER, FALSE));
}
if (strEqual(cave->name, "Roll dice now!") && checksum == 235)
gint32 prob[4] = { 0x18, 0x08, 0, 0 };
gint32 seeds[5] = { -1, -1, -1, -1, -1 };
- cave->objects = g_list_append(cave->objects, gd_object_new_random_fill(GD_OBJECT_LEVEL_ALL, 0, 0, 39, 21, seeds, O_DIRT, rand, prob, O_BLADDER_SPENDER, FALSE));
+ cave->objects = list_append(cave->objects, gd_object_new_random_fill(GD_OBJECT_LEVEL_ALL, 0, 0, 39, 21, seeds, O_DIRT, rand, prob, O_BLADDER_SPENDER, FALSE));
}
if (strEqual(cave->name, "Random maze") && checksum == 24)
{
gint32 seeds[5] = { -1, -1, -1, -1, -1 };
- cave->objects = g_list_append(cave->objects, gd_object_new_maze(GD_OBJECT_LEVEL_ALL, 1, 4, 35, 20, 1, 1, O_NONE, O_DIRT, 50, seeds));
+ cave->objects = list_append(cave->objects, gd_object_new_maze(GD_OBJECT_LEVEL_ALL, 1, 4, 35, 20, 1, 1, O_NONE, O_DIRT, 50, seeds));
}
if (strEqual(cave->name, "Metamorphosis") && checksum == 53)
GdElement rand[4] = { O_STONE, O_DIRT, O_DIRT, O_DIRT };
gint32 prob[4] = { 0x18, 0, 0, 0 };
- cave->objects = g_list_append(cave->objects, gd_object_new_maze(GD_OBJECT_LEVEL_ALL, 4, 1, 38, 19, 1, 3, O_NONE, O_BLADDER_SPENDER, 50, seeds));
- cave->objects = g_list_append(cave->objects, gd_object_new_random_fill(GD_OBJECT_LEVEL_ALL, 4, 1, 38, 19, seeds, O_DIRT, rand, prob, O_BLADDER_SPENDER, FALSE));
+ cave->objects = list_append(cave->objects, gd_object_new_maze(GD_OBJECT_LEVEL_ALL, 4, 1, 38, 19, 1, 3, O_NONE, O_BLADDER_SPENDER, 50, seeds));
+ cave->objects = list_append(cave->objects, gd_object_new_random_fill(GD_OBJECT_LEVEL_ALL, 4, 1, 38, 19, seeds, O_DIRT, rand, prob, O_BLADDER_SPENDER, FALSE));
cave->creatures_backwards = TRUE; /* for some reason, this level worked like that */
}
{
gint32 seeds[5] = { -1, -1, -1, -1, -1 };
- cave->objects = g_list_append(cave->objects, gd_object_new_maze_unicursal(GD_OBJECT_LEVEL_ALL, 1, 1, 35, 19, 1, 1, O_BRICK, O_PRE_DIA_1, 50, seeds));
+ cave->objects = list_append(cave->objects, gd_object_new_maze_unicursal(GD_OBJECT_LEVEL_ALL, 1, 1, 35, 19, 1, 1, O_BRICK, O_PRE_DIA_1, 50, seeds));
/* a point which "breaks" the unicursal maze, making it one very long path */
- cave->objects = g_list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, 35, 18, O_BRICK));
+ cave->objects = list_append(cave->objects, gd_object_new_point(GD_OBJECT_LEVEL_ALL, 35, 18, O_BRICK));
}
}
c = ' ';
if (i > 0)
- c = g_ascii_tolower(c);
+ c = tolower(c);
cave->name[i] = c;
}
- g_strchomp(cave->name); /* remove trailing and leading spaces */
+ chompString(cave->name); /* remove trailing and leading spaces */
}
/* uncompress rle data */
/*
Load caveset from memory buffer.
Loads the caveset from a memory buffer.
- returns: GList * of caves.
+ returns: List * of caves.
*/
-GList *gd_caveset_import_from_buffer (const guint8 *buf, gsize length)
+List *gd_caveset_import_from_buffer (const guint8 *buf, gsize length)
{
boolean numbering;
int cavenum, intermissionnum, num;
int cavelength, bufp;
- GList *caveset = NULL, *iter;
+ List *caveset = NULL, *iter;
guint32 encodedlength;
GdCavefileFormat format;
while (bufp < length)
{
GdCave *newcave;
- /* default is to append cave to caveset; g_list_insert appends when pos = -1 */
+ /* default is to append cave to caveset; list_insert appends when pos = -1 */
int insertpos = -1;
newcave = gd_cave_new();
/* no name, so we make up one */
if (newcave->intermission)
- g_snprintf(newcave->name, sizeof(newcave->name), _("Intermission %d"), cavenum - 15);
+ snprintf(newcave->name, sizeof(newcave->name), _("Intermission %d"), cavenum - 15);
else
- g_snprintf(newcave->name, sizeof(newcave->name), _("Cave %c"), 'A' + cavenum);
+ snprintf(newcave->name, sizeof(newcave->name), _("Cave %c"), 'A' + cavenum);
switch(format)
{
newcave->selectable = cavenum % 5 == 0; /* original selection scheme */
if (newcave->intermission)
- g_snprintf(newcave->name, sizeof(newcave->name), _("Intermission %d"), cavenum / 5 + 1);
+ snprintf(newcave->name, sizeof(newcave->name), _("Intermission %d"), cavenum / 5 + 1);
else
- g_snprintf(newcave->name, sizeof(newcave->name), _("Cave %c"), 'A'+(cavenum % 5 + cavenum / 5 * 4));
+ snprintf(newcave->name, sizeof(newcave->name), _("Cave %c"), 'A'+(cavenum % 5 + cavenum / 5 * 4));
cavelength = cave_copy_from_dlb (newcave, buf + bufp, length - bufp);
break;
}
else
{
- caveset = g_list_insert(caveset, newcave, insertpos);
+ caveset = list_insert(caveset, newcave, insertpos);
}
cavenum++;
if ((buf[2 + 0x1f0] != buf[2 + 0x1f1] - 1) ||
(buf[2 + 0x1f0] != 0x19 && buf[2 + 0x1f0] != 0x0e))
{
- GList *iter;
+ List *iter;
int n;
boolean standard;
- standard = (g_list_length(caveset)%5) == 0; /* cave count % 5 != 0 -> nonstandard */
+ standard = (list_length(caveset)%5) == 0; /* cave count % 5 != 0 -> nonstandard */
for (n = 0, iter = caveset; iter != NULL; n++, iter = iter->next)
{
/* use numbering instead of letters, if following formats or too many caves
(as we would run out of letters) */
- numbering = format == GD_FORMAT_PLC || format == GD_FORMAT_CRLI || g_list_length(caveset) > 26;
+ numbering = format == GD_FORMAT_PLC || format == GD_FORMAT_CRLI || list_length(caveset) > 26;
for (iter = caveset; iter != NULL; iter = iter->next)
{
{
/* intermission */
if (numbering)
- g_snprintf(cave->name, sizeof(cave->name), _("Intermission %02d"), num);
+ snprintf(cave->name, sizeof(cave->name), _("Intermission %02d"), num);
else
- g_snprintf(cave->name, sizeof(cave->name), _("Intermission %d"), intermissionnum);
+ snprintf(cave->name, sizeof(cave->name), _("Intermission %d"), intermissionnum);
} else {
if (numbering)
- g_snprintf(cave->name, sizeof(cave->name), _("Cave %02d"), num);
+ snprintf(cave->name, sizeof(cave->name), _("Cave %02d"), num);
else
- g_snprintf(cave->name, sizeof(cave->name), _("Cave %c"), 'A' - 1 + cavenum);
+ snprintf(cave->name, sizeof(cave->name), _("Cave %c"), 'A' - 1 + cavenum);
}
num++;