improved error message somewhat when there's a missing sequence

This commit is contained in:
Chris Forbes
2009-12-12 21:21:56 +13:00
parent d26558da12
commit edc954cc8a
3 changed files with 45 additions and 2 deletions

View File

@@ -2,6 +2,7 @@ using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Xml; using System.Xml;
using OpenRa.FileFormats; using OpenRa.FileFormats;
using System;
namespace OpenRa.Game.Graphics namespace OpenRa.Game.Graphics
{ {
@@ -56,7 +57,12 @@ namespace OpenRa.Game.Graphics
public static Sequence GetSequence(string unitName, string sequenceName) public static Sequence GetSequence(string unitName, string sequenceName)
{ {
return units[unitName][sequenceName]; try { return units[unitName][sequenceName]; }
catch (KeyNotFoundException e)
{
throw new InvalidOperationException(
"Unit `{0}` does not have a sequence `{1}`".F(unitName, sequenceName));
}
} }
public static CursorSequence GetCursorSequence(string cursor) public static CursorSequence GetCursorSequence(string cursor)

View File

@@ -431,6 +431,7 @@
<sequence name="die3" start="162" length="8" /> <sequence name="die3" start="162" length="8" />
<sequence name="die4" start="170" length="12" /> <sequence name="die4" start="170" length="12" />
<sequence name="die5" start="182" length="18" /> <sequence name="die5" start="182" length="18" />
<sequence name="run-5" start="46" length="8" />
</unit> </unit>
<unit name="ca"> <unit name="ca">
<sequence name="idle" start="0" length="16" /> <sequence name="idle" start="0" length="16" />
@@ -617,4 +618,38 @@
<unit name="smokey"> <unit name="smokey">
<sequence name="idle" start="0" length="7" /> <sequence name="idle" start="0" length="7" />
</unit> </unit>
<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" />
</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" />
</unit>
</sequences> </sequences>

View File

@@ -461,12 +461,14 @@ MEDI
Description=Attack Dog Description=Attack Dog
BuiltAt=KENN BuiltAt=KENN
Voice=DogVoice Voice=DogVoice
Traits=Unit, Mobile, RenderInfantry
[E1] [E1]
Description=Rifle Infantry Description=Rifle Infantry
Traits=Unit, Mobile, RenderInfantry, AttackBase Traits=Unit, Mobile, RenderInfantry, AttackBase
SquadSize=3 SquadSize=3
[E2] [E2]
Description=Grenadier Description=Grenadier
Traits=Unit, Mobile, RenderInfantry, AttackBase
[E3] [E3]
Description=Rocket Soldier Description=Rocket Soldier
Traits=Unit, Mobile, RenderInfantry, AttackBase Traits=Unit, Mobile, RenderInfantry, AttackBase
@@ -475,7 +477,7 @@ SquadSize=2
Description=Flamethrower Description=Flamethrower
[E6] [E6]
Description=Engineer Description=Engineer
Traits=Unit, Mobile, InfantrySquad Traits=Unit, Mobile, RenderInfantry
Voice=EngineerVoice Voice=EngineerVoice
[SPY] [SPY]
Description=Spy Description=Spy