Traits open files via the Map.

This commit is contained in:
Paul Chote
2016-02-15 03:35:08 +00:00
parent 7106d7ecdf
commit d573e21a48
10 changed files with 14 additions and 13 deletions

View File

@@ -1176,22 +1176,22 @@ namespace OpenRA
} }
// Placeholders for future implementation // Placeholders for future implementation
Stream IReadOnlyFileSystem.Open(string filename) public Stream Open(string filename)
{ {
return Game.ModData.DefaultFileSystem.Open(filename); return Game.ModData.DefaultFileSystem.Open(filename);
} }
bool IReadOnlyFileSystem.TryGetPackageContaining(string path, out IReadOnlyPackage package, out string filename) public bool TryGetPackageContaining(string path, out IReadOnlyPackage package, out string filename)
{ {
return Game.ModData.DefaultFileSystem.TryGetPackageContaining(path, out package, out filename); return Game.ModData.DefaultFileSystem.TryGetPackageContaining(path, out package, out filename);
} }
bool IReadOnlyFileSystem.TryOpen(string filename, out Stream s) public bool TryOpen(string filename, out Stream s)
{ {
return Game.ModData.DefaultFileSystem.TryOpen(filename, out s); return Game.ModData.DefaultFileSystem.TryOpen(filename, out s);
} }
bool IReadOnlyFileSystem.Exists(string filename) public bool Exists(string filename)
{ {
return Game.ModData.DefaultFileSystem.Exists(filename); return Game.ModData.DefaultFileSystem.Exists(filename);
} }

View File

@@ -101,7 +101,7 @@ namespace OpenRA
fontSheetBuilder.Dispose(); fontSheetBuilder.Dispose();
fontSheetBuilder = new SheetBuilder(SheetType.BGRA); fontSheetBuilder = new SheetBuilder(SheetType.BGRA);
Fonts = modData.Manifest.Fonts.ToDictionary(x => x.Key, Fonts = modData.Manifest.Fonts.ToDictionary(x => x.Key,
x => new SpriteFont(x.Value.First, modData.ModFiles.Open(x.Value.First).ReadAllBytes(), x.Value.Second, fontSheetBuilder)).AsReadOnly(); x => new SpriteFont(x.Value.First, modData.DefaultFileSystem.Open(x.Value.First).ReadAllBytes(), x.Value.Second, fontSheetBuilder)).AsReadOnly();
} }
} }

View File

@@ -198,7 +198,7 @@ namespace OpenRA.Scripting
using (var loadScript = (LuaFunction)runtime.Globals["ExecuteSandboxedScript"]) using (var loadScript = (LuaFunction)runtime.Globals["ExecuteSandboxedScript"])
{ {
foreach (var s in scripts) foreach (var s in scripts)
loadScript.Call(s, Game.ModData.ModFiles.Open(s).ReadAllText()).Dispose(); loadScript.Call(s, world.Map.Open(s).ReadAllText()).Dispose();
} }
} }

View File

@@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Lint
this.emitError = emitError; this.emitError = emitError;
var sequenceSource = map != null ? map.SequenceDefinitions : new List<MiniYamlNode>(); var sequenceSource = map != null ? map.SequenceDefinitions : new List<MiniYamlNode>();
sequenceDefinitions = MiniYaml.Merge(modData.Manifest.Sequences.Select(s => MiniYaml.FromStream(modData.ModFiles.Open(s))).Append(sequenceSource)); sequenceDefinitions = MiniYaml.Merge(modData.Manifest.Sequences.Select(s => MiniYaml.FromStream(map.Open(s))).Append(sequenceSource));
var rules = map == null ? modData.DefaultRules : map.Rules; var rules = map == null ? modData.DefaultRules : map.Rules;
var factions = rules.Actors["world"].TraitInfos<FactionInfo>().Select(f => f.InternalName).ToArray(); var factions = rules.Actors["world"].TraitInfos<FactionInfo>().Select(f => f.InternalName).ToArray();

