Merge pull request #10719 from pchote/filesystem-loadscreens

Load Loadscreen images via the virtual filesystem.
This commit is contained in:
Pavel Penev
2016-02-07 21:48:41 +02:00
6 changed files with 11 additions and 11 deletions

View File

@@ -53,7 +53,7 @@ namespace OpenRA
if (useLoadScreen)
{
LoadScreen = ObjectCreator.CreateObject<ILoadScreen>(Manifest.LoadScreen.Value);
LoadScreen.Init(Manifest, Manifest.LoadScreen.ToDictionary(my => my.Value));
LoadScreen.Init(this, Manifest.LoadScreen.ToDictionary(my => my.Value));
LoadScreen.Display();
}
@@ -205,7 +205,7 @@ namespace OpenRA
public interface ILoadScreen : IDisposable
{
void Init(Manifest m, Dictionary<string, string> info);
void Init(ModData m, Dictionary<string, string> info);
void Display();
void StartGame(Arguments args);
}

View File

@@ -33,7 +33,7 @@ namespace OpenRA.Mods.Cnc
Rectangle bounds;
Renderer r;
public override void Init(Manifest m, Dictionary<string, string> info)
public override void Init(ModData modData, Dictionary<string, string> info)
{
loadInfo = info;
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Cnc
r = Game.Renderer;
if (r == null) return;
using (var stream = File.OpenRead(Platform.ResolvePath(loadInfo["Image"])))
using (var stream = modData.ModFiles.Open(info["Image"]))
sheet = new Sheet(SheetType.BGRA, stream);
var res = r.Resolution;
@@ -67,7 +67,7 @@ namespace OpenRA.Mods.Cnc
brightBlock = new Sprite(sheet, new Rectangle(320, 0, 16, 35), TextureChannel.Alpha);
dimBlock = new Sprite(sheet, new Rectangle(336, 0, 16, 35), TextureChannel.Alpha);
versionText = m.Mod.Version;
versionText = modData.Manifest.Mod.Version;
}
bool setup;

View File

@@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.LoadScreens
{
public LaunchArguments Launch;
public virtual void Init(Manifest m, Dictionary<string, string> info) { }
public virtual void Init(ModData m, Dictionary<string, string> info) { }
public virtual void Display()
{

View File

@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.LoadScreens
Sprite stripe, logo;
string[] messages = { "Loading..." };
public override void Init(Manifest m, Dictionary<string, string> info)
public override void Init(ModData modData, Dictionary<string, string> info)
{
// Avoid standard loading mechanisms so we
// can display the loadscreen as early as possible
@@ -41,7 +41,7 @@ namespace OpenRA.Mods.Common.LoadScreens
if (info.ContainsKey("Image"))
{
using (var stream = File.OpenRead(Platform.ResolvePath(info["Image"])))
using (var stream = modData.ModFiles.Open(info["Image"]))
sheet = new Sheet(SheetType.BGRA, stream);
logo = new Sprite(sheet, new Rectangle(0, 0, 256, 256), TextureChannel.Alpha);

View File

@@ -21,12 +21,12 @@ namespace OpenRA.Mods.Common.LoadScreens
Sprite sprite;
Rectangle bounds;
public void Init(Manifest m, Dictionary<string, string> info)
public void Init(ModData modData, Dictionary<string, string> info)
{
var res = Game.Renderer.Resolution;
bounds = new Rectangle(0, 0, res.Width, res.Height);
using (var stream = File.OpenRead(info["Image"]))
using (var stream = modData.ModFiles.Open(info["Image"]))
{
var sheet = new Sheet(SheetType.BGRA, stream);
sprite = new Sprite(sheet, new Rectangle(0, 0, 1024, 480), TextureChannel.Alpha);

View File

@@ -126,7 +126,7 @@ Translations:
d2k:languages/english.yaml
LoadScreen: LogoStripeLoadScreen
Image: d2k:uibits/loadscreen.png
Image: ./mods/d2k/uibits/loadscreen.png
Text: Filling Crates..., Breeding Sandworms..., Fuelling carryalls..., Deploying harvesters..., Preparing 'thopters..., Summoning mentats...
ContentInstaller: