Fix map loading; some cleanups
This commit is contained in:
@@ -53,24 +53,22 @@ namespace OpenRA.FileFormats
|
|||||||
|
|
||||||
public string TileSuffix { get { return "." + Truncate(Theater, 3); } }
|
public string TileSuffix { get { return "." + Truncate(Theater, 3); } }
|
||||||
|
|
||||||
public Map(string Filename)
|
public Map(string filename)
|
||||||
{
|
{
|
||||||
IniFile file = new IniFile(FileSystem.Open(Filename));
|
IniFile file = new IniFile(FileSystem.Open(filename));
|
||||||
|
|
||||||
IniSection basic = file.GetSection("Basic");
|
IniSection basic = file.GetSection("Basic");
|
||||||
Title = basic.GetValue("Name", "(null)");
|
Title = basic.GetValue("Name", "(null)");
|
||||||
INIFormat = int.Parse(basic.GetValue("NewINIFormat", "0"));
|
INIFormat = int.Parse(basic.GetValue("NewINIFormat", "0"));
|
||||||
|
|
||||||
IniSection map = file.GetSection("Map");
|
IniSection map = file.GetSection("Map");
|
||||||
Theater = Truncate(map.GetValue("Theater", "DESERT"), 8);
|
Theater = Truncate(map.GetValue("Theater", "TEMPERAT"), 8);
|
||||||
|
|
||||||
XOffset = int.Parse(map.GetValue("X", "0"));
|
XOffset = int.Parse(map.GetValue("X", "0"));
|
||||||
YOffset = int.Parse(map.GetValue("Y", "0"));
|
YOffset = int.Parse(map.GetValue("Y", "0"));
|
||||||
|
|
||||||
Width = int.Parse(map.GetValue("Width", "0"));
|
Width = int.Parse(map.GetValue("Width", "0"));
|
||||||
Height = int.Parse(map.GetValue("Height", "0"));
|
Height = int.Parse(map.GetValue("Height", "0"));
|
||||||
|
|
||||||
Log.Write("Map format is {0}",INIFormat);
|
|
||||||
MapSize = (INIFormat == 3) ? 128 : 64;
|
MapSize = (INIFormat == 3) ? 128 : 64;
|
||||||
|
|
||||||
MapTiles = new TileReference[ MapSize, MapSize ];
|
MapTiles = new TileReference[ MapSize, MapSize ];
|
||||||
@@ -87,7 +85,7 @@ namespace OpenRA.FileFormats
|
|||||||
}
|
}
|
||||||
else // CNC
|
else // CNC
|
||||||
{
|
{
|
||||||
UnpackCncTileData(FileSystem.Open(Filename.Substring(0,Filename.Length-4)+".bin"));
|
UnpackCncTileData(FileSystem.Open(filename.Substring(0,filename.Length-4)+".bin"));
|
||||||
ReadCncTrees(file);
|
ReadCncTrees(file);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -101,7 +101,7 @@ namespace OpenRA
|
|||||||
Timer.Time( "ChromeProv, SeqProv, viewport: {0}" );
|
Timer.Time( "ChromeProv, SeqProv, viewport: {0}" );
|
||||||
|
|
||||||
skipMakeAnims = true;
|
skipMakeAnims = true;
|
||||||
foreach (var actorReference in Game.world.Map.Actors)
|
foreach (var actorReference in world.Map.Actors)
|
||||||
world.CreateActor(actorReference.Name, actorReference.Location, world.players.Values.FirstOrDefault(p => p.InternalName == actorReference.Owner) ?? world.players[0]);
|
world.CreateActor(actorReference.Name, actorReference.Location, world.players.Values.FirstOrDefault(p => p.InternalName == actorReference.Owner) ?? world.players[0]);
|
||||||
skipMakeAnims = false;
|
skipMakeAnims = false;
|
||||||
Timer.Time( "map actors: {0}" );
|
Timer.Time( "map actors: {0}" );
|
||||||
|
|||||||
@@ -22,6 +22,7 @@ using System;
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using System.IO;
|
||||||
using OpenRA.FileFormats;
|
using OpenRA.FileFormats;
|
||||||
|
|
||||||
namespace OpenRA.Graphics
|
namespace OpenRA.Graphics
|
||||||
@@ -65,12 +66,14 @@ namespace OpenRA.Graphics
|
|||||||
static void LoadSequencesForUnit(XmlElement eUnit)
|
static void LoadSequencesForUnit(XmlElement eUnit)
|
||||||
{
|
{
|
||||||
string unitName = eUnit.GetAttribute("name");
|
string unitName = eUnit.GetAttribute("name");
|
||||||
Log.Write("Loading sequence {0}", unitName);
|
// Log.Write("Loading sequence {0}", unitName);
|
||||||
var sequences = eUnit.SelectNodes("./sequence").OfType<XmlElement>()
|
try {
|
||||||
.Select(e => new Sequence(unitName, e))
|
var sequences = eUnit.SelectNodes("./sequence").OfType<XmlElement>()
|
||||||
.ToDictionary(s => s.Name);
|
.Select(e => new Sequence(unitName, e))
|
||||||
|
.ToDictionary(s => s.Name);
|
||||||
units.Add(unitName, sequences);
|
|
||||||
|
units.Add(unitName, sequences);
|
||||||
|
} catch (FileNotFoundException) {} // Do nothing; we can crash later if we actually wanted art
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Sequence GetSequence(string unitName, string sequenceName)
|
public static Sequence GetSequence(string unitName, string sequenceName)
|
||||||
|
|||||||
@@ -18,16 +18,9 @@ Packages:
|
|||||||
mods/cnc/packages/temperat.mix
|
mods/cnc/packages/temperat.mix
|
||||||
mods/cnc/packages/winter.mix
|
mods/cnc/packages/winter.mix
|
||||||
mods/cnc/packages/desert.mix
|
mods/cnc/packages/desert.mix
|
||||||
# Cannot qualify the RA names because they may live inside a mix
|
# TODO: Obsolete conquer.mix
|
||||||
~main.mix
|
~main.mix
|
||||||
redalert.mix
|
|
||||||
speech.mix
|
|
||||||
temperat.mix
|
|
||||||
snow.mix
|
|
||||||
interior.mix
|
|
||||||
# general.mix
|
|
||||||
conquer.mix
|
conquer.mix
|
||||||
sounds.mix
|
|
||||||
|
|
||||||
LegacyRules:
|
LegacyRules:
|
||||||
mods/cnc/minimal.ini: Minimal rules definitions
|
mods/cnc/minimal.ini: Minimal rules definitions
|
||||||
@@ -47,7 +40,7 @@ Sequences:
|
|||||||
mods/cnc/sequences-structures.xml:
|
mods/cnc/sequences-structures.xml:
|
||||||
mods/cnc/sequences-vehicles.xml:
|
mods/cnc/sequences-vehicles.xml:
|
||||||
mods/cnc/sequences-infantry.xml:
|
mods/cnc/sequences-infantry.xml:
|
||||||
mods/cnc/sequences-map.xml:
|
mods/cnc/sequences-map.xml: Trees etc
|
||||||
mods/cnc/sequences.xml: Obsolete; will disappear once done converting
|
mods/cnc/sequences.xml: Obsolete; will disappear once done converting
|
||||||
|
|
||||||
Chrome:
|
Chrome:
|
||||||
@@ -56,7 +49,3 @@ Chrome:
|
|||||||
Assemblies:
|
Assemblies:
|
||||||
mods/cnc/OpenRA.Mods.Cnc.dll: Cnc mod traits
|
mods/cnc/OpenRA.Mods.Cnc.dll: Cnc mod traits
|
||||||
mods/ra/OpenRA.Mods.RA.dll: Red alert mod traits
|
mods/ra/OpenRA.Mods.RA.dll: Red alert mod traits
|
||||||
|
|
||||||
Maps:
|
|
||||||
scg01ea.ini: GDI Mission 1
|
|
||||||
scm01ea.ini: Green Acres
|
|
||||||
|
|||||||
@@ -1,6 +1,9 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<sequences>
|
<sequences>
|
||||||
<!-- Blossom Tree -->
|
<!-- Blossom Trees -->
|
||||||
|
<unit name="split2">
|
||||||
|
<sequence name="idle" start="0" length="1" />
|
||||||
|
</unit>
|
||||||
<unit name="split3">
|
<unit name="split3">
|
||||||
<sequence name="idle" start="0" length="1" />
|
<sequence name="idle" start="0" length="1" />
|
||||||
</unit>
|
</unit>
|
||||||
|
|||||||
@@ -1,3 +1,9 @@
|
|||||||
|
SPLIT2:
|
||||||
|
Inherits: ^Building
|
||||||
|
RenderBuilding:
|
||||||
|
Palette: terrain
|
||||||
|
SeedsOre:
|
||||||
|
-Selectable:
|
||||||
SPLIT3:
|
SPLIT3:
|
||||||
Inherits: ^Building
|
Inherits: ^Building
|
||||||
RenderBuilding:
|
RenderBuilding:
|
||||||
|
|||||||
Reference in New Issue
Block a user