Remove legacy installation logic.

This commit is contained in:
Paul Chote
2016-05-29 12:46:32 +01:00
parent 0b97a81616
commit 3585d8afd4
13 changed files with 15 additions and 887 deletions

View File

@@ -1,43 +0,0 @@
#region Copyright & License Information
/*
* Copyright 2007-2016 The OpenRA Developers (see AUTHORS)
* This file is part of OpenRA, which is free software. It is made
* available to you under the terms of the GNU General Public License
* as published by the Free Software Foundation, either version 3 of
* the License, or (at your option) any later version. For more
* information, see COPYING.
*/
#endregion
using System.Collections.Generic;
using System.IO;
using System.Linq;
namespace OpenRA
{
// Referenced from ModMetadata, so needs to be in OpenRA.Game :(
public class ContentInstaller : IGlobalModData
{
public enum FilenameCase { Input, ForceLower, ForceUpper }
public readonly string[] TestFiles = { };
public readonly string[] DiskTestFiles = { };
public readonly string PackageToExtractFromCD = null;
public readonly bool OverwriteFiles = true;
public readonly FilenameCase OutputFilenameCase = FilenameCase.ForceLower;
public readonly Dictionary<string, string[]> CopyFilesFromCD = new Dictionary<string, string[]>();
public readonly Dictionary<string, string[]> ExtractFilesFromCD = new Dictionary<string, string[]>();
public readonly string PackageMirrorList = null;
public readonly string MusicPackageMirrorList = null;
public readonly int ShippedSoundtracks = 0;
/// <summary> InstallShield .CAB file IDs, used to extract Mod-specific files. </summary>
public readonly HashSet<int> InstallShieldCABFileIds = new HashSet<int>();
/// <summary> InstallShield .CAB file IDs, used to extract Mod-specific archives and extract contents of ExtractFilesFromCD. </summary>
public readonly HashSet<string> InstallShieldCABFilePackageIds = new HashSet<string>();
}
}

View File

@@ -344,8 +344,10 @@ namespace OpenRA
using (new PerfTimer("LoadMaps"))
ModData.MapCache.LoadMaps();
var installData = ModData.Manifest.Get<ContentInstaller>();
var isModContentInstalled = installData.TestFiles.All(f => File.Exists(Platform.ResolvePath(f)));
var content = ModData.Manifest.Get<ModContent>();
var isModContentInstalled = content.Packages
.Where(p => p.Value.Required)
.All(p => p.Value.TestFiles.All(f => File.Exists(Platform.ResolvePath(f))));
// Mod assets are missing!
if (!isModContentInstalled)

View File

@@ -30,7 +30,6 @@ namespace OpenRA
public bool Hidden;
public Dictionary<string, string> RequiresMods;
public ContentInstaller Content;
public ModContent ModContent;
public IReadOnlyPackage Package;
@@ -79,9 +78,6 @@ namespace OpenRA
else
metadata.RequiresMods = new Dictionary<string, string>();
if (nd.ContainsKey("ContentInstaller"))
metadata.Content = FieldLoader.Load<ContentInstaller>(nd["ContentInstaller"]);
if (nd.ContainsKey("ModContent"))
metadata.ModContent = FieldLoader.Load<ModContent>(nd["ModContent"]);

View File

@@ -103,7 +103,6 @@
<Compile Include="FileSystem\BagFile.cs" />
<Compile Include="Map\MapGrid.cs" />
<Compile Include="Map\MapPlayers.cs" />
<Compile Include="ContentInstaller.cs" />
<Compile Include="MPos.cs" />
<Compile Include="Download.cs" />
<Compile Include="Effects\AsyncAction.cs" />