<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 Freeciv-dev@gna.org https://mail.gna.org/listinfo/freeciv-dev