<URL: http://bugs.freeciv.org/Ticket/Display.html?id=39388 >
The ancient bug had been fixed in trunk months ago.
Tested against all 5 tilesets.
Committed S2_1 revision 13006.
Index: client/tilespec.c
===================================================================
--- client/tilespec.c (revision 13005)
+++ client/tilespec.c (working copy)
@@ -2638,7 +2638,6 @@
/* Set up each layer of the drawing. */
for (l = 0; l < draw->num_layers; l++) {
sprite_vector_init(&draw->layer[l].base);
- sprite_vector_reserve(&draw->layer[l].base, 1);
switch (draw->layer[l].cell_type) {
case CELL_SINGLE:
@@ -2673,7 +2672,6 @@
lookup_sprite_tag_alt(t, buffer, "", TRUE, "matched terrain",
pterrain->name_rule);
}
- draw->layer[l].base.p[0] = draw->layer[l].match[0];
break;
};
break;
@@ -2779,10 +2777,6 @@
};
}
}
- my_snprintf(buffer, sizeof(buffer), "t.%s1", draw->name);
- draw->layer[l].base.p[0]
- = lookup_sprite_tag_alt(t, buffer, "", TRUE, "base (blend) terrain",
- pterrain->name_rule);
break;
};
}
@@ -2795,6 +2789,14 @@
};
enum direction4 dir;
+ if (draw->layer[0].base.size < 1) {
+ my_snprintf(buffer, sizeof(buffer), "t.%s1", draw->name);
+ sprite_vector_reserve(&draw->layer[0].base, 1);
+ draw->layer[0].base.p[0]
+ = lookup_sprite_tag_alt(t, buffer, "", TRUE, "base (blend) terrain",
+ pterrain->name_rule);
+ }
+
for (dir = 0; dir < 4; dir++) {
assert(sprite_vector_size(&draw->layer[0].base) > 0);
draw->blend[dir] = crop_sprite(draw->layer[0].base.p[0],
_______________________________________________
Freeciv-dev mailing list
[email protected]
https://mail.gna.org/listinfo/freeciv-dev