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
Stream IReadOnlyFileSystem.Open(string filename)
public Stream Open(string 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);
}
bool IReadOnlyFileSystem.TryOpen(string filename, out Stream s)
public bool TryOpen(string filename, out Stream 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);
}

View File

@@ -101,7 +101,7 @@ namespace OpenRA
fontSheetBuilder.Dispose();
fontSheetBuilder = new SheetBuilder(SheetType.BGRA);
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"])
{
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;
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 factions = rules.Actors["world"].TraitInfos<FactionInfo>().Select(f => f.InternalName).ToArray();

View File

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

View File

@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits
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; } }

View File

@@ -48,7 +48,7 @@ namespace OpenRA.Mods.Common.Traits
public void LoadPalettes(WorldRenderer wr)
{
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

View File

@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Traits
public void LoadPalettes(WorldRenderer wr)
{
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)
{
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);

View File

@@ -43,7 +43,7 @@ namespace OpenRA.Mods.D2k.Traits
public void LoadPalettes(WorldRenderer wr)
{
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);