Index: ps/trunk/binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/props/units/capes/swordsman_shield_ready_centurion.xml +++ ps/trunk/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: ps/trunk/binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/props/units/helmets/rome_helmet_coolus.xml +++ ps/trunk/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: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_a.xml @@ -31,9 +31,6 @@ - - - @@ -47,24 +44,14 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_b.xml @@ -22,9 +22,6 @@ - - - @@ -38,24 +35,14 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_spearman_e.xml @@ -31,9 +31,6 @@ - - - @@ -47,24 +44,14 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_a.xml @@ -36,9 +36,6 @@ - - - @@ -52,20 +49,12 @@ - - - - - - - - - - - - - - + + + + + + player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_b.xml @@ -36,9 +36,6 @@ - - - @@ -52,18 +49,12 @@ - - - - - - - - - - - - + + + + + + player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c.xml @@ -2,7 +2,7 @@ - + @@ -12,6 +12,17 @@ + + + + + + + + + + + skeletal/new/m_armor_tunic_long.dae @@ -49,24 +60,5 @@ - - - - - - - - - - - - - - - - - - - player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c2.xml @@ -15,25 +15,14 @@ - - - - - - - - - - - - - - - - - + + + + + + player_trans_spec.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c3.xml @@ -14,23 +14,14 @@ - - - - - - - - - - - - - - - + + + + + + player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_c4.xml @@ -16,29 +16,18 @@ - - - - - - - - - - - - - - - - - + + + + + + player_trans_spec.xml Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml +++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/infantry_swordsman_e.xml @@ -31,9 +31,6 @@ - - - @@ -47,20 +44,12 @@ - - - - - - - - - - - - - - + + + + + + player_trans.xml Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_back.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_attack_front.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_back.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_front.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_back.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/anti_cavalry_idle_front.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front_left.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_front_right.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_left.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_front_right.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_left.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_right.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_idle_top.xml @@ -1,5 +0,0 @@ - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_left.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_right.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_top.xml @@ -0,0 +1,9 @@ + + + + + + + + + Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front.xml @@ -1,7 +0,0 @@ - - - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_left.xml @@ -1,7 +0,0 @@ - - - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_front_right.xml @@ -1,7 +0,0 @@ - - - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_left.xml @@ -1,7 +0,0 @@ - - - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_right.xml @@ -1,7 +0,0 @@ - - - - - - - Index: ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml =================================================================== --- ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml +++ ps/trunk/binaries/data/mods/public/art/variants/biped/formations/testudo_walk_top.xml @@ -1,10 +0,0 @@ - - - - - - - - - - Index: ps/trunk/binaries/data/mods/public/simulation/components/Formation.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/components/Formation.js +++ ps/trunk/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: ps/trunk/binaries/data/mods/public/simulation/components/UnitAI.js =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/components/UnitAI.js +++ ps/trunk/binaries/data/mods/public/simulation/components/UnitAI.js @@ -1250,6 +1250,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() { @@ -1263,16 +1272,9 @@ "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 @@ 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 @@ 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 Index: ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/anti_cavalry.xml +++ ps/trunk/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: ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/phalanx.xml +++ ps/trunk/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: ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/syntagma.xml +++ ps/trunk/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: ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/testudo.xml =================================================================== --- ps/trunk/binaries/data/mods/public/simulation/templates/special/formations/testudo.xml +++ ps/trunk/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 Index: ps/trunk/source/simulation2/components/CCmpVisualActor.cpp =================================================================== --- ps/trunk/source/simulation2/components/CCmpVisualActor.cpp +++ ps/trunk/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 @@ 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 @@ 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 @@ 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 @@ 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); Index: ps/trunk/source/simulation2/components/ICmpVisual.h =================================================================== --- ps/trunk/source/simulation2/components/ICmpVisual.h +++ ps/trunk/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 @@ -106,21 +106,6 @@ 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 */ Index: ps/trunk/source/simulation2/components/ICmpVisual.cpp =================================================================== --- ps/trunk/source/simulation2/components/ICmpVisual.cpp +++ ps/trunk/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("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)