sequence editor actually works for editing

This commit is contained in:
Chris Forbes
2009-10-28 22:52:46 +13:00
parent 1c3b48de04
commit 048f48eeb1
4 changed files with 424 additions and 426 deletions

View File

@@ -30,10 +30,10 @@
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer(); this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
this.surface1 = new SequenceEditor.Surface();
this.toolStrip1 = new System.Windows.Forms.ToolStrip(); this.toolStrip1 = new System.Windows.Forms.ToolStrip();
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton(); this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton(); this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
this.surface1 = new SequenceEditor.Surface();
this.toolStripContainer1.ContentPanel.SuspendLayout(); this.toolStripContainer1.ContentPanel.SuspendLayout();
this.toolStripContainer1.TopToolStripPanel.SuspendLayout(); this.toolStripContainer1.TopToolStripPanel.SuspendLayout();
this.toolStripContainer1.SuspendLayout(); this.toolStripContainer1.SuspendLayout();
@@ -58,15 +58,6 @@
// //
this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1); this.toolStripContainer1.TopToolStripPanel.Controls.Add(this.toolStrip1);
// //
// surface1
//
this.surface1.Dock = System.Windows.Forms.DockStyle.Fill;
this.surface1.Location = new System.Drawing.Point(0, 0);
this.surface1.Name = "surface1";
this.surface1.Size = new System.Drawing.Size(708, 518);
this.surface1.TabIndex = 0;
this.surface1.Text = "surface1";
//
// toolStrip1 // toolStrip1
// //
this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None; this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None;
@@ -96,6 +87,16 @@
this.toolStripButton2.Name = "toolStripButton2"; this.toolStripButton2.Name = "toolStripButton2";
this.toolStripButton2.Size = new System.Drawing.Size(35, 22); this.toolStripButton2.Size = new System.Drawing.Size(35, 22);
this.toolStripButton2.Text = "Save"; this.toolStripButton2.Text = "Save";
this.toolStripButton2.Click += new System.EventHandler(this.toolStripButton2_Click);
//
// surface1
//
this.surface1.Dock = System.Windows.Forms.DockStyle.Fill;
this.surface1.Location = new System.Drawing.Point(0, 0);
this.surface1.Name = "surface1";
this.surface1.Size = new System.Drawing.Size(708, 518);
this.surface1.TabIndex = 0;
this.surface1.Text = "surface1";
// //
// Form1 // Form1
// //

View File

@@ -24,5 +24,10 @@ namespace SequenceEditor
if (shp == null) return; if (shp == null) return;
Program.Shps.Add(shp, Program.LoadAndResolve(shp)); Program.Shps.Add(shp, Program.LoadAndResolve(shp));
} }
void toolStripButton2_Click(object sender, EventArgs e)
{
Program.Save();
}
} }
} }

View File

