diff --git a/binaries/data/mods/public/l10n/messages.json b/binaries/data/mods/public/l10n/messages.json index b83d1affaa..450b8c1183 100644 --- a/binaries/data/mods/public/l10n/messages.json +++ b/binaries/data/mods/public/l10n/messages.json @@ -508,8 +508,6 @@ "splitOnWhitespace": true }, "Tooltip": {}, - "DisabledTooltip": {}, - "FormationName": {}, "FromClass": {}, "Shape": {}, "Rank": { @@ -553,8 +551,6 @@ "splitOnWhitespace": true }, "Tooltip": {}, - "DisabledTooltip": {}, - "FormationName": {}, "FromClass": {}, "Rank": { "tagAsContext": true @@ -597,7 +593,6 @@ }, "Tooltip": {}, "DisabledTooltip": {}, - "FormationName": {}, "FromClass": {}, "Rank": { "tagAsContext": true diff --git a/binaries/data/mods/public/simulation/components/Formation.js b/binaries/data/mods/public/simulation/components/Formation.js index aa004f84e2..50efbb1525 100644 --- a/binaries/data/mods/public/simulation/components/Formation.js +++ b/binaries/data/mods/public/simulation/components/Formation.js @@ -1,12 +1,6 @@ function Formation() {} Formation.prototype.Schema = - "" + - "" + - "" + - "" + - "" + - "" + "" + "" + ""+ @@ -714,7 +708,7 @@ Formation.prototype.ComputeFormationOffsets = function(active, positions) } // Define special formations here. - if (this.template.FormationName == "Scatter") + if (this.template.FormationShape == "special" && Engine.QueryInterface(this.entity, IID_Identity).GetGenericName() == "Scatter") { let width = Math.sqrt(count) * (separation.width + separation.depth) * 2.5; diff --git a/binaries/data/mods/public/simulation/components/GuiInterface.js b/binaries/data/mods/public/simulation/components/GuiInterface.js index ba17df4232..696f51f8b6 100644 --- a/binaries/data/mods/public/simulation/components/GuiInterface.js +++ b/binaries/data/mods/public/simulation/components/GuiInterface.js @@ -856,9 +856,9 @@ GuiInterface.prototype.GetFormationInfoFromTemplate = function(player, data) return {}; return { - "name": template.Formation.FormationName, + "name": template.Identity.GenericName, "tooltip": template.Formation.DisabledTooltip || "", - "icon": template.Formation.Icon + "icon": template.Identity.Icon }; }; diff --git a/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js b/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js index 7a9c2beed5..1418070ed2 100644 --- a/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js +++ b/binaries/data/mods/public/simulation/components/tests/test_UnitAI.js @@ -217,7 +217,6 @@ function TestFormationExiting(mode) }); let controllerFormation = ConstructComponent(controller, "Formation", { - "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", @@ -391,7 +390,6 @@ function TestMoveIntoFormationWhileAttacking() }); let controllerFormation = ConstructComponent(controller, "Formation", { - "FormationName": "Line Closed", "FormationShape": "square", "ShiftRows": "false", "SortingClasses": "", diff --git a/binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml b/binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml index c1c84295b1..02094ce0db 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml @@ -1,10 +1,8 @@ - formations/testudo.png 16 Melee Infantry only, requires at least 16. - Anti Cavalry square 0.50 0.37 @@ -22,4 +20,8 @@ false + + formations/testudo.png + Anti Cavalry + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/battle_line.xml b/binaries/data/mods/public/simulation/templates/special/formations/battle_line.xml index 6624a62afd..f18ecf3b55 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/battle_line.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/battle_line.xml @@ -1,8 +1,6 @@ - formations/battle_line.png - Battle Line Cavalry Melee Ranged fillFromTheSides true @@ -11,4 +9,8 @@ 4 2 + + Battle Line + formations/battle_line.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/box.xml b/binaries/data/mods/public/simulation/templates/special/formations/box.xml index bd689e0719..51ae9950aa 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/box.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/box.xml @@ -1,12 +1,14 @@ - formations/box.png 4 Requires at least 4 Soldiers or Siege engines. - Box square Melee Ranged fillToTheCenter + + Box + formations/box.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/column_closed.xml b/binaries/data/mods/public/simulation/templates/special/formations/column_closed.xml index 0f647c60df..236293ee7f 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/column_closed.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/column_closed.xml @@ -1,11 +1,13 @@ - formations/column_closed.png - Forced March 0.75 1.0 3 3 + + Forced March + formations/column_closed.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/column_open.xml b/binaries/data/mods/public/simulation/templates/special/formations/column_open.xml index 74452954c0..e670fb6d62 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/column_open.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/column_open.xml @@ -1,11 +1,13 @@ - formations/column_open.png - Column Open true 2 2 2 + + Column Open + formations/column_open.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/flank.xml b/binaries/data/mods/public/simulation/templates/special/formations/flank.xml index 18118f8e6f..a2ea23df3e 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/flank.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/flank.xml @@ -1,12 +1,14 @@ - formations/flank.png 8 Requires at least 8 Soldiers or Siege engines. - Flank square true 12 + + Flank + formations/flank.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/line_closed.xml b/binaries/data/mods/public/simulation/templates/special/formations/line_closed.xml index 40347bff25..1e850804c3 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/line_closed.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/line_closed.xml @@ -1,10 +1,12 @@ - formations/line_closed.png - Close Order 3 4 0.25 + + Close Order + formations/line_closed.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/line_open.xml b/binaries/data/mods/public/simulation/templates/special/formations/line_open.xml index f6f0c56442..d2c1664fa1 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/line_open.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/line_open.xml @@ -1,12 +1,14 @@ - formations/line_open.png - Open Order 1.5 1.5 4 3 0.5 + + Open Order + formations/line_open.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/null.xml b/binaries/data/mods/public/simulation/templates/special/formations/null.xml index 0d13c1b96a..fa23e704e7 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/null.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/null.xml @@ -1,8 +1,10 @@ - formations/null.png - None + + None + formations/null.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml b/binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml index 5dc4e078d9..2efdd59e46 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml @@ -1,10 +1,8 @@ - formations/phalanx.png 10 Infantry Hoplites only, requires at least 10. - Phalanx 0.6 0.6 4 @@ -21,4 +19,8 @@ false + + Phalanx + formations/phalanx.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/scatter.xml b/binaries/data/mods/public/simulation/templates/special/formations/scatter.xml index 4d54514907..1a37461625 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/scatter.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/scatter.xml @@ -1,8 +1,10 @@ - formations/scatter.png - Scatter special + + Scatter + formations/scatter.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/skirmish.xml b/binaries/data/mods/public/simulation/templates/special/formations/skirmish.xml index fd7971d497..28e48c8439 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/skirmish.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/skirmish.xml @@ -1,9 +1,7 @@ - formations/skirmish.png Ranged Soldiers only, requires at least 2. - Skirmish true 2 2 @@ -12,4 +10,8 @@ false + + Skirmish + formations/skirmish.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml b/binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml index 669ec95e47..24c7ba8edb 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml @@ -1,11 +1,9 @@ - formations/syntagma.png 16 Infantry Pikemen only, requires at least 16. Hero Champion Elite Advanced Basic - Syntagma square 0.86 0.55 @@ -27,4 +25,8 @@ false + + Syntagma + formations/syntagma.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/testudo.xml b/binaries/data/mods/public/simulation/templates/special/formations/testudo.xml index 4078bb0c6d..16557a36e5 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/testudo.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/testudo.xml @@ -1,11 +1,9 @@ - formations/testudo.png 16 Melee Infantry only, requires at least 16. Hero Champion Elite Advanced Basic - Testudo square 0.5 0.4 @@ -67,4 +65,8 @@ false + + Testudo + formations/testudo.png + diff --git a/binaries/data/mods/public/simulation/templates/special/formations/wedge.xml b/binaries/data/mods/public/simulation/templates/special/formations/wedge.xml index 9159a4dc0a..281e22a8f0 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/wedge.xml +++ b/binaries/data/mods/public/simulation/templates/special/formations/wedge.xml @@ -1,10 +1,8 @@ - formations/wedge.png 6 Cavalry only, requires at least 6. - Wedge triangle true 0.25 @@ -14,4 +12,8 @@ false + + Wedge + formations/wedge.png + diff --git a/binaries/data/mods/public/simulation/templates/template_formation.xml b/binaries/data/mods/public/simulation/templates/template_formation.xml index 443521d0df..f19adb5a67 100644 --- a/binaries/data/mods/public/simulation/templates/template_formation.xml +++ b/binaries/data/mods/public/simulation/templates/template_formation.xml @@ -1,11 +1,6 @@ + true + true diff --git a/source/tools/entity/checkrefs.py b/source/tools/entity/checkrefs.py index cdb4e18a41..ecc9dd9255 100644 --- a/source/tools/entity/checkrefs.py +++ b/source/tools/entity/checkrefs.py @@ -245,7 +245,10 @@ class CheckRefs: if entity.find('Identity') is not None: icon = entity.find('Identity').find('Icon') if icon is not None and icon.text: - self.deps.append((str(fp), f'art/textures/ui/session/portraits/{icon.text}')) + if entity.find('Formation') is not None: + self.deps.append((str(fp), f'art/textures/ui/session/icons/{icon.text}')) + else: + self.deps.append((str(fp), f'art/textures/ui/session/portraits/{icon.text}')) if entity.find('Heal') is not None and entity.find('Heal').find('RangeOverlay') is not None: range_overlay = entity.find('Heal').find('RangeOverlay') for tag in ('LineTexture', 'LineTextureMask'):