diff --git a/binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml b/binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml index 6a763068c4..6d55e21e96 100644 --- a/binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml +++ b/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 diff --git a/binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml b/binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml index 0183b37be3..2462351cc9 100644 --- a/binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml +++ b/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 @@ - + diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml index 510a25abf6..c11ff20761 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml @@ -31,9 +31,6 @@ - - - @@ -47,24 +44,14 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + player_trans.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml index 51df389bee..b7879aefaf 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml @@ -22,9 +22,6 @@ - - - @@ -38,24 +35,14 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + player_trans.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml index cb94812102..4cc1eed960 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml @@ -31,9 +31,6 @@ - - - @@ -47,24 +44,14 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + player_trans.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml index 7c11500608..a750a7b740 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml @@ -36,9 +36,6 @@ - - - @@ -52,20 +49,12 @@ - - - - - - - - - - - - - - + + + + + + player_trans.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml index 3e67272b54..36e762678d 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml @@ -36,9 +36,6 @@ - - - @@ -52,18 +49,12 @@ - - - - - - - - - - - - + + + + + + player_trans.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml index 164edcf003..d215596047 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml +++ b/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 diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml index 604770ccb7..262f30d1de 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml @@ -15,25 +15,14 @@ - - - - - - - - - - - - - - - - - + + + + + + player_trans_spec.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml index a0878a6087..cc132c91f7 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml @@ -14,23 +14,14 @@ - - - - - - - - - - - - - - - + + + + + + player_trans.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml index e20391b9a5..a66a2a9309 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml @@ -16,29 +16,18 @@ - - - - - - - - - - - - - - - - - + + + + + + player_trans_spec.xml diff --git a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml index febcddf335..a3b2b6960c 100644 --- a/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml +++ b/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml @@ -31,9 +31,6 @@ - - - @@ -47,20 +44,12 @@ - - - - - - - - - - - - - - + + + + + + player_trans.xml diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml deleted file mode 100644 index 0c236b0d64..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml deleted file mode 100644 index fbc4bb0e99..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml new file mode 100644 index 0000000000..b19f4184b2 --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml new file mode 100644 index 0000000000..3ed920fa1f --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml deleted file mode 100644 index 1db14fdf68..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml b/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml deleted file mode 100644 index 9da478978a..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml new file mode 100644 index 0000000000..ec2817fe67 --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml new file mode 100644 index 0000000000..c7967b623a --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml new file mode 100644 index 0000000000..973e3d6dda --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml deleted file mode 100644 index dfc6f126c7..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml deleted file mode 100644 index 9e716f3549..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml deleted file mode 100644 index 3166f8915c..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml deleted file mode 100644 index e36b00576f..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml deleted file mode 100644 index 51a54f1d5b..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml deleted file mode 100644 index df12dd2530..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml new file mode 100644 index 0000000000..dc701e91e4 --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml new file mode 100644 index 0000000000..75718c8883 --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml new file mode 100644 index 0000000000..120c7d6183 --- /dev/null +++ b/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml deleted file mode 100644 index e50139eb0f..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml deleted file mode 100644 index 8eedeb3df5..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml deleted file mode 100644 index 26ffecc515..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml deleted file mode 100644 index d12218c560..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml deleted file mode 100644 index 06b68b5ac9..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml b/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml deleted file mode 100644 index 729c321da0..0000000000 --- a/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/binaries/data/mods/public/simulation/components/Formation.js b/binaries/data/mods/public/simulation/components/Formation.js index 1880dd3784..e274dc0218 100644 --- a/binaries/data/mods/public/simulation/components/Formation.js +++ b/binaries/data/mods/public/simulation/components/Formation.js @@ -62,13 +62,8 @@ Formation.prototype.Schema = "" + "" + "" + - "" + - "" + - "" + - "" + - "" + - "" + - "" + + "" + + "" + ""; var g_ColumnDistanceThreshold = 128; // distance at which we'll switch between column/box formations @@ -90,12 +85,10 @@ Formation.prototype.Init = function() 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 @@ Formation.prototype.Init = function() 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 @@ Formation.prototype.GetPrimaryMember = function() /** * 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 @@ Formation.prototype.GetFormationAnimation = function(entity, defaultAnimation) return animationGroup[i].animation; } - return defaultAnimation; + return "formation"; }; /** diff --git a/binaries/data/mods/public/simulation/components/UnitAI.js b/binaries/data/mods/public/simulation/components/UnitAI.js index 53844d902e..70050ccdfb 100644 --- a/binaries/data/mods/public/simulation/components/UnitAI.js +++ b/binaries/data/mods/public/simulation/components/UnitAI.js @@ -1250,6 +1250,15 @@ UnitAI.prototype.UnitFsmSpec = { } }, + "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() { @@ -1263,16 +1272,9 @@ UnitAI.prototype.UnitFsmSpec = { "WALKING": { "enter": function() { - var cmpUnitMotion = Engine.QueryInterface(this.entity, IID_UnitMotion); + let 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"); }, @@ -1286,13 +1288,6 @@ UnitAI.prototype.UnitFsmSpec = { 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); @@ -1861,19 +1856,12 @@ UnitAI.prototype.UnitFsmSpec = { prepare = Math.max(prepare, repeatLeft); } + if (!this.IsFormationMember()) + this.SetAnimationVariant("combat"); + this.oldAttackType = this.order.data.attackType; // add prefix + no capital first letter for attackType - let animationName = "attack_" + this.order.data.attackType.toLowerCase(); - if (this.IsFormationMember()) - { - let cmpFormationController = Engine.QueryInterface(this.formationController, IID_Formation); - if (cmpFormationController) - animationName = cmpFormationController.GetFormationAnimation(this.entity, animationName); - } - - this.SetAnimationVariant("combat"); - - this.SelectAnimation(animationName); + this.SelectAnimation("attack_" + this.order.data.attackType.toLowerCase()); this.SetAnimationSync(prepare, this.attackTimers.repeat); this.StartTimer(prepare, this.attackTimers.repeat); // TODO: we should probably only bother syncing projectile attacks, not melee 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 97fafb083d..eba9d32af9 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 @@ -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 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 4c45ea6c4b..a7e52e1c35 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml +++ b/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 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 b0d0a1fcd0..1206c625ce 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml +++ b/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 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 52b04d33ec..24c72e37c2 100644 --- a/binaries/data/mods/public/simulation/templates/special/formations/testudo.xml +++ b/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 diff --git a/source/simulation2/components/CCmpVisualActor.cpp b/source/simulation2/components/CCmpVisualActor.cpp index a87f7c831c..2f37f0fab9 100644 --- a/source/simulation2/components/CCmpVisualActor.cpp +++ b/source/simulation2/components/CCmpVisualActor.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2019 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -74,8 +74,6 @@ private: fixed m_R, m_G, m_B; // shading color - std::map m_AnimOverride; - // Current animation state fixed m_AnimRunThreshold; // if non-zero this is the special walk/run mode std::string m_AnimName; @@ -228,8 +226,6 @@ public: serialize.NumberFixed_Unbounded("g", m_G); serialize.NumberFixed_Unbounded("b", m_B); - SerializeMap()(serialize, "anim overrides", m_AnimOverride); - serialize.NumberFixed_Unbounded("anim run threshold", m_AnimRunThreshold); serialize.StringASCII("anim name", m_AnimName, 0, 256); serialize.Bool("anim once", m_AnimOnce); @@ -462,18 +458,6 @@ public: m_Unit->GetAnimation()->SetAnimationState(m_AnimName, m_AnimOnce, m_AnimSpeed.ToFloat(), m_AnimDesync.ToFloat(), m_SoundGroup.c_str()); } - virtual void ReplaceMoveAnimation(const std::string& name, const std::string& replace) - { - m_AnimOverride[name] = replace; - } - - virtual void ResetMoveAnimation(const std::string& name) - { - std::map::const_iterator it = m_AnimOverride.find(name); - if (it != m_AnimOverride.end()) - m_AnimOverride.erase(name); - } - virtual void SelectMovementAnimation(fixed runThreshold) { m_AnimRunThreshold = runThreshold; @@ -797,10 +781,6 @@ void CCmpVisualActor::Update(fixed UNUSED(turnLength)) else name = speed < m_AnimRunThreshold ? "walk" : "run"; - std::map::const_iterator it = m_AnimOverride.find(name); - if (it != m_AnimOverride.end()) - name = it->second; - // Selecting the animation is going to reset the anim run threshold, so save it fixed runThreshold = m_AnimRunThreshold; SelectAnimation(name, false, speed); diff --git a/source/simulation2/components/ICmpVisual.cpp b/source/simulation2/components/ICmpVisual.cpp index 3993ce9779..e104dd14d8 100644 --- a/source/simulation2/components/ICmpVisual.cpp +++ b/source/simulation2/components/ICmpVisual.cpp @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2019 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -28,8 +28,6 @@ DEFINE_INTERFACE_METHOD_CONST_0("GetProjectileActor", std::wstring, ICmpVisual, DEFINE_INTERFACE_METHOD_CONST_0("GetProjectileLaunchPoint", CFixedVector3D, ICmpVisual, GetProjectileLaunchPoint) DEFINE_INTERFACE_METHOD_3("SelectAnimation", void, ICmpVisual, SelectAnimation, std::string, bool, fixed) DEFINE_INTERFACE_METHOD_1("SelectMovementAnimation", void, ICmpVisual, SelectMovementAnimation, fixed) -DEFINE_INTERFACE_METHOD_1("ResetMoveAnimation", void, ICmpVisual, ResetMoveAnimation, std::string) -DEFINE_INTERFACE_METHOD_2("ReplaceMoveAnimation", void, ICmpVisual, ReplaceMoveAnimation, std::string, std::string) DEFINE_INTERFACE_METHOD_1("SetAnimationSyncRepeat", void, ICmpVisual, SetAnimationSyncRepeat, fixed) DEFINE_INTERFACE_METHOD_1("SetAnimationSyncOffset", void, ICmpVisual, SetAnimationSyncOffset, fixed) DEFINE_INTERFACE_METHOD_4("SetShadingColor", void, ICmpVisual, SetShadingColor, fixed, fixed, fixed, fixed) diff --git a/source/simulation2/components/ICmpVisual.h b/source/simulation2/components/ICmpVisual.h index cb197eaf3b..ceea277475 100644 --- a/source/simulation2/components/ICmpVisual.h +++ b/source/simulation2/components/ICmpVisual.h @@ -1,4 +1,4 @@ -/* Copyright (C) 2018 Wildfire Games. +/* Copyright (C) 2019 Wildfire Games. * This file is part of 0 A.D. * * 0 A.D. is free software: you can redistribute it and/or modify @@ -105,21 +105,6 @@ public: */ virtual void SelectAnimation(const std::string& name, bool once, fixed speed) = 0; - /** - * Replaces a specified animation with another. Only affects the special speed-based - * animation determination behaviour. - * @param name Animation to match. - * @param replace Animation that should replace the matched animation. - */ - virtual void ReplaceMoveAnimation(const std::string& name, const std::string& replace) = 0; - - /** - * Ensures that the given animation will be used when it normally would be, - * removing reference to any animation that might replace it. - * @param name Animation name to remove from the replacement map. - */ - virtual void ResetMoveAnimation(const std::string& name) = 0; - /** * Start playing the walk/run animations, scaled to the unit's movement speed. * @param runThreshold movement speed at which to switch to the run animation