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