Traits open files via the Map.
This commit is contained in:
@@ -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);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
@@ -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)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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; } }
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user