RenderInfantry uses facings

This commit is contained in:
Bob
2010-02-11 12:51:50 +13:00
parent 62198067d6
commit 31f4e23081
2 changed files with 42 additions and 277 deletions

View File

@@ -1,4 +1,5 @@
using OpenRa.Effects;
using OpenRa.Graphics;
namespace OpenRa.Traits
{
@@ -12,6 +13,7 @@ namespace OpenRa.Traits
public RenderInfantry(Actor self)
: base(self)
{
anim = new Animation( GetImage( self ), () => self.traits.Get<Unit>().Facing );
anim.PlayFacing("stand",
() => self.traits.Get<Unit>().Facing);
}
@@ -23,14 +25,11 @@ namespace OpenRa.Traits
var mobile = self.traits.Get<Mobile>();
if (float2.WithinEpsilon(self.CenterLocation, Util.CenterOfCell(mobile.toCell), 2)) return false;
var dir = Util.QuantizeFacing(self.traits.Get<Unit>().Facing, 8);
var prefix = IsProne(self) ? "crawl-" : "run-";
var seq = IsProne(self) ? "crawl" : "run";
if (anim.CurrentSequence.Name.StartsWith(prefix))
anim.ReplaceAnim(prefix + dir);
else
anim.PlayRepeating(prefix + dir);
if (anim.CurrentSequence.Name != seq)
anim.PlayRepeating(seq);
return true;
}
@@ -44,13 +43,12 @@ namespace OpenRa.Traits
public void Attacking(Actor self)
{
var dir = Util.QuantizeFacing(self.traits.Get<Unit>().Facing, 8);
inAttack = true;
var prefix = IsProne(self) ? "prone-shoot-" : "shoot-";
var seq = IsProne(self) ? "prone-shoot" : "shoot";
if (anim.HasSequence(prefix + dir))
anim.PlayThen(prefix + dir, () => inAttack = false);
if (anim.HasSequence(seq))
anim.PlayThen(seq, () => inAttack = false);
else if (anim.HasSequence("heal"))
anim.PlayThen("heal", () => inAttack = false);
}
@@ -63,10 +61,8 @@ namespace OpenRa.Traits
/* todo: idle anims, etc */
var dir = Util.QuantizeFacing(self.traits.Get<Unit>().Facing, 8);
if (IsProne(self))
anim.PlayFetchIndex("crawl-" + dir, () => 0); /* what a hack. */
anim.PlayFetchIndex("crawl", () => 0); /* what a hack. */
else
anim.PlayFacing("stand",
() => self.traits.Get<Unit>().Facing);

View File

