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 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");
|
||||
Title = basic.GetValue("Name", "(null)");
|
||||
INIFormat = int.Parse(basic.GetValue("NewINIFormat", "0"));
|
||||
|
||||
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"));
|
||||
YOffset = int.Parse(map.GetValue("Y", "0"));
|
||||
|
||||
Width = int.Parse(map.GetValue("Width", "0"));
|
||||
Height = int.Parse(map.GetValue("Height", "0"));
|
||||
|
||||
Log.Write("Map format is {0}",INIFormat);
|
||||
MapSize = (INIFormat == 3) ? 128 : 64;
|
||||
|
||||
MapTiles = new TileReference[ MapSize, MapSize ];
|
||||
@@ -87,7 +85,7 @@ namespace OpenRA.FileFormats
|
||||
}
|
||||
else // CNC
|
||||
{
|
||||
UnpackCncTileData(FileSystem.Open(Filename.Substring(0,Filename.Length-4)+".bin"));
|
||||
UnpackCncTileData(FileSystem.Open(filename.Substring(0,filename.Length-4)+".bin"));
|
||||
ReadCncTrees(file);
|
||||
}
|
||||
|
||||
|
||||
@@ -101,7 +101,7 @@ namespace OpenRA
|
||||
Timer.Time( "ChromeProv, SeqProv, viewport: {0}" );
|
||||
|
||||
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]);
|
||||
skipMakeAnims = false;
|
||||
Timer.Time( "map actors: {0}" );
|
||||
|
||||
@@ -22,6 +22,7 @@ using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Xml;
|
||||
using System.IO;
|
||||
using OpenRA.FileFormats;
|
||||
|
||||
namespace OpenRA.Graphics
|
||||
@@ -65,12 +66,14 @@ namespace OpenRA.Graphics
|
||||
static void LoadSequencesForUnit(XmlElement eUnit)
|
||||
{
|
||||
string unitName = eUnit.GetAttribute("name");
|
||||
Log.Write("Loading sequence {0}", unitName);
|
||||
var sequences = eUnit.SelectNodes("./sequence").OfType<XmlElement>()
|
||||
.Select(e => new Sequence(unitName, e))
|
||||
.ToDictionary(s => s.Name);
|
||||
|
||||
units.Add(unitName, sequences);
|
||||
// Log.Write("Loading sequence {0}", unitName);
|
||||
try {
|
||||
var sequences = eUnit.SelectNodes("./sequence").OfType<XmlElement>()
|
||||
.Select(e => new Sequence(unitName, e))
|
||||
.ToDictionary(s => s.Name);
|
||||
|
||||
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)
|
||||
|
||||
@@ -18,16 +18,9 @@ Packages:
|
||||
mods/cnc/packages/temperat.mix
|
||||
mods/cnc/packages/winter.mix
|
||||
mods/cnc/packages/desert.mix
|
||||
# Cannot qualify the RA names because they may live inside a mix
|
||||
# TODO: Obsolete conquer.mix
|
||||
~main.mix
|
||||
redalert.mix
|
||||
speech.mix
|
||||
temperat.mix
|
||||
snow.mix
|
||||
interior.mix
|
||||
# general.mix
|
||||
conquer.mix
|
||||
sounds.mix
|
||||
|
||||
LegacyRules:
|
||||
mods/cnc/minimal.ini: Minimal rules definitions
|
||||
@@ -47,7 +40,7 @@ Sequences:
|
||||
mods/cnc/sequences-structures.xml:
|
||||
mods/cnc/sequences-vehicles.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
|
||||
|
||||
Chrome:
|
||||
@@ -56,7 +49,3 @@ Chrome:
|
||||
Assemblies:
|
||||
mods/cnc/OpenRA.Mods.Cnc.dll: Cnc 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"?>
|
||||
<sequences>
|
||||
<!-- Blossom Tree -->
|
||||
<!-- Blossom Trees -->
|
||||
<unit name="split2">
|
||||
<sequence name="idle" start="0" length="1" />
|
||||
</unit>
|
||||
<unit name="split3">
|
||||
<sequence name="idle" start="0" length="1" />
|
||||
</unit>
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
SPLIT2:
|
||||
Inherits: ^Building
|
||||
RenderBuilding:
|
||||
Palette: terrain
|
||||
SeedsOre:
|
||||
-Selectable:
|
||||
SPLIT3:
|
||||
Inherits: ^Building
|
||||
RenderBuilding:
|
||||
|
||||
Reference in New Issue
Block a user