Index: ps/trunk/binaries/data/mods/public/art/actors/units/athenians/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/athenians/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/athenians/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -14,7 +14,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -28,16 +38,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans_spec.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/carthaginians/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/carthaginians/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/carthaginians/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
@@ -17,7 +17,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -31,16 +41,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/celts/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/celts/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/celts/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -13,7 +13,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -27,16 +37,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/global/ninja_female.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/global/ninja_female.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/global/ninja_female.xml
@@ -15,7 +15,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -30,16 +40,6 @@
-
-
-
-
-
-
-
-
-
-
basic_specmap.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/hellenes/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/hellenes/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/hellenes/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
@@ -53,7 +53,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -67,16 +77,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/hellenes/female_gorgo.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/hellenes/female_gorgo.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/hellenes/female_gorgo.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -13,7 +13,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -27,15 +37,5 @@
-
-
-
-
-
-
-
-
-
-
Index: ps/trunk/binaries/data/mods/public/art/actors/units/iberians/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/iberians/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/iberians/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
@@ -18,7 +18,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -32,16 +42,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/macedonians/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/macedonians/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/macedonians/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -14,7 +14,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -28,16 +38,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans_spec.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/mauryans/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/mauryans/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/mauryans/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
@@ -53,7 +53,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -67,16 +77,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans_spec.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/persians/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/persians/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/persians/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
@@ -23,7 +23,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -37,16 +47,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/ptolemies/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/ptolemies/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/ptolemies/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -14,7 +14,17 @@
-
+
+
+
+
+
+
+
+
+
+
+
@@ -28,16 +38,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans_spec.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/ptolemies/hero_cleopatra.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/ptolemies/hero_cleopatra.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/ptolemies/hero_cleopatra.xml
@@ -15,9 +15,9 @@
-
+
@@ -31,16 +31,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/romans/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/romans/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/romans/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -16,7 +16,17 @@
+
+
+
+
+
+
+
+
+
+
@@ -31,16 +41,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/seleucids/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/seleucids/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/seleucids/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -14,6 +14,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -28,16 +38,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans_spec.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/spartans/female_citizen.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/spartans/female_citizen.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/spartans/female_citizen.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_tunic_short.dae
@@ -14,6 +14,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -28,16 +38,6 @@
-
-
-
-
-
-
-
-
-
-
player_trans_spec.xml
Index: ps/trunk/binaries/data/mods/public/art/actors/units/spartans/female_gorgo.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/actors/units/spartans/female_gorgo.xml
+++ ps/trunk/binaries/data/mods/public/art/actors/units/spartans/female_gorgo.xml
@@ -2,7 +2,7 @@
-
+
skeletal/new/f_dress.dae
@@ -13,6 +13,16 @@
+
+
+
+
+
+
+
+
+
+
@@ -27,15 +37,5 @@
-
-
-
-
-
-
-
-
-
-
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/carry_food.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/carry_food.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/carry_food.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/carry_meat.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/carry_meat.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/carry_meat.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/carry_metal.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/carry_metal.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/carry_metal.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/carry_stone.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/carry_stone.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/carry_stone.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/carry_wood.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/carry_wood.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/carry_wood.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_food.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_food.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_food.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_food_idle.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_food_idle.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_food_idle.xml
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_meat.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_meat.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_meat.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_meat_idle.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_meat_idle.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_meat_idle.xml
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_metal.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_metal.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_metal.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_metal_idle.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_metal_idle.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_metal_idle.xml
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_stone.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_stone.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_stone.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_stone_idle.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_stone_idle.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_stone_idle.xml
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_wood.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_wood.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_wood.xml
@@ -1,6 +1,7 @@
-
+
+
Index: ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_wood_idle.xml
===================================================================
--- ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_wood_idle.xml
+++ ps/trunk/binaries/data/mods/public/art/variants/biped/female_carry_wood_idle.xml
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
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
@@ -638,7 +638,7 @@
Engine.QueryInterface(this.entity, IID_ResourceGatherer).CommitResources(dropsiteTypes);
// Stop showing the carried resource animation.
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
// Our next order should always be a Gather,
// so just switch back to that order
@@ -1606,7 +1606,7 @@
"WALKINGANDFIGHTING": {
"enter": function () {
// Show weapons rather than carried resources.
- this.SetGathererAnimationOverride(true);
+ this.SetAnimationVariant("combat");
this.StartTimer(0, 1000);
this.SelectAnimation("move");
@@ -1671,7 +1671,7 @@
"ESCORTING": {
"enter": function () {
// Show weapons rather than carried resources.
- this.SetGathererAnimationOverride(true);
+ this.SetAnimationVariant("combat");
this.StartTimer(0, 1000);
this.SelectAnimation("move");
@@ -1805,7 +1805,7 @@
"APPROACHING": {
"enter": function () {
// Show weapons rather than carried resources.
- this.SetGathererAnimationOverride(true);
+ this.SetAnimationVariant("combat");
this.SelectAnimation("move");
this.StartTimer(1000, 1000);
@@ -1813,7 +1813,7 @@
"leave": function() {
// Show carried resources when walking.
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
this.StopTimer();
},
@@ -2043,7 +2043,7 @@
"CHASING": {
"enter": function () {
// Show weapons rather than carried resources.
- this.SetGathererAnimationOverride(true);
+ this.SetAnimationVariant("combat");
this.SelectAnimation("move");
var cmpUnitAI = Engine.QueryInterface(this.order.data.target, IID_UnitAI);
@@ -2068,7 +2068,7 @@
// Reset normal speed in case it was changed
this.SetMoveSpeed(this.GetWalkSpeed());
// Show carried resources when walking.
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
this.StopTimer();
},
@@ -2315,6 +2315,7 @@
// off to a different target.)
if (this.CheckTargetRange(this.gatheringTarget, IID_ResourceGatherer))
{
+ this.SetDefaultAnimationVariant();
var typename = "gather_" + this.order.data.type.specific;
this.SelectAnimation(typename, false, 1.0, typename);
}
@@ -2332,7 +2333,7 @@
delete this.gatheringTarget;
// Show the carried resource, if we've gathered anything.
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
},
"Timer": function(msg) {
@@ -2631,7 +2632,7 @@
cmpResourceGatherer.CommitResources(dropsiteTypes);
// Stop showing the carried resource animation.
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
// Our next order should always be a Gather,
// so just switch back to that order
@@ -2799,7 +2800,7 @@
{
let dropsiteTypes = cmpResourceDropsite.GetTypes();
cmpResourceGatherer.CommitResources(dropsiteTypes);
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
}
// We finished building it.
@@ -2808,7 +2809,7 @@
{
if (this.CanReturnResource(msg.data.newentity, true))
{
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
this.PushOrderFront("ReturnResource", { "target": msg.data.newentity, "force": false });
}
return;
@@ -2827,7 +2828,7 @@
{
if (this.CanReturnResource(msg.data.newentity, true))
{
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
this.PushOrder("ReturnResource", { "target": msg.data.newentity, "force": false });
}
this.PerformGather(msg.data.newentity, true, false);
@@ -2973,7 +2974,7 @@
if (cmpResourceGatherer)
{
cmpResourceGatherer.CommitResources(dropsiteTypes);
- this.SetGathererAnimationOverride();
+ this.SetDefaultAnimationVariant();
}
}
@@ -4244,37 +4245,51 @@
}
};
-UnitAI.prototype.SetGathererAnimationOverride = function(disable)
+/*
+ * Set a visualActor animation variant.
+ * By changing the animation variant, you can change animations based on unitAI state.
+ * If there are no specific variants or the variant doesn't exist in the actor,
+ * the actor fallbacks to any existing animation.
+ * @param type if present, switch to a specific animation variant.
+ */
+UnitAI.prototype.SetAnimationVariant = function(type)
{
- var cmpResourceGatherer = Engine.QueryInterface(this.entity, IID_ResourceGatherer);
- if (!cmpResourceGatherer)
- return;
-
- var cmpVisual = Engine.QueryInterface(this.entity, IID_Visual);
+ let cmpVisual = Engine.QueryInterface(this.entity, IID_Visual);
if (!cmpVisual)
return;
- // Remove the animation override, so that weapons are shown again.
- if (disable)
+ cmpVisual.SetVariant("animationVariant", type);
+ return;
+};
+
+/*
+ * Reset the animation variant to default behavior
+ * Default behavior is to pick a resource-carrying variant if resources are being carried.
+ * Otherwise pick nothing in particular.
+ */
+UnitAI.prototype.SetDefaultAnimationVariant = function()
+{
+ let cmpResourceGatherer = Engine.QueryInterface(this.entity, IID_ResourceGatherer);
+ if (!cmpResourceGatherer)
{
- cmpVisual.ResetMoveAnimation("walk");
+ this.SetAnimationVariant("");
return;
}
- // Work out what we're carrying, in order to select an appropriate animation
- var type = cmpResourceGatherer.GetLastCarriedType();
+ let type = cmpResourceGatherer.GetLastCarriedType();
if (type)
{
- var typename = "carry_" + type.generic;
+ let typename = "carry_" + type.generic;
// Special case for meat
if (type.specific == "meat")
typename = "carry_" + type.specific;
- cmpVisual.ReplaceMoveAnimation("walk", typename);
+ this.SetAnimationVariant(typename);
+ return;
}
- else
- cmpVisual.ResetMoveAnimation("walk");
+
+ this.SetAnimationVariant("");
};
UnitAI.prototype.SelectAnimation = function(name, once, speed, sound)