@@ -305,47 +305,12 @@
<unit name="e1">
<sequence name="stand" start="0" length="8" />
<sequence name="stand2" start="8" length="8" />
<sequence name="run-0" start="16" length="6" />
<sequence name="run-1" start="22" length="6" />
<sequence name="run-2" start="28" length="6" />
<sequence name="run-3" start="34" length="6" />
<sequence name="run-4" start="40" length="6" />
<sequence name="run-5" start="46" length="6" />
<sequence name="run-6" start="52" length="6" />
<sequence name="run-7" start="58" length="6" />
<sequence name="shoot-0" start="64" length="8" />
<sequence name="shoot-1" start="72" length="8" />
<sequence name="shoot-2" start="80" length="8" />
<sequence name="shoot-3" start="88" length="8" />
<sequence name="shoot-4" start="96" length="8" />
<sequence name="shoot-5" start="104" length="8" />
<sequence name="shoot-6" start="112" length="8" />
<sequence name="shoot-7" start="120" length="8" />
<sequence name="stand3" start="128" length="16" />
<sequence name="crawl-0" start="144" length="4" />
<sequence name="crawl-1" start="148" length="4" />
<sequence name="crawl-2" start="152" length="4" />
<sequence name="crawl-3" start="156" length="4" />
<sequence name="crawl-4" start="160" length="4" />
<sequence name="crawl-5" start="164" length="4" />
<sequence name="crawl-6" start="168" length="4" />
<sequence name="crawl-7" start="172" length="4" />
<sequence name="standup-0" start="176" length="2" />
<sequence name="standup-1" start="178" length="2" />
<sequence name="standup-2" start="180" length="2" />
<sequence name="standup-3" start="182" length="2" />
<sequence name="standup-4" start="184" length="2" />
<sequence name="standup-5" start="186" length="2" />
<sequence name="standup-6" start="188" length="2" />
<sequence name="standup-7" start="190" length="2" />
<sequence name="prone-shoot-0" start="192" length="8" />
<sequence name="prone-shoot-1" start="200" length="8" />
<sequence name="prone-shoot-2" start="208" length="8" />
<sequence name="prone-shoot-3" start="216" length="8" />
<sequence name="prone-shoot-4" start="224" length="8" />
<sequence name="prone-shoot-5" start="232" length="8" />
<sequence name="prone-shoot-6" start="240" length="8" />
<sequence name="prone-shoot-7" start="248" length="8" />
<sequence name="run" start="16" length="6" facings="8" />
<sequence name="shoot" start="64" length="8" facings="8" />
<sequence name="crawl" start="144" length="4" facings="8" />
<sequence name="standup-0" start="176" length="2" facings="8" />
<sequence name="prone-shoot" start="192" length="8" facings="8" />
<sequence name="idle1" start="256" length="16" />
<sequence name="idle2" start="272" length="16" />
<sequence name="die1" start="288" length="8" />
@@ -412,70 +377,28 @@
<unit name="e3">
<sequence name="stand" start="0" length="8" />
<sequence name="stand2" start="8" length="8" />
<sequence name="run-0" start="16" length="6" />
<sequence name="run-1" start="22" length="6" />
<sequence name="run-2" start="28" length="6" />
<sequence name="run-3" start="34" length="6" />
<sequence name="run-4" start="40" length="6" />
<sequence name="run-5" start="46" length="6" />
<sequence name="run-6" start="52" length="6" />
<sequence name="run-7" start="58" length="6" />
<sequence name="shoot-0" start="64" length="8" />
<sequence name="shoot-1" start="72" length="8" />
<sequence name="shoot-2" start="80" length="8" />
<sequence name="shoot-3" start="88" length="8" />
<sequence name="shoot-4" start="96" length="8" />
<sequence name="shoot-5" start="104" length="8" />
<sequence name="shoot-6" start="112" length="8" />
<sequence name="shoot-7" start="120" length="8" />
<sequence name="run" start="16" length="6" facings="8" />
<sequence name="shoot" start="64" length="8" facings="8" />
<sequence name="die1" start="304" length="8" />
<sequence name="die2" start="312" length="8" />
<sequence name="die3" start="320" length="8" />
<sequence name="die4" start="328" length="12" />
<sequence name="die5" start="340" length="18" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="144" length="4" />
<sequence name="crawl-1" start="148" length="4" />
<sequence name="crawl-2" start="152" length="4" />
<sequence name="crawl-3" start="156" length="4" />
<sequence name="crawl-4" start="160" length="4" />
<sequence name="crawl-5" start="164" length="4" />
<sequence name="crawl-6" start="168" length="4" />
<sequence name="crawl-7" start="172" length="4" />
<sequence name="prone-shoot-0" start="192" length="10" />
<sequence name="prone-shoot-1" start="202" length="10" />
<sequence name="prone-shoot-2" start="212" length="10" />
<sequence name="prone-shoot-3" start="222" length="10" />
<sequence name="prone-shoot-4" start="232" length="10" />
<sequence name="prone-shoot-5" start="242" length="10" />
<sequence name="prone-shoot-6" start="252" length="10" />
<sequence name="prone-shoot-7" start="262" length="10" />
<sequence name="crawl" start="144" length="4" facings="8" />
<sequence name="prone-shoot" start="192" length="10" facings="8" />
</unit>
<unit name="e6">
<sequence name="stand" start="0" length="8" />
<sequence name="stand2" start="8" length="8" />
<sequence name="run-0" start="16" length="6" />
<sequence name="run-1" start="22" length="6" />
<sequence name="run-2" start="28" length="6" />
<sequence name="run-3" start="34" length="6" />
<sequence name="run-4" start="40" length="6" />
<sequence name="run-6" start="54" length="6" />
<sequence name="run-7" start="60" length="6" />
<sequence name="run" start="16" length="6" facings="8" />
<sequence name="die1" start="146" length="8" />
<sequence name="die2" start="154" length="8" />
<sequence name="die3" start="162" length="8" />
<sequence name="die4" start="170" length="12" />
<sequence name="die5" start="182" length="18" />
<sequence name="run-5" start="46" length="8" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="82" length="4" />
<sequence name="crawl-1" start="86" length="4" />
<sequence name="crawl-2" start="90" length="4" />
<sequence name="crawl-3" start="94" length="4" />
<sequence name="crawl-4" start="98" length="4" />
<sequence name="crawl-5" start="102" length="4" />
<sequence name="crawl-6" start="106" length="4" />
<sequence name="crawl-7" start="110" length="4" />
<sequence name="crawl" start="82" length="4" facings="8" />
</unit>
<unit name="ca">
<sequence name="idle" start="0" length="16" />
@@ -491,37 +414,16 @@
</unit>
<unit name="medi">
<sequence name="stand" start="0" length="8" />
<sequence name="run-0" start="8" length="6" />
<sequence name="run-1" start="14" length="6" />
<sequence name="run-2" start="20" length="6" />
<sequence name="run-3" start="26" length="6" />
<sequence name="run-4" start="32" length="6" />
<sequence name="run-5" start="38" length="6" />
<sequence name="run-6" start="44" length="6" />
<sequence name="run-7" start="50" length="6" />
<sequence name="run" start="8" length="6" facings="8" />
<sequence name="heal" start="56" length="58" />
<sequence name="standup-0" start="114" length="2" />
<sequence name="standup-1" start="116" length="2" />
<sequence name="standup-2" start="118" length="2" />
<sequence name="standup-3" start="120" length="2" />
<sequence name="standup-4" start="122" length="2" />
<sequence name="standup-5" start="124" length="2" />
<sequence name="standup-6" start="126" length="2" />
<sequence name="standup-7" start="128" length="2" />
<sequence name="standup" start="114" length="2" facings="8" />
<sequence name="die1" start="196" length="5" />
<sequence name="die2" start="201" length="8" />
<sequence name="die3" start="209" length="8" />
<sequence name="die4" start="217" length="12" />
<sequence name="die5" start="229" length="18" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="130" length="4" />
<sequence name="crawl-1" start="134" length="4" />
<sequence name="crawl-2" start="138" length="4" />
<sequence name="crawl-3" start="142" length="4" />
<sequence name="crawl-4" start="146" length="4" />
<sequence name="crawl-5" start="150" length="4" />
<sequence name="crawl-6" start="154" length="4" />
<sequence name="crawl-7" start="158" length="4" />
<sequence name="crawl" start="130" length="4" facings="8" />
</unit>
<unit name="explosion">
<sequence name="1" start="0" length="4" src="piff" />
@@ -712,58 +614,23 @@
<unit name="e2">
<sequence name="stand" start="0" length="8" />
<sequence name="stand2" start="8" length="8" />
<sequence name="run-0" start="16" length="6" />
<sequence name="run-1" start="22" length="6" />
<sequence name="run-2" start="28" length="6" />
<sequence name="run-3" start="34" length="6" />
<sequence name="run-4" start="40" length="6" />
<sequence name="run-5" start="46" length="6" />
<sequence name="run-6" start="52" length="6" />
<sequence name="run-7" start="58" length="6" />
<sequence name="shoot-0" start="64" length="20" />
<sequence name="shoot-1" start="84" length="20" />
<sequence name="shoot-2" start="104" length="20" />
<sequence name="shoot-3" start="124" length="20" />
<sequence name="shoot-4" start="144" length="20" />
<sequence name="shoot-5" start="164" length="20" />
<sequence name="shoot-6" start="184" length="20" />
<sequence name="shoot-7" start="204" length="20" />
<sequence name="run" start="16" length="6" facings="8" />
<sequence name="shoot" start="64" length="20" facings="8" />
<sequence name="die1" start="416" length="8" />
<sequence name="die2" start="424" length="8" />
<sequence name="die3" start="432" length="8" />
<sequence name="die4" start="440" length="12" />
<sequence name="die5" start="452" length="18" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="240" length="4" />
<sequence name="crawl-1" start="244" length="4" />
<sequence name="crawl-2" start="248" length="4" />
<sequence name="crawl-3" start="252" length="4" />
<sequence name="crawl-4" start="256" length="4" />
<sequence name="crawl-5" start="260" length="4" />
<sequence name="crawl-6" start="264" length="4" />
<sequence name="crawl-7" start="268" length="4" />
<sequence name="prone-shoot-0" start="288" length="12" />
<sequence name="prone-shoot-1" start="300" length="12" />
<sequence name="prone-shoot-2" start="312" length="12" />
<sequence name="prone-shoot-3" start="324" length="12" />
<sequence name="prone-shoot-4" start="336" length="12" />
<sequence name="prone-shoot-5" start="348" length="12" />
<sequence name="prone-shoot-6" start="360" length="12" />
<sequence name="prone-shoot-7" start="372" length="12" />
<sequence name="crawl" start="240" length="4" facings="8" />
<sequence name="prone-shoot" start="288" length="12" facings="8" />
</unit>
<unit name="bomb">
<sequence name="idle" start="0" length="8" />
</unit>
<unit name="dog">
<sequence name="stand" start="0" length="8" />
<sequence name="run-0" start="8" length="6" />
<sequence name="run-1" start="14" length="6" />
<sequence name="run-2" start="20" length="6" />
<sequence name="run-3" start="26" length="6" />
<sequence name="run-4" start="32" length="6" />
<sequence name="run-5" start="38" length="6" />
<sequence name="run-6" start="44" length="6" />
<sequence name="run-7" start="50" length="6" />
<sequence name="run" start="8" length="6" facings="8" />
<sequence name="die1" start="236" length="6" />
<sequence name="die2" start="242" length="9" />
<sequence name="die3" start="236" length="6" />
@@ -777,44 +644,16 @@
<unit name="spy">
<sequence name="stand" start="0" length="8" />
<sequence name="stand2" start="8" length="8" />
<sequence name="run-0" start="16" length="6" />
<sequence name="run-1" start="22" length="6" />
<sequence name="run-2" start="28" length="6" />
<sequence name="run-3" start="34" length="6" />
<sequence name="run-4" start="40" length="6" />
<sequence name="run-5" start="46" length="6" />
<sequence name="run-6" start="52" length="6" />
<sequence name="run-7" start="58" length="6" />
<sequence name="shoot-0" start="64" length="8" />
<sequence name="shoot-1" start="72" length="8" />
<sequence name="shoot-2" start="80" length="8" />
<sequence name="shoot-3" start="88" length="8" />
<sequence name="shoot-4" start="96" length="8" />
<sequence name="shoot-5" start="104" length="8" />
<sequence name="shoot-6" start="112" length="8" />
<sequence name="shoot-7" start="120" length="8" />
<sequence name="run" start="16" length="6" facings="8" />
<sequence name="shoot" start="64" length="8" facings="8" />
<sequence name="die1" start="288" length="8" />
<sequence name="die2" start="296" length="8" />
<sequence name="die3" start="304" length="8" />
<sequence name="die4" start="312" length="12" />
<sequence name="die5" start="324" length="18" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="144" length="4" />
<sequence name="crawl-1" start="148" length="4" />
<sequence name="crawl-2" start="152" length="4" />
<sequence name="crawl-3" start="156" length="4" />
<sequence name="crawl-4" start="160" length="4" />
<sequence name="crawl-5" start="164" length="4" />
<sequence name="crawl-6" start="168" length="4" />
<sequence name="crawl-7" start="172" length="4" />
<sequence name="prone-shoot-0" start="192" length="8" />
<sequence name="prone-shoot-1" start="200" length="8" />
<sequence name="prone-shoot-2" start="208" length="8" />
<sequence name="prone-shoot-3" start="216" length="8" />
<sequence name="prone-shoot-4" start="224" length="8" />
<sequence name="prone-shoot-5" start="232" length="8" />
<sequence name="prone-shoot-6" start="240" length="8" />
<sequence name="prone-shoot-7" start="248" length="8" />
<sequence name="crawl" start="144" length="4" facings="8" />
<sequence name="prone-shoot" start="192" length="8" facings="8" />
</unit>
<unit name="litning">
<sequence name="bright" start="0" length="4" />
@@ -822,114 +661,44 @@
</unit>
<unit name="e7">
<sequence name="stand" start="0" length="8" />
<sequence name="run-0" start="8" length="6" />
<sequence name="run-1" start="14" length="6" />
<sequence name="run-2" start="20" length="6" />
<sequence name="run-3" start="26" length="6" />
<sequence name="run-4" start="32" length="6" />
<sequence name="run-5" start="38" length="6" />
<sequence name="run-6" start="44" length="6" />
<sequence name="run-7" start="50" length="6" />
<sequence name="shoot-0" start="56" length="7" />
<sequence name="shoot-1" start="63" length="7" />
<sequence name="shoot-2" start="70" length="7" />
<sequence name="shoot-3" start="77" length="7" />
<sequence name="shoot-4" start="84" length="7" />
<sequence name="shoot-5" start="91" length="7" />
<sequence name="shoot-6" start="98" length="7" />
<sequence name="shoot-7" start="105" length="7" />
<sequence name="run" start="8" length="6" facings="8" />
<sequence name="shoot" start="56" length="7" facings="8" />
<sequence name="die1" start="262" length="8" />
<sequence name="die2" start="270" length="8" />
<sequence name="die3" start="278" length="8" />
<sequence name="die4" start="286" length="12" />
<sequence name="die5" start="298" length="18" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="128" length="4" />
<sequence name="crawl-1" start="132" length="4" />
<sequence name="crawl-2" start="136" length="4" />
<sequence name="crawl-3" start="140" length="4" />
<sequence name="crawl-4" start="144" length="4" />
<sequence name="crawl-5" start="148" length="4" />
<sequence name="crawl-6" start="152" length="4" />
<sequence name="crawl-7" start="156" length="4" />
<sequence name="prone-shoot-0" start="176" length="7" />
<sequence name="prone-shoot-1" start="183" length="7" />
<sequence name="prone-shoot-2" start="190" length="7" />
<sequence name="prone-shoot-3" start="197" length="7" />
<sequence name="prone-shoot-4" start="204" length="7" />
<sequence name="prone-shoot-5" start="211" length="7" />
<sequence name="prone-shoot-6" start="218" length="7" />
<sequence name="prone-shoot-7" start="225" length="7" />
<sequence name="crawl" start="128" length="4" facings="8" />
<sequence name="prone-shoot" start="176" length="7" facings="8" />
</unit>
<unit name="e4">
<sequence name="stand" start="0" length="8" />
<sequence name="stand2" start="8" length="8" />
<sequence name="run-0" start="16" length="6" />
<sequence name="run-1" start="22" length="6" />
<sequence name="run-2" start="28" length="6" />
<sequence name="run-3" start="34" length="6" />
<sequence name="run-4" start="40" length="6" />
<sequence name="run-5" start="46" length="6" />
<sequence name="run-6" start="52" length="6" />
<sequence name="run-7" start="58" length="6" />
<sequence name="shoot-0" start="64" length="16" />
<sequence name="shoot-1" start="80" length="16" />
<sequence name="shoot-2" start="96" length="16" />
<sequence name="shoot-3" start="112" length="16" />
<sequence name="shoot-4" start="128" length="16" />
<sequence name="shoot-5" start="144" length="16" />
<sequence name="shoot-6" start="160" length="16" />
<sequence name="shoot-7" start="176" length="16" />
<sequence name="run" start="16" length="6" facings="8" />
<sequence name="shoot" start="64" length="16" facings="8" />
<sequence name="die1" start="416" length="8" />
<sequence name="die2" start="424" length="8" />
<sequence name="die3" start="432" length="8" />
<sequence name="die4" start="440" length="12" />
<sequence name="die5" start="452" length="18" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="208" length="4" />
<sequence name="crawl-1" start="212" length="4" />
<sequence name="crawl-2" start="216" length="4" />
<sequence name="crawl-3" start="220" length="4" />
<sequence name="crawl-4" start="224" length="4" />
<sequence name="crawl-5" start="228" length="4" />
<sequence name="crawl-6" start="232" length="4" />
<sequence name="crawl-7" start="236" length="4" />
<sequence name="prone-shoot-0" start="256" length="16" />
<sequence name="prone-shoot-1" start="272" length="16" />
<sequence name="prone-shoot-2" start="288" length="16" />
<sequence name="prone-shoot-3" start="304" length="16" />
<sequence name="prone-shoot-4" start="320" length="16" />
<sequence name="prone-shoot-5" start="336" length="16" />
<sequence name="prone-shoot-6" start="352" length="16" />
<sequence name="prone-shoot-7" start="368" length="16" />
<sequence name="crawl" start="208" length="4" facings="8" />
<sequence name="prone-shoot" start="256" length="16" facings="8" />
</unit>
<unit name="fb1">
<sequence name="idle" start="0" length="8" />
</unit>
<unit name="thf">
<sequence name="stand" start="0" length="8" />
<sequence name="run-0" start="8" length="6" />
<sequence name="run-1" start="14" length="6" />
<sequence name="run-2" start="20" length="6" />
<sequence name="run-3" start="26" length="6" />
<sequence name="run-4" start="32" length="6" />
<sequence name="run-5" start="38" length="6" />
<sequence name="run-6" start="44" length="6" />
<sequence name="run-7" start="50" length="6" />
<sequence name="run" start="8" length="6" facings="8" />
<sequence name="die1" start="139" length="8" />
<sequence name="die2" start="147" length="8" />
<sequence name="die3" start="155" length="8" />
<sequence name="die4" start="163" length="12" />
<sequence name="die5" start="175" length="18" />
<sequence name="die6" start="0" length="14" src="electro" />
<sequence name="crawl-0" start="72" length="4" />
<sequence name="crawl-1" start="76" length="4" />
<sequence name="crawl-2" start="80" length="4" />
<sequence name="crawl-3" start="84" length="4" />
<sequence name="crawl-4" start="88" length="4" />
<sequence name="crawl-5" start="92" length="4" />
<sequence name="crawl-6" start="96" length="4" />
<sequence name="crawl-7" start="100" length="4" />
<sequence name="crawl" start="72" length="4" facings="8" />
</unit>
<unit name="moveflsh">
<sequence name="idle" start="0" length="5" />