Project

General

Profile

Feature #1454 ยป 0080-Animate-Cardinals-extras.patch

Marko Lindqvist, 05/26/2025 06:26 PM

View differences:

client/tilespec.c
enum extrastyle_id extrastyle;
union {
struct anim *single;
struct sprite *cardinals[MAX_INDEX_CARDINAL];
struct anim *cardinals[MAX_INDEX_CARDINAL];
struct {
struct anim
*foreground,
......
for (i = 0; i < t->num_index_cardinal; i++) {
fc_snprintf(buffer, sizeof(buffer), "%s_%s",
tag, cardinal_index_str(t, i));
t->sprites.extras[id].u.cardinals[i] = load_sprite(t, buffer,
TRUE, TRUE, FALSE);
if (!t->sprites.extras[id].u.cardinals[i]) {
t->sprites.extras[id].u.cardinals[i] = load_sprite(t, tag,
TRUE, TRUE, FALSE);
t->sprites.extras[id].u.cardinals[i] = anim_load(t, buffer, 0);
if (t->sprites.extras[id].u.cardinals[i] == nullptr) {
t->sprites.extras[id].u.cardinals[i] = anim_load(t, tag, 0);
}
if (!t->sprites.extras[id].u.cardinals[i]) {
if (t->sprites.extras[id].u.cardinals[i] == nullptr) {
tileset_error(LOG_FATAL, tileset_name_get(t),
_("No cardinal-style graphics \"%s*\" for "
"extra \"%s\""),
......
if (!hidden) {
int idx = get_irrigation_index(t, pextra, textras_near);
ADD_SPRITE_SIMPLE(t->sprites.extras[eidx].u.cardinals[idx]);
ADD_ANIM_SPRITE_SIMPLE(t->sprites.extras[eidx].u.cardinals[idx]);
}
}
}
......
ADD_FRAME0_SIMPLE(t->sprites.extras[idx].u.single);
break;
case ESTYLE_CARDINALS:
ADD_SPRITE_SIMPLE(t->sprites.extras[idx].u.cardinals[0]);
ADD_FRAME0_SIMPLE(t->sprites.extras[idx].u.cardinals[0]);
break;
case ESTYLE_ROAD_ALL_SEPARATE:
case ESTYLE_ROAD_PARITY_COMBINED:
data/amplio/terrain1.spec
; Other extras
0, 6, "tx.oil_mine:0"
1, 6, "tx.irrigation"
2, 6, "tx.farmland"
1, 6, "tx.irrigation:0"
2, 6, "tx.farmland:0"
3, 6, "tx.mine:0"
4, 6, "tx.pollution:0"
5, 6, "tx.village:0"
data/amplio2/terrain1.spec
; Add-ons
0, 6, "tx.oil_mine:0"
1, 6, "tx.irrigation"
2, 6, "tx.farmland"
1, 6, "tx.irrigation:0"
2, 6, "tx.farmland:0"
3, 6, "tx.mine:0"
4, 6, "tx.pollution:0"
5, 6, "tx.village:0"
data/hex2t/tiles.spec
6, 0, "tx.oil_mine:0"
6, 10, "tx.oil_rig:0"
6, 1, "tx.mine:0"
6, 2, "tx.irrigation"
6, 3, "tx.farmland"
6, 2, "tx.irrigation:0"
6, 3, "tx.farmland:0"
6, 4, "tx.pollution:0"
6, 5, "tx.fallout:0"
6, 6, "tx.village:0"
data/isophex/terrain1.spec
4, 0, "tx.oil_mine:0"
4, 1, "tx.oil_rig:0"
4, 2, "tx.mine:0"
4, 3, "tx.irrigation"
4, 4, "tx.farmland"
4, 3, "tx.irrigation:0"
4, 4, "tx.farmland:0"
4, 5, "tx.fallout:0"
4, 6, "tx.pollution:0"
4, 7, "tx.village:0"
data/isotrident/terrain1.spec
; Add-ons
2, 7, "tx.oil_mine:0"
2, 8, "tx.oil_rig:0"
3, 7, "tx.irrigation"
4, 7, "tx.farmland"
3, 7, "tx.irrigation:0"
4, 7, "tx.farmland:0"
5, 7, "tx.mine:0"
6, 7, "tx.pollution:0"
8, 7, "tx.village:0"
data/trident/tiles.spec
; Terrain improvements and similar:
16, 0, "tx.farmland"
16, 1, "tx.irrigation"
16, 0, "tx.farmland:0"
16, 1, "tx.irrigation:0"
16, 2, "tx.mine:0"
16, 3, "tx.oil_mine:0"
16, 4, "tx.pollution:0"
    (1-1/1)