Unstatic GlobalFileSystem and rename it to FileSystem
Add a ModFiles field on ModData and move all access to the file system to go through that.
This commit is contained in:
@@ -30,6 +30,9 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
var relativePath = args[1];
|
||||
var projectPath = Path.GetFullPath(relativePath);
|
||||
|
||||
// HACK: The engine code assumes that Game.modData is set.
|
||||
Game.ModData = modData;
|
||||
|
||||
var console = new StyleCopConsole(null, false, null, null, true);
|
||||
var project = new CodeProject(0, projectPath, new Configuration(null));
|
||||
foreach (var filePath in Directory.GetFiles(projectPath, "*.cs", SearchOption.AllDirectories))
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
using System;
|
||||
using System.Linq;
|
||||
using OpenRA.FileSystem;
|
||||
using OpenRA.Graphics;
|
||||
|
||||
namespace OpenRA.Mods.Common.UtilityCommands
|
||||
@@ -29,7 +28,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
{
|
||||
// HACK: The engine code assumes that Game.modData is set.
|
||||
Game.ModData = modData;
|
||||
GlobalFileSystem.LoadFromManifest(Game.ModData.Manifest);
|
||||
Game.ModData.ModFiles.LoadFromManifest(Game.ModData.Manifest);
|
||||
Game.ModData.SpriteSequenceLoader.OnMissingSpriteError = s => Console.WriteLine("\t" + s);
|
||||
|
||||
foreach (var t in Game.ModData.Manifest.TileSets)
|
||||
|
||||
@@ -28,11 +28,11 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
public void Run(ModData modData, string[] args)
|
||||
{
|
||||
var files = args.Skip(1);
|
||||
GlobalFileSystem.LoadFromManifest(modData.Manifest);
|
||||
modData.ModFiles.LoadFromManifest(modData.Manifest);
|
||||
|
||||
foreach (var f in files)
|
||||
{
|
||||
var src = GlobalFileSystem.Open(f);
|
||||
var src = modData.ModFiles.Open(f);
|
||||
if (src == null)
|
||||
throw new InvalidOperationException("File not found: {0}".F(f));
|
||||
var data = src.ReadAllBytes();
|
||||
|
||||
@@ -13,7 +13,6 @@ using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using OpenRA.FileSystem;
|
||||
using OpenRA.Graphics;
|
||||
|
||||
namespace OpenRA.Mods.Common.UtilityCommands
|
||||
@@ -32,7 +31,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
{
|
||||
// HACK: The engine code assumes that Game.modData is set.
|
||||
Game.ModData = modData;
|
||||
GlobalFileSystem.LoadFromManifest(Game.ModData.Manifest);
|
||||
modData.ModFiles.LoadFromManifest(Game.ModData.Manifest);
|
||||
|
||||
var imageField = typeof(TerrainTemplateInfo).GetField("Image");
|
||||
var pickAnyField = typeof(TerrainTemplateInfo).GetField("PickAny");
|
||||
@@ -56,7 +55,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
foreach (var ext in exts)
|
||||
{
|
||||
Stream s;
|
||||
if (GlobalFileSystem.TryOpen(template.Images[0] + ext, out s))
|
||||
if (modData.ModFiles.TryOpen(template.Images[0] + ext, out s))
|
||||
s.Dispose();
|
||||
else
|
||||
continue;
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
|
||||
using System;
|
||||
using System.IO;
|
||||
using OpenRA.FileSystem;
|
||||
using OpenRA.Graphics;
|
||||
|
||||
namespace OpenRA.Mods.Common.UtilityCommands
|
||||
@@ -30,9 +29,9 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
Game.ModData = modData;
|
||||
var map = new Map(args[1]);
|
||||
|
||||
GlobalFileSystem.UnmountAll();
|
||||
modData.ModFiles.UnmountAll();
|
||||
foreach (var dir in Game.ModData.Manifest.Folders)
|
||||
GlobalFileSystem.Mount(dir);
|
||||
modData.ModFiles.Mount(dir);
|
||||
|
||||
var minimap = Minimap.RenderMapPreview(map.Rules.TileSets[map.Tileset], map, true);
|
||||
|
||||
|
||||
@@ -14,7 +14,6 @@ using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using OpenRA.FileFormats;
|
||||
using OpenRA.FileSystem;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Mods.Common.Traits;
|
||||
using OpenRA.Primitives;
|
||||
@@ -130,7 +129,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
|
||||
public void ConvertIniMap(string iniFile)
|
||||
{
|
||||
using (var stream = GlobalFileSystem.Open(iniFile))
|
||||
using (var stream = Game.ModData.ModFiles.Open(iniFile))
|
||||
{
|
||||
var file = new IniFile(stream);
|
||||
var basic = file.GetSection("Basic");
|
||||
@@ -162,7 +161,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
else
|
||||
{
|
||||
// CnC
|
||||
using (var s = GlobalFileSystem.Open(iniFile.Substring(0, iniFile.Length - 4) + ".bin"))
|
||||
using (var s = Game.ModData.ModFiles.Open(iniFile.Substring(0, iniFile.Length - 4) + ".bin"))
|
||||
UnpackCncTileData(s);
|
||||
ReadCncOverlay(file);
|
||||
ReadCncTrees(file);
|
||||
|
||||
@@ -13,7 +13,6 @@ using System.Collections.Generic;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using OpenRA.FileSystem;
|
||||
using OpenRA.Graphics;
|
||||
using OpenRA.Mods.Common.SpriteLoaders;
|
||||
using OpenRA.Traits;
|
||||
@@ -41,14 +40,14 @@ namespace OpenRA.Mods.Common.UtilityCommands
|
||||
var srcMod = args[1].Split(':')[0];
|
||||
|
||||
Game.ModData = new ModData(srcMod);
|
||||
GlobalFileSystem.LoadFromManifest(Game.ModData.Manifest);
|
||||
Game.ModData.ModFiles.LoadFromManifest(Game.ModData.Manifest);
|
||||
var srcRules = Game.ModData.RulesetCache.Load();
|
||||
var srcPaletteInfo = srcRules.Actors["player"].TraitInfo<PlayerColorPaletteInfo>();
|
||||
var srcRemapIndex = srcPaletteInfo.RemapIndex;
|
||||
|
||||
var destMod = args[2].Split(':')[0];
|
||||
Game.ModData = new ModData(destMod);
|
||||
GlobalFileSystem.LoadFromManifest(Game.ModData.Manifest);
|
||||
Game.ModData.ModFiles.LoadFromManifest(Game.ModData.Manifest);
|
||||
var destRules = Game.ModData.RulesetCache.Load();
|
||||
var destPaletteInfo = destRules.Actors["player"].TraitInfo<PlayerColorPaletteInfo>();
|
||||
var destRemapIndex = destPaletteInfo.RemapIndex;
|
||||
|
||||
Reference in New Issue
Block a user