Index: binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml
===================================================================
--- binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml
+++ binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml
@@ -11,14 +11,17 @@
+
+
+
+
+
+
-
-
-
@@ -33,19 +36,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml
===================================================================
--- binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml
+++ binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml
@@ -37,7 +37,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
@@ -53,7 +53,7 @@
-
+
@@ -61,7 +61,7 @@
-
+
@@ -69,7 +69,7 @@
-
+
@@ -77,7 +77,7 @@
-
+
@@ -85,7 +85,7 @@
-
+
@@ -93,7 +93,7 @@
-
+
Index: binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml
@@ -31,9 +31,6 @@
-
-
-
@@ -47,24 +44,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
player_trans.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml
@@ -22,9 +22,6 @@
-
-
-
@@ -38,24 +35,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
player_trans.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml
@@ -31,9 +31,6 @@
-
-
-
@@ -47,24 +44,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
player_trans.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml
@@ -36,9 +36,6 @@
-
-
-
@@ -52,20 +49,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
player_trans.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml
@@ -36,9 +36,6 @@
-
-
-
@@ -52,18 +49,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
player_trans.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml
@@ -2,7 +2,7 @@
-
+
@@ -11,6 +11,17 @@
+
+
+
+
+
+
+
+
+
+
+
skeletal/new/m_armor_tunic_long.dae
@@ -49,24 +60,5 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml
@@ -15,25 +15,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
player_trans_spec.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml
@@ -14,23 +14,14 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
player_trans.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml
@@ -16,29 +16,18 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
player_trans_spec.xml
Index: binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml
===================================================================
--- binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml
+++ binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml
@@ -31,9 +31,6 @@
-
-
-
@@ -47,20 +44,12 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
player_trans.xml
Index: binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
Index: binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml
===================================================================
--- binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
Index: binaries/data/mods/public/simulation/components/Formation.js
===================================================================
--- binaries/data/mods/public/simulation/components/Formation.js
+++ binaries/data/mods/public/simulation/components/Formation.js
@@ -62,13 +62,8 @@
"" +
"" +
"" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
- "" +
+ "" +
+ "" +
"";
var g_ColumnDistanceThreshold = 128; // distance at which we'll switch between column/box formations
@@ -90,12 +85,10 @@
this.maxRows = +(this.template.MaxRows || 0);
this.centerGap = +(this.template.CenterGap || 0);
- var animations = this.template.Animations;
- this.animations = {};
- for (var animationName in animations)
+ this.animations = [];
+ if (this.template.Animations)
{
- var differentAnimations = animations[animationName].split(/\s*;\s*/);
- this.animations[animationName] = [];
+ let differentAnimations = this.template.Animations.split(/\s*;\s*/);
// loop over the different rectangulars that will map to different animations
for (var rectAnimation of differentAnimations)
{
@@ -106,7 +99,7 @@
var minRow, maxRow, minColumn, maxColumn;
[minRow, maxRow] = rows.split(/\s*\.\.\s*/);
[minColumn, maxColumn] = columns.split(/\s*\.\.\s*/);
- this.animations[animationName].push({
+ this.animations.push({
"minRow": +minRow,
"maxRow": +maxRow,
"minColumn": +minColumn,
@@ -206,16 +199,14 @@
/**
* Get the formation animation for a certain member of this formation
* @param entity The entity ID to get the animation for
- * @param defaultAnimation The name of the default wanted animation for the entity
- * E.g. "walk", "idle" ...
* @return The name of the transformed animation as defined in the template
- * E.g. "walk_testudo_row1"
+ * E.g. "testudo_row1"
*/
-Formation.prototype.GetFormationAnimation = function(entity, defaultAnimation)
+Formation.prototype.GetFormationAnimation = function(entity)
{
- var animationGroup = this.animations[defaultAnimation];
- if (!animationGroup || this.columnar || !this.memberPositions[entity])
- return defaultAnimation;
+ var animationGroup = this.animations;
+ if (!animationGroup.length || this.columnar || !this.memberPositions[entity])
+ return "formation";
var row = this.memberPositions[entity].row;
var column = this.memberPositions[entity].column;
for (var i = 0; i < animationGroup.length; ++i)
@@ -246,7 +237,7 @@
return animationGroup[i].animation;
}
- return defaultAnimation;
+ return "formation";
};
/**
Index: binaries/data/mods/public/simulation/components/UnitAI.js
===================================================================
--- binaries/data/mods/public/simulation/components/UnitAI.js
+++ binaries/data/mods/public/simulation/components/UnitAI.js
@@ -1244,6 +1244,15 @@
}
},
+ "enter": function() {
+ let cmpFormation = Engine.QueryInterface(this.formationController, IID_Formation);
+ if (cmpFormation)
+ this.SetAnimationVariant(cmpFormation.GetFormationAnimation(this.entity));
+ },
+
+ "leave": function() {
+ this.SetDefaultAnimationVariant();
+ },
"IDLE": {
"enter": function() {
@@ -1260,13 +1269,6 @@
var cmpUnitMotion = Engine.QueryInterface(this.entity, IID_UnitMotion);
cmpUnitMotion.MoveToFormationOffset(this.order.data.target, this.order.data.x, this.order.data.z);
- var cmpFormation = Engine.QueryInterface(this.formationController, IID_Formation);
- var cmpVisual = Engine.QueryInterface(this.entity, IID_Visual);
- if (cmpFormation && cmpVisual)
- {
- cmpVisual.ReplaceMoveAnimation("walk", cmpFormation.GetFormationAnimation(this.entity, "walk"));
- cmpVisual.ReplaceMoveAnimation("run", cmpFormation.GetFormationAnimation(this.entity, "run"));
- }
this.SelectAnimation("move");
},
@@ -1280,13 +1282,6 @@
if (this.FinishOrder())
return;
- let cmpVisual = Engine.QueryInterface(this.entity, IID_Visual);
- if (cmpVisual)
- {
- cmpVisual.ResetMoveAnimation("walk");
- cmpVisual.ResetMoveAnimation("run");
- }
-
let cmpFormation = Engine.QueryInterface(this.formationController, IID_Formation);
if (cmpFormation)
cmpFormation.SetInPosition(this.entity);
Index: binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml
+++ binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml
@@ -15,14 +15,8 @@
2
0.8
-
- 1..1,1..-1: idle_anti_cavalry_front;
- 2..2,1..-1: idle_anti_cavalry_back
-
-
- 1..1,1..-1: attack_anti_cavalry_front;
- 2..2,1..-1: attack_anti_cavalry_back
-
+ 1..1,1..-1: anti_cavalry_front;
+ 2..2,1..-1: anti_cavalry_back
1
Index: binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml
+++ binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml
@@ -12,26 +12,9 @@
20
8
-
- 1..2,1..-1: phalanx_idle;
- 3..4,1..-1: phalanx_idle;
- 5..6,1..-1: phalanx_back_idle
-
-
- 1..2,1..-1: phalanx_walk;
- 3..4,1..-1: phalanx_walk;
- 5..6,1..-1: phalanx_walk
-
-
- 1..2,1..-1: phalanx_run;
- 3..4,1..-1: phalanx_run;
- 5..6,1..-1: phalanx_run
-
-
- 1..2,1..-1: phalanx_attack;
- 3..4,1..-1: phalanx_attack;
- 5..6,1..-1: phalanx_idle
-
+ 1..2,1..-1: phalanx_front;
+ 3..4,1..-1: phalanx_center;
+ 5..6,1..-1: phalanx_back
Index: binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml
+++ binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml
@@ -13,21 +13,9 @@
8
8
-
- 1..2,1..-1: syntagma_front_idle;
- 3..4,1..-1: syntagma_med_idle;
- 4..8,1..-1: syntagma_back_idle
-
-
- 1..2,1..-1: syntagma_front_walk;
- 3..4,1..-1: syntagma_med_walk;
- 4..8,1..-1: syntagma_back_walk
-
-
- 1..2,1..-1: syntagma_front_run;
- 3..4,1..-1: syntagma_med_run;
- 4..8,1..-1: syntagma_back_run
-
+ 1..2,1..-1: syntagma_front;
+ 3..4,1..-1: syntagma_center;
+ 5..8,1..-1: syntagma_back
0.15
Index: binaries/data/mods/public/simulation/templates/special/formations/testudo.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/special/formations/testudo.xml
+++ binaries/data/mods/public/simulation/templates/special/formations/testudo.xml
@@ -13,22 +13,12 @@
8
8
-
- 1..1,2..7: idle_testudo_front;
- 1..1,1..1: idle_testudo_front_left;
- 1..1,8..8: idle_testudo_front_right;
- 2..-1,8..8: idle_testudo_right;
- 2..-1,2..-1: idle_testudo_top;
- 2..-1,1..1: idle_testudo_left
-
-
- 1..1,2..7: walk_testudo_front;
- 1..1,1..1: walk_testudo_front_left;
- 1..1,8..8: walk_testudo_front_right;
- 2..-1,8..8: walk_testudo_right;
- 2..-1,2..-1: walk_testudo_top;
- 2..-1,1..1: walk_testudo_left
-
+ 1..1,2..7: testudo_front;
+ 1..1,1..1: testudo_front_left;
+ 1..1,8..8: testudo_front_right;
+ 2..-1,8..8: testudo_right;
+ 2..-1,2..-1: testudo_top;
+ 2..-1,1..1: testudo_left
0.25