View File

@@ -13,6 +13,7 @@ using System.Drawing;
using System.IO; using System.IO;
using Eluant; using Eluant;
using OpenRA.Effects; using OpenRA.Effects;
using OpenRA.FileSystem;
using OpenRA.GameRules; using OpenRA.GameRules;
using OpenRA.Graphics; using OpenRA.Graphics;
using OpenRA.Mods.Common.Effects; using OpenRA.Mods.Common.Effects;
@@ -165,7 +166,7 @@ namespace OpenRA.Mods.Common.Scripting
Stream s; Stream s;
try try
{ {
s = Game.ModData.ModFiles.Open(movie); s = world.Map.Open(movie);
} }
catch (FileNotFoundException e) catch (FileNotFoundException e)
{ {

View File

@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits
public void LoadPalettes(WorldRenderer wr) public void LoadPalettes(WorldRenderer wr)
{ {
wr.AddPalette(info.Name, new ImmutablePalette(Game.ModData.ModFiles.Open(world.TileSet.Palette), info.ShadowIndex), info.AllowModifiers); wr.AddPalette(info.Name, new ImmutablePalette(wr.World.Map.Open(world.TileSet.Palette), info.ShadowIndex), info.AllowModifiers);
} }
public IEnumerable<string> PaletteNames { get { yield return info.Name; } } public IEnumerable<string> PaletteNames { get { yield return info.Name; } }

View File

@@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.Traits
public void LoadPalettes(WorldRenderer wr) public void LoadPalettes(WorldRenderer wr)
{ {
if (info.Tileset == null || info.Tileset.ToLowerInvariant() == world.Map.Tileset.ToLowerInvariant()) if (info.Tileset == null || info.Tileset.ToLowerInvariant() == world.Map.Tileset.ToLowerInvariant())
wr.AddPalette(info.Name, new ImmutablePalette(Game.ModData.ModFiles.Open(info.Filename), info.ShadowIndex), info.AllowModifiers); wr.AddPalette(info.Name, new ImmutablePalette(world.Map.Open(info.Filename), info.ShadowIndex), info.AllowModifiers);
} }
public IEnumerable<string> PaletteNames public IEnumerable<string> PaletteNames

View File

@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Traits
public void LoadPalettes(WorldRenderer wr) public void LoadPalettes(WorldRenderer wr)
{ {
var filename = world.TileSet.PlayerPalette ?? world.TileSet.Palette; var filename = world.TileSet.PlayerPalette ?? world.TileSet.Palette;
wr.AddPalette(info.Name, new ImmutablePalette(Game.ModData.ModFiles.Open(filename), info.ShadowIndex), info.AllowModifiers); wr.AddPalette(info.Name, new ImmutablePalette(wr.World.Map.Open(filename), info.ShadowIndex), info.AllowModifiers);
} }
} }
} }

View File

@@ -43,7 +43,7 @@ namespace OpenRA.Mods.D2k.Traits
public void LoadPalettes(WorldRenderer wr) public void LoadPalettes(WorldRenderer wr)
{ {
var colors = new uint[Palette.Size]; var colors = new uint[Palette.Size];
using (var s = Game.ModData.ModFiles.Open(info.Filename)) using (var s = wr.World.Map.Open(info.Filename))
{ {
s.Seek(info.Offset, SeekOrigin.Begin); s.Seek(info.Offset, SeekOrigin.Begin);

View File

@@ -43,7 +43,7 @@ namespace OpenRA.Mods.D2k.Traits
public void LoadPalettes(WorldRenderer wr) public void LoadPalettes(WorldRenderer wr)
{ {
var colors = new uint[Palette.Size]; var colors = new uint[Palette.Size];
using (var s = Game.ModData.ModFiles.Open(info.Filename)) using (var s = wr.World.Map.Open(info.Filename))
{ {
s.Seek(info.Offset, SeekOrigin.Begin); s.Seek(info.Offset, SeekOrigin.Begin);