Project

General

Profile

Feature #1154 ยป 0081-Animate-3Layer-extras-middleground.patch

Marko Lindqvist, 11/21/2024 09:25 PM

View differences:

client/tilespec.c
struct sprite *cardinals[MAX_INDEX_CARDINAL];
struct {
struct sprite
*background,
*middleground;
*background;
struct anim
*foreground;
*foreground,
*middleground;
} bmf;
struct {
struct sprite
......
sz_strlcpy(full_tag_name, tag);
strcat(full_tag_name, "_mg");
t->sprites.extras[id].u.bmf.middleground = load_sprite(t, full_tag_name,
TRUE, TRUE, FALSE);
t->sprites.extras[id].u.bmf.middleground = anim_load(t, full_tag_name, 0);
sz_strlcpy(full_tag_name, tag);
strcat(full_tag_name, "_fg");
......
extra_type_list_iterate(t->style_lists[ESTYLE_3LAYER], pextra) {
if (tile_has_extra(ptile, pextra)
&& is_extra_drawing_enabled(pextra)
&& t->sprites.extras[extra_index(pextra)].u.bmf.middleground) {
&& t->sprites.extras[extra_index(pextra)].u.bmf.middleground != nullptr) {
bool hidden = FALSE;
extra_type_list_iterate(pextra->hiders, phider) {
......
} extra_type_list_iterate_end;
if (!hidden) {
ADD_SPRITE_FULL(t->sprites.extras[extra_index(pextra)].u.bmf.middleground);
ADD_ANIM_FULL(t->sprites.extras[extra_index(pextra)].u.bmf.middleground);
}
}
} extra_type_list_iterate_end;
......
/* Corresponds to LAYER_SPECIAL{1,2,3} order. */
ADD_SPRITE_IF_NOT_NULL(t->sprites.extras[idx].u.bmf.background);
ADD_SPRITE_IF_NOT_NULL(t->sprites.extras[idx].u.bmf.middleground);
ADD_FRAME0_IF_NOT_NULL(t->sprites.extras[idx].u.bmf.middleground);
ADD_FRAME0_IF_NOT_NULL(t->sprites.extras[idx].u.bmf.foreground);
#undef ADD_SPRITE_IF_NOT_NULL
data/amplio/moderncities.spec
; used by all city styles
0, 0, "city.disorder"
0, 1, "base.airbase_mg"
0, 1, "base.airbase_mg_0"
0, 2, "tx.airbase_full"
0, 4, "base.outpost_fg_0"
0, 5, "base.outpost_bg"
0, 6, "city.electricage_occupied_0"
0, 6, "city.modern_occupied_0"
0, 6, "city.postmodern_occupied_0"
0, 8, "base.buoy_mg"
0, 9, "extra.ruins_mg"
0, 8, "base.buoy_mg_0"
0, 9, "extra.ruins_mg_0"
1, 1, "base.airstrip_mg"
1, 1, "base.airstrip_mg_0"
1, 4, "base.fortress_fg_0"
1, 5, "base.fortress_bg"
;
data/amplio2/bases.spec
tiles = { "row", "column", "tag"
;[HH][GS]
0, 0, "base.airbase_mg"
0, 0, "base.airbase_mg_0"
0, 1, "tx.airbase_full"
;[HH]
0, 3, "base.fortress_fg_0"
0, 4, "base.fortress_bg"
;[HH][GS]
1, 0, "base.airstrip_mg"
1, 0, "base.airstrip_mg_0"
;[El]
1, 1, "base.buoy_mg"
1, 1, "base.buoy_mg_0"
;[VC]
1, 2, "extra.ruins_mg"
1, 2, "extra.ruins_mg_0"
;[HH][GS]
1, 3, "base.outpost_fg_0"
1, 4, "base.outpost_bg"
; [SK]
1, 5, "extra.transport_hub_mg"
1, 5, "extra.transport_hub_mg_0"
;[Lexxie]
2, 2, "base.castle2_fg_0" ; Alternate castle (larger 'closed' version which makes hidden units more plausible ...
2, 3, "base.castle2_bg" ; ... but also hides the terrain graphics)
data/hex2t/items.spec
; used by all city styles
1, 0, "city.disorder"
1, 1, "base.airbase_mg"
1, 1, "base.airbase_mg_0"
1, 2, "tx.airbase_full"
1, 3, "base.airstrip_mg"
1, 5, "base.buoy_mg"
1, 6, "extra.ruins_mg"
1, 3, "base.airstrip_mg_0"
1, 5, "base.buoy_mg_0"
1, 6, "extra.ruins_mg_0"
3, 8, "base.outpost_fg_0"
3, 9, "base.outpost_bg"
4, 8, "base.fortress_fg_0"
data/hexemplio/bases.spec
tiles = { "row", "column", "tag"
;[HH][GS]
0, 0, "base.airstrip_mg"
0, 0, "base.airstrip_mg_0"
1, 0, "tx.airstrip_full"
;[HH][GS]
0, 1, "base.airbase_mg"
0, 1, "base.airbase_mg_0"
1, 1, "tx.airbase_full"
;[HH][GS]
1, 2, "base.outpost_fg_0"
......
;[HH]
0, 4, "city.disorder"
;[El]
1, 4, "base.buoy_mg"
1, 4, "base.buoy_mg_0"
;[VC]
0, 5, "extra.ruins_mg"
0, 5, "extra.ruins_mg_0"
;[HH]
1, 5, "city.european_occupied_0"
1, 5, "city.classical_occupied_0"
data/isotrident/cities.spec
; used by all city styles
0, 0, "city.disorder"
0, 1, "base.airbase_mg"
0, 1, "base.airbase_mg_0"
0, 2, "tx.airbase_full"
0, 3, "base.airstrip_mg"
0, 3, "base.airstrip_mg_0"
0, 4, "base.fortress_fg_0"
0, 5, "base.fortress_bg"
0, 6, "extra.ruins_mg"
0, 7, "base.buoy_mg"
0, 6, "extra.ruins_mg_0"
0, 7, "base.buoy_mg_0"
0, 8, "base.outpost_fg_0"
0, 9, "base.outpost_bg"
data/trident/tiles.spec
16, 14, "tx.nets_0"
; Bases
16, 6, "base.buoy_mg"
16, 7, "extra.ruins_mg"
16, 6, "base.buoy_mg_0"
16, 7, "extra.ruins_mg_0"
16, 8, "tx.village_0"
16, 9, "base.airstrip_mg"
16, 10, "base.airbase_mg"
16, 11, "base.outpost_mg"
16, 9, "base.airstrip_mg_0"
16, 10, "base.airbase_mg_0"
16, 11, "base.outpost_mg_0"
16, 12, "base.fortress_bg"
; Numbers: city size: (also used for goto)
    (1-1/1)