sequence editor actually works for editing
This commit is contained in:
21
SequenceEditor/Form1.Designer.cs
generated
21
SequenceEditor/Form1.Designer.cs
generated
@@ -30,10 +30,10 @@
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Form1));
|
||||
this.toolStripContainer1 = new System.Windows.Forms.ToolStripContainer();
|
||||
this.surface1 = new SequenceEditor.Surface();
|
||||
this.toolStrip1 = new System.Windows.Forms.ToolStrip();
|
||||
this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();
|
||||
this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();
|
||||
this.surface1 = new SequenceEditor.Surface();
|
||||
this.toolStripContainer1.ContentPanel.SuspendLayout();
|
||||
this.toolStripContainer1.TopToolStripPanel.SuspendLayout();
|
||||
this.toolStripContainer1.SuspendLayout();
|
||||
@@ -58,15 +58,6 @@
|
||||
//
|
||||
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
|
||||
//
|
||||
this.toolStrip1.Dock = System.Windows.Forms.DockStyle.None;
|
||||
@@ -96,6 +87,16 @@
|
||||
this.toolStripButton2.Name = "toolStripButton2";
|
||||
this.toolStripButton2.Size = new System.Drawing.Size(35, 22);
|
||||
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
|
||||
//
|
||||
|
||||
@@ -24,5 +24,10 @@ namespace SequenceEditor
|
||||
if (shp == null) return;
|
||||
Program.Shps.Add(shp, Program.LoadAndResolve(shp));
|
||||
}
|
||||
|
||||
void toolStripButton2_Click(object sender, EventArgs e)
|
||||
{
|
||||
Program.Save();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,6 +30,33 @@ namespace SequenceEditor
|
||||
}).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]
|
||||
static void Main( string[] args )
|
||||
{
|
||||
@@ -44,7 +71,12 @@ namespace SequenceEditor
|
||||
|
||||
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);
|
||||
|
||||
/* todo: load supplemental SHPs */
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- openra/sequences.xml
|
||||
|
||||
this file describes animation sequences for structures and units.
|
||||
@@ -27,16 +26,13 @@
|
||||
author: C. Forbes
|
||||
|
||||
-->
|
||||
|
||||
<sequences>
|
||||
|
||||
<!-- forward command post (campaign specific building) -->
|
||||
<unit name="fcom">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" />
|
||||
</unit>
|
||||
|
||||
<!-- construction yard -->
|
||||
<unit name="fact">
|
||||
<sequence name="idle" start="0" />
|
||||
@@ -45,77 +41,66 @@
|
||||
<sequence name="damaged-idle" start="26" />
|
||||
<sequence name="damaged-build" start="27" length="25" />
|
||||
</unit>
|
||||
|
||||
<!-- refinery -->
|
||||
<unit name="proc">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="procmake" />
|
||||
</unit>
|
||||
|
||||
<!-- silo -->
|
||||
<unit name="silo">
|
||||
<sequence name="idle" start="0" length="5" />
|
||||
<sequence name="damaged-idle" start="5" length="5" />
|
||||
<sequence name="make" start="0" length="*" src="silomake" />
|
||||
</unit>
|
||||
|
||||
<!-- power plant -->
|
||||
<unit name="powr">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="powrmake" />
|
||||
</unit>
|
||||
|
||||
<!-- advanced power plant -->
|
||||
<unit name="apwr">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="apwrmake" />
|
||||
</unit>
|
||||
|
||||
<!-- soviet barracks -->
|
||||
<unit name="barr">
|
||||
<sequence name="idle" start="0" length="10" />
|
||||
<sequence name="damaged-idle" start="10" length="10" />
|
||||
<sequence name="make" start="0" length="*" src="barrmake" />
|
||||
</unit>
|
||||
|
||||
<!-- allied barracks -->
|
||||
<unit name="tent">
|
||||
<sequence name="idle" start="0" length="10" />
|
||||
<sequence name="damaged-idle" start="10" length="10" />
|
||||
<sequence name="make" start="0" length="*" src="tentmake" />
|
||||
</unit>
|
||||
|
||||
<!-- kennel -->
|
||||
<unit name="kenn">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="kennmake" />
|
||||
</unit>
|
||||
|
||||
<!-- radar dome -->
|
||||
<unit name="dome">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="domemake" />
|
||||
</unit>
|
||||
|
||||
<!-- allied tech center -->
|
||||
<unit name="atek">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="atekmake" />
|
||||
</unit>
|
||||
|
||||
<!-- soviet tech center -->
|
||||
<unit name="stek">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="stekmake" />
|
||||
</unit>
|
||||
|
||||
<!-- war factory -->
|
||||
<unit name="weap">
|
||||
<sequence name="idle" start="0" />
|
||||
@@ -126,129 +111,110 @@
|
||||
<sequence name="idle-top" start="0" length="1" src="weap2" />
|
||||
<sequence name="damaged-idle_top" start="4" length="1" src="weap2" />
|
||||
</unit>
|
||||
|
||||
<!-- helipad -->
|
||||
<unit name="hpad">
|
||||
<sequence name="idle" start="0" length="7" />
|
||||
<sequence name="damaged-idle" start="7" length="7" />
|
||||
<sequence name="make" start="0" length="*" src="hpadmake" />
|
||||
</unit>
|
||||
|
||||
<!-- airfield -->
|
||||
<unit name="afld">
|
||||
<sequence name="idle" start="0" length="8" />
|
||||
<sequence name="damaged-idle" start="8" length="8" />
|
||||
<sequence name="make" start="0" length="*" src="afldmake" />
|
||||
</unit>
|
||||
|
||||
<!-- sub pen -->
|
||||
<unit name="spen">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="spenmake" />
|
||||
</unit>
|
||||
|
||||
<!-- shipyard -->
|
||||
<unit name="syrd">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="syrdmake" />
|
||||
</unit>
|
||||
|
||||
<!-- repair pad -->
|
||||
<unit name="fix">
|
||||
<sequence name="idle" start="0" length="7" />
|
||||
<sequence name="damaged-idle" start="7" length="7" />
|
||||
<sequence name="make" start="0" length="*" src="fixmake" />
|
||||
</unit>
|
||||
|
||||
<!-- allied gun turret -->
|
||||
<unit name="gun">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="damaged-idle" start="32" length="32" />
|
||||
<sequence name="make" start="0" length="*" src="gunmake" />
|
||||
</unit>
|
||||
|
||||
<!-- AA gun -->
|
||||
<unit name="agun">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="damaged-idle" start="32" length="32" />
|
||||
<sequence name="make" start="0" length="*" src="agunmake" />
|
||||
</unit>
|
||||
|
||||
<!-- sam site -->
|
||||
<unit name="sam">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="damaged-idle" start="34" length="32" />
|
||||
<sequence name="make" start="0" length="*" src="sammake" />
|
||||
</unit>
|
||||
|
||||
<!-- flame turret -->
|
||||
<unit name="ftur">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="fturmake" />
|
||||
</unit>
|
||||
|
||||
<!-- tesla coil -->
|
||||
<unit name="tsla">
|
||||
<sequence name="idle" start="0" length="10" />
|
||||
<sequence name="damaged-idle" start="10" length="10" />
|
||||
<sequence name="make" start="0" length="*" src="tslamake" />
|
||||
</unit>
|
||||
|
||||
<!-- pillbox -->
|
||||
<unit name="pbox">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="pboxmake" />
|
||||
</unit>
|
||||
|
||||
<!-- camo pillbox -->
|
||||
<unit name="hbox">
|
||||
<sequence name="idle" start="0" />
|
||||
<sequence name="damaged-idle" start="1" />
|
||||
<sequence name="make" start="0" length="*" src="hboxmake" />
|
||||
</unit>
|
||||
|
||||
<!-- gap generator -->
|
||||
<unit name="gap">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="damaged-idle" start="32" length="32" />
|
||||
<sequence name="make" start="0" length="*" src="gapmake" />
|
||||
</unit>
|
||||
|
||||
<!-- iron curtain -->
|
||||
<unit name="iron">
|
||||
<sequence name="idle" start="0" length="11" />
|
||||
<sequence name="damaged-idle" start="11" length="11" />
|
||||
<sequence name="make" start="0" length="*" src="ironmake" />
|
||||
</unit>
|
||||
|
||||
<!-- chronosphere -->
|
||||
<unit name="pdox">
|
||||
<sequence name="idle" start="0" length="29" />
|
||||
<sequence name="damaged-idle" start="29" length="29" />
|
||||
<sequence name="make" start="0" length="*" src="pdoxmake" />
|
||||
</unit>
|
||||
|
||||
<!-- nuclear missile silo -->
|
||||
<unit name="mslo">
|
||||
<sequence name="idle" start="0" length="8" />
|
||||
<sequence name="damaged-idle" start="8" length="8" />
|
||||
<sequence name="make" start="0" length="*" src="mslomake" />
|
||||
</unit>
|
||||
|
||||
<!-- mcv -->
|
||||
<unit name="mcv">
|
||||
<sequence name="idle" start="0" length="*" />
|
||||
</unit>
|
||||
|
||||
<!-- truck -->
|
||||
<unit name="truk">
|
||||
<sequence name="idle" start="0" length="*" />
|
||||
</unit>
|
||||
|
||||
<!-- harv -->
|
||||
<unit name="harv">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
@@ -262,77 +228,64 @@
|
||||
<sequence name="harvest7" start="88" length="8" />
|
||||
<sequence name="empty" start="96" length="15" />
|
||||
</unit>
|
||||
|
||||
<!-- light tank -->
|
||||
<unit name="1tnk">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="turret" start="32" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- medium tank -->
|
||||
<unit name="2tnk">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="turret" start="32" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- heavy tank -->
|
||||
<unit name="3tnk">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="turret" start="32" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- mammoth tank -->
|
||||
<unit name="4tnk">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="turret" start="32" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- v2 rocket launcher -->
|
||||
<unit name="v2rl">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="reloading" start="32" length="32" />
|
||||
<sequence name="aiming" start="64" length="16" />
|
||||
</unit>
|
||||
|
||||
<!-- artillery -->
|
||||
<unit name="arty">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- jeep -->
|
||||
<unit name="jeep">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="turret" start="32" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- apc -->
|
||||
<unit name="apc">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- mine layer -->
|
||||
<unit name="mnly">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<!-- and 16 "lay mine" sprites, not used in real-ra -->
|
||||
</unit>
|
||||
|
||||
<!-- radar jammer -->
|
||||
<unit name="mrj">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="turret" start="32" length="32" />
|
||||
</unit>
|
||||
|
||||
<!-- mobile gap generator -->
|
||||
<unit name="mgg">
|
||||
<sequence name="idle" start="0" length="32" />
|
||||
<sequence name="turret" start="32" length="8" />
|
||||
</unit>
|
||||
|
||||
<!-- submarine -->
|
||||
<unit name="ss">
|
||||
<sequence name="idle" start="0" length="16" />
|
||||
</unit>
|
||||
|
||||
<!-- rifle infantry -->
|
||||
<unit name="e1">
|
||||
<sequence name="stand" start="0" length="8" />
|
||||
@@ -386,12 +339,10 @@
|
||||
<sequence name="die4" start="312" length="12" />
|
||||
<sequence name="die5" start="324" length="18" />
|
||||
</unit>
|
||||
|
||||
<!-- build clock - hacked in -->
|
||||
<unit name="clock">
|
||||
<sequence name="idle" start="0" length="*" />
|
||||
</unit>
|
||||
|
||||
<cursor src="mouse">
|
||||
<sequence name="default" start="0" />
|
||||
<sequence name="scroll" start="1" length="8" />
|
||||
@@ -431,13 +382,22 @@
|
||||
<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>
|
||||
|
||||
<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" />
|
||||
</unit>
|
||||
</sequences>
|
||||
Reference in New Issue
Block a user