From 8ef5dbfc1063d23914931f62268d5904ca4b9209 Mon Sep 17 00:00:00 2001 From: Marko Lindqvist Date: Sun, 1 Jan 2023 15:18:29 +0200 Subject: [PATCH 38/38] Add support for activity specific unit sprites Requested by elefant See osdn #46387 Signed-off-by: Marko Lindqvist --- client/gui-gtk-3.22/citydlg.c | 1 + client/gui-gtk-3.22/editgui.c | 6 +- client/gui-gtk-3.22/helpdlg.c | 1 + client/gui-gtk-3.22/repodlgs.c | 1 + client/gui-gtk-3.22/unitselextradlg.c | 3 +- client/gui-gtk-3.22/unitselunitdlg.c | 3 +- client/gui-gtk-3.22/wldlg.c | 2 + client/gui-gtk-4.0/citydlg.c | 2 +- client/gui-gtk-4.0/editgui.c | 6 +- client/gui-gtk-4.0/helpdlg.c | 1 + client/gui-gtk-4.0/repodlgs.c | 1 + client/gui-gtk-4.0/unitselextradlg.c | 3 +- client/gui-gtk-4.0/unitselunitdlg.c | 3 +- client/gui-gtk-4.0/wldlg.c | 3 + client/gui-qt/citydlg.cpp | 4 +- client/gui-qt/helpdlg.cpp | 3 +- client/gui-qt/hudwidget.cpp | 5 +- client/gui-qt/repodlgs.cpp | 15 +- client/gui-sdl2/gui_tilespec.h | 3 +- client/reqtree.c | 38 +- client/tilespec.c | 114 +- client/tilespec.h | 1 + data/amplio/units.spec | 116 +- data/amplio2/extra_units.spec | 20 +- data/amplio2/units.spec | 116 +- data/cimpletoon/orient_units.spec | 1007 ++++++++--------- data/cimpletoon/units/ROMB/xxx.spec | 16 +- data/cimpletoon/units/abrams/xxx.spec | 16 +- data/cimpletoon/units/assaultgun/xxx.spec | 16 +- data/cimpletoon/units/biplane/xxx.spec | 16 +- data/cimpletoon/units/container_ship/xxx.spec | 16 +- data/cimpletoon/units/flak88/xxx.spec | 16 +- data/cimpletoon/units/icebreaker/xxx.spec | 16 +- data/cimpletoon/units/light_howitzer/xxx.spec | 16 +- data/cimpletoon/units/locomotive/xxx.spec | 16 +- data/cimpletoon/units/m4sherman/xxx.spec | 16 +- data/cimpletoon/units/mig15/xxx.spec | 16 +- data/cimpletoon/units/missile_sub/xxx.spec | 16 +- data/cimpletoon/units/panther/xxx.spec | 16 +- data/cimpletoon/units/panzer_iii/xxx.spec | 16 +- data/cimpletoon/units/pt-boat/xxx.spec | 16 +- data/cimpletoon/units/stationary_sam/xxx.spec | 16 +- data/cimpletoon/units/steamer/xxx.spec | 16 +- data/cimpletoon/units/technical/xxx.spec | 16 +- data/cimpletoon/units/tiger/xxx.spec | 16 +- data/cimpletoon/units/truck/xxx.spec | 16 +- data/cimpletoon/units/zeppelin/xxx.spec | 16 +- data/trident/extra_units.spec | 24 +- data/trident/units.spec | 110 +- doc/README.graphics | 12 +- 50 files changed, 1024 insertions(+), 936 deletions(-) diff --git a/client/gui-gtk-3.22/citydlg.c b/client/gui-gtk-3.22/citydlg.c index 6dfbc2b7c8..19b3eccf36 100644 --- a/client/gui-gtk-3.22/citydlg.c +++ b/client/gui-gtk-3.22/citydlg.c @@ -2053,6 +2053,7 @@ static void city_dialog_update_building(struct city_dialog *pdialog) if (VUT_UTYPE == target.kind) { name = utype_name_translation(target.value.utype); sprite = get_unittype_sprite(tileset, target.value.utype, + ACTIVITY_LAST, direction8_invalid()); useless = FALSE; } else { diff --git a/client/gui-gtk-3.22/editgui.c b/client/gui-gtk-3.22/editgui.c index 7e5402fe4a..75ed1ac454 100644 --- a/client/gui-gtk-3.22/editgui.c +++ b/client/gui-gtk-3.22/editgui.c @@ -879,7 +879,8 @@ static void editbar_reload_tileset(struct editbar *eb) TVS_COL_ID, utype_number(putype), TVS_COL_NAME, utype_name_translation(putype), -1); - sprite = get_unittype_sprite(tileset, putype, direction8_invalid()); + sprite = get_unittype_sprite(tileset, putype, ACTIVITY_LAST, + direction8_invalid()); if (sprite == NULL) { continue; } @@ -1434,7 +1435,8 @@ static GdkPixbuf *get_tool_value_pixbuf(enum editor_tool_type ett, case ETT_UNIT: putype = utype_by_number(value); if (putype) { - sprite = get_unittype_sprite(tileset, putype, direction8_invalid()); + sprite = get_unittype_sprite(tileset, putype, + ACTIVITY_LAST, direction8_invalid()); } break; case ETT_CITY: diff --git a/client/gui-gtk-3.22/helpdlg.c b/client/gui-gtk-3.22/helpdlg.c index 01687a3245..4339fcb6f5 100644 --- a/client/gui-gtk-3.22/helpdlg.c +++ b/client/gui-gtk-3.22/helpdlg.c @@ -926,6 +926,7 @@ static void help_update_unit_type(const struct help_item *pitem, gtk_widget_show(help_text_sw); set_help_tile_from_sprite(get_unittype_sprite(tileset, utype, + ACTIVITY_LAST, direction8_invalid())); } else { gtk_label_set_text(GTK_LABEL(help_ulabel[0][1]), "0"); diff --git a/client/gui-gtk-3.22/repodlgs.c b/client/gui-gtk-3.22/repodlgs.c index 9c1d6052c2..c5840919f1 100644 --- a/client/gui-gtk-3.22/repodlgs.c +++ b/client/gui-gtk-3.22/repodlgs.c @@ -884,6 +884,7 @@ static void economy_report_update(struct economy_report *preport) struct unit_entry *pentry = unit_entries + i; struct unit_type *putype = pentry->type; struct sprite *sprite = get_unittype_sprite(tileset, putype, + ACTIVITY_LAST, direction8_invalid()); cid id = cid_encode_unit(putype); diff --git a/client/gui-gtk-3.22/unitselextradlg.c b/client/gui-gtk-3.22/unitselextradlg.c index 7d174154bc..28aaafc2bc 100644 --- a/client/gui-gtk-3.22/unitselextradlg.c +++ b/client/gui-gtk-3.22/unitselextradlg.c @@ -145,7 +145,8 @@ bool select_tgt_extra(struct unit *actor, struct tile *ptile, lbl = gtk_label_new(actor_label); gtk_grid_attach(GTK_GRID(box), lbl, 0, 0, 1, 1); - spr = get_unittype_sprite(tileset, actor_type, direction8_invalid()); + spr = get_unittype_sprite(tileset, actor_type, + actor->activity, direction8_invalid()); if (spr != NULL) { icon = gtk_image_new_from_pixbuf(sprite_get_pixbuf(spr)); } else { diff --git a/client/gui-gtk-3.22/unitselunitdlg.c b/client/gui-gtk-3.22/unitselunitdlg.c index eb013237f2..78387e7f1b 100644 --- a/client/gui-gtk-3.22/unitselunitdlg.c +++ b/client/gui-gtk-3.22/unitselunitdlg.c @@ -108,7 +108,8 @@ bool select_tgt_unit(struct unit *actor, struct tile *ptile, lbl = gtk_label_new(actor_label); gtk_grid_attach(GTK_GRID(box), lbl, 0, 0, 1, 1); - spr = get_unittype_sprite(tileset, actor_type, direction8_invalid()); + spr = get_unittype_sprite(tileset, actor_type, + actor->activity, direction8_invalid()); if (spr != NULL) { icon = gtk_image_new_from_pixbuf(sprite_get_pixbuf(spr)); } else { diff --git a/client/gui-gtk-3.22/wldlg.c b/client/gui-gtk-3.22/wldlg.c index 496f535efe..3ff9f4cc79 100644 --- a/client/gui-gtk-3.22/wldlg.c +++ b/client/gui-gtk-3.22/wldlg.c @@ -93,6 +93,7 @@ static void update_max_unit_size(void) unit_type_iterate(i) { int x1, x2, y1, y2; struct sprite *sprite = get_unittype_sprite(tileset, i, + ACTIVITY_LAST, direction8_invalid()); sprite_get_bounding_box(sprite, &x1, &y1, &x2, &y2); @@ -946,6 +947,7 @@ static void cell_render_func(GtkTreeViewColumn *col, GtkCellRenderer *rend, if (VUT_UTYPE == target.kind) { sprite = sprite_scale(get_unittype_sprite(tileset, target.value.utype, + ACTIVITY_LAST, direction8_invalid()), max_unit_width, max_unit_height); } else { diff --git a/client/gui-gtk-4.0/citydlg.c b/client/gui-gtk-4.0/citydlg.c index 4957b6edb3..8c0f0c5295 100644 --- a/client/gui-gtk-4.0/citydlg.c +++ b/client/gui-gtk-4.0/citydlg.c @@ -2064,7 +2064,7 @@ static void city_dialog_update_building(struct city_dialog *pdialog) if (VUT_UTYPE == target.kind) { name = utype_name_translation(target.value.utype); sprite = get_unittype_sprite(tileset, target.value.utype, - direction8_invalid()); + ACTIVITY_LAST, direction8_invalid()); useless = FALSE; } else { name = improvement_name_translation(target.value.building); diff --git a/client/gui-gtk-4.0/editgui.c b/client/gui-gtk-4.0/editgui.c index 953cbb277a..b5f64fe458 100644 --- a/client/gui-gtk-4.0/editgui.c +++ b/client/gui-gtk-4.0/editgui.c @@ -885,7 +885,8 @@ static void editbar_reload_tileset(struct editbar *eb) TVS_COL_ID, utype_number(putype), TVS_COL_NAME, utype_name_translation(putype), -1); - sprite = get_unittype_sprite(tileset, putype, direction8_invalid()); + sprite = get_unittype_sprite(tileset, putype, + ACTIVITY_LAST, direction8_invalid()); if (sprite == NULL) { continue; } @@ -1447,7 +1448,8 @@ static GdkPixbuf *get_tool_value_pixbuf(enum editor_tool_type ett, case ETT_UNIT: putype = utype_by_number(value); if (putype) { - sprite = get_unittype_sprite(tileset, putype, direction8_invalid()); + sprite = get_unittype_sprite(tileset, putype, + ACTIVITY_LAST, direction8_invalid()); } break; case ETT_CITY: diff --git a/client/gui-gtk-4.0/helpdlg.c b/client/gui-gtk-4.0/helpdlg.c index 455b12e518..2b2a0d0a7d 100644 --- a/client/gui-gtk-4.0/helpdlg.c +++ b/client/gui-gtk-4.0/helpdlg.c @@ -957,6 +957,7 @@ static void help_update_unit_type(const struct help_item *pitem, gtk_widget_show(help_text_sw); set_help_tile_from_sprite(get_unittype_sprite(tileset, utype, + ACTIVITY_LAST, direction8_invalid())); } else { gtk_label_set_text(GTK_LABEL(help_ulabel[0][1]), "0"); diff --git a/client/gui-gtk-4.0/repodlgs.c b/client/gui-gtk-4.0/repodlgs.c index 91a352bc13..a166d5a2ec 100644 --- a/client/gui-gtk-4.0/repodlgs.c +++ b/client/gui-gtk-4.0/repodlgs.c @@ -920,6 +920,7 @@ static void economy_report_update(struct economy_report *preport) struct unit_entry *pentry = unit_entries + i; struct unit_type *putype = pentry->type; struct sprite *sprite = get_unittype_sprite(tileset, putype, + ACTIVITY_LAST, direction8_invalid()); cid id = cid_encode_unit(putype); diff --git a/client/gui-gtk-4.0/unitselextradlg.c b/client/gui-gtk-4.0/unitselextradlg.c index 71efe353a3..54f03f2dc3 100644 --- a/client/gui-gtk-4.0/unitselextradlg.c +++ b/client/gui-gtk-4.0/unitselextradlg.c @@ -146,7 +146,8 @@ bool select_tgt_extra(struct unit *actor, struct tile *ptile, lbl = gtk_label_new(actor_label); gtk_grid_attach(GTK_GRID(box), lbl, 0, 0, 1, 1); - spr = get_unittype_sprite(tileset, actor_type, direction8_invalid()); + spr = get_unittype_sprite(tileset, actor_type, + actor->activity, direction8_invalid()); if (spr != NULL) { icon = gtk_image_new_from_pixbuf(sprite_get_pixbuf(spr)); } else { diff --git a/client/gui-gtk-4.0/unitselunitdlg.c b/client/gui-gtk-4.0/unitselunitdlg.c index 7772d59589..8f632ec716 100644 --- a/client/gui-gtk-4.0/unitselunitdlg.c +++ b/client/gui-gtk-4.0/unitselunitdlg.c @@ -109,7 +109,8 @@ bool select_tgt_unit(struct unit *actor, struct tile *ptile, lbl = gtk_label_new(actor_label); gtk_grid_attach(GTK_GRID(box), lbl, 0, 0, 1, 1); - spr = get_unittype_sprite(tileset, actor_type, direction8_invalid()); + spr = get_unittype_sprite(tileset, actor_type, + actor->activity, direction8_invalid()); if (spr != NULL) { icon = gtk_image_new_from_pixbuf(sprite_get_pixbuf(spr)); } else { diff --git a/client/gui-gtk-4.0/wldlg.c b/client/gui-gtk-4.0/wldlg.c index bc70272f08..086da8c067 100644 --- a/client/gui-gtk-4.0/wldlg.c +++ b/client/gui-gtk-4.0/wldlg.c @@ -93,6 +93,7 @@ static void update_max_unit_size(void) unit_type_iterate(i) { int x1, x2, y1, y2; struct sprite *sprite = get_unittype_sprite(tileset, i, + ACTIVITY_LAST, direction8_invalid()); sprite_get_bounding_box(sprite, &x1, &y1, &x2, &y2); @@ -969,6 +970,7 @@ static void cell_render_func(GtkTreeViewColumn *col, GtkCellRenderer *rend, if (VUT_UTYPE == target.kind) { sprite = sprite_scale(get_unittype_sprite(tileset, target.value.utype, + ACTIVITY_LAST, direction8_invalid()), max_unit_width, max_unit_height); } else { @@ -1411,6 +1413,7 @@ static void drag_begin(GtkDragSource *source, GdkDrag *drag, if (VUT_UTYPE == target.kind) { sprite = sprite_scale(get_unittype_sprite(tileset, target.value.utype, + ACTIVITY_LAST, direction8_invalid()), max_unit_width, max_unit_height); } else { diff --git a/client/gui-qt/citydlg.cpp b/client/gui-qt/citydlg.cpp index b01785858a..99e9b615c6 100644 --- a/client/gui-qt/citydlg.cpp +++ b/client/gui-qt/citydlg.cpp @@ -120,7 +120,7 @@ void progress_bar::set_pixmap(struct universal *target) if (VUT_UTYPE == target->kind) { sprite = get_unittype_sprite(get_tileset(), target->value.utype, - direction8_invalid()); + ACTIVITY_LAST, direction8_invalid()); } else { sprite = get_building_sprite(tileset, target->value.building); } @@ -3448,6 +3448,7 @@ void city_dialog::update_improvements() cost = utype_build_shield_cost(dlgcity, NULL, target.value.utype); tooltip = get_tooltip_unit(target.value.utype, true).trimmed(); sprite = get_unittype_sprite(get_tileset(), target.value.utype, + ACTIVITY_LAST, direction8_invalid()); } else { str = city_improvement_name_translation(dlgcity, target.value.building); @@ -4128,6 +4129,7 @@ void city_production_delegate::paint(QPainter *painter, } sprite = get_unittype_sprite(get_tileset(), target->value.utype, + ACTIVITY_LAST, direction8_invalid()); } else { is_unit = false; diff --git a/client/gui-qt/helpdlg.cpp b/client/gui-qt/helpdlg.cpp index 893874d40e..5283bcd681 100644 --- a/client/gui-qt/helpdlg.cpp +++ b/client/gui-qt/helpdlg.cpp @@ -320,7 +320,8 @@ void help_dialog::make_tree() case HELP_UNIT: f_type = unit_type_by_translated_name(s); if (f_type) { - spite = get_unittype_sprite(tileset, f_type, direction8_invalid()); + spite = get_unittype_sprite(tileset, f_type, + ACTIVITY_LAST, direction8_invalid()); } if (spite) { icon = QIcon(*spite->pm); diff --git a/client/gui-qt/hudwidget.cpp b/client/gui-qt/hudwidget.cpp index 3d4e69b08b..60433dc79d 100644 --- a/client/gui-qt/hudwidget.cpp +++ b/client/gui-qt/hudwidget.cpp @@ -1248,8 +1248,9 @@ void hud_unit_loader::show_me() setColumnCount(max_size + 1); for (i = 0 ; i < transports.count(); i++) { QString str; + struct unit *tp = transports.at(i); - spite = get_unittype_sprite(tileset, transports.at(i)->utype, + spite = get_unittype_sprite(tileset, tp->utype, tp->activity, direction8_invalid()); str = utype_rule_name(transports.at(i)->utype); // TRANS: MP - just movement points @@ -1260,7 +1261,7 @@ void hud_unit_loader::show_me() setItem(i, 0, new_item); j = 1; unit_list_iterate(transports.at(i)->transporting, tunit) { - spite = get_unittype_sprite(tileset, tunit->utype, + spite = get_unittype_sprite(tileset, tunit->utype, tunit->activity, direction8_invalid()); new_item = new QTableWidgetItem(QIcon(*spite->pm), ""); setItem(i, j, new_item); diff --git a/client/gui-qt/repodlgs.cpp b/client/gui-qt/repodlgs.cpp index 298ccf3639..1736d71e69 100644 --- a/client/gui-qt/repodlgs.cpp +++ b/client/gui-qt/repodlgs.cpp @@ -192,7 +192,8 @@ void unittype_item::init_img() { struct sprite *sp; - sp = get_unittype_sprite(get_tileset(), utype, direction8_invalid()); + sp = get_unittype_sprite(get_tileset(), utype, + ACTIVITY_LAST, direction8_invalid()); label_pix.setPixmap(*sp->pm); } @@ -622,19 +623,20 @@ void research_diagram::create_tooltip_help() icon_startx = startx + 5; if (gui_options.reqtree_show_icons) { - unit_type_iterate(unit) { + unit_type_iterate(utype) { - if (!is_tech_req_for_utype(unit, advance_by_number(node->tech))) { + if (!is_tech_req_for_utype(utype, advance_by_number(node->tech))) { continue; } - sprite = get_unittype_sprite(tileset, unit, direction8_invalid()); + sprite = get_unittype_sprite(tileset, utype, + ACTIVITY_LAST, direction8_invalid()); get_sprite_dimensions(sprite, &swidth, &sheight); rttp = new req_tooltip_help(); rttp->rect = QRect(icon_startx, starty + text_h + 4 + (nheight - text_h - 4 - sheight) / 2, swidth, sheight); - rttp->tunit = unit; + rttp->tunit = utype; tt_help.append(rttp); icon_startx += swidth + 2; } unit_type_iterate_end; @@ -1344,7 +1346,8 @@ void eco_report::update_report() cid id; pix = NULL; - sprite = get_unittype_sprite(tileset, putype, direction8_invalid()); + sprite = get_unittype_sprite(tileset, putype, + ACTIVITY_LAST, direction8_invalid()); if (sprite != NULL) { pix = sprite->pm; } diff --git a/client/gui-sdl2/gui_tilespec.h b/client/gui-sdl2/gui_tilespec.h index 825296daf7..2e123ff967 100644 --- a/client/gui-sdl2/gui_tilespec.h +++ b/client/gui-sdl2/gui_tilespec.h @@ -261,7 +261,8 @@ static inline SDL_Surface *get_building_surface(const struct impr_type *pimprove static inline SDL_Surface *get_unittype_surface(const struct unit_type *punittype, enum direction8 facing) { - return GET_SURF(get_unittype_sprite(tileset, punittype, facing)); + return GET_SURF(get_unittype_sprite(tileset, punittype, ACTIVITY_LAST, + facing)); } /**********************************************************************//** diff --git a/client/reqtree.c b/client/reqtree.c index c68766c825..5abfc009e9 100644 --- a/client/reqtree.c +++ b/client/reqtree.c @@ -179,19 +179,20 @@ static void node_rectangle_minimum_size(struct tree_node *node, if (gui_options.reqtree_show_icons) { /* Units */ - unit_type_iterate(unit) { + unit_type_iterate(utype) { - if (!is_tech_req_for_utype(unit, advance_by_number(node->tech))) { + if (!is_tech_req_for_utype(utype, advance_by_number(node->tech))) { continue; } - sprite = get_unittype_sprite(tileset, unit, direction8_invalid()); + sprite = get_unittype_sprite(tileset, utype, + ACTIVITY_LAST, direction8_invalid()); get_sprite_dimensions(sprite, &swidth, &sheight); max_icon_height = MAX(max_icon_height, sheight); icons_width_sum += swidth + 2; } unit_type_iterate_end; - - /* buildings */ + + /* Buildings */ improvement_iterate(pimprove) { if (valid_improvement(pimprove)) { requirement_vector_iterate(&(pimprove->reqs), preq) { @@ -208,8 +209,8 @@ static void node_rectangle_minimum_size(struct tree_node *node, } requirement_vector_iterate_end; } } improvement_iterate_end; - - /* governments */ + + /* Governments */ governments_iterate(gov) { requirement_vector_iterate(&(gov->reqs), preq) { if (VUT_ADVANCE == preq->source.kind @@ -1085,22 +1086,23 @@ void draw_reqtree(struct reqtree *tree, struct canvas *pcanvas, icon_startx = startx + 5; if (gui_options.reqtree_show_icons) { - unit_type_iterate(unit) { + unit_type_iterate(utype) { - if (!is_tech_req_for_utype(unit, advance_by_number(node->tech))) { + if (!is_tech_req_for_utype(utype, advance_by_number(node->tech))) { continue; } - sprite = get_unittype_sprite(tileset, unit, direction8_invalid()); - get_sprite_dimensions(sprite, &swidth, &sheight); - canvas_put_sprite_full(pcanvas, - icon_startx, - starty + text_h + 4 - + (height - text_h - 4 - sheight) / 2, - sprite); - icon_startx += swidth + 2; + sprite = get_unittype_sprite(tileset, utype, + ACTIVITY_LAST, direction8_invalid()); + get_sprite_dimensions(sprite, &swidth, &sheight); + canvas_put_sprite_full(pcanvas, + icon_startx, + starty + text_h + 4 + + (height - text_h - 4 - sheight) / 2, + sprite); + icon_startx += swidth + 2; } unit_type_iterate_end; - + improvement_iterate(pimprove) { if (valid_improvement(pimprove)) { requirement_vector_iterate(&(pimprove->reqs), preq) { diff --git a/client/tilespec.c b/client/tilespec.c index 2996f0e0a1..589aa633db 100644 --- a/client/tilespec.c +++ b/client/tilespec.c @@ -253,8 +253,8 @@ struct named_sprites { struct sprite *government[G_LAST]; struct { - struct sprite *icon[U_LAST]; - struct sprite *facing[U_LAST][DIR8_MAGIC_MAX]; + struct sprite *icon[U_LAST][ACTIVITY_LAST]; + struct sprite *facing[U_LAST][DIR8_MAGIC_MAX][ACTIVITY_LAST]; } units; struct sprite_vector nation_flag; @@ -570,6 +570,7 @@ static struct tileset *tileset_read_toplevel(const char *tileset_name, static int fill_unit_type_sprite_array(const struct tileset *t, struct drawn_sprite *sprs, const struct unit_type *putype, + enum unit_activity activity, enum direction8 facing); static int fill_unit_sprite_array(const struct tileset *t, struct drawn_sprite *sprs, @@ -3549,10 +3550,11 @@ static bool tileset_setup_unit_direction(struct tileset *t, int uidx, const char *base_str, enum direction8 dir, + enum unit_activity activity, bool has_icon) { - char buf[2048]; enum direction8 loaddir = dir; + char buf[2048]; /* * There may be more orientations available in this tileset than are @@ -3573,16 +3575,27 @@ static bool tileset_setup_unit_direction(struct tileset *t, } while (!is_valid_tileset_dir(t, loaddir)); } - fc_snprintf(buf, sizeof(buf), "%s_%s", base_str, + fc_snprintf(buf, sizeof(buf), "%s_%s_%s", base_str, + unit_activity_name(activity), dir_get_tileset_name(loaddir)); /* We don't use _alt graphics here, as that could lead to loading * real icon gfx, but alternative orientation gfx. Tileset author * probably meant icon gfx to be used as fallback for all orientations */ - t->sprites.units.facing[uidx][dir] = load_sprite(t, buf, - TRUE, TRUE, FALSE); + t->sprites.units.facing[uidx][dir][activity] = load_sprite(t, buf, + TRUE, TRUE, FALSE); + + if (activity == ACTIVITY_IDLE + && t->sprites.units.facing[uidx][dir][activity] == NULL) { + /* Backward compatibility: Set Idle sprite from tag with no activity defined. */ + fc_snprintf(buf, sizeof(buf), "%s_%s", base_str, + dir_get_tileset_name(loaddir)); - if (t->sprites.units.facing[uidx][dir] != NULL) { + t->sprites.units.facing[uidx][dir][activity] = load_sprite(t, buf, + TRUE, TRUE, FALSE); + } + + if (t->sprites.units.facing[uidx][dir][activity] != NULL) { return TRUE; } @@ -3593,28 +3606,49 @@ static bool tileset_setup_unit_direction(struct tileset *t, Try to setup all unit type sprites from single tag ****************************************************************************/ static bool tileset_setup_unit_type_from_tag(struct tileset *t, - int uidx, const char *tag) + int uidx, + const char *tag) { - bool has_icon, facing_sprites = TRUE; + bool has_icon, facing_sprites[ACTIVITY_LAST]; + + activity_type_iterate(activity) { + char buffer[2048]; + + fc_snprintf(buffer, sizeof(buffer), "%s_%s", + tag, unit_activity_name(activity)); + t->sprites.units.icon[uidx][activity] = load_sprite(t, buffer, + TRUE, TRUE, FALSE); - t->sprites.units.icon[uidx] = load_sprite(t, tag, TRUE, TRUE, FALSE); - has_icon = t->sprites.units.icon[uidx] != NULL; + if (activity == ACTIVITY_IDLE + && t->sprites.units.icon[uidx][activity] == NULL) { + /* Backward compatibility: Set Idle sprite from tag with no activity defined. */ + t->sprites.units.icon[uidx][activity] = load_sprite(t, tag, + TRUE, TRUE, FALSE); + } + } activity_type_iterate_end; + + has_icon = t->sprites.units.icon[uidx][ACTIVITY_IDLE] != NULL; -#define LOAD_FACING_SPRITE(dir) \ - if (!tileset_setup_unit_direction(t, uidx, tag, dir, has_icon)) { \ - facing_sprites = FALSE; \ +#define LOAD_FACING_SPRITE(dir) \ + if (!tileset_setup_unit_direction(t, uidx, tag, dir, activity, has_icon)) { \ + facing_sprites[activity] = FALSE; \ } - LOAD_FACING_SPRITE(DIR8_NORTHWEST); - LOAD_FACING_SPRITE(DIR8_NORTH); - LOAD_FACING_SPRITE(DIR8_NORTHEAST); - LOAD_FACING_SPRITE(DIR8_WEST); - LOAD_FACING_SPRITE(DIR8_EAST); - LOAD_FACING_SPRITE(DIR8_SOUTHWEST); - LOAD_FACING_SPRITE(DIR8_SOUTH); - LOAD_FACING_SPRITE(DIR8_SOUTHEAST); + activity_type_iterate(activity) { + facing_sprites[activity] = TRUE; + + LOAD_FACING_SPRITE(DIR8_NORTHWEST); + LOAD_FACING_SPRITE(DIR8_NORTH); + LOAD_FACING_SPRITE(DIR8_NORTHEAST); + LOAD_FACING_SPRITE(DIR8_WEST); + LOAD_FACING_SPRITE(DIR8_EAST); + LOAD_FACING_SPRITE(DIR8_SOUTHWEST); + LOAD_FACING_SPRITE(DIR8_SOUTH); + LOAD_FACING_SPRITE(DIR8_SOUTHEAST); - if (!has_icon && !facing_sprites) { + } activity_type_iterate_end; + + if (!has_icon && !facing_sprites[ACTIVITY_IDLE]) { /* Neither icon gfx or orientation sprites */ return FALSE; } @@ -3638,7 +3672,7 @@ void tileset_setup_unit_type(struct tileset *t, struct unit_type *ut) utype_rule_name(ut), ut->graphic_str, ut->graphic_alt); } - if (!t->sprites.units.icon[uidx]) { + if (!t->sprites.units.icon[uidx][ACTIVITY_IDLE]) { if (!direction8_is_valid(t->unit_default_orientation)) { tileset_error(LOG_FATAL, "Unit type %s has no unoriented sprite and " "tileset has no unit_default_orientation.", @@ -4348,10 +4382,11 @@ static void build_tile_data(const struct tile *ptile, static int fill_unit_type_sprite_array(const struct tileset *t, struct drawn_sprite *sprs, const struct unit_type *putype, + enum unit_activity activity, enum direction8 facing) { struct drawn_sprite *save_sprs = sprs; - struct sprite *uspr = get_unittype_sprite(t, putype, facing); + struct sprite *uspr = get_unittype_sprite(t, putype, activity, facing); ADD_SPRITE(uspr, TRUE, FULL_TILE_X_OFFSET + t->unit_offset_x, @@ -4384,7 +4419,7 @@ static int fill_unit_sprite_array(const struct tileset *t, /* Add the sprite for the unit type. */ sprs += fill_unit_type_sprite_array(t, sprs, ptype, - punit->facing); + punit->activity, punit->facing); if (t->sprites.unit.loaded && unit_transported(punit)) { ADD_SPRITE_FULL(t->sprites.unit.loaded); @@ -6003,7 +6038,9 @@ int fill_sprite_array(struct tileset *t, sprs += fill_unit_sprite_array(t, sprs, punit, stack_count, backdrop); } else if (putype != NULL && layer == LAYER_UNIT) { /* Only the sprite for the unit type. */ - sprs += fill_unit_type_sprite_array(t, sprs, putype, + /* FIXME: Shouldn't this still get activity and orientation of + * the actual unit? */ + sprs += fill_unit_type_sprite_array(t, sprs, putype, ACTIVITY_LAST, direction8_invalid()); } break; @@ -6598,11 +6635,16 @@ struct sprite *get_government_sprite(const struct tileset *t, ****************************************************************************/ struct sprite *get_unittype_sprite(const struct tileset *t, const struct unit_type *punittype, + enum unit_activity activity, enum direction8 facing) { int uidx = utype_index(punittype); bool icon = !direction8_is_valid(facing); + if (activity >= ACTIVITY_LAST) { + activity = ACTIVITY_IDLE; + } + fc_assert_ret_val(NULL != punittype, NULL); if (!direction8_is_valid(facing) || !is_valid_dir(facing)) { @@ -6611,16 +6653,26 @@ struct sprite *get_unittype_sprite(const struct tileset *t, * turn out to have an icon sprite */ } - if (t->sprites.units.icon[uidx] - && (icon || t->sprites.units.facing[uidx][facing] == NULL)) { + if (t->sprites.units.icon[uidx][activity] != NULL + && (icon || t->sprites.units.facing[uidx][facing][activity] == NULL)) { + /* Has icon sprite, and we prefer to (or must) use it */ + return t->sprites.units.icon[uidx][activity]; + } else if (t->sprites.units.icon[uidx][ACTIVITY_IDLE] != NULL + && (icon + || t->sprites.units.facing[uidx][facing][ACTIVITY_IDLE] == NULL)) { /* Has icon sprite, and we prefer to (or must) use it */ - return t->sprites.units.icon[uidx]; + return t->sprites.units.icon[uidx][ACTIVITY_IDLE]; } else { /* We should have a valid orientation by now. Failure to have either * an icon sprite or default orientation should have been caught at * tileset load. */ fc_assert_ret_val(direction8_is_valid(facing), NULL); - return t->sprites.units.facing[uidx][facing]; + + if (t->sprites.units.facing[uidx][facing][activity] == NULL) { + return t->sprites.units.facing[uidx][facing][ACTIVITY_IDLE]; + } + + return t->sprites.units.facing[uidx][facing][activity]; } } diff --git a/client/tilespec.h b/client/tilespec.h index 6cb48c1bf7..1bb98916b5 100644 --- a/client/tilespec.h +++ b/client/tilespec.h @@ -376,6 +376,7 @@ struct sprite *get_government_sprite(const struct tileset *t, const struct government *gov); struct sprite *get_unittype_sprite(const struct tileset *t, const struct unit_type *punittype, + enum unit_activity activity, enum direction8 facing); struct sprite *get_sample_city_sprite(const struct tileset *t, int style_idx); diff --git a/data/amplio/units.spec b/data/amplio/units.spec index 6715d87054..bf49c6218b 100644 --- a/data/amplio/units.spec +++ b/data/amplio/units.spec @@ -46,64 +46,64 @@ dx = 64 dy = 48 tiles = { "row", "column", "tag" - ; Scenario League tags in brackets - 0, 0, "u.armor" ; [Nemo] - 0, 1, "u.howitzer" ; [Nemo] - 0, 2, "u.battleship" ; [Nemo] - 0, 3, "u.bomber" ; [GB] - 0, 4, "u.cannon" ; [CT] - 0, 5, "u.caravan" ; [Alex] & [CT] - 0, 6, "u.carrier" ; [Nemo] - 0, 7, "u.catapult" ; [CT] - 0, 8, "u.horsemen" ; [GB] - 0, 9, "u.chariot" ; [BB] & [GB] - 0, 10, "u.cruiser" ; [Nemo] - 0, 11, "u.diplomat" ; [Nemo] - 0, 12, "u.fighter" ; [Sor] - 0, 13, "u.frigate" ; [BB] - 0, 14, "u.ironclad" ; [Nemo] - 0, 15, "u.knights" ; [BB] - 0, 16, "u.legion" ; [GB] - 0, 17, "u.mech_inf" ; [GB] - 0, 18, "u.warriors" ; [GB] - 0, 19, "u.musketeers" ; [Alex] & [CT] - 1, 0, "u.nuclear" ; [Nemo] & [CS] - 1, 1, "u.phalanx" ; [GB] & [CT] - 1, 2, "u.riflemen" ; [Alex] - 1, 3, "u.caravel" ; [BB] - 1, 4, "u.settlers" ; [MHN] - 1, 5, "u.submarine" ; [GP] - 1, 6, "u.transport" ; [Nemo] - 1, 7, "u.trireme" ; [BB] - 1, 8, "u.archers" ; [GB] - 1, 9, "u.cavalry" ; [Alex] - 1, 10, "u.cruise_missile" ; [CS] - 1, 11, "u.destroyer" ; [Nemo] - 1, 12, "u.dragoons" ; [GB] - 1, 13, "u.explorer" ; [Alex] & [CT] - 1, 14, "u.freight" ; [CT] & qwm - 1, 15, "u.galleon" ; [BB] - 1, 16, "u.partisan" ; [BB] & [CT] - 1, 17, "u.pikemen" ; [T] - 2, 0, "u.marines" ; [GB] - 2, 1, "u.spy" ; [EW] & [CT] - 2, 2, "u.engineers" ; [Nemo] & [CT] - 2, 3, "u.artillery" ; [GB] - 2, 4, "u.helicopter" ; [T] - 2, 5, "u.alpine_troops" ; [Nemo] - 2, 6, "u.stealth_bomber" ; [GB] - 2, 7, "u.stealth_fighter" ; [Nemo] & [AHS] - 2, 8, "u.aegis_cruiser" ; [GP] - 2, 9, "u.paratroopers" ; [Alex] - 2, 10, "u.elephants" ; [Alex] & [GG] & [CT] - 2, 11, "u.crusaders" ; [BB] - 2, 12, "u.fanatics" ; [GB] & [CT] - 2, 13, "u.awacs" ; [APL] - 2, 14, "u.worker" ; [GB] - 2, 15, "u.leader" ; [GB] - 2, 16, "u.barbarian_leader" ; FiftyNine - 2, 17, "u.migrants" ; Eleazar -; 3, 15, "u.train" ; Eleazar + ; Scenario League tags in brackets + 0, 0, "u.armor_Idle" ; [Nemo] + 0, 1, "u.howitzer_Idle" ; [Nemo] + 0, 2, "u.battleship_Idle" ; [Nemo] + 0, 3, "u.bomber_Idle" ; [GB] + 0, 4, "u.cannon_Idle" ; [CT] + 0, 5, "u.caravan_Idle" ; [Alex] & [CT] + 0, 6, "u.carrier_Idle" ; [Nemo] + 0, 7, "u.catapult_Idle" ; [CT] + 0, 8, "u.horsemen_Idle" ; [GB] + 0, 9, "u.chariot_Idle" ; [BB] & [GB] + 0, 10, "u.cruiser_Idle" ; [Nemo] + 0, 11, "u.diplomat_Idle" ; [Nemo] + 0, 12, "u.fighter_Idle" ; [Sor] + 0, 13, "u.frigate_Idle" ; [BB] + 0, 14, "u.ironclad_Idle" ; [Nemo] + 0, 15, "u.knights_Idle" ; [BB] + 0, 16, "u.legion_Idle" ; [GB] + 0, 17, "u.mech_inf_Idle" ; [GB] + 0, 18, "u.warriors_Idle" ; [GB] + 0, 19, "u.musketeers_Idle" ; [Alex] & [CT] + 1, 0, "u.nuclear_Idle" ; [Nemo] & [CS] + 1, 1, "u.phalanx_Idle" ; [GB] & [CT] + 1, 2, "u.riflemen_Idle" ; [Alex] + 1, 3, "u.caravel_Idle" ; [BB] + 1, 4, "u.settlers_Idle" ; [MHN] + 1, 5, "u.submarine_Idle" ; [GP] + 1, 6, "u.transport_Idle" ; [Nemo] + 1, 7, "u.trireme_Idle" ; [BB] + 1, 8, "u.archers_Idle" ; [GB] + 1, 9, "u.cavalry_Idle" ; [Alex] + 1, 10, "u.cruise_missile_Idle" ; [CS] + 1, 11, "u.destroyer_Idle" ; [Nemo] + 1, 12, "u.dragoons_Idle" ; [GB] + 1, 13, "u.explorer_Idle" ; [Alex] & [CT] + 1, 14, "u.freight_Idle" ; [CT] & qwm + 1, 15, "u.galleon_Idle" ; [BB] + 1, 16, "u.partisan_Idle" ; [BB] & [CT] + 1, 17, "u.pikemen_Idle" ; [T] + 2, 0, "u.marines_Idle" ; [GB] + 2, 1, "u.spy_Idle" ; [EW] & [CT] + 2, 2, "u.engineers_Idle" ; [Nemo] & [CT] + 2, 3, "u.artillery_Idle" ; [GB] + 2, 4, "u.helicopter_Idle" ; [T] + 2, 5, "u.alpine_troops_Idle" ; [Nemo] + 2, 6, "u.stealth_bomber_Idle" ; [GB] + 2, 7, "u.stealth_fighter_Idle" ; [Nemo] & [AHS] + 2, 8, "u.aegis_cruiser_Idle" ; [GP] + 2, 9, "u.paratroopers_Idle" ; [Alex] + 2, 10, "u.elephants_Idle" ; [Alex] & [GG] & [CT] + 2, 11, "u.crusaders_Idle" ; [BB] + 2, 12, "u.fanatics_Idle" ; [GB] & [CT] + 2, 13, "u.awacs_Idle" ; [APL] + 2, 14, "u.worker_Idle" ; [GB] + 2, 15, "u.leader_Idle" ; [GB] + 2, 16, "u.barbarian_leader_Idle" ; FiftyNine + 2, 17, "u.migrants_Idle" ; Eleazar +; 3, 15, "u.train_Idle" ; Eleazar ; Veteran Levels: up to 9 military honors for experienced units diff --git a/data/amplio2/extra_units.spec b/data/amplio2/extra_units.spec index 4d5066502b..212e4d85c0 100644 --- a/data/amplio2/extra_units.spec +++ b/data/amplio2/extra_units.spec @@ -26,22 +26,22 @@ pixel_border = 1 tiles = { "row", "column", "tag" - 0, 3, "u.samurai" + 0, 3, "u.samurai_Idle" - 5, 12, "u.balloon" - 5, 13, "u.zeppelin" + 5, 12, "u.balloon_Idle" + 5, 13, "u.zeppelin_Idle" - 6, 4, "u.drone" + 6, 4, "u.drone_Idle" - 8, 0, "u.dredger" - 8, 1, "u.longboat" + 8, 0, "u.dredger_Idle" + 8, 1, "u.longboat_Idle" - 8, 4, "u.rowboat" + 8, 4, "u.rowboat_Idle" - 9, 1, "u.emissary" + 9, 1, "u.emissary_Idle" - 10, 3, "u.lion" + 10, 3, "u.lion_Idle" - 10, 13, "u.storm" + 10, 13, "u.storm_Idle" } diff --git a/data/amplio2/units.spec b/data/amplio2/units.spec index ed69dec68d..e58e57c55a 100644 --- a/data/amplio2/units.spec +++ b/data/amplio2/units.spec @@ -47,63 +47,63 @@ dy = 48 pixel_border = 1 tiles = { "row", "column", "tag" - ; Scenario League tags in brackets - 0, 0, "u.armor" ; [Nemo] - 0, 1, "u.howitzer" ; [Nemo] - 0, 2, "u.battleship" ; [Nemo] - 0, 3, "u.bomber" ; [GB] - 0, 4, "u.cannon" ; [CT] - 0, 5, "u.caravan" ; [Alex] & [CT] - 0, 6, "u.carrier" ; [Nemo] - 0, 7, "u.catapult" ; [CT] - 0, 8, "u.horsemen" ; [GB] - 0, 9, "u.chariot" ; [BB] & [GB] - 0, 10, "u.cruiser" ; [Nemo] - 0, 11, "u.diplomat" ; [Nemo] - 0, 12, "u.fighter" ; [Sor] - 0, 13, "u.frigate" ; [BB] - 0, 14, "u.ironclad" ; [Nemo] - 0, 15, "u.knights" ; [BB] - 0, 16, "u.legion" ; [GB] - 0, 17, "u.mech_inf" ; [GB] - 0, 18, "u.warriors" ; [GB] - 0, 19, "u.musketeers" ; [Alex] & [CT] - 1, 0, "u.nuclear" ; [Nemo] & [CS] - 1, 1, "u.phalanx" ; [GB] & [CT] - 1, 2, "u.riflemen" ; [Alex] - 1, 3, "u.caravel" ; [BB] - 1, 4, "u.settlers" ; [MHN] - 1, 5, "u.submarine" ; [GP] - 1, 6, "u.transport" ; [Nemo] - 1, 7, "u.trireme" ; [BB] - 1, 8, "u.archers" ; [GB] - 1, 9, "u.cavalry" ; [Alex] - 1, 10, "u.cruise_missile" ; [CS] - 1, 11, "u.destroyer" ; [Nemo] - 1, 12, "u.dragoons" ; [GB] - 1, 13, "u.explorer" ; [Alex] & [CT] - 1, 14, "u.freight" ; [CT] & qwm - 1, 15, "u.galleon" ; [BB] - 1, 16, "u.partisan" ; [BB] & [CT] - 1, 17, "u.pikemen" ; [T] - 2, 0, "u.marines" ; [GB] - 2, 1, "u.spy" ; [EW] & [CT] - 2, 2, "u.engineers" ; [Nemo] & [CT] - 2, 3, "u.artillery" ; [GB] - 2, 4, "u.helicopter" ; [T] - 2, 5, "u.alpine_troops" ; [Nemo] - 2, 6, "u.stealth_bomber" ; [GB] - 2, 7, "u.stealth_fighter" ; [Nemo] & [AHS] - 2, 8, "u.aegis_cruiser" ; [GP] - 2, 9, "u.paratroopers" ; [Alex] - 2, 10, "u.elephants" ; [Alex] & [GG] & [CT] - 2, 11, "u.crusaders" ; [BB] - 2, 12, "u.fanatics" ; [GB] & [CT] - 2, 13, "u.awacs" ; [APL] - 2, 14, "u.worker" ; [GB] - 2, 15, "u.leader" ; [GB] - 2, 16, "u.barbarian_leader" ; FiftyNine - 2, 17, "u.migrants" ; Eleazar -; 2, 19, "u.train" ; Eleazar + ; Scenario League tags in brackets + 0, 0, "u.armor_Idle" ; [Nemo] + 0, 1, "u.howitzer_Idle" ; [Nemo] + 0, 2, "u.battleship_Idle" ; [Nemo] + 0, 3, "u.bomber_Idle" ; [GB] + 0, 4, "u.cannon_Idle" ; [CT] + 0, 5, "u.caravan_Idle" ; [Alex] & [CT] + 0, 6, "u.carrier_Idle" ; [Nemo] + 0, 7, "u.catapult_Idle" ; [CT] + 0, 8, "u.horsemen_Idle" ; [GB] + 0, 9, "u.chariot_Idle" ; [BB] & [GB] + 0, 10, "u.cruiser_Idle" ; [Nemo] + 0, 11, "u.diplomat_Idle" ; [Nemo] + 0, 12, "u.fighter_Idle" ; [Sor] + 0, 13, "u.frigate_Idle" ; [BB] + 0, 14, "u.ironclad_Idle" ; [Nemo] + 0, 15, "u.knights_Idle" ; [BB] + 0, 16, "u.legion_Idle" ; [GB] + 0, 17, "u.mech_inf_Idle" ; [GB] + 0, 18, "u.warriors_Idle" ; [GB] + 0, 19, "u.musketeers_Idle" ; [Alex] & [CT] + 1, 0, "u.nuclear_Idle" ; [Nemo] & [CS] + 1, 1, "u.phalanx_Idle" ; [GB] & [CT] + 1, 2, "u.riflemen_Idle" ; [Alex] + 1, 3, "u.caravel_Idle" ; [BB] + 1, 4, "u.settlers_Idle" ; [MHN] + 1, 5, "u.submarine_Idle" ; [GP] + 1, 6, "u.transport_Idle" ; [Nemo] + 1, 7, "u.trireme_Idle" ; [BB] + 1, 8, "u.archers_Idle" ; [GB] + 1, 9, "u.cavalry_Idle" ; [Alex] + 1, 10, "u.cruise_missile_Idle" ; [CS] + 1, 11, "u.destroyer_Idle" ; [Nemo] + 1, 12, "u.dragoons_Idle" ; [GB] + 1, 13, "u.explorer_Idle" ; [Alex] & [CT] + 1, 14, "u.freight_Idle" ; [CT] & qwm + 1, 15, "u.galleon_Idle" ; [BB] + 1, 16, "u.partisan_Idle" ; [BB] & [CT] + 1, 17, "u.pikemen_Idle" ; [T] + 2, 0, "u.marines_Idle" ; [GB] + 2, 1, "u.spy_Idle" ; [EW] & [CT] + 2, 2, "u.engineers_Idle" ; [Nemo] & [CT] + 2, 3, "u.artillery_Idle" ; [GB] + 2, 4, "u.helicopter_Idle" ; [T] + 2, 5, "u.alpine_troops_Idle" ; [Nemo] + 2, 6, "u.stealth_bomber_Idle" ; [GB] + 2, 7, "u.stealth_fighter_Idle" ; [Nemo] & [AHS] + 2, 8, "u.aegis_cruiser_Idle" ; [GP] + 2, 9, "u.paratroopers_Idle" ; [Alex] + 2, 10, "u.elephants_Idle" ; [Alex] & [GG] & [CT] + 2, 11, "u.crusaders_Idle" ; [BB] + 2, 12, "u.fanatics_Idle" ; [GB] & [CT] + 2, 13, "u.awacs_Idle" ; [APL] + 2, 14, "u.worker_Idle" ; [GB] + 2, 15, "u.leader_Idle" ; [GB] + 2, 16, "u.barbarian_leader_Idle" ; FiftyNine + 2, 17, "u.migrants_Idle" ; Eleazar +; 2, 19, "u.train_Idle" ; Eleazar } diff --git a/data/cimpletoon/orient_units.spec b/data/cimpletoon/orient_units.spec index 0e123c29fb..78369fbe00 100644 --- a/data/cimpletoon/orient_units.spec +++ b/data/cimpletoon/orient_units.spec @@ -24,508 +24,507 @@ dy = 48 pixel_border = 1 tiles = { "row", "column", "tag" - 0, 0, "u.settlers_sw" - 0, 1, "u.settlers_w" - 0, 2, "u.settlers_nw" - 0, 3, "u.settlers_n" - 0, 4, "u.settlers_ne" - 0, 5, "u.settlers_e" - 0, 6, "u.settlers_se" - 0, 7, "u.settlers_s" - - 1, 0, "u.warriors_sw" - 1, 1, "u.warriors_w" - 1, 2, "u.warriors_nw" - 1, 3, "u.warriors_n" - 1, 4, "u.warriors_ne" - 1, 5, "u.warriors_e" - 1, 6, "u.warriors_se" - 1, 7, "u.warriors_s" - - 2, 0, "u.explorer_sw" - 2, 1, "u.explorer_w" - 2, 2, "u.explorer_nw" - 2, 3, "u.explorer_n" - 2, 4, "u.explorer_ne" - 2, 5, "u.explorer_e" - 2, 6, "u.explorer_se" - 2, 7, "u.explorer_s" - - 3, 0, "u.worker_sw" - 3, 1, "u.worker_w" - 3, 2, "u.worker_nw" - 3, 3, "u.worker_n" - 3, 4, "u.worker_ne" - 3, 5, "u.worker_e" - 3, 6, "u.worker_se" - 3, 7, "u.worker_s" - - 4, 0, "u.horsemen_sw" - 4, 1, "u.horsemen_w" - 4, 2, "u.horsemen_nw" - 4, 3, "u.horsemen_n" - 4, 4, "u.horsemen_ne" - 4, 5, "u.horsemen_e" - 4, 6, "u.horsemen_se" - 4, 7, "u.horsemen_s" - - 5, 0, "u.archers_sw" - 5, 1, "u.archers_w" - 5, 2, "u.archers_nw" - 5, 3, "u.archers_n" - 5, 4, "u.archers_ne" - 5, 5, "u.archers_e" - 5, 6, "u.archers_se" - 5, 7, "u.archers_s" - - 6, 0, "u.phalanx_sw" - 6, 1, "u.phalanx_w" - 6, 2, "u.phalanx_nw" - 6, 3, "u.phalanx_n" - 6, 4, "u.phalanx_ne" - 6, 5, "u.phalanx_e" - 6, 6, "u.phalanx_se" - 6, 7, "u.phalanx_s" - - 7, 0, "u.trireme_sw" - 7, 1, "u.trireme_w" - 7, 2, "u.trireme_nw" - 7, 3, "u.trireme_n" - 7, 4, "u.trireme_ne" - 7, 5, "u.trireme_e" - 7, 6, "u.trireme_se" - 7, 7, "u.trireme_s" - - 8, 0, "u.chariot_sw" - 8, 1, "u.chariot_w" - 8, 2, "u.chariot_nw" - 8, 3, "u.chariot_n" - 8, 4, "u.chariot_ne" - 8, 5, "u.chariot_e" - 8, 6, "u.chariot_se" - 8, 7, "u.chariot_s" - - 9, 0, "u.catapult_sw" - 9, 1, "u.catapult_w" - 9, 2, "u.catapult_nw" - 9, 3, "u.catapult_n" - 9, 4, "u.catapult_ne" - 9, 5, "u.catapult_e" - 9, 6, "u.catapult_se" - 9, 7, "u.catapult_s" - - 10, 0, "u.legion_sw" - 10, 1, "u.legion_w" - 10, 2, "u.legion_nw" - 10, 3, "u.legion_n" - 10, 4, "u.legion_ne" - 10, 5, "u.legion_e" - 10, 6, "u.legion_se" - 10, 7, "u.legion_s" - - 11, 0, "u.diplomat_sw" - 11, 1, "u.diplomat_w" - 11, 2, "u.diplomat_nw" - 11, 3, "u.diplomat_n" - 11, 4, "u.diplomat_ne" - 11, 5, "u.diplomat_e" - 11, 6, "u.diplomat_se" - 11, 7, "u.diplomat_s" - - 12, 0, "u.caravan_sw" - 12, 1, "u.caravan_w" - 12, 2, "u.caravan_nw" - 12, 3, "u.caravan_n" - 12, 4, "u.caravan_ne" - 12, 5, "u.caravan_e" - 12, 6, "u.caravan_se" - 12, 7, "u.caravan_s" - - 13, 0, "u.pikemen_sw" - 13, 1, "u.pikemen_w" - 13, 2, "u.pikemen_nw" - 13, 3, "u.pikemen_n" - 13, 4, "u.pikemen_ne" - 13, 5, "u.pikemen_e" - 13, 6, "u.pikemen_se" - 13, 7, "u.pikemen_s" - - 14, 0, "u.knights_sw" - 14, 1, "u.knights_w" - 14, 2, "u.knights_nw" - 14, 3, "u.knights_n" - 14, 4, "u.knights_ne" - 14, 5, "u.knights_e" - 14, 6, "u.knights_se" - 14, 7, "u.knights_s" - - 15, 0, "u.caravel_sw" - 15, 1, "u.caravel_w" - 15, 2, "u.caravel_nw" - 15, 3, "u.caravel_n" - 15, 4, "u.caravel_ne" - 15, 5, "u.caravel_e" - 15, 6, "u.caravel_se" - 15, 7, "u.caravel_s" - - 16, 0, "u.galleon_sw" - 16, 1, "u.galleon_w" - 16, 2, "u.galleon_nw" - 16, 3, "u.galleon_n" - 16, 4, "u.galleon_ne" - 16, 5, "u.galleon_e" - 16, 6, "u.galleon_se" - 16, 7, "u.galleon_s" - - 17, 0, "u.frigate_sw" - 17, 1, "u.frigate_w" - 17, 2, "u.frigate_nw" - 17, 3, "u.frigate_n" - 17, 4, "u.frigate_ne" - 17, 5, "u.frigate_e" - 17, 6, "u.frigate_se" - 17, 7, "u.frigate_s" - - 18, 0, "u.ironclad_sw" - 18, 1, "u.ironclad_w" - 18, 2, "u.ironclad_nw" - 18, 3, "u.ironclad_n" - 18, 4, "u.ironclad_ne" - 18, 5, "u.ironclad_e" - 18, 6, "u.ironclad_se" - 18, 7, "u.ironclad_s" - - 19, 0, "u.musketeers_sw" - 19, 1, "u.musketeers_w" - 19, 2, "u.musketeers_nw" - 19, 3, "u.musketeers_n" - 19, 4, "u.musketeers_ne" - 19, 5, "u.musketeers_e" - 19, 6, "u.musketeers_se" - 19, 7, "u.musketeers_s" - - 20, 0, "u.dragoons_sw" - 20, 1, "u.dragoons_w" - 20, 2, "u.dragoons_nw" - 20, 3, "u.dragoons_n" - 20, 4, "u.dragoons_ne" - 20, 5, "u.dragoons_e" - 20, 6, "u.dragoons_se" - 20, 7, "u.dragoons_s" - - 21, 0, "u.cannon_sw" - 21, 1, "u.cannon_w" - 21, 2, "u.cannon_nw" - 21, 3, "u.cannon_n" - 21, 4, "u.cannon_ne" - 21, 5, "u.cannon_e" - 21, 6, "u.cannon_se" - 21, 7, "u.cannon_s" - - 22, 0, "u.engineers_sw" - 22, 1, "u.engineers_w" - 22, 2, "u.engineers_nw" - 22, 3, "u.engineers_n" - 22, 4, "u.engineers_ne" - 22, 5, "u.engineers_e" - 22, 6, "u.engineers_se" - 22, 7, "u.engineers_s" - - 23, 0, "u.transport_sw" - 23, 1, "u.transport_w" - 23, 2, "u.transport_nw" - 23, 3, "u.transport_n" - 23, 4, "u.transport_ne" - 23, 5, "u.transport_e" - 23, 6, "u.transport_se" - 23, 7, "u.transport_s" - - 24, 0, "u.destroyer_sw" - 24, 1, "u.destroyer_w" - 24, 2, "u.destroyer_nw" - 24, 3, "u.destroyer_n" - 24, 4, "u.destroyer_ne" - 24, 5, "u.destroyer_e" - 24, 6, "u.destroyer_se" - 24, 7, "u.destroyer_s" - - 25, 0, "u.riflemen_sw" - 25, 1, "u.riflemen_w" - 25, 2, "u.riflemen_nw" - 25, 3, "u.riflemen_n" - 25, 4, "u.riflemen_ne" - 25, 5, "u.riflemen_e" - 25, 6, "u.riflemen_se" - 25, 7, "u.riflemen_s" - - 26, 0, "u.cavalry_sw" - 26, 1, "u.cavalry_w" - 26, 2, "u.cavalry_nw" - 26, 3, "u.cavalry_n" - 26, 4, "u.cavalry_ne" - 26, 5, "u.cavalry_e" - 26, 6, "u.cavalry_se" - 26, 7, "u.cavalry_s" - - 27, 0, "u.alpine_troops_sw" - 27, 1, "u.alpine_troops_w" - 27, 2, "u.alpine_troops_nw" - 27, 3, "u.alpine_troops_n" - 27, 4, "u.alpine_troops_ne" - 27, 5, "u.alpine_troops_e" - 27, 6, "u.alpine_troops_se" - 27, 7, "u.alpine_troops_s" - - 28, 0, "u.freight_sw" - 28, 1, "u.freight_w" - 28, 2, "u.freight_nw" - 28, 3, "u.freight_n" - 28, 4, "u.freight_ne" - 28, 5, "u.freight_e" - 28, 6, "u.freight_se" - 28, 7, "u.freight_s" - - 29, 0, "u.spy_sw" - 29, 1, "u.spy_w" - 29, 2, "u.spy_nw" - 29, 3, "u.spy_n" - 29, 4, "u.spy_ne" - 29, 5, "u.spy_e" - 29, 6, "u.spy_se" - 29, 7, "u.spy_s" - - 30, 0, "u.cruiser_sw" - 30, 1, "u.cruiser_w" - 30, 2, "u.cruiser_nw" - 30, 3, "u.cruiser_n" - 30, 4, "u.cruiser_ne" - 30, 5, "u.cruiser_e" - 30, 6, "u.cruiser_se" - 30, 7, "u.cruiser_s" - - 31, 0, "u.battleship_sw" - 31, 1, "u.battleship_w" - 31, 2, "u.battleship_nw" - 31, 3, "u.battleship_n" - 31, 4, "u.battleship_ne" - 31, 5, "u.battleship_e" - 31, 6, "u.battleship_se" - 31, 7, "u.battleship_s" - - 32, 0, "u.submarine_sw" - 32, 1, "u.submarine_w" - 32, 2, "u.submarine_nw" - 32, 3, "u.submarine_n" - 32, 4, "u.submarine_ne" - 32, 5, "u.submarine_e" - 32, 6, "u.submarine_se" - 32, 7, "u.submarine_s" - - 33, 0, "u.marines_sw" - 33, 1, "u.marines_w" - 33, 2, "u.marines_nw" - 33, 3, "u.marines_n" - 33, 4, "u.marines_ne" - 33, 5, "u.marines_e" - 33, 6, "u.marines_se" - 33, 7, "u.marines_s" - - 34, 0, "u.partisan_sw" - 34, 1, "u.partisan_w" - 34, 2, "u.partisan_nw" - 34, 3, "u.partisan_n" - 34, 4, "u.partisan_ne" - 34, 5, "u.partisan_e" - 34, 6, "u.partisan_se" - 34, 7, "u.partisan_s" - - 35, 0, "u.artillery_sw" - 35, 1, "u.artillery_w" - 35, 2, "u.artillery_nw" - 35, 3, "u.artillery_n" - 35, 4, "u.artillery_ne" - 35, 5, "u.artillery_e" - 35, 6, "u.artillery_se" - 35, 7, "u.artillery_s" - - 36, 0, "u.fighter_sw" - 36, 1, "u.fighter_w" - 36, 2, "u.fighter_nw" - 36, 3, "u.fighter_n" - 36, 4, "u.fighter_ne" - 36, 5, "u.fighter_e" - 36, 6, "u.fighter_se" - 36, 7, "u.fighter_s" - - 37, 0, "u.aegis_cruiser_sw" - 37, 1, "u.aegis_cruiser_w" - 37, 2, "u.aegis_cruiser_nw" - 37, 3, "u.aegis_cruiser_n" - 37, 4, "u.aegis_cruiser_ne" - 37, 5, "u.aegis_cruiser_e" - 37, 6, "u.aegis_cruiser_se" - 37, 7, "u.aegis_cruiser_s" - - 38, 0, "u.carrier_sw" - 38, 1, "u.carrier_w" - 38, 2, "u.carrier_nw" - 38, 3, "u.carrier_n" - 38, 4, "u.carrier_ne" - 38, 5, "u.carrier_e" - 38, 6, "u.carrier_se" - 38, 7, "u.carrier_s" - - 39, 0, "u.armor_sw" - 39, 1, "u.armor_w" - 39, 2, "u.armor_nw" - 39, 3, "u.armor_n" - 39, 4, "u.armor_ne" - 39, 5, "u.armor_e" - 39, 6, "u.armor_se" - 39, 7, "u.armor_s" - - 40, 0, "u.mech_inf_sw" - 40, 1, "u.mech_inf_w" - 40, 2, "u.mech_inf_nw" - 40, 3, "u.mech_inf_n" - 40, 4, "u.mech_inf_ne" - 40, 5, "u.mech_inf_e" - 40, 6, "u.mech_inf_se" - 40, 7, "u.mech_inf_s" - - 41, 0, "u.howitzer_sw" - 41, 1, "u.howitzer_w" - 41, 2, "u.howitzer_nw" - 41, 3, "u.howitzer_n" - 41, 4, "u.howitzer_ne" - 41, 5, "u.howitzer_e" - 41, 6, "u.howitzer_se" - 41, 7, "u.howitzer_s" - - 42, 0, "u.paratroopers_sw" - 42, 1, "u.paratroopers_w" - 42, 2, "u.paratroopers_nw" - 42, 3, "u.paratroopers_n" - 42, 4, "u.paratroopers_ne" - 42, 5, "u.paratroopers_e" - 42, 6, "u.paratroopers_se" - 42, 7, "u.paratroopers_s" - - 43, 0, "u.helicopter_sw" - 43, 1, "u.helicopter_w" - 43, 2, "u.helicopter_nw" - 43, 3, "u.helicopter_n" - 43, 4, "u.helicopter_ne" - 43, 5, "u.helicopter_e" - 43, 6, "u.helicopter_se" - 43, 7, "u.helicopter_s" - - 44, 0, "u.bomber_sw" - 44, 1, "u.bomber_w" - 44, 2, "u.bomber_nw" - 44, 3, "u.bomber_n" - 44, 4, "u.bomber_ne" - 44, 5, "u.bomber_e" - 44, 6, "u.bomber_se" - 44, 7, "u.bomber_s" - - 45, 0, "u.awacs_sw" - 45, 1, "u.awacs_w" - 45, 2, "u.awacs_nw" - 45, 3, "u.awacs_n" - 45, 4, "u.awacs_ne" - 45, 5, "u.awacs_e" - 45, 6, "u.awacs_se" - 45, 7, "u.awacs_s" - - 46, 0, "u.nuclear_sw" - 46, 1, "u.nuclear_w" - 46, 2, "u.nuclear_nw" - 46, 3, "u.nuclear_n" - 46, 4, "u.nuclear_ne" - 46, 5, "u.nuclear_e" - 46, 6, "u.nuclear_se" - 46, 7, "u.nuclear_s" - - 47, 0, "u.cruise_missile_sw" - 47, 1, "u.cruise_missile_w" - 47, 2, "u.cruise_missile_nw" - 47, 3, "u.cruise_missile_n" - 47, 4, "u.cruise_missile_ne" - 47, 5, "u.cruise_missile_e" - 47, 6, "u.cruise_missile_se" - 47, 7, "u.cruise_missile_s" - - 48, 0, "u.stealth_bomber_sw" - 48, 1, "u.stealth_bomber_w" - 48, 2, "u.stealth_bomber_nw" - 48, 3, "u.stealth_bomber_n" - 48, 4, "u.stealth_bomber_ne" - 48, 5, "u.stealth_bomber_e" - 48, 6, "u.stealth_bomber_se" - 48, 7, "u.stealth_bomber_s" - - 49, 0, "u.stealth_fighter_sw" - 49, 1, "u.stealth_fighter_w" - 49, 2, "u.stealth_fighter_nw" - 49, 3, "u.stealth_fighter_n" - 49, 4, "u.stealth_fighter_ne" - 49, 5, "u.stealth_fighter_e" - 49, 6, "u.stealth_fighter_se" - 49, 7, "u.stealth_fighter_s" - - 50, 0, "u.leader_sw" - 50, 1, "u.leader_w" - 50, 2, "u.leader_nw" - 50, 3, "u.leader_n" - 50, 4, "u.leader_ne" - 50, 5, "u.leader_e" - 50, 6, "u.leader_se" - 50, 7, "u.leader_s" - - 51, 0, "u.barbarian_leader_sw" - 51, 1, "u.barbarian_leader_w" - 51, 2, "u.barbarian_leader_nw" - 51, 3, "u.barbarian_leader_n" - 51, 4, "u.barbarian_leader_ne" - 51, 5, "u.barbarian_leader_e" - 51, 6, "u.barbarian_leader_se" - 51, 7, "u.barbarian_leader_s" - - 52, 0, "u.fanatics_sw" - 52, 1, "u.fanatics_w" - 52, 2, "u.fanatics_nw" - 52, 3, "u.fanatics_n" - 52, 4, "u.fanatics_ne" - 52, 5, "u.fanatics_e" - 52, 6, "u.fanatics_se" - 52, 7, "u.fanatics_s" - - 53, 0, "u.crusaders_sw" - 53, 1, "u.crusaders_w" - 53, 2, "u.crusaders_nw" - 53, 3, "u.crusaders_n" - 53, 4, "u.crusaders_ne" - 53, 5, "u.crusaders_e" - 53, 6, "u.crusaders_se" - 53, 7, "u.crusaders_s" - - 54, 0, "u.elephants_sw" - 54, 1, "u.elephants_w" - 54, 2, "u.elephants_nw" - 54, 3, "u.elephants_n" - 54, 4, "u.elephants_ne" - 54, 5, "u.elephants_e" - 54, 6, "u.elephants_se" - 54, 7, "u.elephants_s" - - 55, 0, "u.migrants_sw" - 55, 1, "u.migrants_w" - 55, 2, "u.migrants_nw" - 55, 3, "u.migrants_n" - 55, 4, "u.migrants_ne" - 55, 5, "u.migrants_e" - 55, 6, "u.migrants_se" - 55, 7, "u.migrants_s" - + 0, 0, "u.settlers_Idle_sw" + 0, 1, "u.settlers_Idle_w" + 0, 2, "u.settlers_Idle_nw" + 0, 3, "u.settlers_Idle_n" + 0, 4, "u.settlers_Idle_ne" + 0, 5, "u.settlers_Idle_e" + 0, 6, "u.settlers_Idle_se" + 0, 7, "u.settlers_Idle_s" + + 1, 0, "u.warriors_Idle_sw" + 1, 1, "u.warriors_Idle_w" + 1, 2, "u.warriors_Idle_nw" + 1, 3, "u.warriors_Idle_n" + 1, 4, "u.warriors_Idle_ne" + 1, 5, "u.warriors_Idle_e" + 1, 6, "u.warriors_Idle_se" + 1, 7, "u.warriors_Idle_s" + + 2, 0, "u.explorer_Idle_sw" + 2, 1, "u.explorer_Idle_w" + 2, 2, "u.explorer_Idle_nw" + 2, 3, "u.explorer_Idle_n" + 2, 4, "u.explorer_Idle_ne" + 2, 5, "u.explorer_Idle_e" + 2, 6, "u.explorer_Idle_se" + 2, 7, "u.explorer_Idle_s" + + 3, 0, "u.worker_Idle_sw" + 3, 1, "u.worker_Idle_w" + 3, 2, "u.worker_Idle_nw" + 3, 3, "u.worker_Idle_n" + 3, 4, "u.worker_Idle_ne" + 3, 5, "u.worker_Idle_e" + 3, 6, "u.worker_Idle_se" + 3, 7, "u.worker_Idle_s" + + 4, 0, "u.horsemen_Idle_sw" + 4, 1, "u.horsemen_Idle_w" + 4, 2, "u.horsemen_Idle_nw" + 4, 3, "u.horsemen_Idle_n" + 4, 4, "u.horsemen_Idle_ne" + 4, 5, "u.horsemen_Idle_e" + 4, 6, "u.horsemen_Idle_se" + 4, 7, "u.horsemen_Idle_s" + + 5, 0, "u.archers_Idle_sw" + 5, 1, "u.archers_Idle_w" + 5, 2, "u.archers_Idle_nw" + 5, 3, "u.archers_Idle_n" + 5, 4, "u.archers_Idle_ne" + 5, 5, "u.archers_Idle_e" + 5, 6, "u.archers_Idle_se" + 5, 7, "u.archers_Idle_s" + + 6, 0, "u.phalanx_Idle_sw" + 6, 1, "u.phalanx_Idle_w" + 6, 2, "u.phalanx_Idle_nw" + 6, 3, "u.phalanx_Idle_n" + 6, 4, "u.phalanx_Idle_ne" + 6, 5, "u.phalanx_Idle_e" + 6, 6, "u.phalanx_Idle_se" + 6, 7, "u.phalanx_Idle_s" + + 7, 0, "u.trireme_Idle_sw" + 7, 1, "u.trireme_Idle_w" + 7, 2, "u.trireme_Idle_nw" + 7, 3, "u.trireme_Idle_n" + 7, 4, "u.trireme_Idle_ne" + 7, 5, "u.trireme_Idle_e" + 7, 6, "u.trireme_Idle_se" + 7, 7, "u.trireme_Idle_s" + + 8, 0, "u.chariot_Idle_sw" + 8, 1, "u.chariot_Idle_w" + 8, 2, "u.chariot_Idle_nw" + 8, 3, "u.chariot_Idle_n" + 8, 4, "u.chariot_Idle_ne" + 8, 5, "u.chariot_Idle_e" + 8, 6, "u.chariot_Idle_se" + 8, 7, "u.chariot_Idle_s" + + 9, 0, "u.catapult_Idle_sw" + 9, 1, "u.catapult_Idle_w" + 9, 2, "u.catapult_Idle_nw" + 9, 3, "u.catapult_Idle_n" + 9, 4, "u.catapult_Idle_ne" + 9, 5, "u.catapult_Idle_e" + 9, 6, "u.catapult_Idle_se" + 9, 7, "u.catapult_Idle_s" + + 10, 0, "u.legion_Idle_sw" + 10, 1, "u.legion_Idle_w" + 10, 2, "u.legion_Idle_nw" + 10, 3, "u.legion_Idle_n" + 10, 4, "u.legion_Idle_ne" + 10, 5, "u.legion_Idle_e" + 10, 6, "u.legion_Idle_se" + 10, 7, "u.legion_Idle_s" + + 11, 0, "u.diplomat_Idle_sw" + 11, 1, "u.diplomat_Idle_w" + 11, 2, "u.diplomat_Idle_nw" + 11, 3, "u.diplomat_Idle_n" + 11, 4, "u.diplomat_Idle_ne" + 11, 5, "u.diplomat_Idle_e" + 11, 6, "u.diplomat_Idle_se" + 11, 7, "u.diplomat_Idle_s" + + 12, 0, "u.caravan_Idle_sw" + 12, 1, "u.caravan_Idle_w" + 12, 2, "u.caravan_Idle_nw" + 12, 3, "u.caravan_Idle_n" + 12, 4, "u.caravan_Idle_ne" + 12, 5, "u.caravan_Idle_e" + 12, 6, "u.caravan_Idle_se" + 12, 7, "u.caravan_Idle_s" + + 13, 0, "u.pikemen_Idle_sw" + 13, 1, "u.pikemen_Idle_w" + 13, 2, "u.pikemen_Idle_nw" + 13, 3, "u.pikemen_Idle_n" + 13, 4, "u.pikemen_Idle_ne" + 13, 5, "u.pikemen_Idle_e" + 13, 6, "u.pikemen_Idle_se" + 13, 7, "u.pikemen_Idle_s" + + 14, 0, "u.knights_Idle_sw" + 14, 1, "u.knights_Idle_w" + 14, 2, "u.knights_Idle_nw" + 14, 3, "u.knights_Idle_n" + 14, 4, "u.knights_Idle_ne" + 14, 5, "u.knights_Idle_e" + 14, 6, "u.knights_Idle_se" + 14, 7, "u.knights_Idle_s" + + 15, 0, "u.caravel_Idle_sw" + 15, 1, "u.caravel_Idle_w" + 15, 2, "u.caravel_Idle_nw" + 15, 3, "u.caravel_Idle_n" + 15, 4, "u.caravel_Idle_ne" + 15, 5, "u.caravel_Idle_e" + 15, 6, "u.caravel_Idle_se" + 15, 7, "u.caravel_Idle_s" + + 16, 0, "u.galleon_Idle_sw" + 16, 1, "u.galleon_Idle_w" + 16, 2, "u.galleon_Idle_nw" + 16, 3, "u.galleon_Idle_n" + 16, 4, "u.galleon_Idle_ne" + 16, 5, "u.galleon_Idle_e" + 16, 6, "u.galleon_Idle_se" + 16, 7, "u.galleon_Idle_s" + + 17, 0, "u.frigate_Idle_sw" + 17, 1, "u.frigate_Idle_w" + 17, 2, "u.frigate_Idle_nw" + 17, 3, "u.frigate_Idle_n" + 17, 4, "u.frigate_Idle_ne" + 17, 5, "u.frigate_Idle_e" + 17, 6, "u.frigate_Idle_se" + 17, 7, "u.frigate_Idle_s" + + 18, 0, "u.ironclad_Idle_sw" + 18, 1, "u.ironclad_Idle_w" + 18, 2, "u.ironclad_Idle_nw" + 18, 3, "u.ironclad_Idle_n" + 18, 4, "u.ironclad_Idle_ne" + 18, 5, "u.ironclad_Idle_e" + 18, 6, "u.ironclad_Idle_se" + 18, 7, "u.ironclad_Idle_s" + + 19, 0, "u.musketeers_Idle_sw" + 19, 1, "u.musketeers_Idle_w" + 19, 2, "u.musketeers_Idle_nw" + 19, 3, "u.musketeers_Idle_n" + 19, 4, "u.musketeers_Idle_ne" + 19, 5, "u.musketeers_Idle_e" + 19, 6, "u.musketeers_Idle_se" + 19, 7, "u.musketeers_Idle_s" + + 20, 0, "u.dragoons_Idle_sw" + 20, 1, "u.dragoons_Idle_w" + 20, 2, "u.dragoons_Idle_nw" + 20, 3, "u.dragoons_Idle_n" + 20, 4, "u.dragoons_Idle_ne" + 20, 5, "u.dragoons_Idle_e" + 20, 6, "u.dragoons_Idle_se" + 20, 7, "u.dragoons_Idle_s" + + 21, 0, "u.cannon_Idle_sw" + 21, 1, "u.cannon_Idle_w" + 21, 2, "u.cannon_Idle_nw" + 21, 3, "u.cannon_Idle_n" + 21, 4, "u.cannon_Idle_ne" + 21, 5, "u.cannon_Idle_e" + 21, 6, "u.cannon_Idle_se" + 21, 7, "u.cannon_Idle_s" + + 22, 0, "u.engineers_Idle_sw" + 22, 1, "u.engineers_Idle_w" + 22, 2, "u.engineers_Idle_nw" + 22, 3, "u.engineers_Idle_n" + 22, 4, "u.engineers_Idle_ne" + 22, 5, "u.engineers_Idle_e" + 22, 6, "u.engineers_Idle_se" + 22, 7, "u.engineers_Idle_s" + + 23, 0, "u.transport_Idle_sw" + 23, 1, "u.transport_Idle_w" + 23, 2, "u.transport_Idle_nw" + 23, 3, "u.transport_Idle_n" + 23, 4, "u.transport_Idle_ne" + 23, 5, "u.transport_Idle_e" + 23, 6, "u.transport_Idle_se" + 23, 7, "u.transport_Idle_s" + + 24, 0, "u.destroyer_Idle_sw" + 24, 1, "u.destroyer_Idle_w" + 24, 2, "u.destroyer_Idle_nw" + 24, 3, "u.destroyer_Idle_n" + 24, 4, "u.destroyer_Idle_ne" + 24, 5, "u.destroyer_Idle_e" + 24, 6, "u.destroyer_Idle_se" + 24, 7, "u.destroyer_Idle_s" + + 25, 0, "u.riflemen_Idle_sw" + 25, 1, "u.riflemen_Idle_w" + 25, 2, "u.riflemen_Idle_nw" + 25, 3, "u.riflemen_Idle_n" + 25, 4, "u.riflemen_Idle_ne" + 25, 5, "u.riflemen_Idle_e" + 25, 6, "u.riflemen_Idle_se" + 25, 7, "u.riflemen_Idle_s" + + 26, 0, "u.cavalry_Idle_sw" + 26, 1, "u.cavalry_Idle_w" + 26, 2, "u.cavalry_Idle_nw" + 26, 3, "u.cavalry_Idle_n" + 26, 4, "u.cavalry_Idle_ne" + 26, 5, "u.cavalry_Idle_e" + 26, 6, "u.cavalry_Idle_se" + 26, 7, "u.cavalry_Idle_s" + + 27, 0, "u.alpine_troops_Idle_sw" + 27, 1, "u.alpine_troops_Idle_w" + 27, 2, "u.alpine_troops_Idle_nw" + 27, 3, "u.alpine_troops_Idle_n" + 27, 4, "u.alpine_troops_Idle_ne" + 27, 5, "u.alpine_troops_Idle_e" + 27, 6, "u.alpine_troops_Idle_se" + 27, 7, "u.alpine_troops_Idle_s" + + 28, 0, "u.freight_Idle_sw" + 28, 1, "u.freight_Idle_w" + 28, 2, "u.freight_Idle_nw" + 28, 3, "u.freight_Idle_n" + 28, 4, "u.freight_Idle_ne" + 28, 5, "u.freight_Idle_e" + 28, 6, "u.freight_Idle_se" + 28, 7, "u.freight_Idle_s" + + 29, 0, "u.spy_Idle_sw" + 29, 1, "u.spy_Idle_w" + 29, 2, "u.spy_Idle_nw" + 29, 3, "u.spy_Idle_n" + 29, 4, "u.spy_Idle_ne" + 29, 5, "u.spy_Idle_e" + 29, 6, "u.spy_Idle_se" + 29, 7, "u.spy_Idle_s" + + 30, 0, "u.cruiser_Idle_sw" + 30, 1, "u.cruiser_Idle_w" + 30, 2, "u.cruiser_Idle_nw" + 30, 3, "u.cruiser_Idle_n" + 30, 4, "u.cruiser_Idle_ne" + 30, 5, "u.cruiser_Idle_e" + 30, 6, "u.cruiser_Idle_se" + 30, 7, "u.cruiser_Idle_s" + + 31, 0, "u.battleship_Idle_sw" + 31, 1, "u.battleship_Idle_w" + 31, 2, "u.battleship_Idle_nw" + 31, 3, "u.battleship_Idle_n" + 31, 4, "u.battleship_Idle_ne" + 31, 5, "u.battleship_Idle_e" + 31, 6, "u.battleship_Idle_se" + 31, 7, "u.battleship_Idle_s" + + 32, 0, "u.submarine_Idle_sw" + 32, 1, "u.submarine_Idle_w" + 32, 2, "u.submarine_Idle_nw" + 32, 3, "u.submarine_Idle_n" + 32, 4, "u.submarine_Idle_ne" + 32, 5, "u.submarine_Idle_e" + 32, 6, "u.submarine_Idle_se" + 32, 7, "u.submarine_Idle_s" + + 33, 0, "u.marines_Idle_sw" + 33, 1, "u.marines_Idle_w" + 33, 2, "u.marines_Idle_nw" + 33, 3, "u.marines_Idle_n" + 33, 4, "u.marines_Idle_ne" + 33, 5, "u.marines_Idle_e" + 33, 6, "u.marines_Idle_se" + 33, 7, "u.marines_Idle_s" + + 34, 0, "u.partisan_Idle_sw" + 34, 1, "u.partisan_Idle_w" + 34, 2, "u.partisan_Idle_nw" + 34, 3, "u.partisan_Idle_n" + 34, 4, "u.partisan_Idle_ne" + 34, 5, "u.partisan_Idle_e" + 34, 6, "u.partisan_Idle_se" + 34, 7, "u.partisan_Idle_s" + + 35, 0, "u.artillery_Idle_sw" + 35, 1, "u.artillery_Idle_w" + 35, 2, "u.artillery_Idle_nw" + 35, 3, "u.artillery_Idle_n" + 35, 4, "u.artillery_Idle_ne" + 35, 5, "u.artillery_Idle_e" + 35, 6, "u.artillery_Idle_se" + 35, 7, "u.artillery_Idle_s" + + 36, 0, "u.fighter_Idle_sw" + 36, 1, "u.fighter_Idle_w" + 36, 2, "u.fighter_Idle_nw" + 36, 3, "u.fighter_Idle_n" + 36, 4, "u.fighter_Idle_ne" + 36, 5, "u.fighter_Idle_e" + 36, 6, "u.fighter_Idle_se" + 36, 7, "u.fighter_Idle_s" + + 37, 0, "u.aegis_cruiser_Idle_sw" + 37, 1, "u.aegis_cruiser_Idle_w" + 37, 2, "u.aegis_cruiser_Idle_nw" + 37, 3, "u.aegis_cruiser_Idle_n" + 37, 4, "u.aegis_cruiser_Idle_ne" + 37, 5, "u.aegis_cruiser_Idle_e" + 37, 6, "u.aegis_cruiser_Idle_se" + 37, 7, "u.aegis_cruiser_Idle_s" + + 38, 0, "u.carrier_Idle_sw" + 38, 1, "u.carrier_Idle_w" + 38, 2, "u.carrier_Idle_nw" + 38, 3, "u.carrier_Idle_n" + 38, 4, "u.carrier_Idle_ne" + 38, 5, "u.carrier_Idle_e" + 38, 6, "u.carrier_Idle_se" + 38, 7, "u.carrier_Idle_s" + + 39, 0, "u.armor_Idle_sw" + 39, 1, "u.armor_Idle_w" + 39, 2, "u.armor_Idle_nw" + 39, 3, "u.armor_Idle_n" + 39, 4, "u.armor_Idle_ne" + 39, 5, "u.armor_Idle_e" + 39, 6, "u.armor_Idle_se" + 39, 7, "u.armor_Idle_s" + + 40, 0, "u.mech_inf_Idle_sw" + 40, 1, "u.mech_inf_Idle_w" + 40, 2, "u.mech_inf_Idle_nw" + 40, 3, "u.mech_inf_Idle_n" + 40, 4, "u.mech_inf_Idle_ne" + 40, 5, "u.mech_inf_Idle_e" + 40, 6, "u.mech_inf_Idle_se" + 40, 7, "u.mech_inf_Idle_s" + + 41, 0, "u.howitzer_Idle_sw" + 41, 1, "u.howitzer_Idle_w" + 41, 2, "u.howitzer_Idle_nw" + 41, 3, "u.howitzer_Idle_n" + 41, 4, "u.howitzer_Idle_ne" + 41, 5, "u.howitzer_Idle_e" + 41, 6, "u.howitzer_Idle_se" + 41, 7, "u.howitzer_Idle_s" + + 42, 0, "u.paratroopers_Idle_sw" + 42, 1, "u.paratroopers_Idle_w" + 42, 2, "u.paratroopers_Idle_nw" + 42, 3, "u.paratroopers_Idle_n" + 42, 4, "u.paratroopers_Idle_ne" + 42, 5, "u.paratroopers_Idle_e" + 42, 6, "u.paratroopers_Idle_se" + 42, 7, "u.paratroopers_Idle_s" + + 43, 0, "u.helicopter_Idle_sw" + 43, 1, "u.helicopter_Idle_w" + 43, 2, "u.helicopter_Idle_nw" + 43, 3, "u.helicopter_Idle_n" + 43, 4, "u.helicopter_Idle_ne" + 43, 5, "u.helicopter_Idle_e" + 43, 6, "u.helicopter_Idle_se" + 43, 7, "u.helicopter_Idle_s" + + 44, 0, "u.bomber_Idle_sw" + 44, 1, "u.bomber_Idle_w" + 44, 2, "u.bomber_Idle_nw" + 44, 3, "u.bomber_Idle_n" + 44, 4, "u.bomber_Idle_ne" + 44, 5, "u.bomber_Idle_e" + 44, 6, "u.bomber_Idle_se" + 44, 7, "u.bomber_Idle_s" + + 45, 0, "u.awacs_Idle_sw" + 45, 1, "u.awacs_Idle_w" + 45, 2, "u.awacs_Idle_nw" + 45, 3, "u.awacs_Idle_n" + 45, 4, "u.awacs_Idle_ne" + 45, 5, "u.awacs_Idle_e" + 45, 6, "u.awacs_Idle_se" + 45, 7, "u.awacs_Idle_s" + + 46, 0, "u.nuclear_Idle_sw" + 46, 1, "u.nuclear_Idle_w" + 46, 2, "u.nuclear_Idle_nw" + 46, 3, "u.nuclear_Idle_n" + 46, 4, "u.nuclear_Idle_ne" + 46, 5, "u.nuclear_Idle_e" + 46, 6, "u.nuclear_Idle_se" + 46, 7, "u.nuclear_Idle_s" + + 47, 0, "u.cruise_missile_Idle_sw" + 47, 1, "u.cruise_missile_Idle_w" + 47, 2, "u.cruise_missile_Idle_nw" + 47, 3, "u.cruise_missile_Idle_n" + 47, 4, "u.cruise_missile_Idle_ne" + 47, 5, "u.cruise_missile_Idle_e" + 47, 6, "u.cruise_missile_Idle_se" + 47, 7, "u.cruise_missile_Idle_s" + + 48, 0, "u.stealth_bomber_Idle_sw" + 48, 1, "u.stealth_bomber_Idle_w" + 48, 2, "u.stealth_bomber_Idle_nw" + 48, 3, "u.stealth_bomber_Idle_n" + 48, 4, "u.stealth_bomber_Idle_ne" + 48, 5, "u.stealth_bomber_Idle_e" + 48, 6, "u.stealth_bomber_Idle_se" + 48, 7, "u.stealth_bomber_Idle_s" + + 49, 0, "u.stealth_fighter_Idle_sw" + 49, 1, "u.stealth_fighter_Idle_w" + 49, 2, "u.stealth_fighter_Idle_nw" + 49, 3, "u.stealth_fighter_Idle_n" + 49, 4, "u.stealth_fighter_Idle_ne" + 49, 5, "u.stealth_fighter_Idle_e" + 49, 6, "u.stealth_fighter_Idle_se" + 49, 7, "u.stealth_fighter_Idle_s" + + 50, 0, "u.leader_Idle_sw" + 50, 1, "u.leader_Idle_w" + 50, 2, "u.leader_Idle_nw" + 50, 3, "u.leader_Idle_n" + 50, 4, "u.leader_Idle_ne" + 50, 5, "u.leader_Idle_e" + 50, 6, "u.leader_Idle_se" + 50, 7, "u.leader_Idle_s" + + 51, 0, "u.barbarian_leader_Idle_sw" + 51, 1, "u.barbarian_leader_Idle_w" + 51, 2, "u.barbarian_leader_Idle_nw" + 51, 3, "u.barbarian_leader_Idle_n" + 51, 4, "u.barbarian_leader_Idle_ne" + 51, 5, "u.barbarian_leader_Idle_e" + 51, 6, "u.barbarian_leader_Idle_se" + 51, 7, "u.barbarian_leader_Idle_s" + + 52, 0, "u.fanatics_Idle_sw" + 52, 1, "u.fanatics_Idle_w" + 52, 2, "u.fanatics_Idle_nw" + 52, 3, "u.fanatics_Idle_n" + 52, 4, "u.fanatics_Idle_ne" + 52, 5, "u.fanatics_Idle_e" + 52, 6, "u.fanatics_Idle_se" + 52, 7, "u.fanatics_Idle_s" + + 53, 0, "u.crusaders_Idle_sw" + 53, 1, "u.crusaders_Idle_w" + 53, 2, "u.crusaders_Idle_nw" + 53, 3, "u.crusaders_Idle_n" + 53, 4, "u.crusaders_Idle_ne" + 53, 5, "u.crusaders_Idle_e" + 53, 6, "u.crusaders_Idle_se" + 53, 7, "u.crusaders_Idle_s" + + 54, 0, "u.elephants_Idle_sw" + 54, 1, "u.elephants_Idle_w" + 54, 2, "u.elephants_Idle_nw" + 54, 3, "u.elephants_Idle_n" + 54, 4, "u.elephants_Idle_ne" + 54, 5, "u.elephants_Idle_e" + 54, 6, "u.elephants_Idle_se" + 54, 7, "u.elephants_Idle_s" + + 55, 0, "u.migrants_Idle_sw" + 55, 1, "u.migrants_Idle_w" + 55, 2, "u.migrants_Idle_nw" + 55, 3, "u.migrants_Idle_n" + 55, 4, "u.migrants_Idle_ne" + 55, 5, "u.migrants_Idle_e" + 55, 6, "u.migrants_Idle_se" + 55, 7, "u.migrants_Idle_s" } diff --git a/data/cimpletoon/units/ROMB/xxx.spec b/data/cimpletoon/units/ROMB/xxx.spec index 459bb76a56..8c8bc30507 100644 --- a/data/cimpletoon/units/ROMB/xxx.spec +++ b/data/cimpletoon/units/ROMB/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/ROMB/0001", "u.romb_se" - "cimpletoon/units/ROMB/0002", "u.romb_s" - "cimpletoon/units/ROMB/0003", "u.romb_sw" - "cimpletoon/units/ROMB/0004", "u.romb_w" - "cimpletoon/units/ROMB/0005", "u.romb_nw" - "cimpletoon/units/ROMB/0006", "u.romb_n" - "cimpletoon/units/ROMB/0007", "u.romb_ne" - "cimpletoon/units/ROMB/0008", "u.romb_e" + "cimpletoon/units/ROMB/0001", "u.romb_Idle_se" + "cimpletoon/units/ROMB/0002", "u.romb_Idle_s" + "cimpletoon/units/ROMB/0003", "u.romb_Idle_sw" + "cimpletoon/units/ROMB/0004", "u.romb_Idle_w" + "cimpletoon/units/ROMB/0005", "u.romb_Idle_nw" + "cimpletoon/units/ROMB/0006", "u.romb_Idle_n" + "cimpletoon/units/ROMB/0007", "u.romb_Idle_ne" + "cimpletoon/units/ROMB/0008", "u.romb_Idle_e" } diff --git a/data/cimpletoon/units/abrams/xxx.spec b/data/cimpletoon/units/abrams/xxx.spec index 8c992d1007..420349ca35 100644 --- a/data/cimpletoon/units/abrams/xxx.spec +++ b/data/cimpletoon/units/abrams/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/abrams/0001", "u.abrams_se" - "cimpletoon/units/abrams/0002", "u.abrams_s" - "cimpletoon/units/abrams/0003", "u.abrams_sw" - "cimpletoon/units/abrams/0004", "u.abrams_w" - "cimpletoon/units/abrams/0005", "u.abrams_nw" - "cimpletoon/units/abrams/0006", "u.abrams_n" - "cimpletoon/units/abrams/0007", "u.abrams_ne" - "cimpletoon/units/abrams/0008", "u.abrams_e" + "cimpletoon/units/abrams/0001", "u.abrams_Idle_se" + "cimpletoon/units/abrams/0002", "u.abrams_Idle_s" + "cimpletoon/units/abrams/0003", "u.abrams_Idle_sw" + "cimpletoon/units/abrams/0004", "u.abrams_Idle_w" + "cimpletoon/units/abrams/0005", "u.abrams_Idle_nw" + "cimpletoon/units/abrams/0006", "u.abrams_Idle_n" + "cimpletoon/units/abrams/0007", "u.abrams_Idle_ne" + "cimpletoon/units/abrams/0008", "u.abrams_Idle_e" } diff --git a/data/cimpletoon/units/assaultgun/xxx.spec b/data/cimpletoon/units/assaultgun/xxx.spec index 0ce1fb1022..b81b3c5b4c 100644 --- a/data/cimpletoon/units/assaultgun/xxx.spec +++ b/data/cimpletoon/units/assaultgun/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/assaultgun/0001", "u.assaultgun_se" - "cimpletoon/units/assaultgun/0002", "u.assaultgun_s" - "cimpletoon/units/assaultgun/0003", "u.assaultgun_sw" - "cimpletoon/units/assaultgun/0004", "u.assaultgun_w" - "cimpletoon/units/assaultgun/0005", "u.assaultgun_nw" - "cimpletoon/units/assaultgun/0006", "u.assaultgun_n" - "cimpletoon/units/assaultgun/0007", "u.assaultgun_ne" - "cimpletoon/units/assaultgun/0008", "u.assaultgun_e" + "cimpletoon/units/assaultgun/0001", "u.assaultgun_Idle_se" + "cimpletoon/units/assaultgun/0002", "u.assaultgun_Idle_s" + "cimpletoon/units/assaultgun/0003", "u.assaultgun_Idle_sw" + "cimpletoon/units/assaultgun/0004", "u.assaultgun_Idle_w" + "cimpletoon/units/assaultgun/0005", "u.assaultgun_Idle_nw" + "cimpletoon/units/assaultgun/0006", "u.assaultgun_Idle_n" + "cimpletoon/units/assaultgun/0007", "u.assaultgun_Idle_ne" + "cimpletoon/units/assaultgun/0008", "u.assaultgun_Idle_e" } diff --git a/data/cimpletoon/units/biplane/xxx.spec b/data/cimpletoon/units/biplane/xxx.spec index bc0e3a4881..8850448be1 100644 --- a/data/cimpletoon/units/biplane/xxx.spec +++ b/data/cimpletoon/units/biplane/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/biplane/0001", "u.biplane_se" - "cimpletoon/units/biplane/0002", "u.biplane_s" - "cimpletoon/units/biplane/0003", "u.biplane_sw" - "cimpletoon/units/biplane/0004", "u.biplane_w" - "cimpletoon/units/biplane/0005", "u.biplane_nw" - "cimpletoon/units/biplane/0006", "u.biplane_n" - "cimpletoon/units/biplane/0007", "u.biplane_ne" - "cimpletoon/units/biplane/0008", "u.biplane_e" + "cimpletoon/units/biplane/0001", "u.biplane_Idle_se" + "cimpletoon/units/biplane/0002", "u.biplane_Idle_s" + "cimpletoon/units/biplane/0003", "u.biplane_Idle_sw" + "cimpletoon/units/biplane/0004", "u.biplane_Idle_w" + "cimpletoon/units/biplane/0005", "u.biplane_Idle_nw" + "cimpletoon/units/biplane/0006", "u.biplane_Idle_n" + "cimpletoon/units/biplane/0007", "u.biplane_Idle_ne" + "cimpletoon/units/biplane/0008", "u.biplane_Idle_e" } diff --git a/data/cimpletoon/units/container_ship/xxx.spec b/data/cimpletoon/units/container_ship/xxx.spec index 1a0ff958f6..635d7b2bc5 100644 --- a/data/cimpletoon/units/container_ship/xxx.spec +++ b/data/cimpletoon/units/container_ship/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/container_ship/0001", "u.container_ship_se" - "cimpletoon/units/container_ship/0002", "u.container_ship_s" - "cimpletoon/units/container_ship/0003", "u.container_ship_sw" - "cimpletoon/units/container_ship/0004", "u.container_ship_w" - "cimpletoon/units/container_ship/0005", "u.container_ship_nw" - "cimpletoon/units/container_ship/0006", "u.container_ship_n" - "cimpletoon/units/container_ship/0007", "u.container_ship_ne", - "cimpletoon/units/container_ship/0008", "u.container_ship_e" + "cimpletoon/units/container_ship/0001", "u.container_ship_Idle_se" + "cimpletoon/units/container_ship/0002", "u.container_ship_Idle_s" + "cimpletoon/units/container_ship/0003", "u.container_ship_Idle_sw" + "cimpletoon/units/container_ship/0004", "u.container_ship_Idle_w" + "cimpletoon/units/container_ship/0005", "u.container_ship_Idle_nw" + "cimpletoon/units/container_ship/0006", "u.container_ship_Idle_n" + "cimpletoon/units/container_ship/0007", "u.container_ship_Idle_ne", + "cimpletoon/units/container_ship/0008", "u.container_ship_Idle_e" } diff --git a/data/cimpletoon/units/flak88/xxx.spec b/data/cimpletoon/units/flak88/xxx.spec index 889e0994c4..51dfd970bb 100644 --- a/data/cimpletoon/units/flak88/xxx.spec +++ b/data/cimpletoon/units/flak88/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/flak88/0001", "u.flak88_se" - "cimpletoon/units/flak88/0002", "u.flak88_s" - "cimpletoon/units/flak88/0003", "u.flak88_sw" - "cimpletoon/units/flak88/0004", "u.flak88_w" - "cimpletoon/units/flak88/0005", "u.flak88_nw" - "cimpletoon/units/flak88/0006", "u.flak88_n" - "cimpletoon/units/flak88/0007", "u.flak88_ne" - "cimpletoon/units/flak88/0008", "u.flak88_e" + "cimpletoon/units/flak88/0001", "u.flak88_Idle_se" + "cimpletoon/units/flak88/0002", "u.flak88_Idle_s" + "cimpletoon/units/flak88/0003", "u.flak88_Idle_sw" + "cimpletoon/units/flak88/0004", "u.flak88_Idle_w" + "cimpletoon/units/flak88/0005", "u.flak88_Idle_nw" + "cimpletoon/units/flak88/0006", "u.flak88_Idle_n" + "cimpletoon/units/flak88/0007", "u.flak88_Idle_ne" + "cimpletoon/units/flak88/0008", "u.flak88_Idle_e" } diff --git a/data/cimpletoon/units/icebreaker/xxx.spec b/data/cimpletoon/units/icebreaker/xxx.spec index 16348d73eb..eb91954a69 100644 --- a/data/cimpletoon/units/icebreaker/xxx.spec +++ b/data/cimpletoon/units/icebreaker/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/icebreaker/0001", "u.icebreaker_se" - "cimpletoon/units/icebreaker/0002", "u.icebreaker_s" - "cimpletoon/units/icebreaker/0003", "u.icebreaker_sw" - "cimpletoon/units/icebreaker/0004", "u.icebreaker_w" - "cimpletoon/units/icebreaker/0005", "u.icebreaker_nw" - "cimpletoon/units/icebreaker/0006", "u.icebreaker_n" - "cimpletoon/units/icebreaker/0007", "u.icebreaker_ne" - "cimpletoon/units/icebreaker/0008", "u.icebreaker_e" + "cimpletoon/units/icebreaker/0001", "u.icebreaker_Idle_se" + "cimpletoon/units/icebreaker/0002", "u.icebreaker_Idle_s" + "cimpletoon/units/icebreaker/0003", "u.icebreaker_Idle_sw" + "cimpletoon/units/icebreaker/0004", "u.icebreaker_Idle_w" + "cimpletoon/units/icebreaker/0005", "u.icebreaker_Idle_nw" + "cimpletoon/units/icebreaker/0006", "u.icebreaker_Idle_n" + "cimpletoon/units/icebreaker/0007", "u.icebreaker_Idle_ne" + "cimpletoon/units/icebreaker/0008", "u.icebreaker_Idle_e" } diff --git a/data/cimpletoon/units/light_howitzer/xxx.spec b/data/cimpletoon/units/light_howitzer/xxx.spec index 1fdf4e0cde..1f23ee47ed 100644 --- a/data/cimpletoon/units/light_howitzer/xxx.spec +++ b/data/cimpletoon/units/light_howitzer/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/light_howitzer/0001", "u.light_howitzer_se" - "cimpletoon/units/light_howitzer/0002", "u.light_howitzer_s" - "cimpletoon/units/light_howitzer/0003", "u.light_howitzer_sw" - "cimpletoon/units/light_howitzer/0004", "u.light_howitzer_w" - "cimpletoon/units/light_howitzer/0005", "u.light_howitzer_nw" - "cimpletoon/units/light_howitzer/0006", "u.light_howitzer_n" - "cimpletoon/units/light_howitzer/0007", "u.light_howitzer_ne" - "cimpletoon/units/light_howitzer/0008", "u.light_howitzer_e" + "cimpletoon/units/light_howitzer/0001", "u.light_howitzer_Idle_se" + "cimpletoon/units/light_howitzer/0002", "u.light_howitzer_Idle_s" + "cimpletoon/units/light_howitzer/0003", "u.light_howitzer_Idle_sw" + "cimpletoon/units/light_howitzer/0004", "u.light_howitzer_Idle_w" + "cimpletoon/units/light_howitzer/0005", "u.light_howitzer_Idle_nw" + "cimpletoon/units/light_howitzer/0006", "u.light_howitzer_Idle_n" + "cimpletoon/units/light_howitzer/0007", "u.light_howitzer_Idle_ne" + "cimpletoon/units/light_howitzer/0008", "u.light_howitzer_Idle_e" } diff --git a/data/cimpletoon/units/locomotive/xxx.spec b/data/cimpletoon/units/locomotive/xxx.spec index 647dcf3bce..c0e8a628bb 100644 --- a/data/cimpletoon/units/locomotive/xxx.spec +++ b/data/cimpletoon/units/locomotive/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/locomotive/0001", "u.locomotive_se" - "cimpletoon/units/locomotive/0002", "u.locomotive_s" - "cimpletoon/units/locomotive/0003", "u.locomotive_sw" - "cimpletoon/units/locomotive/0004", "u.locomotive_w" - "cimpletoon/units/locomotive/0005", "u.locomotive_nw" - "cimpletoon/units/locomotive/0006", "u.locomotive_n" - "cimpletoon/units/locomotive/0007", "u.locomotive_ne" - "cimpletoon/units/locomotive/0008", "u.locomotive_e" + "cimpletoon/units/locomotive/0001", "u.locomotive_Idle_se" + "cimpletoon/units/locomotive/0002", "u.locomotive_Idle_s" + "cimpletoon/units/locomotive/0003", "u.locomotive_Idle_sw" + "cimpletoon/units/locomotive/0004", "u.locomotive_Idle_w" + "cimpletoon/units/locomotive/0005", "u.locomotive_Idle_nw" + "cimpletoon/units/locomotive/0006", "u.locomotive_Idle_n" + "cimpletoon/units/locomotive/0007", "u.locomotive_Idle_ne" + "cimpletoon/units/locomotive/0008", "u.locomotive_Idle_e" } diff --git a/data/cimpletoon/units/m4sherman/xxx.spec b/data/cimpletoon/units/m4sherman/xxx.spec index 3e62735b7b..f4e295844f 100644 --- a/data/cimpletoon/units/m4sherman/xxx.spec +++ b/data/cimpletoon/units/m4sherman/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/m4sherman/0001", "u.sherman_se" - "cimpletoon/units/m4sherman/0002", "u.sherman_s" - "cimpletoon/units/m4sherman/0003", "u.sherman_sw" - "cimpletoon/units/m4sherman/0004", "u.sherman_w" - "cimpletoon/units/m4sherman/0005", "u.sherman_nw" - "cimpletoon/units/m4sherman/0006", "u.sherman_n" - "cimpletoon/units/m4sherman/0007", "u.sherman_ne" - "cimpletoon/units/m4sherman/0008", "u.sherman_e" + "cimpletoon/units/m4sherman/0001", "u.sherman_Idle_se" + "cimpletoon/units/m4sherman/0002", "u.sherman_Idle_s" + "cimpletoon/units/m4sherman/0003", "u.sherman_Idle_sw" + "cimpletoon/units/m4sherman/0004", "u.sherman_Idle_w" + "cimpletoon/units/m4sherman/0005", "u.sherman_Idle_nw" + "cimpletoon/units/m4sherman/0006", "u.sherman_Idle_n" + "cimpletoon/units/m4sherman/0007", "u.sherman_Idle_ne" + "cimpletoon/units/m4sherman/0008", "u.sherman_Idle_e" } diff --git a/data/cimpletoon/units/mig15/xxx.spec b/data/cimpletoon/units/mig15/xxx.spec index ea40362a7c..16d50f97cf 100644 --- a/data/cimpletoon/units/mig15/xxx.spec +++ b/data/cimpletoon/units/mig15/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/mig15/0001", "u.mig15_se" - "cimpletoon/units/mig15/0002", "u.mig15_s" - "cimpletoon/units/mig15/0003", "u.mig15_sw" - "cimpletoon/units/mig15/0004", "u.mig15_w" - "cimpletoon/units/mig15/0005", "u.mig15_nw" - "cimpletoon/units/mig15/0006", "u.mig15_n" - "cimpletoon/units/mig15/0007", "u.mig15_ne" - "cimpletoon/units/mig15/0008", "u.mig15_e" + "cimpletoon/units/mig15/0001", "u.mig15_Idle_se" + "cimpletoon/units/mig15/0002", "u.mig15_Idle_s" + "cimpletoon/units/mig15/0003", "u.mig15_Idle_sw" + "cimpletoon/units/mig15/0004", "u.mig15_Idle_w" + "cimpletoon/units/mig15/0005", "u.mig15_Idle_nw" + "cimpletoon/units/mig15/0006", "u.mig15_Idle_n" + "cimpletoon/units/mig15/0007", "u.mig15_Idle_ne" + "cimpletoon/units/mig15/0008", "u.mig15_Idle_e" } diff --git a/data/cimpletoon/units/missile_sub/xxx.spec b/data/cimpletoon/units/missile_sub/xxx.spec index 2fc01a1170..fb56bfface 100644 --- a/data/cimpletoon/units/missile_sub/xxx.spec +++ b/data/cimpletoon/units/missile_sub/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/missile_sub/0001", "u.missile_sub_se" - "cimpletoon/units/missile_sub/0002", "u.missile_sub_s" - "cimpletoon/units/missile_sub/0003", "u.missile_sub_sw" - "cimpletoon/units/missile_sub/0004", "u.missile_sub_w" - "cimpletoon/units/missile_sub/0005", "u.missile_sub_nw" - "cimpletoon/units/missile_sub/0006", "u.missile_sub_n" - "cimpletoon/units/missile_sub/0007", "u.missile_sub_ne" - "cimpletoon/units/missile_sub/0008", "u.missile_sub_e" + "cimpletoon/units/missile_sub/0001", "u.missile_sub_Idle_se" + "cimpletoon/units/missile_sub/0002", "u.missile_sub_Idle_s" + "cimpletoon/units/missile_sub/0003", "u.missile_sub_Idle_sw" + "cimpletoon/units/missile_sub/0004", "u.missile_sub_Idle_w" + "cimpletoon/units/missile_sub/0005", "u.missile_sub_Idle_nw" + "cimpletoon/units/missile_sub/0006", "u.missile_sub_Idle_n" + "cimpletoon/units/missile_sub/0007", "u.missile_sub_Idle_ne" + "cimpletoon/units/missile_sub/0008", "u.missile_sub_Idle_e" } diff --git a/data/cimpletoon/units/panther/xxx.spec b/data/cimpletoon/units/panther/xxx.spec index a8ccf4d7fe..c11961dc2f 100644 --- a/data/cimpletoon/units/panther/xxx.spec +++ b/data/cimpletoon/units/panther/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/panther/0001", "u.panther_se" - "cimpletoon/units/panther/0002", "u.panther_s" - "cimpletoon/units/panther/0003", "u.panther_sw" - "cimpletoon/units/panther/0004", "u.panther_w" - "cimpletoon/units/panther/0005", "u.panther_nw" - "cimpletoon/units/panther/0006", "u.panther_n" - "cimpletoon/units/panther/0007", "u.panther_ne" - "cimpletoon/units/panther/0008", "u.panther_e" + "cimpletoon/units/panther/0001", "u.panther_Idle_se" + "cimpletoon/units/panther/0002", "u.panther_Idle_s" + "cimpletoon/units/panther/0003", "u.panther_Idle_sw" + "cimpletoon/units/panther/0004", "u.panther_Idle_w" + "cimpletoon/units/panther/0005", "u.panther_Idle_nw" + "cimpletoon/units/panther/0006", "u.panther_Idle_n" + "cimpletoon/units/panther/0007", "u.panther_Idle_ne" + "cimpletoon/units/panther/0008", "u.panther_Idle_e" } diff --git a/data/cimpletoon/units/panzer_iii/xxx.spec b/data/cimpletoon/units/panzer_iii/xxx.spec index 60d4e107fc..d1c7129ba0 100644 --- a/data/cimpletoon/units/panzer_iii/xxx.spec +++ b/data/cimpletoon/units/panzer_iii/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/panzer_iii/0001", "u.panzer_iii_se" - "cimpletoon/units/panzer_iii/0002", "u.panzer_iii_s" - "cimpletoon/units/panzer_iii/0003", "u.panzer_iii_sw" - "cimpletoon/units/panzer_iii/0004", "u.panzer_iii_w" - "cimpletoon/units/panzer_iii/0005", "u.panzer_iii_nw" - "cimpletoon/units/panzer_iii/0006", "u.panzer_iii_n" - "cimpletoon/units/panzer_iii/0007", "u.panzer_iii_ne" - "cimpletoon/units/panzer_iii/0008", "u.panzer_iii_e" + "cimpletoon/units/panzer_iii/0001", "u.panzer_iii_Idle_se" + "cimpletoon/units/panzer_iii/0002", "u.panzer_iii_Idle_s" + "cimpletoon/units/panzer_iii/0003", "u.panzer_iii_Idle_sw" + "cimpletoon/units/panzer_iii/0004", "u.panzer_iii_Idle_w" + "cimpletoon/units/panzer_iii/0005", "u.panzer_iii_Idle_nw" + "cimpletoon/units/panzer_iii/0006", "u.panzer_iii_Idle_n" + "cimpletoon/units/panzer_iii/0007", "u.panzer_iii_Idle_ne" + "cimpletoon/units/panzer_iii/0008", "u.panzer_iii_Idle_e" } diff --git a/data/cimpletoon/units/pt-boat/xxx.spec b/data/cimpletoon/units/pt-boat/xxx.spec index ecf3142168..a20c2dd493 100644 --- a/data/cimpletoon/units/pt-boat/xxx.spec +++ b/data/cimpletoon/units/pt-boat/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/pt-boat/0001", "u.pt-boat_se" - "cimpletoon/units/pt-boat/0002", "u.pt-boat_s" - "cimpletoon/units/pt-boat/0003", "u.pt-boat_sw" - "cimpletoon/units/pt-boat/0004", "u.pt-boat_w" - "cimpletoon/units/pt-boat/0005", "u.pt-boat_nw" - "cimpletoon/units/pt-boat/0006", "u.pt-boat_n" - "cimpletoon/units/pt-boat/0007", "u.pt-boat_ne" - "cimpletoon/units/pt-boat/0008", "u.pt-boat_e" + "cimpletoon/units/pt-boat/0001", "u.pt-boat_Idle_se" + "cimpletoon/units/pt-boat/0002", "u.pt-boat_Idle_s" + "cimpletoon/units/pt-boat/0003", "u.pt-boat_Idle_sw" + "cimpletoon/units/pt-boat/0004", "u.pt-boat_Idle_w" + "cimpletoon/units/pt-boat/0005", "u.pt-boat_Idle_nw" + "cimpletoon/units/pt-boat/0006", "u.pt-boat_Idle_n" + "cimpletoon/units/pt-boat/0007", "u.pt-boat_Idle_ne" + "cimpletoon/units/pt-boat/0008", "u.pt-boat_Idle_e" } diff --git a/data/cimpletoon/units/stationary_sam/xxx.spec b/data/cimpletoon/units/stationary_sam/xxx.spec index 4457e28a1d..2c5908ca62 100644 --- a/data/cimpletoon/units/stationary_sam/xxx.spec +++ b/data/cimpletoon/units/stationary_sam/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/stationary_sam/0001", "u.stat_sam_se" - "cimpletoon/units/stationary_sam/0002", "u.stat_sam_s" - "cimpletoon/units/stationary_sam/0003", "u.stat_sam_sw" - "cimpletoon/units/stationary_sam/0004", "u.stat_sam_w" - "cimpletoon/units/stationary_sam/0005", "u.stat_sam_nw" - "cimpletoon/units/stationary_sam/0006", "u.stat_sam_n" - "cimpletoon/units/stationary_sam/0007", "u.stat_sam_ne" - "cimpletoon/units/stationary_sam/0008", "u.stat_sam_e" + "cimpletoon/units/stationary_sam/0001", "u.stat_sam_Idle_se" + "cimpletoon/units/stationary_sam/0002", "u.stat_sam_Idle_s" + "cimpletoon/units/stationary_sam/0003", "u.stat_sam_Idle_sw" + "cimpletoon/units/stationary_sam/0004", "u.stat_sam_Idle_w" + "cimpletoon/units/stationary_sam/0005", "u.stat_sam_Idle_nw" + "cimpletoon/units/stationary_sam/0006", "u.stat_sam_Idle_n" + "cimpletoon/units/stationary_sam/0007", "u.stat_sam_Idle_ne" + "cimpletoon/units/stationary_sam/0008", "u.stat_sam_Idle_e" } diff --git a/data/cimpletoon/units/steamer/xxx.spec b/data/cimpletoon/units/steamer/xxx.spec index b8919199b4..d25be5709a 100644 --- a/data/cimpletoon/units/steamer/xxx.spec +++ b/data/cimpletoon/units/steamer/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/steamer/0001", "u.steamer_se" - "cimpletoon/units/steamer/0002", "u.steamer_s" - "cimpletoon/units/steamer/0003", "u.steamer_sw" - "cimpletoon/units/steamer/0004", "u.steamer_w" - "cimpletoon/units/steamer/0005", "u.steamer_nw" - "cimpletoon/units/steamer/0006", "u.steamer_n" - "cimpletoon/units/steamer/0007", "u.steamer_ne" - "cimpletoon/units/steamer/0008", "u.steamer_e" + "cimpletoon/units/steamer/0001", "u.steamer_Idle_se" + "cimpletoon/units/steamer/0002", "u.steamer_Idle_s" + "cimpletoon/units/steamer/0003", "u.steamer_Idle_sw" + "cimpletoon/units/steamer/0004", "u.steamer_Idle_w" + "cimpletoon/units/steamer/0005", "u.steamer_Idle_nw" + "cimpletoon/units/steamer/0006", "u.steamer_Idle_n" + "cimpletoon/units/steamer/0007", "u.steamer_Idle_ne" + "cimpletoon/units/steamer/0008", "u.steamer_Idle_e" } diff --git a/data/cimpletoon/units/technical/xxx.spec b/data/cimpletoon/units/technical/xxx.spec index 9ea8683c38..d0295e01a9 100644 --- a/data/cimpletoon/units/technical/xxx.spec +++ b/data/cimpletoon/units/technical/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/technical/0001", "u.technical_se" - "cimpletoon/units/technical/0002", "u.technical_s" - "cimpletoon/units/technical/0003", "u.technical_sw" - "cimpletoon/units/technical/0004", "u.technical_w" - "cimpletoon/units/technical/0005", "u.technical_nw" - "cimpletoon/units/technical/0006", "u.technical_n" - "cimpletoon/units/technical/0007", "u.technical_ne" - "cimpletoon/units/technical/0008", "u.technical_e" + "cimpletoon/units/technical/0001", "u.technical_Idle_se" + "cimpletoon/units/technical/0002", "u.technical_Idle_s" + "cimpletoon/units/technical/0003", "u.technical_Idle_sw" + "cimpletoon/units/technical/0004", "u.technical_Idle_w" + "cimpletoon/units/technical/0005", "u.technical_Idle_nw" + "cimpletoon/units/technical/0006", "u.technical_Idle_n" + "cimpletoon/units/technical/0007", "u.technical_Idle_ne" + "cimpletoon/units/technical/0008", "u.technical_Idle_e" } diff --git a/data/cimpletoon/units/tiger/xxx.spec b/data/cimpletoon/units/tiger/xxx.spec index e11877def0..17e7f84772 100644 --- a/data/cimpletoon/units/tiger/xxx.spec +++ b/data/cimpletoon/units/tiger/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/tiger/0001", "u.tiger_se" - "cimpletoon/units/tiger/0002", "u.tiger_s" - "cimpletoon/units/tiger/0003", "u.tiger_sw" - "cimpletoon/units/tiger/0004", "u.tiger_w" - "cimpletoon/units/tiger/0005", "u.tiger_nw" - "cimpletoon/units/tiger/0006", "u.tiger_n" - "cimpletoon/units/tiger/0007", "u.tiger_ne" - "cimpletoon/units/tiger/0008", "u.tiger_e" + "cimpletoon/units/tiger/0001", "u.tiger_Idle_se" + "cimpletoon/units/tiger/0002", "u.tiger_Idle_s" + "cimpletoon/units/tiger/0003", "u.tiger_Idle_sw" + "cimpletoon/units/tiger/0004", "u.tiger_Idle_w" + "cimpletoon/units/tiger/0005", "u.tiger_Idle_nw" + "cimpletoon/units/tiger/0006", "u.tiger_Idle_n" + "cimpletoon/units/tiger/0007", "u.tiger_Idle_ne" + "cimpletoon/units/tiger/0008", "u.tiger_Idle_e" } diff --git a/data/cimpletoon/units/truck/xxx.spec b/data/cimpletoon/units/truck/xxx.spec index 749b874c72..bbb30735b0 100644 --- a/data/cimpletoon/units/truck/xxx.spec +++ b/data/cimpletoon/units/truck/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/truck/0001", "u.truck_se" - "cimpletoon/units/truck/0002", "u.truck_s" - "cimpletoon/units/truck/0003", "u.truck_sw" - "cimpletoon/units/truck/0004", "u.truck_w" - "cimpletoon/units/truck/0005", "u.truck_nw" - "cimpletoon/units/truck/0006", "u.truck_n" - "cimpletoon/units/truck/0007", "u.truck_ne" - "cimpletoon/units/truck/0008", "u.truck_e" + "cimpletoon/units/truck/0001", "u.truck_Idle_se" + "cimpletoon/units/truck/0002", "u.truck_Idle_s" + "cimpletoon/units/truck/0003", "u.truck_Idle_sw" + "cimpletoon/units/truck/0004", "u.truck_Idle_w" + "cimpletoon/units/truck/0005", "u.truck_Idle_nw" + "cimpletoon/units/truck/0006", "u.truck_Idle_n" + "cimpletoon/units/truck/0007", "u.truck_Idle_ne" + "cimpletoon/units/truck/0008", "u.truck_Idle_e" } diff --git a/data/cimpletoon/units/zeppelin/xxx.spec b/data/cimpletoon/units/zeppelin/xxx.spec index a265352c07..6344a137d1 100644 --- a/data/cimpletoon/units/zeppelin/xxx.spec +++ b/data/cimpletoon/units/zeppelin/xxx.spec @@ -13,12 +13,12 @@ artists = " [extra] sprites = { "file", "tag" - "cimpletoon/units/zeppelin/0001", "u.zeppelin_se" - "cimpletoon/units/zeppelin/0002", "u.zeppelin_s" - "cimpletoon/units/zeppelin/0003", "u.zeppelin_sw" - "cimpletoon/units/zeppelin/0004", "u.zeppelin_w" - "cimpletoon/units/zeppelin/0005", "u.zeppelin_nw" - "cimpletoon/units/zeppelin/0006", "u.zeppelin_n" - "cimpletoon/units/zeppelin/0007", "u.zeppelin_ne" - "cimpletoon/units/zeppelin/0008", "u.zeppelin_e" + "cimpletoon/units/zeppelin/0001", "u.zeppelin_Idle_se" + "cimpletoon/units/zeppelin/0002", "u.zeppelin_Idle_s" + "cimpletoon/units/zeppelin/0003", "u.zeppelin_Idle_sw" + "cimpletoon/units/zeppelin/0004", "u.zeppelin_Idle_w" + "cimpletoon/units/zeppelin/0005", "u.zeppelin_Idle_nw" + "cimpletoon/units/zeppelin/0006", "u.zeppelin_Idle_n" + "cimpletoon/units/zeppelin/0007", "u.zeppelin_Idle_ne" + "cimpletoon/units/zeppelin/0008", "u.zeppelin_Idle_e" } diff --git a/data/trident/extra_units.spec b/data/trident/extra_units.spec index e309a4a3ac..aca7a47cca 100644 --- a/data/trident/extra_units.spec +++ b/data/trident/extra_units.spec @@ -26,27 +26,27 @@ pixel_border = 1 tiles = { "row", "column", "tag" - 0, 3, "u.samurai" + 0, 3, "u.samurai_Idle" - 5, 13, "u.balloon" - 5, 14, "u.zeppelin" + 5, 13, "u.balloon_Idle" + 5, 14, "u.zeppelin_Idle" - 6, 4, "u.drone" + 6, 4, "u.drone_Idle" - 5, 2, "u.longboat" + 5, 2, "u.longboat_Idle" - 8, 0, "u.dredger" + 8, 0, "u.dredger_Idle" - 8, 5, "u.rowboat" + 8, 5, "u.rowboat_Idle" - 8, 8, "u.nuclear_sub" + 8, 8, "u.nuclear_sub_Idle" - 9, 1, "u.emissary" + 9, 1, "u.emissary_Idle" - 9, 5, "u.train" + 9, 5, "u.train_Idle" - 10, 3, "u.lion" + 10, 3, "u.lion_Idle" - 10, 13, "u.storm" + 10, 13, "u.storm_Idle" } diff --git a/data/trident/units.spec b/data/trident/units.spec index 0c99afe88b..90e1407d53 100644 --- a/data/trident/units.spec +++ b/data/trident/units.spec @@ -23,59 +23,59 @@ dy = 30 tiles = { "row", "column", "tag" - 0, 0, "u.armor" - 0, 1, "u.howitzer" - 0, 2, "u.battleship" - 0, 3, "u.bomber" - 0, 4, "u.cannon" - 0, 5, "u.caravan" - 0, 6, "u.carrier" - 0, 7, "u.catapult" - 0, 8, "u.horsemen" - 0, 9, "u.chariot" - 0, 10, "u.cruiser" - 0, 11, "u.diplomat", "u.barbarian_leader" - 0, 12, "u.fighter" - 0, 13, "u.frigate" - 0, 14, "u.ironclad" - 0, 15, "u.knights" - 0, 16, "u.legion" - 0, 17, "u.mech_inf" - 0, 18, "u.warriors" - 0, 19, "u.musketeers" - 1, 0, "u.nuclear" - 1, 1, "u.phalanx" - 1, 2, "u.riflemen" - 1, 3, "u.caravel" - 1, 4, "u.settlers" - 1, 5, "u.submarine" - 1, 6, "u.transport" - 1, 7, "u.trireme" - 1, 8, "u.archers" - 1, 9, "u.cavalry" - 1, 10, "u.cruise_missile" - 1, 11, "u.destroyer" - 1, 12, "u.dragoons" - 1, 13, "u.explorer" - 1, 14, "u.freight" - 1, 15, "u.galleon" - 1, 16, "u.partisan" - 1, 17, "u.pikemen" - 2, 0, "u.marines" - 2, 1, "u.spy" - 2, 2, "u.engineers" - 2, 3, "u.artillery" - 2, 4, "u.helicopter" - 2, 5, "u.alpine_troops" - 2, 6, "u.stealth_bomber" - 2, 7, "u.stealth_fighter" - 2, 8, "u.aegis_cruiser" - 2, 9, "u.paratroopers" - 2, 10, "u.elephants" - 2, 11, "u.crusaders" - 2, 12, "u.fanatics" - 2, 13, "u.awacs" - 2, 14, "u.worker" - 2, 15, "u.leader" - 2, 16, "u.migrants" + 0, 0, "u.armor_Idle" + 0, 1, "u.howitzer_Idle" + 0, 2, "u.battleship_Idle" + 0, 3, "u.bomber_Idle" + 0, 4, "u.cannon_Idle" + 0, 5, "u.caravan_Idle" + 0, 6, "u.carrier_Idle" + 0, 7, "u.catapult_Idle" + 0, 8, "u.horsemen_Idle" + 0, 9, "u.chariot_Idle" + 0, 10, "u.cruiser_Idle" + 0, 11, "u.diplomat_Idle", "u.barbarian_leader_Idle" + 0, 12, "u.fighter_Idle" + 0, 13, "u.frigate_Idle" + 0, 14, "u.ironclad_Idle" + 0, 15, "u.knights_Idle" + 0, 16, "u.legion_Idle" + 0, 17, "u.mech_inf_Idle" + 0, 18, "u.warriors_Idle" + 0, 19, "u.musketeers_Idle" + 1, 0, "u.nuclear_Idle" + 1, 1, "u.phalanx_Idle" + 1, 2, "u.riflemen_Idle" + 1, 3, "u.caravel_Idle" + 1, 4, "u.settlers_Idle" + 1, 5, "u.submarine_Idle" + 1, 6, "u.transport_Idle" + 1, 7, "u.trireme_Idle" + 1, 8, "u.archers_Idle" + 1, 9, "u.cavalry_Idle" + 1, 10, "u.cruise_missile_Idle" + 1, 11, "u.destroyer_Idle" + 1, 12, "u.dragoons_Idle" + 1, 13, "u.explorer_Idle" + 1, 14, "u.freight_Idle" + 1, 15, "u.galleon_Idle" + 1, 16, "u.partisan_Idle" + 1, 17, "u.pikemen_Idle" + 2, 0, "u.marines_Idle" + 2, 1, "u.spy_Idle" + 2, 2, "u.engineers_Idle" + 2, 3, "u.artillery_Idle" + 2, 4, "u.helicopter_Idle" + 2, 5, "u.alpine_troops_Idle" + 2, 6, "u.stealth_bomber_Idle" + 2, 7, "u.stealth_fighter_Idle" + 2, 8, "u.aegis_cruiser_Idle" + 2, 9, "u.paratroopers_Idle" + 2, 10, "u.elephants_Idle" + 2, 11, "u.crusaders_Idle" + 2, 12, "u.fanatics_Idle" + 2, 13, "u.awacs_Idle" + 2, 14, "u.worker_Idle" + 2, 15, "u.leader_Idle" + 2, 16, "u.migrants_Idle" } diff --git a/doc/README.graphics b/doc/README.graphics index 4142ded679..76e8062fd6 100644 --- a/doc/README.graphics +++ b/doc/README.graphics @@ -512,12 +512,20 @@ sprites. Unit Sprites ------------ + Unit sprites depend on the unit's activity. If there's no sprite + defined for the activity in question, "Idle" activity sprite is + used instead. "Idle" sprite is a mandatory one. + If there's no "Idle" sprite, for backward compatibility reasons, + current Freeciv version still looks for a tag with no activity at all + to use instead. + Units sprites can be either unoriented or oriented, in which case the sprite that is displayed depends on the direction the unit is facing (it turns when it moves or fights). - Unoriented sprites are specified as 'u.phalanx'. Oriented sprites have - a direction suffix: 'u.phalanx_s', 'u.phalanx_nw' and so on. + Unoriented sprites are specified as 'u.phalanx_Idle', + Oriented sprites have a direction suffix: + 'u.phalanx_Idle_s', 'u.phalanx_Idle_nw' and so on. For each unit type, either an unoriented sprite or a full set of the oriented sprites needed for the tileset topology must be provided (you can also provide both, see below). -- 2.39.0