Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag.xml
===================================================================
--- binaries/data/mods/public/art/actors/props/special/common/waypoint_flag.xml
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
- props/waypoint_flag.dae
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- basic_trans.xml
-
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_athen.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_athen.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_brit.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_brit.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_cart.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_cart.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_gaul.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_gaul.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_iber.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_iber.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_kush.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_kush.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_mace.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_mace.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_maur.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_maur.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_pers.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_pers.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_ptol.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_ptol.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_rome.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_rome.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_sele.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_sele.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_spart.xml
===================================================================
--- /dev/null
+++ binaries/data/mods/public/art/actors/props/special/common/waypoint_flag_spart.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+ props/waypoint_flag.dae
+
+
+
+
+
+ basic_trans.xml
+
Index: binaries/data/mods/public/simulation/templates/special/rallypoint.xml
===================================================================
--- binaries/data/mods/public/simulation/templates/special/rallypoint.xml
+++ binaries/data/mods/public/simulation/templates/special/rallypoint.xml
@@ -4,6 +4,6 @@
true
- props/special/common/waypoint_flag.xml
+ props/special/common/waypoint_flag_{civ}.xml
Index: source/simulation2/components/CCmpVisualActor.cpp
===================================================================
--- source/simulation2/components/CCmpVisualActor.cpp
+++ source/simulation2/components/CCmpVisualActor.cpp
@@ -467,7 +467,7 @@
if (!m_Unit || !m_Unit->GetAnimation() || !m_Unit->GetID())
return;
- m_Unit->GetAnimation()->SetAnimationState(m_AnimName, m_AnimOnce, m_AnimSpeed.ToFloat(), m_AnimDesync.ToFloat(), m_SoundGroup.c_str());
+ m_Unit->GetAnimation()->SetAnimationState(m_AnimName, m_AnimOnce, m_AnimSpeed.ToFloat(), m_AnimDesync.ToFloat(), m_SoundGroup.c_str());
}
virtual void SelectMovementAnimation(const std::string& name, fixed speed)
@@ -568,17 +568,26 @@
void CCmpVisualActor::ParseActorName(std::wstring base)
{
CmpPtr cmpIdentity(GetEntityHandle());
- const std::wstring pattern = L"{phenotype}";
+ const std::wstring phenotypePattern = L"{phenotype}";
if (cmpIdentity)
{
- size_t pos = base.find(pattern);
+ size_t pos = base.find(phenotypePattern);
while (pos != std::string::npos)
{
- base.replace(pos, pattern.size(), cmpIdentity->GetPhenotype());
- pos = base.find(pattern, pos + pattern.size());
+ base.replace(pos, phenotypePattern.size(), cmpIdentity->GetPhenotype());
+ pos = base.find(phenotypePattern, pos + phenotypePattern.size());
+ }
+ }
+ const std::wstring civPattern = L"{civ}";
+ if (cmpIdentity)
+ {
+ size_t pos = base.find(civPattern);
+ while (pos != std::string::npos)
+ {
+ base.replace(pos, civPattern.size(), cmpIdentity->GetCiv());
+ pos = base.find(civPattern, pos + civPattern.size());
}
}
-
m_ActorName = base;
}
Index: source/simulation2/components/ICmpIdentity.h
===================================================================
--- source/simulation2/components/ICmpIdentity.h
+++ source/simulation2/components/ICmpIdentity.h
@@ -31,6 +31,8 @@
virtual std::wstring GetPhenotype() = 0;
+ virtual std::wstring GetCiv() = 0;
+
DECLARE_INTERFACE_TYPE(Identity)
};
Index: source/simulation2/components/ICmpIdentity.cpp
===================================================================
--- source/simulation2/components/ICmpIdentity.cpp
+++ source/simulation2/components/ICmpIdentity.cpp
@@ -40,6 +40,11 @@
{
return m_Script.Call("GetPhenotype");
}
+
+ virtual std::wstring GetCiv()
+ {
+ return m_Script.Call("GetCiv");
+ }
};
REGISTER_COMPONENT_SCRIPT_WRAPPER(IdentityScripted)