@@ -30,6 +30,33 @@ namespace SequenceEditor
}).ToArray(); }).ToArray();
} }
public static void Save()
{
var e = Doc.SelectSingleNode(string.Format("//unit[@name=\"{0}\"]", UnitName)) as XmlElement;
if (e == null)
{
e = Doc.CreateElement("unit");
e.SetAttribute( "name", UnitName );
e = Doc.SelectSingleNode("sequences").AppendChild(e) as XmlElement;
}
while (e.HasChildNodes) e.RemoveChild(e.FirstChild); /* what a fail */
foreach (var s in Sequences)
{
var seqnode = Doc.CreateElement("sequence");
seqnode.SetAttribute("name", s.Key);
seqnode.SetAttribute("start", s.Value.start.ToString());
seqnode.SetAttribute("length", s.Value.length.ToString());
if (s.Value.shp != UnitName)
seqnode.SetAttribute("src", s.Value.shp);
e.AppendChild(seqnode);
}
Doc.Save("sequences.xml");
}
[STAThread] [STAThread]
static void Main( string[] args ) static void Main( string[] args )
{ {
@@ -44,7 +71,12 @@ namespace SequenceEditor
Pal = new Palette(FileSystem.Open("temperat.pal")); Pal = new Palette(FileSystem.Open("temperat.pal"));
UnitName = args.First(); UnitName = args.FirstOrDefault();
if (UnitName == null)
UnitName = GetTextForm.GetString("Unit to edit?", "e1");
if (UnitName == null)
return;
Shps[UnitName] = LoadAndResolve(UnitName); Shps[UnitName] = LoadAndResolve(UnitName);
/* todo: load supplemental SHPs */ /* todo: load supplemental SHPs */

View File

@@ -1,5 +1,4 @@
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8"?>
<!-- openra/sequences.xml <!-- openra/sequences.xml
this file describes animation sequences for structures and units. this file describes animation sequences for structures and units.
@@ -27,417 +26,378 @@
author: C. Forbes author: C. Forbes
--> -->
<sequences> <sequences>
<!-- forward command post (campaign specific building) -->
<!-- forward command post (campaign specific building) --> <unit name="fcom">
<unit name="fcom"> <sequence name="idle" start="0" />
<sequence name="idle" start="0"/> <sequence name="damaged-idle" start="1" />
<sequence name="damaged-idle" start="1"/> <sequence name="make" start="0" />
<sequence name="make" start="0"/> </unit>
</unit> <!-- construction yard -->
<unit name="fact">
<!-- construction yard --> <sequence name="idle" start="0" />
<unit name="fact"> <sequence name="make" start="0" length="32" src="factmake" />
<sequence name="idle" start="0"/> <sequence name="build" start="1" length="25" />
<sequence name="make" start="0" length="32" src="factmake" /> <sequence name="damaged-idle" start="26" />
<sequence name="build" start="1" length="25"/> <sequence name="damaged-build" start="27" length="25" />
<sequence name="damaged-idle" start="26"/> </unit>
<sequence name="damaged-build" start="27" length="25"/> <!-- refinery -->
</unit> <unit name="proc">
<sequence name="idle" start="0" />
<!-- refinery --> <sequence name="damaged-idle" start="1" />
<unit name="proc"> <sequence name="make" start="0" length="*" src="procmake" />
<sequence name="idle" start="0"/> </unit>
<sequence name="damaged-idle" start="1"/> <!-- silo -->
<sequence name="make" start="0" length="*" src="procmake" /> <unit name="silo">
</unit> <sequence name="idle" start="0" length="5" />
<sequence name="damaged-idle" start="5" length="5" />
<!-- silo --> <sequence name="make" start="0" length="*" src="silomake" />
<unit name="silo"> </unit>
<sequence name="idle" start="0" length="5"/> <!-- power plant -->
<sequence name="damaged-idle" start="5" length="5"/> <unit name="powr">
<sequence name="make" start="0" length="*" src="silomake" /> <sequence name="idle" start="0" />
</unit> <sequence name="damaged-idle" start="1" />
<sequence name="make" start="0" length="*" src="powrmake" />
<!-- power plant --> </unit>
<unit name="powr"> <!-- advanced power plant -->
<sequence name="idle" start="0"/> <unit name="apwr">
<sequence name="damaged-idle" start="1"/> <sequence name="idle" start="0" />
<sequence name="make" start="0" length="*" src="powrmake" /> <sequence name="damaged-idle" start="1" />
</unit> <sequence name="make" start="0" length="*" src="apwrmake" />
</unit>
<!-- advanced power plant --> <!-- soviet barracks -->
<unit name="apwr"> <unit name="barr">
<sequence name="idle" start="0"/> <sequence name="idle" start="0" length="10" />
<sequence name="damaged-idle" start="1"/> <sequence name="damaged-idle" start="10" length="10" />
<sequence name="make" start="0" length="*" src="apwrmake" /> <sequence name="make" start="0" length="*" src="barrmake" />
</unit> </unit>
<!-- allied barracks -->
<!-- soviet barracks --> <unit name="tent">
<unit name="barr"> <sequence name="idle" start="0" length="10" />
<sequence name="idle" start="0" length="10"/> <sequence name="damaged-idle" start="10" length="10" />
<sequence name="damaged-idle" start="10" length="10"/> <sequence name="make" start="0" length="*" src="tentmake" />
<sequence name="make" start="0" length="*" src="barrmake" /> </unit>
</unit> <!-- kennel -->
<unit name="kenn">
<!-- allied barracks --> <sequence name="idle" start="0" />
<unit name="tent"> <sequence name="damaged-idle" start="1" />
<sequence name="idle" start="0" length="10"/> <sequence name="make" start="0" length="*" src="kennmake" />
<sequence name="damaged-idle" start="10" length="10"/> </unit>
<sequence name="make" start="0" length="*" src="tentmake" /> <!-- radar dome -->
</unit> <unit name="dome">
<sequence name="idle" start="0" />
<!-- kennel --> <sequence name="damaged-idle" start="1" />
<unit name="kenn"> <sequence name="make" start="0" length="*" src="domemake" />
<sequence name="idle" start="0"/> </unit>
<sequence name="damaged-idle" start="1"/> <!-- allied tech center -->
<sequence name="make" start="0" length="*" src="kennmake" /> <unit name="atek">
</unit> <sequence name="idle" start="0" />
<sequence name="damaged-idle" start="1" />
<!-- radar dome --> <sequence name="make" start="0" length="*" src="atekmake" />
<unit name="dome"> </unit>
<sequence name="idle" start="0"/> <!-- soviet tech center -->
<sequence name="damaged-idle" start="1"/> <unit name="stek">
<sequence name="make" start="0" length="*" src="domemake" /> <sequence name="idle" start="0" />
</unit> <sequence name="damaged-idle" start="1" />
<sequence name="make" start="0" length="*" src="stekmake" />
<!-- allied tech center --> </unit>
<unit name="atek"> <!-- war factory -->
<sequence name="idle" start="0"/> <unit name="weap">
<sequence name="damaged-idle" start="1"/> <sequence name="idle" start="0" />
<sequence name="make" start="0" length="*" src="atekmake" /> <sequence name="damaged-idle" start="1" />
</unit> <sequence name="make" start="0" length="*" src="weapmake" />
<sequence name="build-top" start="0" length="4" src="weap2" />
<!-- soviet tech center --> <sequence name="build2-top" start="4" length="4" src="weap2" />
<unit name="stek"> <sequence name="idle-top" start="0" length="1" src="weap2" />
<sequence name="idle" start="0"/> <sequence name="damaged-idle_top" start="4" length="1" src="weap2" />
<sequence name="damaged-idle" start="1"/> </unit>
<sequence name="make" start="0" length="*" src="stekmake" /> <!-- helipad -->
</unit> <unit name="hpad">
<sequence name="idle" start="0" length="7" />
<!-- war factory --> <sequence name="damaged-idle" start="7" length="7" />
<unit name="weap"> <sequence name="make" start="0" length="*" src="hpadmake" />
<sequence name="idle" start="0"/> </unit>
<sequence name="damaged-idle" start="1"/> <!-- airfield -->
<sequence name="make" start="0" length="*" src="weapmake" /> <unit name="afld">
<sequence name="build-top" start="0" length="4" src="weap2" /> <sequence name="idle" start="0" length="8" />
<sequence name="build2-top" start="4" length="4" src="weap2" /> <sequence name="damaged-idle" start="8" length="8" />
<sequence name="idle-top" start="0" length="1" src="weap2" /> <sequence name="make" start="0" length="*" src="afldmake" />
<sequence name="damaged-idle_top" start="4" length="1" src="weap2" /> </unit>
</unit> <!-- sub pen -->
<unit name="spen">
<!-- helipad --> <sequence name="idle" start="0" />
<unit name="hpad"> <sequence name="damaged-idle" start="1" />
<sequence name="idle" start="0" length="7"/> <sequence name="make" start="0" length="*" src="spenmake" />
<sequence name="damaged-idle" start="7" length="7"/> </unit>
<sequence name="make" start="0" length="*" src="hpadmake" /> <!-- shipyard -->
</unit> <unit name="syrd">
<sequence name="idle" start="0" />
<!-- airfield --> <sequence name="damaged-idle" start="1" />
<unit name="afld"> <sequence name="make" start="0" length="*" src="syrdmake" />
<sequence name="idle" start="0" length="8"/> </unit>
<sequence name="damaged-idle" start="8" length="8"/> <!-- repair pad -->
<sequence name="make" start="0" length="*" src="afldmake" /> <unit name="fix">
</unit> <sequence name="idle" start="0" length="7" />
<sequence name="damaged-idle" start="7" length="7" />
<!-- sub pen --> <sequence name="make" start="0" length="*" src="fixmake" />
<unit name="spen"> </unit>
<sequence name="idle" start="0"/> <!-- allied gun turret -->
<sequence name="damaged-idle" start="1"/> <unit name="gun">
<sequence name="make" start="0" length="*" src="spenmake" /> <sequence name="idle" start="0" length="32" />
</unit> <sequence name="damaged-idle" start="32" length="32" />
<sequence name="make" start="0" length="*" src="gunmake" />
<!-- shipyard --> </unit>
<unit name="syrd"> <!-- AA gun -->
<sequence name="idle" start="0"/> <unit name="agun">
<sequence name="damaged-idle" start="1"/> <sequence name="idle" start="0" length="32" />
<sequence name="make" start="0" length="*" src="syrdmake" /> <sequence name="damaged-idle" start="32" length="32" />
</unit> <sequence name="make" start="0" length="*" src="agunmake" />
</unit>
<!-- repair pad --> <!-- sam site -->
<unit name="fix"> <unit name="sam">
<sequence name="idle" start="0" length="7"/> <sequence name="idle" start="0" length="32" />
<sequence name="damaged-idle" start="7" length="7"/> <sequence name="damaged-idle" start="34" length="32" />
<sequence name="make" start="0" length="*" src="fixmake" /> <sequence name="make" start="0" length="*" src="sammake" />
</unit> </unit>
<!-- flame turret -->
<!-- allied gun turret --> <unit name="ftur">
<unit name="gun"> <sequence name="idle" start="0" />
<sequence name="idle" start="0" length="32"/> <sequence name="damaged-idle" start="1" />
<sequence name="damaged-idle" start="32" length="32"/> <sequence name="make" start="0" length="*" src="fturmake" />
<sequence name="make" start="0" length="*" src="gunmake" /> </unit>
</unit> <!-- tesla coil -->
<unit name="tsla">
<!-- AA gun --> <sequence name="idle" start="0" length="10" />
<unit name="agun"> <sequence name="damaged-idle" start="10" length="10" />
<sequence name="idle" start="0" length="32"/> <sequence name="make" start="0" length="*" src="tslamake" />
<sequence name="damaged-idle" start="32" length="32"/> </unit>
<sequence name="make" start="0" length="*" src="agunmake" /> <!-- pillbox -->
</unit> <unit name="pbox">
<sequence name="idle" start="0" />
<!-- sam site --> <sequence name="damaged-idle" start="1" />
<unit name="sam"> <sequence name="make" start="0" length="*" src="pboxmake" />
<sequence name="idle" start="0" length="32"/> </unit>
<sequence name="damaged-idle" start="34" length="32"/> <!-- camo pillbox -->
<sequence name="make" start="0" length="*" src="sammake" /> <unit name="hbox">
</unit> <sequence name="idle" start="0" />
<sequence name="damaged-idle" start="1" />
<!-- flame turret --> <sequence name="make" start="0" length="*" src="hboxmake" />
<unit name="ftur"> </unit>
<sequence name="idle" start="0"/> <!-- gap generator -->
<sequence name="damaged-idle" start="1"/> <unit name="gap">
<sequence name="make" start="0" length="*" src="fturmake" /> <sequence name="idle" start="0" length="32" />
</unit> <sequence name="damaged-idle" start="32" length="32" />
<sequence name="make" start="0" length="*" src="gapmake" />
<!-- tesla coil --> </unit>
<unit name="tsla"> <!-- iron curtain -->
<sequence name="idle" start="0" length="10"/> <unit name="iron">
<sequence name="damaged-idle" start="10" length="10"/> <sequence name="idle" start="0" length="11" />
<sequence name="make" start="0" length="*" src="tslamake" /> <sequence name="damaged-idle" start="11" length="11" />
</unit> <sequence name="make" start="0" length="*" src="ironmake" />
</unit>
<!-- pillbox --> <!-- chronosphere -->
<unit name="pbox"> <unit name="pdox">
<sequence name="idle" start="0"/> <sequence name="idle" start="0" length="29" />
<sequence name="damaged-idle" start="1"/> <sequence name="damaged-idle" start="29" length="29" />
<sequence name="make" start="0" length="*" src="pboxmake" /> <sequence name="make" start="0" length="*" src="pdoxmake" />
</unit> </unit>
<!-- nuclear missile silo -->
<!-- camo pillbox --> <unit name="mslo">
<unit name="hbox"> <sequence name="idle" start="0" length="8" />
<sequence name="idle" start="0"/> <sequence name="damaged-idle" start="8" length="8" />
<sequence name="damaged-idle" start="1"/> <sequence name="make" start="0" length="*" src="mslomake" />
<sequence name="make" start="0" length="*" src="hboxmake" /> </unit>
</unit> <!-- mcv -->
<unit name="mcv">
<!-- gap generator --> <sequence name="idle" start="0" length="*" />
<unit name="gap"> </unit>
<sequence name="idle" start="0" length="32"/> <!-- truck -->
<sequence name="damaged-idle" start="32" length="32"/> <unit name="truk">
<sequence name="make" start="0" length="*" src="gapmake" /> <sequence name="idle" start="0" length="*" />
</unit> </unit>
<!-- harv -->
<!-- iron curtain --> <unit name="harv">
<unit name="iron"> <sequence name="idle" start="0" length="32" />
<sequence name="idle" start="0" length="11"/> <sequence name="harvest0" start="32" length="8" />
<sequence name="damaged-idle" start="11" length="11"/> <sequence name="harvest1" start="40" length="8" />
<sequence name="make" start="0" length="*" src="ironmake" /> <sequence name="harvest2" start="48" length="8" />
</unit> <sequence name="harvest3" start="56" length="8" />
<sequence name="harvest4" start="64" length="8" />
<!-- chronosphere --> <sequence name="harvest5" start="72" length="8" />
<unit name="pdox"> <sequence name="harvest6" start="80" length="8" />
<sequence name="idle" start="0" length="29"/> <sequence name="harvest7" start="88" length="8" />
<sequence name="damaged-idle" start="29" length="29"/> <sequence name="empty" start="96" length="15" />
<sequence name="make" start="0" length="*" src="pdoxmake" /> </unit>
</unit> <!-- light tank -->
<unit name="1tnk">
<!-- nuclear missile silo --> <sequence name="idle" start="0" length="32" />
<unit name="mslo"> <sequence name="turret" start="32" length="32" />
<sequence name="idle" start="0" length="8"/> </unit>
<sequence name="damaged-idle" start="8" length="8"/> <!-- medium tank -->
<sequence name="make" start="0" length="*" src="mslomake" /> <unit name="2tnk">
</unit> <sequence name="idle" start="0" length="32" />
<sequence name="turret" start="32" length="32" />
<!-- mcv --> </unit>
<unit name="mcv"> <!-- heavy tank -->
<sequence name="idle" start="0" length="*"/> <unit name="3tnk">
</unit> <sequence name="idle" start="0" length="32" />
<sequence name="turret" start="32" length="32" />
<!-- truck --> </unit>
<unit name="truk"> <!-- mammoth tank -->
<sequence name="idle" start="0" length="*"/> <unit name="4tnk">
</unit> <sequence name="idle" start="0" length="32" />
<sequence name="turret" start="32" length="32" />
<!-- harv --> </unit>
<unit name="harv"> <!-- v2 rocket launcher -->
<sequence name="idle" start="0" length="32"/> <unit name="v2rl">
<sequence name="harvest0" start="32" length="8"/> <sequence name="idle" start="0" length="32" />
<sequence name="harvest1" start="40" length="8"/> <sequence name="reloading" start="32" length="32" />
<sequence name="harvest2" start="48" length="8"/> <sequence name="aiming" start="64" length="16" />
<sequence name="harvest3" start="56" length="8"/> </unit>
<sequence name="harvest4" start="64" length="8"/> <!-- artillery -->
<sequence name="harvest5" start="72" length="8"/> <unit name="arty">
<sequence name="harvest6" start="80" length="8"/> <sequence name="idle" start="0" length="32" />
<sequence name="harvest7" start="88" length="8"/> </unit>
<sequence name="empty" start="96" length="15"/> <!-- jeep -->
</unit> <unit name="jeep">
<sequence name="idle" start="0" length="32" />
<!-- light tank --> <sequence name="turret" start="32" length="32" />
<unit name="1tnk"> </unit>
<sequence name="idle" start="0" length="32"/> <!-- apc -->
<sequence name="turret" start="32" length="32"/> <unit name="apc">
</unit> <sequence name="idle" start="0" length="32" />
</unit>
<!-- medium tank --> <!-- mine layer -->
<unit name="2tnk"> <unit name="mnly">
<sequence name="idle" start="0" length="32"/> <sequence name="idle" start="0" length="32" />
<sequence name="turret" start="32" length="32"/> <!-- and 16 "lay mine" sprites, not used in real-ra -->
</unit> </unit>
<!-- radar jammer -->
<!-- heavy tank --> <unit name="mrj">
<unit name="3tnk"> <sequence name="idle" start="0" length="32" />
<sequence name="idle" start="0" length="32"/> <sequence name="turret" start="32" length="32" />
<sequence name="turret" start="32" length="32"/> </unit>
</unit> <!-- mobile gap generator -->
<unit name="mgg">
<!-- mammoth tank --> <sequence name="idle" start="0" length="32" />
<unit name="4tnk"> <sequence name="turret" start="32" length="8" />
<sequence name="idle" start="0" length="32"/> </unit>
<sequence name="turret" start="32" length="32"/> <!-- submarine -->
</unit> <unit name="ss">
<sequence name="idle" start="0" length="16" />
<!-- v2 rocket launcher --> </unit>
<unit name="v2rl"> <!-- rifle infantry -->
<sequence name="idle" start="0" length="32"/> <unit name="e1">
<sequence name="reloading" start="32" length="32"/> <sequence name="stand" start="0" length="8" />
<sequence name="aiming" start="64" length="16"/> <sequence name="stand2" start="8" length="8" />
</unit> <sequence name="run-0" start="16" length="6" />
<sequence name="run-1" start="22" length="6" />
<!-- artillery --> <sequence name="run-2" start="28" length="6" />
<unit name="arty"> <sequence name="run-3" start="34" length="6" />
<sequence name="idle" start="0" length="32"/> <sequence name="run-4" start="40" length="6" />
</unit> <sequence name="run-5" start="46" length="6" />
<sequence name="run-6" start="52" length="6" />
<!-- jeep --> <sequence name="run-7" start="58" length="6" />
<unit name="jeep"> <sequence name="shoot-0" start="64" length="8" />
<sequence name="idle" start="0" length="32"/> <sequence name="shoot-1" start="72" length="8" />
<sequence name="turret" start="32" length="32"/> <sequence name="shoot-2" start="80" length="8" />
</unit> <sequence name="shoot-3" start="88" length="8" />
<sequence name="shoot-4" start="96" length="8" />
<!-- apc --> <sequence name="shoot-5" start="104" length="8" />
<unit name="apc"> <sequence name="shoot-6" start="112" length="8" />
<sequence name="idle" start="0" length="32"/> <sequence name="shoot-7" start="120" length="8" />
</unit> <sequence name="stand3" start="128" length="16" />
<sequence name="crawl-0" start="144" length="4" />
<!-- mine layer --> <sequence name="crawl-1" start="148" length="4" />
<unit name="mnly"> <sequence name="crawl-2" start="152" length="4" />
<sequence name="idle" start="0" length="32"/> <sequence name="crawl-3" start="156" length="4" />
<!-- and 16 "lay mine" sprites, not used in real-ra --> <sequence name="crawl-4" start="160" length="4" />
</unit> <sequence name="crawl-5" start="164" length="4" />
<sequence name="crawl-6" start="168" length="4" />
<!-- radar jammer --> <sequence name="crawl-7" start="172" length="4" />
<unit name="mrj"> <sequence name="standup-0" start="176" length="2" />
<sequence name="idle" start="0" length="32"/> <sequence name="standup-1" start="178" length="2" />
<sequence name="turret" start="32" length="32"/> <sequence name="standup-2" start="180" length="2" />
</unit> <sequence name="standup-3" start="182" length="2" />
<sequence name="standup-4" start="184" length="2" />
<!-- mobile gap generator --> <sequence name="standup-5" start="186" length="2" />
<unit name="mgg"> <sequence name="standup-6" start="188" length="2" />
<sequence name="idle" start="0" length="32"/> <sequence name="standup-7" start="190" length="2" />
<sequence name="turret" start="32" length="8"/> <sequence name="prone-shoot-0" start="192" length="8" />
</unit> <sequence name="prone-shoot-1" start="200" length="8" />
<sequence name="prone-shoot-2" start="208" length="8" />
<!-- submarine --> <sequence name="prone-shoot-3" start="216" length="8" />
<unit name="ss"> <sequence name="prone-shoot-4" start="224" length="8" />
<sequence name="idle" start="0" length="16" /> <sequence name="prone-shoot-5" start="232" length="8" />
</unit> <sequence name="prone-shoot-6" start="240" length="8" />
<sequence name="prone-shoot-7" start="248" length="8" />
<!-- rifle infantry --> <sequence name="idle1" start="256" length="16" />
<unit name="e1"> <sequence name="idle2" start="272" length="16" />
<sequence name="stand" start="0" length="8" /> <sequence name="die1" start="288" length="8" />
<sequence name="stand2" start="8" length="8" /> <sequence name="die2" start="296" length="8" />
<sequence name="run-0" start="16" length="6" /> <sequence name="die3" start="304" length="8" />
<sequence name="run-1" start="22" length="6" /> <sequence name="die4" start="312" length="12" />
<sequence name="run-2" start="28" length="6" /> <sequence name="die5" start="324" length="18" />
<sequence name="run-3" start="34" length="6" /> </unit>
<sequence name="run-4" start="40" length="6" /> <!-- build clock - hacked in -->
<sequence name="run-5" start="46" length="6" /> <unit name="clock">
<sequence name="run-6" start="52" length="6" /> <sequence name="idle" start="0" length="*" />
<sequence name="run-7" start="58" length="6" /> </unit>
<sequence name="shoot-0" start="64" length="8" /> <cursor src="mouse">
<sequence name="shoot-1" start="72" length="8" /> <sequence name="default" start="0" />
<sequence name="shoot-2" start="80" length="8" /> <sequence name="scroll" start="1" length="8" />
<sequence name="shoot-3" start="88" length="8" /> <sequence name="generic-blocked" start="9" />
<sequence name="shoot-4" start="96" length="8" /> <sequence name="move" start="10" length="4" x="12" y="12" />
<sequence name="shoot-5" start="104" length="8" /> <sequence name="move-blocked" start="14" x="12" y="12" />
<sequence name="shoot-6" start="112" length="8" /> <sequence name="select" start="15" length="6" x="12" y="12" />
<sequence name="shoot-7" start="120" length="8" /> <sequence name="attack" start="21" length="8" x="12" y="12" />
<sequence name="stand3" start="128" length="16" /> <sequence name="move-minimap" start="29" length="6" />
<sequence name="crawl-0" start="144" length="4" /> <sequence name="repair" start="35" length="24" />
<sequence name="crawl-1" start="148" length="4" /> <sequence name="deploy" start="59" length="9" />
<sequence name="crawl-2" start="152" length="4" /> <sequence name="sell" start="68" length="12" />
<sequence name="crawl-3" start="156" length="4" /> <sequence name="default-minimap" start="80" length="1" />
<sequence name="crawl-4" start="160" length="4" /> <sequence name="ability" start="82" length="8" />
<sequence name="crawl-5" start="164" length="4" /> <sequence name="nuke" start="90" length="7" />
<sequence name="crawl-6" start="168" length="4" /> <sequence name="chrono" start="105" length="8" />
<sequence name="crawl-7" start="172" length="4" /> <sequence name="enter" start="113" length="3" />
<sequence name="standup-0" start="176" length="2" /> <sequence name="c4" start="116" length="3" />
<sequence name="standup-1" start="178" length="2" /> <sequence name="sell-blocked" start="119" length="1" />
<sequence name="standup-2" start="180" length="2" /> <sequence name="repair-blocked" start="120" length="1" />
<sequence name="standup-3" start="182" length="2" /> <sequence name="c4-minimap" start="121" length="3" />
<sequence name="standup-4" start="184" length="2" /> <sequence name="scroll-blocked" start="124" length="8" />
<sequence name="standup-5" start="186" length="2" /> <sequence name="attack-minimap" start="134" length="8" />
<sequence name="standup-6" start="188" length="2" /> <sequence name="enter-minimap" start="142" length="3" />
<sequence name="standup-7" start="190" length="2" /> <sequence name="guard-minimap" start="146" length="1" />
<sequence name="prone-shoot-0" start="192" length="8" /> <sequence name="guard" start="147" length="1" />
<sequence name="prone-shoot-1" start="200" length="8" /> <sequence name="sell-vehicle" start="148" length="12" />
<sequence name="prone-shoot-2" start="208" length="8" /> <sequence name="heal" start="160" length="4" />
<sequence name="prone-shoot-3" start="216" length="8" /> <sequence name="capture" start="164" length="3" />
<sequence name="prone-shoot-4" start="224" length="8" /> <sequence name="capture-minimap" start="167" length="3" />
<sequence name="prone-shoot-5" start="232" length="8" /> <sequence name="repair2" start="170" length="24" />
<sequence name="prone-shoot-6" start="240" length="8" /> <sequence name="heal-minimap" start="194" length="1" />
<sequence name="prone-shoot-7" start="248" length="8" /> <sequence name="attack2" start="195" length="8" />
<sequence name="idle1" start="256" length="16" /> <sequence name="attack2-minimap" start="203" length="8" />
<sequence name="idle2" start="272" length="16" /> <sequence name="deploy-blocked" start="211" length="1" />
<sequence name="die1" start="288" length="8" /> <sequence name="enter-blocked" start="212" length="1" />
<sequence name="die2" start="296" length="8" /> <sequence name="repair2-blocked" start="213" length="1" />
<sequence name="die3" start="304" length="8" /> <sequence name="ability-minimap" start="214" length="8" />
<sequence name="die4" start="312" length="12" /> </cursor>
<sequence name="die5" start="324" length="18" /> <unit name="120mm">
</unit> <sequence name="idle" start="0" length="1" />
</unit>
<!-- build clock - hacked in --> <unit name="veh-hit3">
<unit name="clock"> <sequence name="idle" start="0" length="*" />
<sequence name="idle" start="0" length="*"/> </unit>
</unit> <unit name="e3">
<sequence name="stand" start="0" length="8" />
<cursor src="mouse"> <sequence name="stand2" start="8" length="8" />
<sequence name="default" start="0" /> <sequence name="run-0" start="16" length="6" />
<sequence name="scroll" start="1" length="8" /> <sequence name="run-1" start="22" length="6" />
<sequence name="generic-blocked" start="9" /> <sequence name="run-2" start="28" length="6" />
<sequence name="move" start="10" length="4" x="12" y="12"/> <sequence name="run-3" start="34" length="6" />
<sequence name="move-blocked" start="14" x="12" y="12"/> <sequence name="run-4" start="40" length="6" />
<sequence name="select" start="15" length="6" x="12" y="12"/> <sequence name="run-5" start="46" length="6" />
<sequence name="attack" start="21" length="8" x="12" y="12"/> <sequence name="run-6" start="52" length="6" />
<sequence name="move-minimap" start="29" length="6" /> <sequence name="run-7" start="58" length="6" />
<sequence name="repair" start="35" length="24" /> </unit>
<sequence name="deploy" start="59" length="9" /> </sequences>
<sequence name="sell" start="68" length="12" />
<sequence name="default-minimap" start="80" length="1" />
<sequence name="ability" start="82" length="8" />
<sequence name="nuke" start="90" length="7" />
<sequence name="chrono" start="105" length="8" />
<sequence name="enter" start="113" length="3" />
<sequence name="c4" start="116" length="3" />
<sequence name="sell-blocked" start="119" length="1" />
<sequence name="repair-blocked" start="120" length="1" />
<sequence name="c4-minimap" start="121" length="3" />
<sequence name="scroll-blocked" start="124" length="8" />
<sequence name="attack-minimap" start="134" length="8" />
<sequence name="enter-minimap" start="142" length="3" />
<sequence name="guard-minimap" start="146" length="1" />
<sequence name="guard" start="147" length="1" />
<sequence name="sell-vehicle" start="148" length="12" />
<sequence name="heal" start="160" length="4" />
<sequence name="capture" start="164" length="3" />
<sequence name="capture-minimap" start="167" length="3" />
<sequence name="repair2" start="170" length="24" />
<sequence name="heal-minimap" start="194" length="1" />
<sequence name="attack2" start="195" length="8" />
<sequence name="attack2-minimap" start="203" length="8" />
<sequence name="deploy-blocked" start="211" length="1" />
<sequence name="enter-blocked" start="212" length="1" />
<sequence name="repair2-blocked" start="213" length="1" />
<sequence name="ability-minimap" start="214" length="8" />
</cursor>
<unit name="120mm">
<sequence name="idle" start="0" length="1" />
</unit>
<unit name="veh-hit3">
<sequence name="idle" start="0" length="*" />
</unit>
</sequences>