diff --git a/OpenRA.Game/FileSystem/FileSystem.cs b/OpenRA.Game/FileSystem/FileSystem.cs index e21b89fe7c..692a55fa82 100644 --- a/OpenRA.Game/FileSystem/FileSystem.cs +++ b/OpenRA.Game/FileSystem/FileSystem.cs @@ -13,7 +13,6 @@ using System; using System.Collections.Generic; using System.IO; using System.Linq; -using System.Reflection; using OpenRA.Primitives; namespace OpenRA.FileSystem @@ -34,9 +33,15 @@ namespace OpenRA.FileSystem // Mod packages that should not be disposed readonly List modPackages = new List(); + readonly IReadOnlyDictionary installedMods; Cache> fileIndex = new Cache>(_ => new List()); + public FileSystem(IReadOnlyDictionary installedMods) + { + this.installedMods = installedMods; + } + public IReadOnlyPackage OpenPackage(string filename) { if (filename.EndsWith(".mix", StringComparison.InvariantCultureIgnoreCase)) @@ -108,9 +113,9 @@ namespace OpenRA.FileSystem { name = name.Substring(1); - ModMetadata mod; - if (!ModMetadata.AllMods.TryGetValue(name, out mod)) - throw new InvalidOperationException("Could not load mod '{0}'. Available mods: {1}".F(name, ModMetadata.AllMods.Keys.JoinWith(", "))); + Manifest mod; + if (!installedMods.TryGetValue(name, out mod)) + throw new InvalidOperationException("Could not load mod '{0}'. Available mods: {1}".F(name, installedMods.Keys.JoinWith(", "))); package = mod.Package; modPackages.Add(package); diff --git a/OpenRA.Game/Game.cs b/OpenRA.Game/Game.cs index bd06efd786..2919ef05ff 100644 --- a/OpenRA.Game/Game.cs +++ b/OpenRA.Game/Game.cs @@ -21,6 +21,7 @@ using System.Reflection; using System.Threading; using System.Threading.Tasks; using OpenRA.Chat; +using OpenRA.FileSystem; using OpenRA.Graphics; using OpenRA.Network; using OpenRA.Primitives; @@ -35,6 +36,8 @@ namespace OpenRA public const int Timestep = 40; public const int TimestepJankThreshold = 250; // Don't catch up for delays larger than 250ms + public static InstalledMods Mods { get; private set; } + public static ModData ModData; public static Settings Settings; public static ICursor Cursor; @@ -243,6 +246,16 @@ namespace OpenRA { Console.WriteLine("Platform is {0}", Platform.CurrentPlatform); + // Special case handling of Game.Mod argument: if it matches a real filesystem path + // then we use this to override the mod search path, and replace it with the mod id + var modArgument = args.GetValue("Game.Mod", null); + string customModPath = null; + if (modArgument != null && (File.Exists(modArgument) || Directory.Exists(modArgument))) + { + customModPath = modArgument; + args.ReplaceValue("Game.Mod", Path.GetFileNameWithoutExtension(modArgument)); + } + InitializeSettings(args); Log.AddChannel("perf", "perf.log"); @@ -302,22 +315,23 @@ namespace OpenRA GlobalChat = new GlobalChat(); + Mods = new InstalledMods(customModPath); Console.WriteLine("Available mods:"); - foreach (var mod in ModMetadata.AllMods) - Console.WriteLine("\t{0}: {1} ({2})", mod.Key, mod.Value.Title, mod.Value.Version); + foreach (var mod in Mods) + Console.WriteLine("\t{0}: {1} ({2})", mod.Key, mod.Value.Metadata.Title, mod.Value.Metadata.Version); InitializeMod(Settings.Game.Mod, args); } public static bool IsModInstalled(string modId) { - return ModMetadata.AllMods[modId].RequiresMods.All(IsModInstalled); + return Mods.ContainsKey(modId) && Mods[modId].RequiresMods.All(IsModInstalled); } public static bool IsModInstalled(KeyValuePair mod) { - return ModMetadata.AllMods.ContainsKey(mod.Key) - && ModMetadata.AllMods[mod.Key].Version == mod.Value + return Mods.ContainsKey(mod.Key) + && Mods[mod.Key].Metadata.Version == mod.Value && IsModInstalled(mod.Key); } @@ -349,7 +363,7 @@ namespace OpenRA ModData = null; // Fall back to default if the mod doesn't exist or has missing prerequisites. - if (!ModMetadata.AllMods.ContainsKey(mod) || !IsModInstalled(mod)) + if (!IsModInstalled(mod)) mod = new GameSettings().Mod; Console.WriteLine("Loading mod: {0}", mod); @@ -357,18 +371,13 @@ namespace OpenRA Sound.StopVideo(); - ModData = new ModData(mod, true); + ModData = new ModData(Mods[mod], Mods, true); using (new PerfTimer("LoadMaps")) ModData.MapCache.LoadMaps(); - var content = ModData.Manifest.Get(); - 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) + if (!ModData.LoadScreen.RequiredContentIsInstalled()) { InitializeMod("modchooser", new Arguments()); return; @@ -469,8 +478,8 @@ namespace OpenRA ThreadPool.QueueUserWorkItem(_ => { - var mod = ModData.Manifest.Mod; - var directory = Platform.ResolvePath("^", "Screenshots", mod.Id, mod.Version); + var mod = ModData.Manifest.Metadata; + var directory = Platform.ResolvePath("^", "Screenshots", ModData.Manifest.Id, mod.Version); Directory.CreateDirectory(directory); var filename = TimestampedFilename(true); diff --git a/OpenRA.Game/IUtilityCommand.cs b/OpenRA.Game/IUtilityCommand.cs index 805b2050c3..ff7642acc0 100644 --- a/OpenRA.Game/IUtilityCommand.cs +++ b/OpenRA.Game/IUtilityCommand.cs @@ -9,8 +9,23 @@ */ #endregion +using OpenRA.Traits; + namespace OpenRA { + public class Utility + { + public readonly ModData ModData; + public readonly InstalledMods Mods; + + public Utility(ModData modData, InstalledMods mods) + { + ModData = modData; + Mods = mods; + } + } + + [RequireExplicitImplementation] public interface IUtilityCommand { /// @@ -20,6 +35,6 @@ namespace OpenRA bool ValidateArguments(string[] args); - void Run(ModData modData, string[] args); + void Run(Utility utility, string[] args); } } diff --git a/OpenRA.Game/InstalledMods.cs b/OpenRA.Game/InstalledMods.cs new file mode 100644 index 0000000000..2c64faf36b --- /dev/null +++ b/OpenRA.Game/InstalledMods.cs @@ -0,0 +1,121 @@ +#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; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using OpenRA.FileSystem; +using OpenRA.Primitives; + +namespace OpenRA +{ + public class InstalledMods : IReadOnlyDictionary + { + readonly Dictionary mods; + + public InstalledMods(string customModPath) + { + mods = GetInstalledMods(customModPath); + } + + static IEnumerable> GetCandidateMods() + { + // Get mods that are in the game folder. + var basePath = Platform.ResolvePath(Path.Combine(".", "mods")); + var mods = Directory.GetDirectories(basePath) + .Select(x => Pair.New(x.Substring(basePath.Length + 1), x)) + .ToList(); + + foreach (var m in Directory.GetFiles(basePath, "*.oramod")) + mods.Add(Pair.New(Path.GetFileNameWithoutExtension(m), m)); + + // Get mods that are in the support folder. + var supportPath = Platform.ResolvePath(Path.Combine("^", "mods")); + if (!Directory.Exists(supportPath)) + return mods; + + foreach (var pair in Directory.GetDirectories(supportPath).ToDictionary(x => x.Substring(supportPath.Length + 1))) + mods.Add(Pair.New(pair.Key, pair.Value)); + + foreach (var m in Directory.GetFiles(supportPath, "*.oramod")) + mods.Add(Pair.New(Path.GetFileNameWithoutExtension(m), m)); + + return mods; + } + + static Manifest LoadMod(string id, string path) + { + IReadOnlyPackage package = null; + try + { + if (Directory.Exists(path)) + package = new Folder(path); + else + { + try + { + using (var fileStream = File.OpenRead(path)) + package = new ZipFile(fileStream, path); + } + catch + { + throw new InvalidDataException(path + " is not a valid mod package"); + } + } + + if (!package.Contains("mod.yaml")) + throw new InvalidDataException(path + " is not a valid mod package"); + + // Mods in the support directory and oramod packages (which are listed later + // in the CandidateMods list) override mods in the main install. + return new Manifest(id, package); + } + catch (Exception) + { + if (package != null) + package.Dispose(); + + return null; + } + } + + static Dictionary GetInstalledMods(string customModPath) + { + var ret = new Dictionary(); + var candidates = GetCandidateMods(); + if (customModPath != null) + candidates = candidates.Append(Pair.New(Path.GetFileNameWithoutExtension(customModPath), customModPath)); + + foreach (var pair in candidates) + { + var mod = LoadMod(pair.First, pair.Second); + + // Mods in the support directory and oramod packages (which are listed later + // in the CandidateMods list) override mods in the main install. + if (mod != null) + ret[pair.First] = mod; + } + + return ret; + } + + public Manifest this[string key] { get { return mods[key]; } } + public int Count { get { return mods.Count; } } + public ICollection Keys { get { return mods.Keys; } } + public ICollection Values { get { return mods.Values; } } + public bool ContainsKey(string key) { return mods.ContainsKey(key); } + public IEnumerator> GetEnumerator() { return mods.GetEnumerator(); } + public bool TryGetValue(string key, out Manifest value) { return mods.TryGetValue(key, out value); } + IEnumerator IEnumerable.GetEnumerator() { return mods.GetEnumerator(); } + } +} \ No newline at end of file diff --git a/OpenRA.Game/Manifest.cs b/OpenRA.Game/Manifest.cs index ed9bd7e63a..a2ef3c7c81 100644 --- a/OpenRA.Game/Manifest.cs +++ b/OpenRA.Game/Manifest.cs @@ -31,10 +31,21 @@ namespace OpenRA } } + public class ModMetadata + { + public string Title; + public string Description; + public string Version; + public string Author; + public bool Hidden; + } + /// Describes what is to be loaded in order to run a mod. public class Manifest { - public readonly ModMetadata Mod; + public readonly string Id; + public readonly IReadOnlyPackage Package; + public readonly ModMetadata Metadata; public readonly string[] Rules, ServerTraits, Sequences, VoxelSequences, Cursors, Chrome, Assemblies, ChromeLayout, @@ -60,14 +71,15 @@ namespace OpenRA readonly TypeDictionary modules = new TypeDictionary(); readonly Dictionary yaml; - public Manifest(string modId) - { - var package = ModMetadata.AllMods[modId].Package; + bool customDataLoaded; + public Manifest(string modId, IReadOnlyPackage package) + { + Id = modId; + Package = package; yaml = new MiniYaml(null, MiniYaml.FromStream(package.GetStream("mod.yaml"), "mod.yaml")).ToDictionary(); - Mod = FieldLoader.Load(yaml["Metadata"]); - Mod.Id = modId; + Metadata = FieldLoader.Load(yaml["Metadata"]); // TODO: Use fieldloader MapFolders = YamlDictionary(yaml, "MapFolders"); @@ -106,7 +118,7 @@ namespace OpenRA RequiresMods = yaml["RequiresMods"].ToDictionary(my => my.Value); // Allow inherited mods to import parent maps. - var compat = new List { Mod.Id }; + var compat = new List { Id }; if (yaml.ContainsKey("SupportsMapsFrom")) compat.AddRange(yaml["SupportsMapsFrom"].Value.Split(',').Select(c => c.Trim())); @@ -147,6 +159,8 @@ namespace OpenRA modules.Add(module); } + + customDataLoaded = true; } static string[] YamlList(Dictionary yaml, string key, bool parsePaths = false) @@ -171,8 +185,12 @@ namespace OpenRA return modules.Contains(); } + /// Load a cached IGlobalModData instance. public T Get() where T : IGlobalModData { + if (!customDataLoaded) + throw new InvalidOperationException("Attempted to call Manifest.Get() before loading custom data!"); + var module = modules.GetOrDefault(); // Lazily create the default values if not explicitly defined. @@ -184,5 +202,36 @@ namespace OpenRA return module; } + + /// + /// Load an uncached IGlobalModData instance directly from the manifest yaml. + /// This should only be used by external mods that want to query data from this mod. + /// + public T Get(ObjectCreator oc) where T : IGlobalModData + { + MiniYaml data; + var t = typeof(T); + if (!yaml.TryGetValue(t.Name, out data)) + { + // Lazily create the default values if not explicitly defined. + return (T)oc.CreateBasic(t); + } + + IGlobalModData module; + var ctor = t.GetConstructor(new[] { typeof(MiniYaml) }); + if (ctor != null) + { + // Class has opted-in to DIY initialization + module = (IGlobalModData)ctor.Invoke(new object[] { data.Value }); + } + else + { + // Automatically load the child nodes using FieldLoader + module = oc.CreateObject(t.Name); + FieldLoader.Load(module, data); + } + + return (T)module; + } } } diff --git a/OpenRA.Game/ModData.cs b/OpenRA.Game/ModData.cs index e1a0cc3497..a039cc63f7 100644 --- a/OpenRA.Game/ModData.cs +++ b/OpenRA.Game/ModData.cs @@ -33,7 +33,7 @@ namespace OpenRA public ILoadScreen LoadScreen { get; private set; } public VoxelLoader VoxelLoader { get; private set; } public CursorProvider CursorProvider { get; private set; } - public FS ModFiles = new FS(); + public FS ModFiles; public IReadOnlyFileSystem DefaultFileSystem { get { return ModFiles; } } readonly Lazy defaultRules; @@ -45,10 +45,14 @@ namespace OpenRA readonly Lazy> defaultSequences; public IReadOnlyDictionary DefaultSequences { get { return defaultSequences.Value; } } - public ModData(string mod, bool useLoadScreen = false) + public ModData(Manifest mod, InstalledMods mods, bool useLoadScreen = false) { Languages = new string[0]; - Manifest = new Manifest(mod); + + ModFiles = new FS(mods); + + // Take a local copy of the manifest + Manifest = new Manifest(mod.Id, mod.Package); ModFiles.LoadFromManifest(Manifest); ObjectCreator = new ObjectCreator(Manifest, ModFiles); @@ -220,6 +224,7 @@ namespace OpenRA { void Init(ModData m, Dictionary info); void Display(); + bool RequiredContentIsInstalled(); void StartGame(Arguments args); } } diff --git a/OpenRA.Game/ModMetadata.cs b/OpenRA.Game/ModMetadata.cs deleted file mode 100644 index 788794dbb6..0000000000 --- a/OpenRA.Game/ModMetadata.cs +++ /dev/null @@ -1,126 +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; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using OpenRA.FileSystem; -using OpenRA.Primitives; - -namespace OpenRA -{ - public class ModMetadata - { - public static readonly Dictionary AllMods = ValidateMods(); - - public string Id; - public string Title; - public string Description; - public string Version; - public string Author; - public bool Hidden; - - public Dictionary RequiresMods; - public ModContent ModContent; - public IReadOnlyPackage Package; - - static Dictionary ValidateMods() - { - var ret = new Dictionary(); - foreach (var pair in GetCandidateMods()) - { - IReadOnlyPackage package = null; - try - { - if (Directory.Exists(pair.Second)) - package = new Folder(pair.Second); - else - { - try - { - using (var fileStream = File.OpenRead(pair.Second)) - package = new ZipFile(fileStream, pair.Second); - } - catch - { - throw new InvalidDataException(pair.Second + " is not a valid mod package"); - } - } - - if (!package.Contains("mod.yaml")) - { - package.Dispose(); - continue; - } - - var yaml = new MiniYaml(null, MiniYaml.FromStream(package.GetStream("mod.yaml"), "mod.yaml")); - var nd = yaml.ToDictionary(); - if (!nd.ContainsKey("Metadata")) - { - package.Dispose(); - continue; - } - - var metadata = FieldLoader.Load(nd["Metadata"]); - metadata.Id = pair.First; - metadata.Package = package; - - if (nd.ContainsKey("RequiresMods")) - metadata.RequiresMods = nd["RequiresMods"].ToDictionary(my => my.Value); - else - metadata.RequiresMods = new Dictionary(); - - if (nd.ContainsKey("ModContent")) - metadata.ModContent = FieldLoader.Load(nd["ModContent"]); - - // Mods in the support directory and oramod packages (which are listed later - // in the CandidateMods list) override mods in the main install. - ret[pair.First] = metadata; - } - catch (Exception ex) - { - if (package != null) - package.Dispose(); - Console.WriteLine("An exception occurred when trying to load ModMetadata for `{0}`:".F(pair.First)); - Console.WriteLine(ex.Message); - } - } - - return ret; - } - - static IEnumerable> GetCandidateMods() - { - // Get mods that are in the game folder. - var basePath = Platform.ResolvePath(Path.Combine(".", "mods")); - var mods = Directory.GetDirectories(basePath) - .Select(x => Pair.New(x.Substring(basePath.Length + 1), x)) - .ToList(); - - foreach (var m in Directory.GetFiles(basePath, "*.oramod")) - mods.Add(Pair.New(Path.GetFileNameWithoutExtension(m), m)); - - // Get mods that are in the support folder. - var supportPath = Platform.ResolvePath(Path.Combine("^", "mods")); - if (!Directory.Exists(supportPath)) - return mods; - - foreach (var pair in Directory.GetDirectories(supportPath).ToDictionary(x => x.Substring(supportPath.Length + 1))) - mods.Add(Pair.New(pair.Key, pair.Value)); - - foreach (var m in Directory.GetFiles(supportPath, "*.oramod")) - mods.Add(Pair.New(Path.GetFileNameWithoutExtension(m), m)); - - return mods; - } - } -} diff --git a/OpenRA.Game/Network/GameServer.cs b/OpenRA.Game/Network/GameServer.cs index af3976c119..5060309d31 100644 --- a/OpenRA.Game/Network/GameServer.cs +++ b/OpenRA.Game/Network/GameServer.cs @@ -38,14 +38,14 @@ namespace OpenRA.Network { FieldLoader.Load(this, yaml); - ModMetadata mod; + Manifest mod; var modVersion = Mods.Split('@'); - if (modVersion.Length == 2 && ModMetadata.AllMods.TryGetValue(modVersion[0], out mod)) + if (modVersion.Length == 2 && Game.Mods.TryGetValue(modVersion[0], out mod)) { ModId = modVersion[0]; ModVersion = modVersion[1]; - ModLabel = "{0} ({1})".F(mod.Title, modVersion[1]); - IsCompatible = Game.Settings.Debug.IgnoreVersionMismatch || ModVersion == mod.Version; + ModLabel = "{0} ({1})".F(mod.Metadata.Title, modVersion[1]); + IsCompatible = Game.Settings.Debug.IgnoreVersionMismatch || ModVersion == mod.Metadata.Version; } else ModLabel = "Unknown mod: {0}".F(Mods); diff --git a/OpenRA.Game/Network/ReplayRecorder.cs b/OpenRA.Game/Network/ReplayRecorder.cs index d4d9572542..f2c33c7da0 100644 --- a/OpenRA.Game/Network/ReplayRecorder.cs +++ b/OpenRA.Game/Network/ReplayRecorder.cs @@ -44,8 +44,8 @@ namespace OpenRA.Network void StartSavingReplay(byte[] initialContent) { var filename = chooseFilename(); - var mod = Game.ModData.Manifest.Mod; - var dir = Platform.ResolvePath("^", "Replays", mod.Id, mod.Version); + var mod = Game.ModData.Manifest; + var dir = Platform.ResolvePath("^", "Replays", mod.Id, mod.Metadata.Version); if (!Directory.Exists(dir)) Directory.CreateDirectory(dir); diff --git a/OpenRA.Game/Network/SyncReport.cs b/OpenRA.Game/Network/SyncReport.cs index 4dc3ce1ec8..1e405b7c8e 100644 --- a/OpenRA.Game/Network/SyncReport.cs +++ b/OpenRA.Game/Network/SyncReport.cs @@ -96,7 +96,7 @@ namespace OpenRA.Network { if (r.Frame == frame) { - var mod = Game.ModData.Manifest.Mod; + var mod = Game.ModData.Manifest.Metadata; Log.Write("sync", "Player: {0} ({1} {2} {3})", Game.Settings.Player.Name, Platform.CurrentPlatform, Environment.OSVersion, Platform.RuntimeVersion); Log.Write("sync", "Game ID: {0} (Mod: {1} at Version {2})", orderManager.LobbyInfo.GlobalSettings.GameUid, mod.Title, mod.Version); Log.Write("sync", "Sync for net frame {0} -------------", r.Frame); diff --git a/OpenRA.Game/Network/UnitOrders.cs b/OpenRA.Game/Network/UnitOrders.cs index 790a6a4838..c4461f0e44 100644 --- a/OpenRA.Game/Network/UnitOrders.cs +++ b/OpenRA.Game/Network/UnitOrders.cs @@ -132,13 +132,13 @@ namespace OpenRA.Network case "HandshakeRequest": { // Switch to the server's mod if we need and are able to - var mod = Game.ModData.Manifest.Mod; + var mod = Game.ModData.Manifest; var request = HandshakeRequest.Deserialize(order.TargetString); - ModMetadata serverMod; + Manifest serverMod; if (request.Mod != mod.Id && - ModMetadata.AllMods.TryGetValue(request.Mod, out serverMod) && - serverMod.Version == request.Version) + Game.Mods.TryGetValue(request.Mod, out serverMod) && + serverMod.Metadata.Version == request.Version) { var replay = orderManager.Connection as ReplayConnection; var launchCommand = replay != null ? @@ -170,7 +170,7 @@ namespace OpenRA.Network { Client = info, Mod = mod.Id, - Version = mod.Version, + Version = mod.Metadata.Version, Password = orderManager.Password }; diff --git a/OpenRA.Game/OpenRA.Game.csproj b/OpenRA.Game/OpenRA.Game.csproj index cef048ee0f..3a6bd6c4f9 100644 --- a/OpenRA.Game/OpenRA.Game.csproj +++ b/OpenRA.Game/OpenRA.Game.csproj @@ -204,7 +204,6 @@ - @@ -244,7 +243,7 @@ - + diff --git a/OpenRA.Game/Server/Server.cs b/OpenRA.Game/Server/Server.cs index f78c0d34d9..f01b7718b7 100644 --- a/OpenRA.Game/Server/Server.cs +++ b/OpenRA.Game/Server/Server.cs @@ -158,7 +158,7 @@ namespace OpenRA.Server foreach (var t in serverTraits.WithInterface()) t.ServerStarted(this); - Log.Write("server", "Initial mod: {0}", ModData.Manifest.Mod.Id); + Log.Write("server", "Initial mod: {0}", ModData.Manifest.Id); Log.Write("server", "Initial map: {0}", LobbyInfo.GlobalSettings.Map); var timeout = serverTraits.WithInterface().Min(t => t.TickTimeout); @@ -262,8 +262,8 @@ namespace OpenRA.Server // Dispatch a handshake order var request = new HandshakeRequest { - Mod = ModData.Manifest.Mod.Id, - Version = ModData.Manifest.Mod.Version, + Mod = ModData.Manifest.Id, + Version = ModData.Manifest.Metadata.Version, Map = LobbyInfo.GlobalSettings.Map }; @@ -327,7 +327,7 @@ namespace OpenRA.Server else client.Color = HSLColor.FromRGB(255, 255, 255); - if (ModData.Manifest.Mod.Id != handshake.Mod) + if (ModData.Manifest.Id != handshake.Mod) { Log.Write("server", "Rejected connection from {0}; mods do not match.", newConn.Socket.RemoteEndPoint); @@ -337,7 +337,7 @@ namespace OpenRA.Server return; } - if (ModData.Manifest.Mod.Version != handshake.Version && !LobbyInfo.GlobalSettings.AllowVersionMismatch) + if (ModData.Manifest.Metadata.Version != handshake.Version && !LobbyInfo.GlobalSettings.AllowVersionMismatch) { Log.Write("server", "Rejected connection from {0}; Not running the same version.", newConn.Socket.RemoteEndPoint); diff --git a/OpenRA.Game/Support/Arguments.cs b/OpenRA.Game/Support/Arguments.cs index bfda87411d..5ea78e0c40 100644 --- a/OpenRA.Game/Support/Arguments.cs +++ b/OpenRA.Game/Support/Arguments.cs @@ -35,5 +35,6 @@ namespace OpenRA public bool Contains(string key) { return args.ContainsKey(key); } public string GetValue(string key, string defaultValue) { return Contains(key) ? args[key] : defaultValue; } + public void ReplaceValue(string key, string value) { args[key] = value; } } } diff --git a/OpenRA.Game/Support/Program.cs b/OpenRA.Game/Support/Program.cs index 193790bdfe..b359d6da50 100644 --- a/OpenRA.Game/Support/Program.cs +++ b/OpenRA.Game/Support/Program.cs @@ -52,7 +52,7 @@ namespace OpenRA if (Game.ModData != null) { - var mod = Game.ModData.Manifest.Mod; + var mod = Game.ModData.Manifest.Metadata; Log.Write("exception", "{0} Mod at Version {1}", mod.Title, mod.Version); } diff --git a/OpenRA.Game/World.cs b/OpenRA.Game/World.cs index 192509e588..e83c9d4027 100644 --- a/OpenRA.Game/World.cs +++ b/OpenRA.Game/World.cs @@ -176,8 +176,8 @@ namespace OpenRA gameInfo = new GameInformation { - Mod = Game.ModData.Manifest.Mod.Id, - Version = Game.ModData.Manifest.Mod.Version, + Mod = Game.ModData.Manifest.Id, + Version = Game.ModData.Manifest.Metadata.Version, MapUid = Map.Uid, MapTitle = Map.Title diff --git a/OpenRA.Mods.Cnc/CncLoadScreen.cs b/OpenRA.Mods.Cnc/CncLoadScreen.cs index 39df630e11..aaea557490 100644 --- a/OpenRA.Mods.Cnc/CncLoadScreen.cs +++ b/OpenRA.Mods.Cnc/CncLoadScreen.cs @@ -36,6 +36,8 @@ namespace OpenRA.Mods.Cnc public override void Init(ModData modData, Dictionary info) { + base.Init(modData, info); + loadInfo = info; // Avoid standard loading mechanisms so we @@ -68,7 +70,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 = modData.Manifest.Mod.Version; + versionText = modData.Manifest.Metadata.Version; } bool setup; diff --git a/OpenRA.Mods.Cnc/ImportTiberianDawnLegacyMapCommand.cs b/OpenRA.Mods.Cnc/ImportTiberianDawnLegacyMapCommand.cs index 522a9a9488..3821ec3888 100644 --- a/OpenRA.Mods.Cnc/ImportTiberianDawnLegacyMapCommand.cs +++ b/OpenRA.Mods.Cnc/ImportTiberianDawnLegacyMapCommand.cs @@ -24,13 +24,11 @@ namespace OpenRA.Mods.Cnc.UtilityCommands // NOTE: 64x64 map size is a C&C95 engine limitation public ImportTiberianDawnLegacyMapCommand() : base(64) { } - public string Name { get { return "--import-td-map"; } } + string IUtilityCommand.Name { get { return "--import-td-map"; } } + bool IUtilityCommand.ValidateArguments(string[] args) { return ValidateArguments(args); } [Desc("FILENAME", "Convert a legacy Tiberian Dawn INI/MPR map to the OpenRA format.")] - public override void Run(ModData modData, string[] args) - { - base.Run(modData, args); - } + void IUtilityCommand.Run(Utility utility, string[] args) { Run(utility, args); } public override void ValidateMapFormat(int format) { diff --git a/OpenRA.Mods.Common/LoadScreens/BlankLoadScreen.cs b/OpenRA.Mods.Common/LoadScreens/BlankLoadScreen.cs index 6e17206346..859c214c69 100644 --- a/OpenRA.Mods.Common/LoadScreens/BlankLoadScreen.cs +++ b/OpenRA.Mods.Common/LoadScreens/BlankLoadScreen.cs @@ -12,6 +12,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using OpenRA.FileFormats; using OpenRA.Mods.Common.Widgets.Logic; using OpenRA.Widgets; @@ -21,8 +22,12 @@ namespace OpenRA.Mods.Common.LoadScreens public class BlankLoadScreen : ILoadScreen { public LaunchArguments Launch; + ModData modData; - public virtual void Init(ModData m, Dictionary info) { } + public virtual void Init(ModData modData, Dictionary info) + { + this.modData = modData; + } public virtual void Display() { @@ -79,7 +84,7 @@ namespace OpenRA.Mods.Common.LoadScreens if (replayMeta != null) { var mod = replayMeta.GameInfo.Mod; - if (mod != null && mod != Game.ModData.Manifest.Mod.Id && ModMetadata.AllMods.ContainsKey(mod)) + if (mod != null && mod != Game.ModData.Manifest.Id && Game.Mods.ContainsKey(mod)) Game.InitializeMod(mod, args); } @@ -97,5 +102,13 @@ namespace OpenRA.Mods.Common.LoadScreens Dispose(true); GC.SuppressFinalize(this); } + + public bool RequiredContentIsInstalled() + { + var content = modData.Manifest.Get(); + return content.Packages + .Where(p => p.Value.Required) + .All(p => p.Value.TestFiles.All(f => File.Exists(Platform.ResolvePath(f)))); + } } } \ No newline at end of file diff --git a/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs b/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs index bd26c79e52..5331be52af 100644 --- a/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs +++ b/OpenRA.Mods.Common/LoadScreens/LogoStripeLoadScreen.cs @@ -31,6 +31,8 @@ namespace OpenRA.Mods.Common.LoadScreens public override void Init(ModData modData, Dictionary info) { + base.Init(modData, info); + // Avoid standard loading mechanisms so we // can display the loadscreen as early as possible r = Game.Renderer; diff --git a/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs b/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs index 99c24ee948..39d0bd7787 100644 --- a/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs +++ b/OpenRA.Mods.Common/LoadScreens/ModChooserLoadScreen.cs @@ -11,7 +11,6 @@ using System.Collections.Generic; using System.Drawing; -using System.IO; using OpenRA.Graphics; using OpenRA.Widgets; @@ -58,5 +57,10 @@ namespace OpenRA.Mods.Common.LoadScreens if (sprite != null) sprite.Sheet.Dispose(); } + + public bool RequiredContentIsInstalled() + { + return true; + } } } \ No newline at end of file diff --git a/OpenRA.Game/ModContent.cs b/OpenRA.Mods.Common/ModContent.cs similarity index 84% rename from OpenRA.Game/ModContent.cs rename to OpenRA.Mods.Common/ModContent.cs index 2c772b6ecb..b3d5836f93 100644 --- a/OpenRA.Game/ModContent.cs +++ b/OpenRA.Mods.Common/ModContent.cs @@ -95,31 +95,21 @@ namespace OpenRA } [FieldLoader.LoadUsing("LoadDownloads")] - public readonly Dictionary Downloads; + public readonly string[] Downloads = { }; static object LoadDownloads(MiniYaml yaml) { - var downloads = new Dictionary(); var downloadNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Downloads"); - if (downloadNode != null) - foreach (var node in downloadNode.Value.Nodes) - downloads.Add(node.Key, new ModDownload(node.Value)); - - return downloads; + return downloadNode != null ? downloadNode.Value.Nodes.Select(n => n.Key).ToArray() : new string[0]; } [FieldLoader.LoadUsing("LoadSources")] - public readonly Dictionary Sources; + public readonly string[] Sources = { }; static object LoadSources(MiniYaml yaml) { - var sources = new Dictionary(); var sourceNode = yaml.Nodes.FirstOrDefault(n => n.Key == "Sources"); - if (sourceNode != null) - foreach (var node in sourceNode.Value.Nodes) - sources.Add(node.Key, new ModSource(node.Value)); - - return sources; + return sourceNode != null ? sourceNode.Value.Nodes.Select(n => n.Key).ToArray() : new string[0]; } } } diff --git a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj index a517a6c0c3..9822fde854 100644 --- a/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj +++ b/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj @@ -778,6 +778,7 @@ + diff --git a/OpenRA.Mods.Common/ServerTraits/MasterServerPinger.cs b/OpenRA.Mods.Common/ServerTraits/MasterServerPinger.cs index f8b2745521..f55ee18d98 100644 --- a/OpenRA.Mods.Common/ServerTraits/MasterServerPinger.cs +++ b/OpenRA.Mods.Common/ServerTraits/MasterServerPinger.cs @@ -52,7 +52,7 @@ namespace OpenRA.Mods.Common.Server lastPing = Game.RunTime; isBusy = true; - var mod = server.ModData.Manifest.Mod; + var mod = server.ModData.Manifest; // important to grab these on the main server thread, not in the worker we're about to spawn -- they may be modified // by the main thread as clients join and leave. @@ -79,7 +79,7 @@ namespace OpenRA.Mods.Common.Server (int)server.State, numPlayers, numBots, - "{0}@{1}".F(mod.Id, mod.Version), + "{0}@{1}".F(mod.Id, mod.Metadata.Version), server.LobbyInfo.GlobalSettings.Map, numSlots, numSpectators, diff --git a/OpenRA.Mods.Common/UtilityCommands/CheckCodeStyle.cs b/OpenRA.Mods.Common/UtilityCommands/CheckCodeStyle.cs index 07780488e8..f66436e02a 100644 --- a/OpenRA.Mods.Common/UtilityCommands/CheckCodeStyle.cs +++ b/OpenRA.Mods.Common/UtilityCommands/CheckCodeStyle.cs @@ -17,22 +17,22 @@ namespace OpenRA.Mods.Common.UtilityCommands { class CheckCodeStyle : IUtilityCommand { - public string Name { get { return "--check-code-style"; } } + string IUtilityCommand.Name { get { return "--check-code-style"; } } int violationCount; - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } [Desc("DIRECTORY", "Check the *.cs source code files in a directory for code style violations.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var relativePath = args[1]; var projectPath = Path.GetFullPath(relativePath); // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = utility.ModData; var console = new StyleCopConsole(null, false, null, null, true); var project = new CodeProject(0, projectPath, new Configuration(null)); diff --git a/OpenRA.Mods.Common/UtilityCommands/CheckExplicitInterfacesCommand.cs b/OpenRA.Mods.Common/UtilityCommands/CheckExplicitInterfacesCommand.cs index b3e70a4e76..279819a3b3 100644 --- a/OpenRA.Mods.Common/UtilityCommands/CheckExplicitInterfacesCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/CheckExplicitInterfacesCommand.cs @@ -28,9 +28,9 @@ namespace OpenRA.Mods.Common.UtilityCommands int violationCount; [Desc("Check for explicit interface implementation violations in all assemblies referenced by the specified mod.")] - void IUtilityCommand.Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { - var types = modData.ObjectCreator.GetTypes(); + var types = utility.ModData.ObjectCreator.GetTypes(); foreach (var implementingType in types.Where(t => !t.IsInterface)) { diff --git a/OpenRA.Mods.Common/UtilityCommands/CheckSequenceSprites.cs b/OpenRA.Mods.Common/UtilityCommands/CheckSequenceSprites.cs index 92dd35795e..d0467fd111 100644 --- a/OpenRA.Mods.Common/UtilityCommands/CheckSequenceSprites.cs +++ b/OpenRA.Mods.Common/UtilityCommands/CheckSequenceSprites.cs @@ -17,18 +17,18 @@ namespace OpenRA.Mods.Common.UtilityCommands { class CheckSquenceSprites : IUtilityCommand { - public string Name { get { return "--check-sequence-sprites"; } } + string IUtilityCommand.Name { get { return "--check-sequence-sprites"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return true; } [Desc("Check the sequence definitions for missing sprite files.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; var failed = false; modData.SpriteSequenceLoader.OnMissingSpriteError = s => { Console.WriteLine("\t" + s); failed = true; }; diff --git a/OpenRA.Mods.Common/UtilityCommands/CheckYaml.cs b/OpenRA.Mods.Common/UtilityCommands/CheckYaml.cs index 1e0a13ce11..087946283c 100644 --- a/OpenRA.Mods.Common/UtilityCommands/CheckYaml.cs +++ b/OpenRA.Mods.Common/UtilityCommands/CheckYaml.cs @@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.UtilityCommands { class CheckYaml : IUtilityCommand { - public string Name { get { return "--check-yaml"; } } + string IUtilityCommand.Name { get { return "--check-yaml"; } } static int errors = 0; @@ -34,16 +34,16 @@ namespace OpenRA.Mods.Common.UtilityCommands Console.WriteLine("OpenRA.Utility(1,1): Warning: {0}", e); } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return true; } [Desc("[MAPFILE]", "Check a mod or map for certain yaml errors.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; try { @@ -57,7 +57,7 @@ namespace OpenRA.Mods.Common.UtilityCommands var maps = new List(); if (args.Length < 2) { - Console.WriteLine("Testing mod: {0}".F(modData.Manifest.Mod.Title)); + Console.WriteLine("Testing mod: {0}".F(modData.Manifest.Metadata.Title)); // Run all rule checks on the default mod rules. CheckRules(modData, modData.DefaultRules); diff --git a/OpenRA.Mods.Common/UtilityCommands/ConvertPngToShpCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ConvertPngToShpCommand.cs index 8b6d11599c..ef9bf3b85c 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ConvertPngToShpCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ConvertPngToShpCommand.cs @@ -23,15 +23,15 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ConvertPngToShpCommand : IUtilityCommand { - public string Name { get { return "--shp"; } } + string IUtilityCommand.Name { get { return "--shp"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } [Desc("PNGFILE [PNGFILE ...]", "Combine a list of PNG images into a SHP")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var inputFiles = GlobArgs(args).OrderBy(a => a).ToList(); var dest = inputFiles[0].Split('-').First() + ".shp"; diff --git a/OpenRA.Mods.Common/UtilityCommands/ConvertSpriteToPngCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ConvertSpriteToPngCommand.cs index 01e7ec034d..229800513f 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ConvertSpriteToPngCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ConvertSpriteToPngCommand.cs @@ -21,19 +21,19 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ConvertSpriteToPngCommand : IUtilityCommand { - public string Name { get { return "--png"; } } + string IUtilityCommand.Name { get { return "--png"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 3; } [Desc("SPRITEFILE PALETTE [--noshadow] [--nopadding]", "Convert a shp/tmp/R8 to a series of PNGs, optionally removing shadow")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; var src = args[1]; var shadowIndex = new int[] { }; diff --git a/OpenRA.Mods.Common/UtilityCommands/CreateManPage.cs b/OpenRA.Mods.Common/UtilityCommands/CreateManPage.cs index 4cd3951f65..2ea89287f5 100644 --- a/OpenRA.Mods.Common/UtilityCommands/CreateManPage.cs +++ b/OpenRA.Mods.Common/UtilityCommands/CreateManPage.cs @@ -16,15 +16,15 @@ namespace OpenRA.Mods.Common.UtilityCommands { class CreateManPage : IUtilityCommand { - public string Name { get { return "--man-page"; } } + string IUtilityCommand.Name { get { return "--man-page"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return true; } [Desc("Create a man page in troff format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { Console.WriteLine(".TH OPENRA 6"); Console.WriteLine(".SH NAME"); diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractFilesCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractFilesCommand.cs index 30aadb6d37..f9702a0c55 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractFilesCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractFilesCommand.cs @@ -17,21 +17,21 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ExtractFilesCommand : IUtilityCommand { - public string Name { get { return "--extract"; } } + string IUtilityCommand.Name { get { return "--extract"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } [Desc("Extract files from mod packages to the current directory")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var files = args.Skip(1); foreach (var f in files) { - var src = modData.DefaultFileSystem.Open(f); + var src = utility.ModData.DefaultFileSystem.Open(f); if (src == null) throw new InvalidOperationException("File not found: {0}".F(f)); var data = src.ReadAllBytes(); diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractLanguageStringsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractLanguageStringsCommand.cs index 712143d64b..081690ee0d 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractLanguageStringsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractLanguageStringsCommand.cs @@ -18,20 +18,20 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ExtractLanguageStringsCommand : IUtilityCommand { - public string Name { get { return "--extract-language-strings"; } } + string IUtilityCommand.Name { get { return "--extract-language-strings"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return true; } [Desc("Extract translatable strings that are not yet localized and update chrome layout.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; - var types = Game.ModData.ObjectCreator.GetTypes(); + var types = modData.ObjectCreator.GetTypes(); var translatableFields = types.SelectMany(t => t.GetFields()) .Where(f => f.HasAttribute()).Distinct(); diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs index 7761393de7..b5b69321a7 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractLuaDocsCommand.cs @@ -18,20 +18,20 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ExtractLuaDocsCommand : IUtilityCommand { - public string Name { get { return "--lua-docs"; } } + string IUtilityCommand.Name { get { return "--lua-docs"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return true; } [Desc("Generate Lua API documentation in MarkDown format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = utility.ModData; - Console.WriteLine("This is an automatically generated listing of the new Lua map scripting API, generated for {0} of OpenRA.", Game.ModData.Manifest.Mod.Version); + Console.WriteLine("This is an automatically generated listing of the new Lua map scripting API, generated for {0} of OpenRA.", Game.ModData.Manifest.Metadata.Version); Console.WriteLine(); Console.WriteLine("OpenRA allows custom maps and missions to be scripted using Lua 5.1.\n" + "These scripts run in a sandbox that prevents access to unsafe functions (e.g. OS or file access), " + @@ -55,7 +55,7 @@ namespace OpenRA.Mods.Common.UtilityCommands Console.WriteLine("For a basic guide about map scripts see the [`Map Scripting` wiki page](https://github.com/OpenRA/OpenRA/wiki/Map-scripting)."); Console.WriteLine(); - var tables = Game.ModData.ObjectCreator.GetTypesImplementing() + var tables = utility.ModData.ObjectCreator.GetTypesImplementing() .OrderBy(t => t.Name); Console.WriteLine("

Global Tables

"); @@ -77,7 +77,7 @@ namespace OpenRA.Mods.Common.UtilityCommands Console.WriteLine("

Actor Properties / Commands

"); - var actorCategories = Game.ModData.ObjectCreator.GetTypesImplementing().SelectMany(cg => + var actorCategories = utility.ModData.ObjectCreator.GetTypesImplementing().SelectMany(cg => { var catAttr = cg.GetCustomAttributes(false).FirstOrDefault(); var category = catAttr != null ? catAttr.Category : "Unsorted"; @@ -122,7 +122,7 @@ namespace OpenRA.Mods.Common.UtilityCommands Console.WriteLine("

Player Properties / Commands

"); - var playerCategories = Game.ModData.ObjectCreator.GetTypesImplementing().SelectMany(cg => + var playerCategories = utility.ModData.ObjectCreator.GetTypesImplementing().SelectMany(cg => { var catAttr = cg.GetCustomAttributes(false).FirstOrDefault(); var category = catAttr != null ? catAttr.Category : "Unsorted"; diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractMapRules.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractMapRules.cs index 9900478eb5..5caab7099f 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractMapRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractMapRules.cs @@ -50,9 +50,9 @@ namespace OpenRA.Mods.Common.UtilityCommands } [Desc("MAPFILE", "Merge custom map rules into a form suitable for including in map.yaml.")] - void IUtilityCommand.Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; var map = new Map(modData, modData.ModFiles.OpenPackage(args[1], new Folder("."))); MergeAndPrint(map, "Rules", map.RuleDefinitions); diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractSettingsDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractSettingsDocsCommand.cs index 7968b18e90..f62e26c3d4 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractSettingsDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractSettingsDocsCommand.cs @@ -16,21 +16,21 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ExtractSettingsDocsCommand : IUtilityCommand { - public string Name { get { return "--settings-docs"; } } + string IUtilityCommand.Name { get { return "--settings-docs"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return true; } [Desc("Generate settings documentation in markdown format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { - Game.ModData = modData; + Game.ModData = utility.ModData; Console.WriteLine( "This documentation is aimed at server administrators. It displays all settings with default values and description. " + "Please do not edit it directly, but add new `[Desc(\"String\")]` tags to the source code. This file has been " + - "automatically generated for version {0} of OpenRA.", Game.ModData.Manifest.Mod.Version); + "automatically generated for version {0} of OpenRA.", utility.ModData.Manifest.Metadata.Version); Console.WriteLine(); Console.WriteLine("All settings can be changed by starting the game via a command-line parameter like `Game.Mod=ra`."); Console.WriteLine(); diff --git a/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs index 2f263ebd91..b0f6bda5af 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ExtractTraitDocsCommand.cs @@ -20,23 +20,23 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ExtractTraitDocsCommand : IUtilityCommand { - public string Name { get { return "--docs"; } } + string IUtilityCommand.Name { get { return "--docs"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return true; } [Desc("Generate trait documentation in MarkDown format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = utility.ModData; Console.WriteLine( "This documentation is aimed at modders. It displays all traits with default values and developer commentary. " + "Please do not edit it directly, but add new `[Desc(\"String\")]` tags to the source code. This file has been " + - "automatically generated for version {0} of OpenRA.", Game.ModData.Manifest.Mod.Version); + "automatically generated for version {0} of OpenRA.", utility.ModData.Manifest.Metadata.Version); Console.WriteLine(); var toc = new StringBuilder(); diff --git a/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs b/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs index 4fb659a06e..29076eb00d 100644 --- a/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs +++ b/OpenRA.Mods.Common/UtilityCommands/FixClassicTilesets.cs @@ -20,18 +20,18 @@ namespace OpenRA.Mods.Common.UtilityCommands { class FixClassicTilesets : IUtilityCommand { - public string Name { get { return "--fix-classic-tilesets"; } } + string IUtilityCommand.Name { get { return "--fix-classic-tilesets"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } [Desc("EXTENSIONS", "Fixes missing template tile definitions and adds filename extensions.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; var imageField = typeof(TerrainTemplateInfo).GetField("Image"); var pickAnyField = typeof(TerrainTemplateInfo).GetField("PickAny"); diff --git a/OpenRA.Mods.Common/UtilityCommands/GetMapHashCommand.cs b/OpenRA.Mods.Common/UtilityCommands/GetMapHashCommand.cs index 61825b4777..4c05650828 100644 --- a/OpenRA.Mods.Common/UtilityCommands/GetMapHashCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/GetMapHashCommand.cs @@ -16,17 +16,17 @@ namespace OpenRA.Mods.Common.UtilityCommands { class GetMapHashCommand : IUtilityCommand { - public string Name { get { return "--map-hash"; } } + string IUtilityCommand.Name { get { return "--map-hash"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } [Desc("MAPFILE", "Generate hash of specified oramap file.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { - using (var package = modData.ModFiles.OpenPackage(args[1], new Folder("."))) + using (var package = utility.ModData.ModFiles.OpenPackage(args[1], new Folder("."))) Console.WriteLine(Map.ComputeUID(package)); } } diff --git a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs index c02b4aeadf..fabf462fad 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ImportLegacyMapCommand.cs @@ -38,18 +38,15 @@ namespace OpenRA.Mods.Common.UtilityCommands bool singlePlayer; int spawnCount; - public bool ValidateArguments(string[] args) + protected bool ValidateArguments(string[] args) { return args.Length >= 2; } - [Desc("FILENAME", "Convert a legacy INI/MPR map to the OpenRA format.")] - public virtual void Run(ModData modData, string[] args) + protected void Run(Utility utility, string[] args) { - ModData = modData; - // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = ModData = utility.ModData; var filename = args[1]; using (var stream = File.OpenRead(filename)) @@ -68,16 +65,16 @@ namespace OpenRA.Mods.Common.UtilityCommands // The original game isn't case sensitive, but we are. var tileset = GetTileset(mapSection).ToUpperInvariant(); - if (!modData.DefaultTileSets.ContainsKey(tileset)) + if (!ModData.DefaultTileSets.ContainsKey(tileset)) throw new InvalidDataException("Unknown tileset {0}".F(tileset)); - Map = new Map(modData, modData.DefaultTileSets[tileset], MapSize, MapSize) + Map = new Map(ModData, ModData.DefaultTileSets[tileset], MapSize, MapSize) { Title = basic.GetValue("Name", Path.GetFileNameWithoutExtension(filename)), Author = "Westwood Studios", }; - Map.RequiresMod = modData.Manifest.Mod.Id; + Map.RequiresMod = ModData.Manifest.Id; SetBounds(Map, mapSection); diff --git a/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldCabContentsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldCabContentsCommand.cs index cc57689311..0bd33d427a 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldCabContentsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldCabContentsCommand.cs @@ -19,15 +19,15 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ListInstallShieldCabContentsCommand : IUtilityCommand { - public string Name { get { return "--list-installshield-cab"; } } + string IUtilityCommand.Name { get { return "--list-installshield-cab"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length == 2; } [Desc("DATA.HDR", "Lists the filenames contained within an Installshield CAB volume set")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { using (var file = File.OpenRead(args[1])) { diff --git a/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldContentsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldContentsCommand.cs index 52678b81aa..53eab686ea 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldContentsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ListInstallShieldContentsCommand.cs @@ -11,27 +11,26 @@ using System; using System.IO; -using System.Linq; using OpenRA.FileSystem; namespace OpenRA.Mods.Common.UtilityCommands { class ListInstallShieldContents : IUtilityCommand { - public string Name { get { return "--list-installshield"; } } + string IUtilityCommand.Name { get { return "--list-installshield"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length == 2; } [Desc("ARCHIVE.Z", "Lists the content ranges for a InstallShield V3 file")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var filename = Path.GetFileName(args[1]); var path = Path.GetDirectoryName(args[1]); - var fs = new OpenRA.FileSystem.FileSystem(); + var fs = new FileSystem.FileSystem(utility.Mods); fs.Mount(path, "parent"); var package = new InstallShieldPackage(fs, "parent|" + filename); diff --git a/OpenRA.Mods.Common/UtilityCommands/ListMSCabContentsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ListMSCabContentsCommand.cs index c5d90d7a7f..6ca54ff4df 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ListMSCabContentsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ListMSCabContentsCommand.cs @@ -17,15 +17,15 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ListMSCabContentsCommand : IUtilityCommand { - public string Name { get { return "--list-mscab"; } } + string IUtilityCommand.Name { get { return "--list-mscab"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length == 2; } [Desc("ARCHIVE.CAB", "Lists the filenames contained within a MSCAB file")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var package = new MSCabCompression(File.OpenRead(args[1])); foreach (var file in package.Contents) diff --git a/OpenRA.Mods.Common/UtilityCommands/ListMixContentsCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ListMixContentsCommand.cs index dd4444bbd3..a5967f9394 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ListMixContentsCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ListMixContentsCommand.cs @@ -18,23 +18,23 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ListMixContents : IUtilityCommand { - public string Name { get { return "--list-mix"; } } + string IUtilityCommand.Name { get { return "--list-mix"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length == 2; } [Desc("ARCHIVE.MIX", "Lists the content ranges for a mix file")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var filename = Path.GetFileName(args[1]); var path = Path.GetDirectoryName(args[1]); - var fs = new OpenRA.FileSystem.FileSystem(); + var fs = new FileSystem.FileSystem(utility.Mods); // Needed to access the global mix database - fs.LoadFromManifest(modData.Manifest); + fs.LoadFromManifest(utility.ModData.Manifest); fs.Mount(path, "parent"); var package = new MixFile(fs, "parent|" + filename); diff --git a/OpenRA.Mods.Common/UtilityCommands/OutputActorMiniYamlCommand.cs b/OpenRA.Mods.Common/UtilityCommands/OutputActorMiniYamlCommand.cs index 876812d1d8..f1e13fcf92 100644 --- a/OpenRA.Mods.Common/UtilityCommands/OutputActorMiniYamlCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/OutputActorMiniYamlCommand.cs @@ -15,16 +15,17 @@ namespace OpenRA.Mods.Common.UtilityCommands } [Desc("ACTOR-TYPE [PATH/TO/MAP]", "Display the finalized, merged MiniYaml tree for the given actor type. Input values are case-sensitive.")] - void IUtilityCommand.Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; var actorType = args[1]; string mapPath = null; Map map = null; if (args.Length == 3) + { try { mapPath = args[2]; @@ -35,6 +36,7 @@ namespace OpenRA.Mods.Common.UtilityCommands Console.WriteLine("Could not load map '{0}'.", mapPath); Environment.Exit(2); } + } var fs = map ?? modData.DefaultFileSystem; var topLevelNodes = MiniYaml.Load(fs, modData.Manifest.Rules, map == null ? null : map.RuleDefinitions); diff --git a/OpenRA.Mods.Common/UtilityCommands/RemapShpCommand.cs b/OpenRA.Mods.Common/UtilityCommands/RemapShpCommand.cs index 9b892dc179..04267f9270 100644 --- a/OpenRA.Mods.Common/UtilityCommands/RemapShpCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/RemapShpCommand.cs @@ -22,15 +22,15 @@ namespace OpenRA.Mods.Common.UtilityCommands { class RemapShpCommand : IUtilityCommand { - public string Name { get { return "--remap"; } } + string IUtilityCommand.Name { get { return "--remap"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 5; } [Desc("SRCMOD:PAL DESTMOD:PAL SRCSHP DESTSHP", "Remap SHPs to another palette")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var remap = new Dictionary(); @@ -39,14 +39,14 @@ namespace OpenRA.Mods.Common.UtilityCommands remap[i] = i; var srcMod = args[1].Split(':')[0]; - var srcModData = new ModData(srcMod); + var srcModData = new ModData(utility.Mods[srcMod], utility.Mods); Game.ModData = srcModData; var srcPaletteInfo = srcModData.DefaultRules.Actors["player"].TraitInfo(); var srcRemapIndex = srcPaletteInfo.RemapIndex; var destMod = args[2].Split(':')[0]; - var destModData = new ModData(destMod); + var destModData = new ModData(utility.Mods[destMod], utility.Mods); Game.ModData = destModData; var destPaletteInfo = destModData.DefaultRules.Actors["player"].TraitInfo(); var destRemapIndex = destPaletteInfo.RemapIndex; diff --git a/OpenRA.Mods.Common/UtilityCommands/ReplayMetadataCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ReplayMetadataCommand.cs index 7390298458..0be0b50284 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ReplayMetadataCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ReplayMetadataCommand.cs @@ -17,15 +17,15 @@ namespace OpenRA.Mods.Common.UtilityCommands { class ReplayMetadataCommand : IUtilityCommand { - public string Name { get { return "--replay-metadata"; } } + string IUtilityCommand.Name { get { return "--replay-metadata"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } [Desc("REPLAYFILE", "Print the game metadata from a replay file.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { var replay = ReplayMetadata.Read(args[1]); if (replay == null) diff --git a/OpenRA.Mods.Common/UtilityCommands/ResizeMapCommand.cs b/OpenRA.Mods.Common/UtilityCommands/ResizeMapCommand.cs index 378f3d40d1..aeadc96582 100644 --- a/OpenRA.Mods.Common/UtilityCommands/ResizeMapCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/ResizeMapCommand.cs @@ -18,14 +18,14 @@ namespace OpenRA.Mods.Common.UtilityCommands { public class ResizeMapCommand : IUtilityCommand { - public string Name { get { return "--resize-map"; } } + string IUtilityCommand.Name { get { return "--resize-map"; } } int width; int height; Map map; - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { if (args.Length < 4) return false; @@ -46,9 +46,9 @@ namespace OpenRA.Mods.Common.UtilityCommands } [Desc("MAPFILE", "WIDTH", "HEIGHT", "Resize the map at the bottom corners.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; map = new Map(modData, modData.ModFiles.OpenPackage(args[1], new Folder("."))); Console.WriteLine("Resizing map {0} from {1} to {2},{3}", map.Title, map.MapSize, width, height); map.Resize(width, height); diff --git a/OpenRA.Mods.Common/UtilityCommands/Rgba2Hex.cs b/OpenRA.Mods.Common/UtilityCommands/Rgba2Hex.cs index 64524e7e5e..7bc8dad38c 100644 --- a/OpenRA.Mods.Common/UtilityCommands/Rgba2Hex.cs +++ b/OpenRA.Mods.Common/UtilityCommands/Rgba2Hex.cs @@ -15,11 +15,11 @@ namespace OpenRA.Mods.Common.UtilityCommands { class Rgba2Hex : IUtilityCommand { - public string Name { get { return "--rgba2hex"; } } + string IUtilityCommand.Name { get { return "--rgba2hex"; } } static readonly char[] Comma = new char[] { ',' }; - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { if (args.Length <= 1) return PrintUsage(); @@ -74,7 +74,7 @@ namespace OpenRA.Mods.Common.UtilityCommands } [Desc("Convert r,g,b[,a] triples/quads into hex colors")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { for (int i = 1; i < args.Length;) { @@ -104,11 +104,11 @@ namespace OpenRA.Mods.Common.UtilityCommands class Argb2Hex : IUtilityCommand { - public string Name { get { return "--argb2hex"; } } + string IUtilityCommand.Name { get { return "--argb2hex"; } } static readonly char[] Comma = new char[] { ',' }; - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { if (args.Length <= 1) return PrintUsage(); @@ -180,7 +180,7 @@ namespace OpenRA.Mods.Common.UtilityCommands } [Desc("Convert a,r,g,b legacy colors into hex colors")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { for (int i = 1; i < args.Length;) { diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs index de0f6d4bdc..fee3a67820 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeMapCommand.cs @@ -19,9 +19,9 @@ namespace OpenRA.Mods.Common.UtilityCommands { class UpgradeMapCommand : IUtilityCommand { - public string Name { get { return "--upgrade-map"; } } + string IUtilityCommand.Name { get { return "--upgrade-map"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 3; } @@ -75,10 +75,10 @@ namespace OpenRA.Mods.Common.UtilityCommands } [Desc("MAP", "CURRENTENGINE", "Upgrade map rules to the latest engine version.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; // HACK: We know that maps can only be oramap or folders, which are ReadWrite var package = modData.ModFiles.OpenPackage(args[1], new Folder(".")) as IReadWritePackage; diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs index c2e6a68d99..d76a5b02fe 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeModCommand.cs @@ -19,9 +19,9 @@ namespace OpenRA.Mods.Common.UtilityCommands { class UpgradeModCommand : IUtilityCommand { - public string Name { get { return "--upgrade-mod"; } } + string IUtilityCommand.Name { get { return "--upgrade-mod"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } @@ -53,10 +53,10 @@ namespace OpenRA.Mods.Common.UtilityCommands } [Desc("CURRENTENGINE", "Upgrade mod rules to the latest engine version.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; modData.MapCache.LoadMaps(); var engineDate = Exts.ParseIntegerInvariant(args[1]); diff --git a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs index a69e512444..f764b176da 100644 --- a/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs +++ b/OpenRA.Mods.Common/UtilityCommands/UpgradeRules.cs @@ -346,7 +346,7 @@ namespace OpenRA.Mods.Common.UtilityCommands { foreach (var node in nodes) { - if (engineVersion < 20160730 && modData.Manifest.Mod.Id == "d2k" && depth == 2) + if (engineVersion < 20160730 && modData.Manifest.Id == "d2k" && depth == 2) { if (node.Key == "Start") node.Value.Value = RemapD2k106Sequence(FieldLoader.GetValue("", node.Value.Value)).ToString(); @@ -416,7 +416,7 @@ namespace OpenRA.Mods.Common.UtilityCommands foreach (var node in nodes) { // Fix RA building footprints to not use _ when it's not necessary - if (engineVersion < 20160619 && modData.Manifest.Mod.Id == "ra" && depth == 1) + if (engineVersion < 20160619 && modData.Manifest.Id == "ra" && depth == 1) { var buildings = new List() { "tsla", "gap", "agun", "apwr", "fapw" }; if (buildings.Contains(parent.Value.Value) && node.Key == "Location") @@ -424,7 +424,7 @@ namespace OpenRA.Mods.Common.UtilityCommands } // Fix TD building footprints to not use _ when it's not necessary - if (engineVersion < 20160619 && modData.Manifest.Mod.Id == "cnc" && depth == 1) + if (engineVersion < 20160619 && modData.Manifest.Id == "cnc" && depth == 1) { var buildings = new List() { "atwr", "obli", "tmpl", "weap", "hand" }; if (buildings.Contains(parent.Value.Value) && node.Key == "Location") diff --git a/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs index 02650a1a82..1a15db58f2 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Editor/SaveMapLogic.cs @@ -170,7 +170,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (playerDefinitions != null) map.PlayerDefinitions = playerDefinitions; - map.RequiresMod = modData.Manifest.Mod.Id; + map.RequiresMod = modData.Manifest.Id; var combinedPath = Platform.ResolvePath(Path.Combine(selectedDirectory.Folder.Name, filename.Text + fileTypes[fileType].Extension)); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs index c30fa9b229..32c152ce12 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Ingame/IngameMenuLogic.cs @@ -32,7 +32,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (mpe != null) mpe.Fade(mpe.Info.MenuEffect); - menu.Get("VERSION_LABEL").Text = modData.Manifest.Mod.Version; + menu.Get("VERSION_LABEL").Text = modData.Manifest.Metadata.Version; var hideMenu = false; menu.Get("MENU_BUTTONS").IsVisible = () => !hideMenu; diff --git a/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallFromDiscLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallFromDiscLogic.cs index 72476be2c0..e3d0678519 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallFromDiscLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallFromDiscLogic.cs @@ -29,6 +29,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic enum Mode { Progress, Message, List } readonly ModContent content; + readonly Dictionary sources; readonly Widget panel; readonly LabelWidget titleLabel; @@ -54,9 +55,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic Mode visible = Mode.Progress; [ObjectCreator.UseCtor] - public InstallFromDiscLogic(Widget widget, ModContent content, Action afterInstall) + public InstallFromDiscLogic(Widget widget, ModContent content, Dictionary sources, Action afterInstall) { this.content = content; + this.sources = sources; Log.AddChannel("install", "install.log"); @@ -106,7 +108,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic .Where(v => v.DriveType == DriveType.CDRom && v.IsReady) .Select(v => v.RootDirectory.FullName); - foreach (var kv in content.Sources) + foreach (var kv in sources) { message = "Searching for " + kv.Value.Title; @@ -131,12 +133,12 @@ namespace OpenRA.Mods.Common.Widgets.Logic } } - var sources = content.Packages.Values + var missingSources = content.Packages.Values .Where(p => !p.IsInstalled()) .SelectMany(p => p.Sources) - .Select(d => content.Sources[d]); + .Select(d => sources[d]); - var discs = sources + var discs = missingSources .Where(s => s.Type == ModContent.SourceType.Disc) .Select(s => s.Title) .Distinct(); @@ -148,7 +150,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (Platform.CurrentPlatform == PlatformType.Windows) { - var installations = sources + var installations = missingSources .Where(s => s.Type == ModContent.SourceType.Install) .Select(s => s.Title) .Distinct(); diff --git a/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallModLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallModLogic.cs index 07968a2651..85324c63cb 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallModLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Installation/InstallModLogic.cs @@ -21,7 +21,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic { var panel = widget.Get("INSTALL_MOD_PANEL"); - var mods = ModMetadata.AllMods[modId].RequiresMods.Where(m => !Game.IsModInstalled(m)).Select(m => "{0} ({1})".F(m.Key, m.Value)); + var mods = Game.Mods[modId].RequiresMods.Where(m => !Game.IsModInstalled(m)).Select(m => "{0} ({1})".F(m.Key, m.Value)); var text = string.Join(", ", mods); panel.Get("MOD_LIST").Text = text; diff --git a/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentLogic.cs index 32ca8134e8..a2819ce2e3 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentLogic.cs @@ -10,7 +10,7 @@ #endregion using System; -using System.IO; +using System.Collections.Generic; using System.Linq; using OpenRA.Widgets; @@ -21,14 +21,32 @@ namespace OpenRA.Mods.Common.Widgets.Logic readonly ModContent content; readonly ScrollPanelWidget scrollPanel; readonly Widget template; + + readonly Dictionary sources = new Dictionary(); + readonly Dictionary downloads = new Dictionary(); + bool discAvailable; [ObjectCreator.UseCtor] - public ModContentLogic(Widget widget, string modId, Action onCancel) + public ModContentLogic(Widget widget, Manifest mod, ModContent content, Action onCancel) { + this.content = content; + var panel = widget.Get("CONTENT_PANEL"); - content = ModMetadata.AllMods[modId].ModContent; + var modFileSystem = new FileSystem.FileSystem(Game.Mods); + modFileSystem.LoadFromManifest(mod); + + var sourceYaml = MiniYaml.Load(modFileSystem, content.Sources, null); + foreach (var s in sourceYaml) + sources.Add(s.Key, new ModContent.ModSource(s.Value)); + + var downloadYaml = MiniYaml.Load(modFileSystem, content.Downloads, null); + foreach (var d in downloadYaml) + downloads.Add(d.Key, new ModContent.ModDownload(d.Value)); + + modFileSystem.UnmountAll(); + scrollPanel = panel.Get("PACKAGES"); template = scrollPanel.Get("PACKAGE_TEMPLATE"); @@ -56,6 +74,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic discButton.OnClick = () => Ui.OpenWindow("DISC_INSTALL_PANEL", new WidgetArgs { { "afterInstall", () => { } }, + { "sources", sources }, { "content", content } }); @@ -87,9 +106,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic requiredWidget.IsVisible = () => p.Value.Required; var sourceWidget = container.Get("DISC"); - var sources = p.Value.Sources.Select(s => content.Sources[s].Title).Distinct(); - var sourceList = sources.JoinWith("\n"); - var isSourceAvailable = sources.Any(); + var sourceTitles = p.Value.Sources.Select(s => sources[s].Title).Distinct(); + var sourceList = sourceTitles.JoinWith("\n"); + var isSourceAvailable = sourceTitles.Any(); sourceWidget.GetTooltipText = () => sourceList; sourceWidget.IsVisible = () => isSourceAvailable; @@ -100,10 +119,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (downloadEnabled) { - var download = content.Downloads[p.Value.Download]; var widgetArgs = new WidgetArgs { - { "download", download }, + { "download", downloads[p.Value.Download] }, { "onSuccess", () => { } } }; diff --git a/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentPromptLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentPromptLogic.cs index 63d41c0e15..2e3ea73c4a 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentPromptLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/Installation/ModContentPromptLogic.cs @@ -10,6 +10,7 @@ #endregion using System; +using System.Linq; using OpenRA.Widgets; namespace OpenRA.Mods.Common.Widgets.Logic @@ -17,13 +18,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic public class ModContentPromptLogic : ChromeLogic { [ObjectCreator.UseCtor] - public ModContentPromptLogic(Widget widget, string modId, Action continueLoading) + public ModContentPromptLogic(Widget widget, Manifest mod, ModContent content, Action continueLoading) { var panel = widget.Get("CONTENT_PROMPT_PANEL"); - var mod = ModMetadata.AllMods[modId]; - var content = ModMetadata.AllMods[modId].ModContent; - var headerTemplate = panel.Get("HEADER_TEMPLATE"); var headerLines = !string.IsNullOrEmpty(content.InstallPromptMessage) ? content.InstallPromptMessage.Replace("\\n", "\n").Split('\n') : new string[0]; var headerHeight = 0; @@ -46,7 +44,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic { Ui.OpenWindow("CONTENT_PANEL", new WidgetArgs { - { "modId", modId }, + { "mod", mod }, + { "content", content }, { "onCancel", Ui.CloseWindow } }); }; @@ -56,9 +55,18 @@ namespace OpenRA.Mods.Common.Widgets.Logic quickButton.Bounds.Y += headerHeight; quickButton.OnClick = () => { + var modFileSystem = new FileSystem.FileSystem(Game.Mods); + modFileSystem.LoadFromManifest(mod); + var downloadYaml = MiniYaml.Load(modFileSystem, content.Downloads, null); + modFileSystem.UnmountAll(); + + var download = downloadYaml.FirstOrDefault(n => n.Key == content.QuickDownload); + if (download == null) + throw new InvalidOperationException("Mod QuickDownload `{0}` definition not found.".F(content.QuickDownload)); + Ui.OpenWindow("PACKAGE_DOWNLOAD_PANEL", new WidgetArgs { - { "download", content.Downloads[content.QuickDownload] }, + { "download", new ModContent.ModDownload(download.Value) }, { "onSuccess", continueLoading } }); }; diff --git a/OpenRA.Mods.Common/Widgets/Logic/MainMenuLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MainMenuLogic.cs index 04f1148c9e..9c62478ecf 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MainMenuLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MainMenuLogic.cs @@ -64,7 +64,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic public MainMenuLogic(Widget widget, World world, ModData modData) { rootMenu = widget; - rootMenu.Get("VERSION_LABEL").Text = modData.Manifest.Mod.Version; + rootMenu.Get("VERSION_LABEL").Text = modData.Manifest.Metadata.Version; // Menu buttons var mainMenu = widget.Get("MAIN_MENU"); @@ -90,7 +90,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic // so we can't do this inside the input handler. Game.RunAfterTick(() => { - Game.Settings.Game.PreviousMod = modData.Manifest.Mod.Id; + Game.Settings.Game.PreviousMod = modData.Manifest.Id; Game.InitializeMod("modchooser", null); }); }; @@ -283,9 +283,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic { // Send the mod and engine version to support version-filtered news (update prompts) var newsURL = Game.Settings.Game.NewsUrl + "?version={0}&mod={1}&modversion={2}".F( - Uri.EscapeUriString(ModMetadata.AllMods["modchooser"].Version), - Uri.EscapeUriString(Game.ModData.Manifest.Mod.Id), - Uri.EscapeUriString(Game.ModData.Manifest.Mod.Version)); + Uri.EscapeUriString(Game.Mods["modchooser"].Metadata.Version), + Uri.EscapeUriString(Game.ModData.Manifest.Id), + Uri.EscapeUriString(Game.ModData.Manifest.Metadata.Version)); // Append system profile data if the player has opted in if (Game.Settings.Debug.SendSystemInformation) diff --git a/OpenRA.Mods.Common/Widgets/Logic/ModBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/ModBrowserLogic.cs index 7a74dbd966..4ff00d3252 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/ModBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/ModBrowserLogic.cs @@ -24,32 +24,39 @@ namespace OpenRA.Mods.Common.Widgets.Logic { readonly Widget modList; readonly ButtonWidget modTemplate; - readonly ModMetadata[] allMods; + readonly Manifest[] allMods; readonly Dictionary previews = new Dictionary(); readonly Dictionary logos = new Dictionary(); + readonly Cache content = new Cache(LoadModContent); + readonly Widget modChooserPanel; readonly ButtonWidget loadButton; readonly SheetBuilder sheetBuilder; - ModMetadata selectedMod; + Manifest selectedMod; string selectedAuthor; string selectedDescription; int modOffset = 0; + static ModContent LoadModContent(Manifest mod) + { + return mod.Get(Game.ModData.ObjectCreator); + } + [ObjectCreator.UseCtor] public ModBrowserLogic(Widget widget, ModData modData) { modChooserPanel = widget; loadButton = modChooserPanel.Get("LOAD_BUTTON"); loadButton.OnClick = () => LoadMod(selectedMod); - loadButton.IsDisabled = () => selectedMod.Id == modData.Manifest.Mod.Id; + loadButton.IsDisabled = () => selectedMod.Id == modData.Manifest.Id; var contentButton = modChooserPanel.Get("CONFIGURE_BUTTON"); - contentButton.IsDisabled = () => selectedMod.ModContent == null; contentButton.OnClick = () => { var widgetArgs = new WidgetArgs { - { "modId", selectedMod.Id }, + { "mod", selectedMod }, + { "content", content[selectedMod] }, { "onCancel", () => { } } }; @@ -62,9 +69,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic modTemplate = modList.Get("MOD_TEMPLATE"); modChooserPanel.Get("MOD_DESC").GetText = () => selectedDescription; - modChooserPanel.Get("MOD_TITLE").GetText = () => selectedMod.Title; + modChooserPanel.Get("MOD_TITLE").GetText = () => selectedMod.Metadata.Title; modChooserPanel.Get("MOD_AUTHOR").GetText = () => selectedAuthor; - modChooserPanel.Get("MOD_VERSION").GetText = () => selectedMod.Version; + modChooserPanel.Get("MOD_VERSION").GetText = () => selectedMod.Metadata.Version; var prevMod = modChooserPanel.Get("PREV_MOD"); prevMod.OnClick = () => { modOffset -= 1; RebuildModList(); }; @@ -82,8 +89,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic }; sheetBuilder = new SheetBuilder(SheetType.BGRA); - allMods = ModMetadata.AllMods.Values.Where(m => !m.Hidden) - .OrderBy(m => m.Title) + allMods = Game.Mods.Values.Where(m => !m.Metadata.Hidden) + .OrderBy(m => m.Metadata.Title) .ToArray(); // Load preview images, and eat any errors @@ -91,7 +98,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic { try { - using (var stream = ModMetadata.AllMods[mod.Id].Package.GetStream("preview.png")) + using (var stream = mod.Package.GetStream("preview.png")) using (var preview = new Bitmap(stream)) if (preview.Width == 296 && preview.Height == 196) previews.Add(mod.Id, sheetBuilder.Add(preview)); @@ -100,7 +107,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic try { - using (var stream = ModMetadata.AllMods[mod.Id].Package.GetStream("logo.png")) + using (var stream = mod.Package.GetStream("logo.png")) using (var logo = new Bitmap(stream)) if (logo.Width == 96 && logo.Height == 96) logos.Add(mod.Id, sheetBuilder.Add(logo)); @@ -108,9 +115,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic catch (Exception) { } } - ModMetadata initialMod; - ModMetadata.AllMods.TryGetValue(Game.Settings.Game.PreviousMod, out initialMod); - SelectMod(initialMod != null && initialMod.Id != "modchooser" ? initialMod : ModMetadata.AllMods["ra"]); + Manifest initialMod; + Game.Mods.TryGetValue(Game.Settings.Game.PreviousMod, out initialMod); + SelectMod(initialMod != null && initialMod.Id != "modchooser" ? initialMod : Game.Mods["ra"]); RebuildModList(); } @@ -146,7 +153,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic SelectMod(mod); }; - item.TooltipText = mod.Title; + item.TooltipText = mod.Metadata.Title; if (j < 9) item.Key = new Hotkey((Keycode)((int)Keycode.NUMBER_1 + j), Modifiers.None); @@ -160,23 +167,25 @@ namespace OpenRA.Mods.Common.Widgets.Logic } } - void SelectMod(ModMetadata mod) + void SelectMod(Manifest mod) { selectedMod = mod; - selectedAuthor = "By " + (mod.Author ?? "unknown author"); - selectedDescription = (mod.Description ?? "").Replace("\\n", "\n"); + selectedAuthor = "By " + (mod.Metadata.Author ?? "unknown author"); + selectedDescription = (mod.Metadata.Description ?? "").Replace("\\n", "\n"); var selectedIndex = Array.IndexOf(allMods, mod); if (selectedIndex - modOffset > 4) modOffset = selectedIndex - 4; } - void LoadMod(ModMetadata mod) + void LoadMod(Manifest mod) { - if (!Game.IsModInstalled(mod.Id)) + var modId = mod.Id; + if (!Game.IsModInstalled(modId)) { var widgetArgs = new WidgetArgs { - { "modId", mod.Id } + { "mod", selectedMod }, + { "content", content[selectedMod] }, }; Ui.OpenWindow("INSTALL_MOD_PANEL", widgetArgs); @@ -188,8 +197,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic var widgetArgs = new WidgetArgs { { "continueLoading", () => - Game.RunAfterTick(() => Game.InitializeMod(mod.Id, new Arguments())) }, - { "modId", mod.Id } + Game.RunAfterTick(() => Game.InitializeMod(modId, new Arguments())) }, + { "mod", selectedMod }, + { "content", content[selectedMod] }, }; Ui.OpenWindow("CONTENT_PROMPT_PANEL", widgetArgs); @@ -201,13 +211,13 @@ namespace OpenRA.Mods.Common.Widgets.Logic { Ui.CloseWindow(); sheetBuilder.Dispose(); - Game.InitializeMod(mod.Id, null); + Game.InitializeMod(modId, null); }); } - static bool IsModInstalled(ModMetadata mod) + bool IsModInstalled(Manifest mod) { - return mod.ModContent.Packages + return content[mod].Packages .Where(p => p.Value.Required) .All(p => p.Value.TestFiles.All(f => File.Exists(Platform.ResolvePath(f)))); } diff --git a/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs index ba4c9e02a1..da706eb8fd 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/MultiplayerLogic.cs @@ -316,9 +316,9 @@ namespace OpenRA.Mods.Common.Widgets.Logic }; var queryURL = Game.Settings.Server.MasterServer + "games?version={0}&mod={1}&modversion={2}".F( - Uri.EscapeUriString(ModMetadata.AllMods["modchooser"].Version), - Uri.EscapeUriString(Game.ModData.Manifest.Mod.Id), - Uri.EscapeUriString(Game.ModData.Manifest.Mod.Version)); + Uri.EscapeUriString(Game.Mods["modchooser"].Metadata.Version), + Uri.EscapeUriString(Game.ModData.Manifest.Id), + Uri.EscapeUriString(Game.ModData.Manifest.Metadata.Version)); currentQuery = new Download(queryURL, _ => { }, onComplete); } @@ -330,7 +330,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic return 0; // Games for the current mod+version are sorted first - if (testEntry.ModId == modData.Manifest.Mod.Id) + if (testEntry.ModId == modData.Manifest.Id) return 2; // Followed by games for different mods that are joinable diff --git a/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs b/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs index 3ac585e5ed..291697159d 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/ReplayBrowserLogic.cs @@ -59,8 +59,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic replayList = panel.Get("REPLAY_LIST"); var template = panel.Get("REPLAY_TEMPLATE"); - var mod = modData.Manifest.Mod; - var dir = Platform.ResolvePath("^", "Replays", mod.Id, mod.Version); + var mod = modData.Manifest; + var dir = Platform.ResolvePath("^", "Replays", mod.Id, mod.Metadata.Version); if (Directory.Exists(dir)) ThreadPool.QueueUserWorkItem(_ => LoadReplays(dir, template)); diff --git a/OpenRA.Mods.Common/Widgets/Logic/ReplayUtils.cs b/OpenRA.Mods.Common/Widgets/Logic/ReplayUtils.cs index 37b7466a99..7df19548ef 100644 --- a/OpenRA.Mods.Common/Widgets/Logic/ReplayUtils.cs +++ b/OpenRA.Mods.Common/Widgets/Logic/ReplayUtils.cs @@ -34,10 +34,10 @@ namespace OpenRA.Mods.Common.Widgets.Logic if (mod == null) return IncompatibleReplayDialog("unknown mod", mod, onCancel); - var allMods = ModMetadata.AllMods; - if (!allMods.ContainsKey(mod)) + if (!Game.Mods.ContainsKey(mod)) return IncompatibleReplayDialog("unavailable mod", mod, onCancel); - else if (allMods[mod].Version != version) + + if (Game.Mods[mod].Metadata.Version != version) return IncompatibleReplayDialog("incompatible version", version, onCancel); if (replayMeta.GameInfo.MapPreview.Status != MapStatus.Available) diff --git a/OpenRA.Mods.D2k/UtilityCommands/ImportD2kMapCommand.cs b/OpenRA.Mods.D2k/UtilityCommands/ImportD2kMapCommand.cs index ae7d97c380..11127c14a6 100644 --- a/OpenRA.Mods.D2k/UtilityCommands/ImportD2kMapCommand.cs +++ b/OpenRA.Mods.D2k/UtilityCommands/ImportD2kMapCommand.cs @@ -17,21 +17,21 @@ namespace OpenRA.Mods.D2k.UtilityCommands { class ImportD2kMapCommand : IUtilityCommand { - public string Name { get { return "--import-d2k-map"; } } + string IUtilityCommand.Name { get { return "--import-d2k-map"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 3; } [Desc("FILENAME", "TILESET", "Convert a legacy Dune 2000 MAP file to the OpenRA format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = utility.ModData; - var rules = Ruleset.LoadDefaultsForTileSet(modData, "ARRAKIS"); - var map = D2kMapImporter.Import(args[1], modData.Manifest.Mod.Id, args[2], rules); + var rules = Ruleset.LoadDefaultsForTileSet(utility.ModData, "ARRAKIS"); + var map = D2kMapImporter.Import(args[1], utility.ModData.Manifest.Id, args[2], rules); if (map == null) return; diff --git a/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs b/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs index d360d765d8..370b28e2df 100644 --- a/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs +++ b/OpenRA.Mods.RA/ImportRedAlertLegacyMapCommand.cs @@ -25,13 +25,11 @@ namespace OpenRA.Mods.RA.UtilityCommands // TODO: 128x128 is probably not true for "mega maps" from the expansions. public ImportRedAlertLegacyMapCommand() : base(128) { } - public string Name { get { return "--import-ra-map"; } } + string IUtilityCommand.Name { get { return "--import-ra-map"; } } + bool IUtilityCommand.ValidateArguments(string[] args) { return ValidateArguments(args); } [Desc("FILENAME", "Convert a legacy Red Alert INI/MPR map to the OpenRA format.")] - public override void Run(ModData modData, string[] args) - { - base.Run(modData, args); - } + void IUtilityCommand.Run(Utility utility, string[] args) { Run(utility, args); } public override void ValidateMapFormat(int format) { diff --git a/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs b/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs index e160fc76be..78feabfa80 100644 --- a/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs +++ b/OpenRA.Mods.TS/UtilityCommands/ImportTSMapCommand.cs @@ -149,10 +149,10 @@ namespace OpenRA.Mods.TS.UtilityCommands }; [Desc("FILENAME", "Convert a Tiberian Sun map to the OpenRA format.")] - void IUtilityCommand.Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = utility.ModData; var filename = args[1]; var file = new IniFile(File.Open(args[1], FileMode.Open)); @@ -163,12 +163,12 @@ namespace OpenRA.Mods.TS.UtilityCommands var iniBounds = mapSection.GetValue("LocalSize", "0, 0, 0, 0").Split(',').Select(int.Parse).ToArray(); var size = new Size(iniSize[2], 2 * iniSize[3]); - var map = new Map(Game.ModData, modData.DefaultTileSets[tileset], size.Width, size.Height) + var map = new Map(Game.ModData, utility.ModData.DefaultTileSets[tileset], size.Width, size.Height) { Title = basic.GetValue("Name", Path.GetFileNameWithoutExtension(filename)), Author = "Westwood Studios", Bounds = new Rectangle(iniBounds[0], iniBounds[1], iniBounds[2], 2 * iniBounds[3] + 2 * iniBounds[1]), - RequiresMod = modData.Manifest.Mod.Id + RequiresMod = utility.ModData.Manifest.Id }; var fullSize = new int2(iniSize[2], iniSize[3]); diff --git a/OpenRA.Mods.TS/UtilityCommands/LegacyRulesImporter.cs b/OpenRA.Mods.TS/UtilityCommands/LegacyRulesImporter.cs index 9d99d84432..65e6c1255b 100644 --- a/OpenRA.Mods.TS/UtilityCommands/LegacyRulesImporter.cs +++ b/OpenRA.Mods.TS/UtilityCommands/LegacyRulesImporter.cs @@ -20,21 +20,21 @@ namespace OpenRA.Mods.TS.UtilityCommands { class LegacyRulesImporter : IUtilityCommand { - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 3; } - public string Name { get { return "--rules-import"; } } + string IUtilityCommand.Name { get { return "--rules-import"; } } IniFile rulesIni; IniFile artIni; [Desc("RULES.INI", "ART.INI", "Convert ART.INI and RULES.INI to the OpenRA rules definition format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = utility.ModData; rulesIni = new IniFile(File.Open(args[1], FileMode.Open)); artIni = new IniFile(File.Open(args[2], FileMode.Open)); diff --git a/OpenRA.Mods.TS/UtilityCommands/LegacySequenceImporter.cs b/OpenRA.Mods.TS/UtilityCommands/LegacySequenceImporter.cs index 29018ef6ab..55ba5f1b31 100644 --- a/OpenRA.Mods.TS/UtilityCommands/LegacySequenceImporter.cs +++ b/OpenRA.Mods.TS/UtilityCommands/LegacySequenceImporter.cs @@ -19,21 +19,21 @@ namespace OpenRA.Mods.TS.UtilityCommands { class ImportLegacySequenceCommand : IUtilityCommand { - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 2; } - public string Name { get { return "--sequence-import"; } } + string IUtilityCommand.Name { get { return "--sequence-import"; } } IniFile file; MapGrid grid; [Desc("FILENAME", "Convert ART.INI to the OpenRA sequence definition format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + Game.ModData = utility.ModData; grid = Game.ModData.Manifest.Get(); diff --git a/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs b/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs index a2d8e32e45..160653a97a 100644 --- a/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs +++ b/OpenRA.Mods.TS/UtilityCommands/LegacyTilesetImporter.cs @@ -20,22 +20,22 @@ namespace OpenRA.Mods.TS.UtilityCommands { class ImportLegacyTilesetCommand : IUtilityCommand { - public string Name { get { return "--tileset-import"; } } + string IUtilityCommand.Name { get { return "--tileset-import"; } } - public bool ValidateArguments(string[] args) + bool IUtilityCommand.ValidateArguments(string[] args) { return args.Length >= 3; } [Desc("FILENAME", "TEMPLATEEXTENSION", "[TILESETNAME]", "Convert a legacy tileset to the OpenRA format.")] - public void Run(ModData modData, string[] args) + void IUtilityCommand.Run(Utility utility, string[] args) { // HACK: The engine code assumes that Game.modData is set. - Game.ModData = modData; + var modData = Game.ModData = utility.ModData; var file = new IniFile(File.Open(args[1], FileMode.Open)); var extension = args[2]; - var tileSize = modData.Manifest.Get().TileSize; + var tileSize = utility.ModData.Manifest.Get().TileSize; var templateIndex = 0; diff --git a/OpenRA.Server/Program.cs b/OpenRA.Server/Program.cs index b0e7427d3c..94e12c1dcd 100644 --- a/OpenRA.Server/Program.cs +++ b/OpenRA.Server/Program.cs @@ -10,6 +10,7 @@ #endregion using System; +using System.IO; using System.Net; using System.Threading; using OpenRA.Support; @@ -20,19 +21,32 @@ namespace OpenRA.Server { static void Main(string[] args) { + var arguments = new Arguments(args); Log.AddChannel("debug", "dedicated-debug.log"); Log.AddChannel("perf", "dedicated-perf.log"); Log.AddChannel("server", "dedicated-server.log"); Log.AddChannel("nat", "dedicated-nat.log"); + // Special case handling of Game.Mod argument: if it matches a real filesystem path + // then we use this to override the mod search path, and replace it with the mod id + var modArgument = arguments.GetValue("Game.Mod", null); + string customModPath = null; + if (modArgument != null && (File.Exists(modArgument) || Directory.Exists(modArgument))) + { + customModPath = modArgument; + arguments.ReplaceValue("Game.Mod", Path.GetFileNameWithoutExtension(modArgument)); + } + // HACK: The engine code assumes that Game.Settings is set. // This isn't nearly as bad as ModData, but is still not very nice. - Game.InitializeSettings(new Arguments(args)); + Game.InitializeSettings(arguments); var settings = Game.Settings.Server; - // HACK: The engine code *still* assumes that Game.ModData is set var mod = Game.Settings.Game.Mod; - var modData = Game.ModData = new ModData(mod, false); + var mods = new InstalledMods(customModPath); + + // HACK: The engine code *still* assumes that Game.ModData is set + var modData = Game.ModData = new ModData(mods[mod], mods); modData.MapCache.LoadMaps(); settings.Map = modData.MapCache.ChooseInitialMap(settings.Map, new MersenneTwister()); diff --git a/OpenRA.Utility/Program.cs b/OpenRA.Utility/Program.cs index 0304a61776..4ebe8f534e 100644 --- a/OpenRA.Utility/Program.cs +++ b/OpenRA.Utility/Program.cs @@ -11,11 +11,14 @@ using System; using System.Collections.Generic; +using System.IO; using System.Linq; using System.Runtime.Serialization; -namespace OpenRA.Utility +namespace OpenRA { + using UtilityActions = Dictionary, Func>>; + [Serializable] public class NoSuchCommandException : Exception { @@ -37,36 +40,46 @@ namespace OpenRA.Utility { static void Main(string[] args) { - if (args.Length == 0) - { - PrintUsage(null); - return; - } - Log.AddChannel("perf", null); Log.AddChannel("debug", null); - var modName = args[0]; - if (!ModMetadata.AllMods.Keys.Contains(modName)) + Game.InitializeSettings(Arguments.Empty); + + if (args.Length == 0) { - PrintUsage(null); + PrintUsage(new InstalledMods(null), null); return; } - Game.InitializeSettings(Arguments.Empty); - var modData = new ModData(modName); + var modId = args[0]; + string customModPath = null; + if (File.Exists(modId) || Directory.Exists(modId)) + { + customModPath = modId; + modId = Path.GetFileNameWithoutExtension(modId); + } + + var mods = new InstalledMods(customModPath); + if (!mods.Keys.Contains(modId)) + { + PrintUsage(mods, null); + return; + } + + var modData = new ModData(mods[modId], mods); + var utility = new Utility(modData, mods); args = args.Skip(1).ToArray(); - var actions = new Dictionary, Func>>(); + var actions = new UtilityActions(); foreach (var commandType in modData.ObjectCreator.GetTypesImplementing()) { var command = (IUtilityCommand)Activator.CreateInstance(commandType); - var kvp = new KeyValuePair, Func>(command.Run, command.ValidateArguments); + var kvp = new KeyValuePair, Func>(command.Run, command.ValidateArguments); actions.Add(command.Name, kvp); } if (args.Length == 0) { - PrintUsage(actions); + PrintUsage(mods, actions); return; } @@ -81,7 +94,7 @@ namespace OpenRA.Utility if (validateActionArgs.Invoke(args)) { - action.Invoke(modData, args); + action.Invoke(utility, args); } else { @@ -105,10 +118,10 @@ namespace OpenRA.Utility } } - static void PrintUsage(IDictionary, Func>> actions) + static void PrintUsage(InstalledMods mods, UtilityActions actions) { Console.WriteLine("Run `OpenRA.Utility.exe [MOD]` to see a list of available commands."); - Console.WriteLine("The available mods are: " + string.Join(", ", ModMetadata.AllMods.Keys)); + Console.WriteLine("The available mods are: " + string.Join(", ", mods.Keys)); Console.WriteLine(); if (actions == null) @@ -122,7 +135,7 @@ namespace OpenRA.Utility } } - static void GetActionUsage(string key, Action action) + static void GetActionUsage(string key, Action action) { var descParts = action.Method.GetCustomAttributes(true) .SelectMany(d => d.Lines).ToArray(); diff --git a/mods/cnc/installer/covertops.yaml b/mods/cnc/installer/covertops.yaml new file mode 100644 index 0000000000..cf910b97fc --- /dev/null +++ b/mods/cnc/installer/covertops.yaml @@ -0,0 +1,14 @@ +covertops: Covert Operations Expansion (English) + IDFiles: + GAME/GAME.DAT: be5a6c4c0a581da09e8f34a3bbf7bd17e525085c + CONQUER.MIX: 713b53fa4c188ca9619c6bbeadbfc86513704266 + Install: + copy: . + ^Content/cnc/scores-covertops.mix: SCORES.MIX +covertops-linux: Covert Operations Expansion (English) + IDFiles: + game/game.dat: be5a6c4c0a581da09e8f34a3bbf7bd17e525085c + conquer.mix: 713b53fa4c188ca9619c6bbeadbfc86513704266 + Install: + copy: . + ^Content/cnc/scores-covertops.mix: scores.mix \ No newline at end of file diff --git a/mods/cnc/installer/downloads.yaml b/mods/cnc/installer/downloads.yaml new file mode 100644 index 0000000000..f701f73e3d --- /dev/null +++ b/mods/cnc/installer/downloads.yaml @@ -0,0 +1,16 @@ +basefiles: Base Freeware Content + MirrorList: http://www.openra.net/packages/cnc-mirrors.txt + Extract: + ^Content/cnc/conquer.mix: conquer.mix + ^Content/cnc/desert.mix: desert.mix + ^Content/cnc/general.mix: general.mix + ^Content/cnc/sounds.mix: sounds.mix + ^Content/cnc/speech.mix: speech.mix + ^Content/cnc/temperat.mix: temperat.mix + ^Content/cnc/tempicnh.mix: tempicnh.mix + ^Content/cnc/transit.mix: transit.mix + ^Content/cnc/winter.mix: winter.mix +music: Freeware Music + MirrorList: http://www.openra.net/packages/cnc-music-mirrors.txt + Extract: + ^Content/cnc/scores.mix: scores.mix \ No newline at end of file diff --git a/mods/cnc/installer/firstdecade.yaml b/mods/cnc/installer/firstdecade.yaml new file mode 100644 index 0000000000..bc2df95361 --- /dev/null +++ b/mods/cnc/installer/firstdecade.yaml @@ -0,0 +1,336 @@ +tfd: C&C The First Decade (English) + IDFiles: + data1.hdr: bef3a08c3fc1b1caf28ca0dbb97c1f900005930e + data1.cab: 12ad6113a6890a1b4d5651a75378c963eaf513b9 + Install: + extract-iscab: data1.hdr + Volumes: + 2: data2.cab + 3: data3.cab + Extract: + ^Content/cnc/conquer.mix: CnC\\CONQUER.MIX + ^Content/cnc/desert.mix: CnC\\DESERT.MIX + ^Content/cnc/general.mix: CnC\\GENERAL.MIX + ^Content/cnc/scores.mix: CnC\\SCORES.MIX + ^Content/cnc/sounds.mix: CnC\\SOUNDS.MIX + ^Content/cnc/temperat.mix: CnC\\TEMPERAT.MIX + ^Content/cnc/winter.mix: CnC\\WINTER.MIX + ^Content/cnc/speech.mix: CnC\\SPEECH.MIX + ^Content/cnc/tempicnh.mix: CnC\\TEMPICNH.MIX + ^Content/cnc/transit.mix: CnC\\TRANSIT.MIX + ^Content/cnc/scores-covertops.mix: CnC\covert\SCORES.MIX + ^Content/cnc/movies.mix: CnC\\MOVIES.MIX + extract-raw: ^Content/cnc/movies.mix + ^Content/cnc/movies/airstrk.vqa: + Offset: 1266 + Length: 4444442 + ^Content/cnc/movies/akira.vqa: + Offset: 4445708 + Length: 7803444 + ^Content/cnc/movies/bkground.vqa: + Offset: 12249152 + Length: 15267052 + ^Content/cnc/movies/burdet1.vqa: + Offset: 27516204 + Length: 10410614 + ^Content/cnc/movies/burdet2.vqa: + Offset: 37926818 + Length: 2062190 + ^Content/cnc/movies/gdi4a.vqa: + Offset: 39989008 + Length: 4450582 + ^Content/cnc/movies/gdi4b.vqa: + Offset: 44439590 + Length: 6603530 + ^Content/cnc/movies/gdifina.vqa: + Offset: 51043120 + Length: 12888650 + ^Content/cnc/movies/gdifinb.vqa: + Offset: 63931770 + Length: 17769978 + ^Content/cnc/movies/nod7a.vqa: + Offset: 81701748 + Length: 4740470 + ^Content/cnc/movies/nod7b.vqa: + Offset: 86442218 + Length: 4671402 + ^Content/cnc/movies/visor.vqa: + Offset: 91113620 + Length: 4407162 + ^Content/cnc/movies/turtkill.vqa: + Offset: 95520782 + Length: 3323444 + ^Content/cnc/movies/trtkil_d.vqa: + Offset: 98844226 + Length: 3511836 + ^Content/cnc/movies/trailer.vqa: + Offset: 102356062 + Length: 23163930 + ^Content/cnc/movies/tiberfx.vqa: + Offset: 125519992 + Length: 8735102 + ^Content/cnc/movies/tbrinfo3.vqa: + Offset: 134255094 + Length: 14972046 + ^Content/cnc/movies/tbrinfo2.vqa: + Offset: 149227140 + Length: 16195290 + ^Content/cnc/movies/tbrinfo1.vqa: + Offset: 165422430 + Length: 23479052 + ^Content/cnc/movies/tankkill.vqa: + Offset: 188901482 + Length: 3298978 + ^Content/cnc/movies/tankgo.vqa: + Offset: 192200460 + Length: 1403876 + ^Content/cnc/movies/sundial.vqa: + Offset: 193604336 + Length: 3653636 + ^Content/cnc/movies/stealth.vqa: + Offset: 197257972 + Length: 4521860 + ^Content/cnc/movies/spycrash.vqa: + Offset: 201779832 + Length: 1886288 + ^Content/cnc/movies/sethpre.vqa: + Offset: 203666120 + Length: 10914610 + ^Content/cnc/movies/seige.vqa: + Offset: 214580730 + Length: 2705978 + ^Content/cnc/movies/samsite.vqa: + Offset: 217286708 + Length: 1410418 + ^Content/cnc/movies/samdie.vqa: + Offset: 218697126 + Length: 3741942 + ^Content/cnc/movies/sabotage.vqa: + Offset: 222439068 + Length: 1386202 + ^Content/cnc/movies/retro.vqa: + Offset: 223825270 + Length: 6434382 + ^Content/cnc/movies/refint.vqa: + Offset: 230259652 + Length: 5090040 + ^Content/cnc/movies/podium.vqa: + Offset: 235349692 + Length: 2790664 + ^Content/cnc/movies/planecra.vqa: + Offset: 238140356 + Length: 5085426 + ^Content/cnc/movies/pintle.vqa: + Offset: 243225782 + Length: 2757536 + ^Content/cnc/movies/paratrop.vqa: + Offset: 245983318 + Length: 3180272 + ^Content/cnc/movies/obel.vqa: + Offset: 249163590 + Length: 3851370 + ^Content/cnc/movies/nuke.vqa: + Offset: 253014960 + Length: 3126662 + ^Content/cnc/movies/nodsweep.vqa: + Offset: 256141622 + Length: 3642174 + ^Content/cnc/movies/nodlose.vqa: + Offset: 259783796 + Length: 5148924 + ^Content/cnc/movies/nodflees.vqa: + Offset: 264932720 + Length: 3056426 + ^Content/cnc/movies/nodfinal.vqa: + Offset: 267989146 + Length: 23326586 + ^Content/cnc/movies/nodend4.vqa: + Offset: 291315732 + Length: 25535232 + ^Content/cnc/movies/nodend3.vqa: + Offset: 316850964 + Length: 25725824 + ^Content/cnc/movies/nodend2.vqa: + Offset: 342576788 + Length: 27214048 + ^Content/cnc/movies/nodend1.vqa: + Offset: 369790836 + Length: 27172272 + ^Content/cnc/movies/nod9.vqa: + Offset: 396963108 + Length: 9357980 + ^Content/cnc/movies/nod8.vqa: + Offset: 406321088 + Length: 11597940 + ^Content/cnc/movies/nod6.vqa: + Offset: 417919028 + Length: 5007744 + ^Content/cnc/movies/nod5.vqa: + Offset: 422926772 + Length: 6641700 + ^Content/cnc/movies/nod4b.vqa: + Offset: 429568472 + Length: 3867618 + ^Content/cnc/movies/nod4a.vqa: + Offset: 433436090 + Length: 3838924 + ^Content/cnc/movies/nod3.vqa: + Offset: 437275014 + Length: 3603314 + ^Content/cnc/movies/nod2.vqa: + Offset: 440878328 + Length: 7200720 + ^Content/cnc/movies/nod1pre.vqa: + Offset: 448079048 + Length: 395720 + ^Content/cnc/movies/nod13.vqa: + Offset: 448474768 + Length: 2746626 + ^Content/cnc/movies/nod12.vqa: + Offset: 451221394 + Length: 6576562 + ^Content/cnc/movies/nod11.vqa: + Offset: 457797956 + Length: 4629270 + ^Content/cnc/movies/nod10b.vqa: + Offset: 462427226 + Length: 6386444 + ^Content/cnc/movies/nod10a.vqa: + Offset: 468813670 + Length: 7205632 + ^Content/cnc/movies/nod1.vqa: + Offset: 476019302 + Length: 4663258 + ^Content/cnc/movies/nitejump.vqa: + Offset: 480682560 + Length: 3702838 + ^Content/cnc/movies/napalm.vqa: + Offset: 484385398 + Length: 4004146 + ^Content/cnc/movies/logo.vqa: + Offset: 488389544 + Length: 3562630 + ^Content/cnc/movies/landing.vqa: + Offset: 491952174 + Length: 1617094 + ^Content/cnc/movies/kanepre.vqa: + Offset: 493569268 + Length: 17220712 + ^Content/cnc/movies/intro2.vqa: + Offset: 510789980 + Length: 21058732 + ^Content/cnc/movies/insites.vqa: + Offset: 531848712 + Length: 460482 + ^Content/cnc/movies/hellvaly.vqa: + Offset: 532309194 + Length: 6658950 + ^Content/cnc/movies/gunboat.vqa: + Offset: 538968144 + Length: 3203706 + ^Content/cnc/movies/generic.vqa: + Offset: 542171850 + Length: 1452820 + ^Content/cnc/movies/gdilose.vqa: + Offset: 543624670 + Length: 2097912 + ^Content/cnc/movies/gdiend2.vqa: + Offset: 545722582 + Length: 25242946 + ^Content/cnc/movies/gdiend1.vqa: + Offset: 570965528 + Length: 25311636 + ^Content/cnc/movies/gdi9.vqa: + Offset: 596277164 + Length: 11806994 + ^Content/cnc/movies/gdi8b.vqa: + Offset: 608084158 + Length: 5324410 + ^Content/cnc/movies/gdi8a.vqa: + Offset: 613408568 + Length: 4672548 + ^Content/cnc/movies/gdi7.vqa: + Offset: 618081116 + Length: 4241952 + ^Content/cnc/movies/gdi6.vqa: + Offset: 622323068 + Length: 3959650 + ^Content/cnc/movies/gdi5.vqa: + Offset: 626282718 + Length: 3818244 + ^Content/cnc/movies/gdi3lose.vqa: + Offset: 630100962 + Length: 2265770 + ^Content/cnc/movies/gdi3.vqa: + Offset: 632366732 + Length: 5443848 + ^Content/cnc/movies/gdi2.vqa: + Offset: 637810580 + Length: 7883500 + ^Content/cnc/movies/gdi15.vqa: + Offset: 645694080 + Length: 11684610 + ^Content/cnc/movies/gdi14.vqa: + Offset: 657378690 + Length: 5282770 + ^Content/cnc/movies/gdi13.vqa: + Offset: 662661460 + Length: 6900914 + ^Content/cnc/movies/gdi12.vqa: + Offset: 669562374 + Length: 3669404 + ^Content/cnc/movies/gdi11.vqa: + Offset: 673231778 + Length: 5895754 + ^Content/cnc/movies/gdi10.vqa: + Offset: 679127532 + Length: 5761514 + ^Content/cnc/movies/gdi1.vqa: + Offset: 684889046 + Length: 6341298 + ^Content/cnc/movies/gameover.vqa: + Offset: 691230344 + Length: 2087322 + ^Content/cnc/movies/forestkl.vqa: + Offset: 693317666 + Length: 1500986 + ^Content/cnc/movies/flyy.vqa: + Offset: 694818652 + Length: 1373532 + ^Content/cnc/movies/flag.vqa: + Offset: 696192184 + Length: 4308680 + ^Content/cnc/movies/dino.vqa: + Offset: 700500864 + Length: 1347896 + ^Content/cnc/movies/dessweep.vqa: + Offset: 701848760 + Length: 3563646 + ^Content/cnc/movies/desolat.vqa: + Offset: 705412406 + Length: 8385122 + ^Content/cnc/movies/deskill.vqa: + Offset: 713797528 + Length: 1483634 + ^Content/cnc/movies/desflees.vqa: + Offset: 715281162 + Length: 2698426 + ^Content/cnc/movies/consyard.vqa: + Offset: 717979588 + Length: 7864652 + ^Content/cnc/movies/cc2tease.vqa: + Offset: 725844240 + Length: 12506712 + ^Content/cnc/movies/bombflee.vqa: + Offset: 738350952 + Length: 2859726 + ^Content/cnc/movies/bombaway.vqa: + Offset: 741210678 + Length: 5579588 + ^Content/cnc/movies/bcanyon.vqa: + Offset: 746790266 + Length: 5172288 + ^Content/cnc/movies/banner.vqa: + Offset: 751962554 + Length: 2229408 + delete: ^Content/cnc/movies.mix \ No newline at end of file diff --git a/mods/cnc/installer/gdi95.yaml b/mods/cnc/installer/gdi95.yaml new file mode 100644 index 0000000000..5e19dd1cb6 --- /dev/null +++ b/mods/cnc/installer/gdi95.yaml @@ -0,0 +1,438 @@ +gdi95: C&C Gold (GDI Disc, English) + IDFiles: + DISK.WAV: 8bef9a6687c0fe0afd57c6561df58fa6e64f145d + CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/cnc/conquer.mix: CONQUER.MIX + ^Content/cnc/desert.mix: DESERT.MIX + ^Content/cnc/general.mix: GENERAL.MIX + ^Content/cnc/scores.mix: SCORES.MIX + ^Content/cnc/sounds.mix: SOUNDS.MIX + ^Content/cnc/temperat.mix: TEMPERAT.MIX + ^Content/cnc/winter.mix: WINTER.MIX + extract-blast: INSTALL/SETUP.Z + ^Content/cnc/speech.mix: + Offset: 10203213 + Length: 603293 + ^Content/cnc/tempicnh.mix: + Offset: 10925941 + Length: 119096 + ^Content/cnc/transit.mix: + Offset: 11078017 + Length: 3724462 + extract-raw: MOVIES.MIX + ^Content/cnc/movies/visor.vqa: + Offset: 786 + Length: 4407162 + ^Content/cnc/movies/turtkill.vqa: + Offset: 4407948 + Length: 3323444 + ^Content/cnc/movies/trailer.vqa: + Offset: 7731392 + Length: 23163930 + ^Content/cnc/movies/tbrinfo3.vqa: + Offset: 30895322 + Length: 14972046 + ^Content/cnc/movies/tbrinfo2.vqa: + Offset: 45867368 + Length: 16195290 + ^Content/cnc/movies/tbrinfo1.vqa: + Offset: 62062658 + Length: 23479052 + ^Content/cnc/movies/seige.vqa: + Offset: 85541710 + Length: 2705978 + ^Content/cnc/movies/samsite.vqa: + Offset: 88247688 + Length: 1410418 + ^Content/cnc/movies/samdie.vqa: + Offset: 89658106 + Length: 3741942 + ^Content/cnc/movies/sabotage.vqa: + Offset: 93400048 + Length: 1386202 + ^Content/cnc/movies/retro.vqa: + Offset: 94786250 + Length: 6434382 + ^Content/cnc/movies/podium.vqa: + Offset: 101220632 + Length: 2790664 + ^Content/cnc/movies/planecra.vqa: + Offset: 104011296 + Length: 5085426 + ^Content/cnc/movies/pintle.vqa: + Offset: 109096722 + Length: 2757536 + ^Content/cnc/movies/paratrop.vqa: + Offset: 111854258 + Length: 3180272 + ^Content/cnc/movies/nodsweep.vqa: + Offset: 115034530 + Length: 3642174 + ^Content/cnc/movies/nodlose.vqa: + Offset: 118676704 + Length: 5148924 + ^Content/cnc/movies/nodflees.vqa: + Offset: 123825628 + Length: 3056426 + ^Content/cnc/movies/nod1.vqa: + Offset: 126882054 + Length: 4663258 + ^Content/cnc/movies/nitejump.vqa: + Offset: 131545312 + Length: 3702838 + ^Content/cnc/movies/napalm.vqa: + Offset: 135248150 + Length: 4004146 + ^Content/cnc/movies/logo.vqa: + Offset: 139252296 + Length: 3562630 + ^Content/cnc/movies/landing.vqa: + Offset: 142814926 + Length: 1617094 + ^Content/cnc/movies/intro2.vqa: + Offset: 144432020 + Length: 21058732 + ^Content/cnc/movies/hellvaly.vqa: + Offset: 165490752 + Length: 6658950 + ^Content/cnc/movies/gunboat.vqa: + Offset: 172149702 + Length: 3203706 + ^Content/cnc/movies/generic.vqa: + Offset: 175353408 + Length: 1452820 + ^Content/cnc/movies/gdilose.vqa: + Offset: 176806228 + Length: 2097912 + ^Content/cnc/movies/gdifinb.vqa: + Offset: 178904140 + Length: 17769978 + ^Content/cnc/movies/gdifina.vqa: + Offset: 196674118 + Length: 12888650 + ^Content/cnc/movies/gdiend2.vqa: + Offset: 209562768 + Length: 25242946 + ^Content/cnc/movies/gdiend1.vqa: + Offset: 234805714 + Length: 25311636 + ^Content/cnc/movies/gdi9.vqa: + Offset: 260117350 + Length: 11806994 + ^Content/cnc/movies/gdi8b.vqa: + Offset: 271924344 + Length: 5324410 + ^Content/cnc/movies/gdi8a.vqa: + Offset: 277248754 + Length: 4672548 + ^Content/cnc/movies/gdi7.vqa: + Offset: 281921302 + Length: 4241952 + ^Content/cnc/movies/gdi6.vqa: + Offset: 286163254 + Length: 3959650 + ^Content/cnc/movies/gdi5.vqa: + Offset: 290122904 + Length: 3818244 + ^Content/cnc/movies/gdi4b.vqa: + Offset: 293941148 + Length: 6603530 + ^Content/cnc/movies/gdi4a.vqa: + Offset: 300544678 + Length: 4450582 + ^Content/cnc/movies/gdi3lose.vqa: + Offset: 304995260 + Length: 2265770 + ^Content/cnc/movies/gdi3.vqa: + Offset: 307261030 + Length: 5443848 + ^Content/cnc/movies/gdi2.vqa: + Offset: 312704878 + Length: 7883500 + ^Content/cnc/movies/gdi15.vqa: + Offset: 320588378 + Length: 11684610 + ^Content/cnc/movies/gdi14.vqa: + Offset: 332272988 + Length: 5282770 + ^Content/cnc/movies/gdi13.vqa: + Offset: 337555758 + Length: 6900914 + ^Content/cnc/movies/gdi12.vqa: + Offset: 344456672 + Length: 3669404 + ^Content/cnc/movies/gdi11.vqa: + Offset: 348126076 + Length: 5895754 + ^Content/cnc/movies/gdi10.vqa: + Offset: 354021830 + Length: 5761514 + ^Content/cnc/movies/gdi1.vqa: + Offset: 359783344 + Length: 6341298 + ^Content/cnc/movies/gameover.vqa: + Offset: 366124642 + Length: 2087322 + ^Content/cnc/movies/forestkl.vqa: + Offset: 368211964 + Length: 1500986 + ^Content/cnc/movies/flyy.vqa: + Offset: 369712950 + Length: 1373532 + ^Content/cnc/movies/flag.vqa: + Offset: 371086482 + Length: 4308680 + ^Content/cnc/movies/dino.vqa: + Offset: 375395162 + Length: 1347896 + ^Content/cnc/movies/desolat.vqa: + Offset: 376743058 + Length: 8385122 + ^Content/cnc/movies/consyard.vqa: + Offset: 385128180 + Length: 7864652 + ^Content/cnc/movies/cc2tease.vqa: + Offset: 392992832 + Length: 12506712 + ^Content/cnc/movies/burdet2.vqa: + Offset: 405499544 + Length: 2062190 + ^Content/cnc/movies/burdet1.vqa: + Offset: 407561734 + Length: 10410614 + ^Content/cnc/movies/bombflee.vqa: + Offset: 417972348 + Length: 2859726 + ^Content/cnc/movies/bombaway.vqa: + Offset: 420832074 + Length: 5579588 + ^Content/cnc/movies/bkground.vqa: + Offset: 426411662 + Length: 15267052 + ^Content/cnc/movies/bcanyon.vqa: + Offset: 441678714 + Length: 5172288 + ^Content/cnc/movies/banner.vqa: + Offset: 446851002 + Length: 2229408 +gdi95-linux: C&C Gold (GDI Disc, English) + IDFiles: + disk.wav: 8bef9a6687c0fe0afd57c6561df58fa6e64f145d + conquer.mix: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/cnc/conquer.mix: conquer.mix + ^Content/cnc/desert.mix: desert.mix + ^Content/cnc/general.mix: general.mix + ^Content/cnc/scores.mix: scores.mix + ^Content/cnc/sounds.mix: sounds.mix + ^Content/cnc/temperat.mix: temperat.mix + ^Content/cnc/winter.mix: winter.mix + extract-blast: install/setup.z + ^Content/cnc/speech.mix: + Offset: 10203213 + Length: 603293 + ^Content/cnc/tempicnh.mix: + Offset: 10925941 + Length: 119096 + ^Content/cnc/transit.mix: + Offset: 11078017 + Length: 3724462 + extract-raw: movies.mix + ^Content/cnc/movies/visor.vqa: + Offset: 786 + Length: 4407162 + ^Content/cnc/movies/turtkill.vqa: + Offset: 4407948 + Length: 3323444 + ^Content/cnc/movies/trailer.vqa: + Offset: 7731392 + Length: 23163930 + ^Content/cnc/movies/tbrinfo3.vqa: + Offset: 30895322 + Length: 14972046 + ^Content/cnc/movies/tbrinfo2.vqa: + Offset: 45867368 + Length: 16195290 + ^Content/cnc/movies/tbrinfo1.vqa: + Offset: 62062658 + Length: 23479052 + ^Content/cnc/movies/seige.vqa: + Offset: 85541710 + Length: 2705978 + ^Content/cnc/movies/samsite.vqa: + Offset: 88247688 + Length: 1410418 + ^Content/cnc/movies/samdie.vqa: + Offset: 89658106 + Length: 3741942 + ^Content/cnc/movies/sabotage.vqa: + Offset: 93400048 + Length: 1386202 + ^Content/cnc/movies/retro.vqa: + Offset: 94786250 + Length: 6434382 + ^Content/cnc/movies/podium.vqa: + Offset: 101220632 + Length: 2790664 + ^Content/cnc/movies/planecra.vqa: + Offset: 104011296 + Length: 5085426 + ^Content/cnc/movies/pintle.vqa: + Offset: 109096722 + Length: 2757536 + ^Content/cnc/movies/paratrop.vqa: + Offset: 111854258 + Length: 3180272 + ^Content/cnc/movies/nodsweep.vqa: + Offset: 115034530 + Length: 3642174 + ^Content/cnc/movies/nodlose.vqa: + Offset: 118676704 + Length: 5148924 + ^Content/cnc/movies/nodflees.vqa: + Offset: 123825628 + Length: 3056426 + ^Content/cnc/movies/nod1.vqa: + Offset: 126882054 + Length: 4663258 + ^Content/cnc/movies/nitejump.vqa: + Offset: 131545312 + Length: 3702838 + ^Content/cnc/movies/napalm.vqa: + Offset: 135248150 + Length: 4004146 + ^Content/cnc/movies/logo.vqa: + Offset: 139252296 + Length: 3562630 + ^Content/cnc/movies/landing.vqa: + Offset: 142814926 + Length: 1617094 + ^Content/cnc/movies/intro2.vqa: + Offset: 144432020 + Length: 21058732 + ^Content/cnc/movies/hellvaly.vqa: + Offset: 165490752 + Length: 6658950 + ^Content/cnc/movies/gunboat.vqa: + Offset: 172149702 + Length: 3203706 + ^Content/cnc/movies/generic.vqa: + Offset: 175353408 + Length: 1452820 + ^Content/cnc/movies/gdilose.vqa: + Offset: 176806228 + Length: 2097912 + ^Content/cnc/movies/gdifinb.vqa: + Offset: 178904140 + Length: 17769978 + ^Content/cnc/movies/gdifina.vqa: + Offset: 196674118 + Length: 12888650 + ^Content/cnc/movies/gdiend2.vqa: + Offset: 209562768 + Length: 25242946 + ^Content/cnc/movies/gdiend1.vqa: + Offset: 234805714 + Length: 25311636 + ^Content/cnc/movies/gdi9.vqa: + Offset: 260117350 + Length: 11806994 + ^Content/cnc/movies/gdi8b.vqa: + Offset: 271924344 + Length: 5324410 + ^Content/cnc/movies/gdi8a.vqa: + Offset: 277248754 + Length: 4672548 + ^Content/cnc/movies/gdi7.vqa: + Offset: 281921302 + Length: 4241952 + ^Content/cnc/movies/gdi6.vqa: + Offset: 286163254 + Length: 3959650 + ^Content/cnc/movies/gdi5.vqa: + Offset: 290122904 + Length: 3818244 + ^Content/cnc/movies/gdi4b.vqa: + Offset: 293941148 + Length: 6603530 + ^Content/cnc/movies/gdi4a.vqa: + Offset: 300544678 + Length: 4450582 + ^Content/cnc/movies/gdi3lose.vqa: + Offset: 304995260 + Length: 2265770 + ^Content/cnc/movies/gdi3.vqa: + Offset: 307261030 + Length: 5443848 + ^Content/cnc/movies/gdi2.vqa: + Offset: 312704878 + Length: 7883500 + ^Content/cnc/movies/gdi15.vqa: + Offset: 320588378 + Length: 11684610 + ^Content/cnc/movies/gdi14.vqa: + Offset: 332272988 + Length: 5282770 + ^Content/cnc/movies/gdi13.vqa: + Offset: 337555758 + Length: 6900914 + ^Content/cnc/movies/gdi12.vqa: + Offset: 344456672 + Length: 3669404 + ^Content/cnc/movies/gdi11.vqa: + Offset: 348126076 + Length: 5895754 + ^Content/cnc/movies/gdi10.vqa: + Offset: 354021830 + Length: 5761514 + ^Content/cnc/movies/gdi1.vqa: + Offset: 359783344 + Length: 6341298 + ^Content/cnc/movies/gameover.vqa: + Offset: 366124642 + Length: 2087322 + ^Content/cnc/movies/forestkl.vqa: + Offset: 368211964 + Length: 1500986 + ^Content/cnc/movies/flyy.vqa: + Offset: 369712950 + Length: 1373532 + ^Content/cnc/movies/flag.vqa: + Offset: 371086482 + Length: 4308680 + ^Content/cnc/movies/dino.vqa: + Offset: 375395162 + Length: 1347896 + ^Content/cnc/movies/desolat.vqa: + Offset: 376743058 + Length: 8385122 + ^Content/cnc/movies/consyard.vqa: + Offset: 385128180 + Length: 7864652 + ^Content/cnc/movies/cc2tease.vqa: + Offset: 392992832 + Length: 12506712 + ^Content/cnc/movies/burdet2.vqa: + Offset: 405499544 + Length: 2062190 + ^Content/cnc/movies/burdet1.vqa: + Offset: 407561734 + Length: 10410614 + ^Content/cnc/movies/bombflee.vqa: + Offset: 417972348 + Length: 2859726 + ^Content/cnc/movies/bombaway.vqa: + Offset: 420832074 + Length: 5579588 + ^Content/cnc/movies/bkground.vqa: + Offset: 426411662 + Length: 15267052 + ^Content/cnc/movies/bcanyon.vqa: + Offset: 441678714 + Length: 5172288 + ^Content/cnc/movies/banner.vqa: + Offset: 446851002 + Length: 2229408 diff --git a/mods/cnc/installer/nod95.yaml b/mods/cnc/installer/nod95.yaml new file mode 100644 index 0000000000..0dd2fe6840 --- /dev/null +++ b/mods/cnc/installer/nod95.yaml @@ -0,0 +1,414 @@ +nod95: C&C Gold (Nod Disc, English) + IDFiles: + DISK.WAV: 83a0235525afa5cd6096f2967e3eae032996e38c + CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/cnc/conquer.mix: CONQUER.MIX + ^Content/cnc/desert.mix: DESERT.MIX + ^Content/cnc/general.mix: GENERAL.MIX + ^Content/cnc/scores.mix: SCORES.MIX + ^Content/cnc/sounds.mix: SOUNDS.MIX + ^Content/cnc/temperat.mix: TEMPERAT.MIX + ^Content/cnc/winter.mix: WINTER.MIX + extract-blast: INSTALL/SETUP.Z + ^Content/cnc/speech.mix: + Offset: 10203213 + Length: 603293 + ^Content/cnc/tempicnh.mix: + Offset: 10925941 + Length: 119096 + ^Content/cnc/transit.mix: + Offset: 11078017 + Length: 3724462 + extract-raw: MOVIES.MIX + ^Content/cnc/movies/visor.vqa: + Offset: 738 + Length: 4407162 + ^Content/cnc/movies/trtkil_d.vqa: + Offset: 4407900 + Length: 3511836 + ^Content/cnc/movies/trailer.vqa: + Offset: 7919736 + Length: 23163930 + ^Content/cnc/movies/tiberfx.vqa: + Offset: 31083666 + Length: 8735102 + ^Content/cnc/movies/tankkill.vqa: + Offset: 39818768 + Length: 3298978 + ^Content/cnc/movies/tankgo.vqa: + Offset: 43117746 + Length: 1403876 + ^Content/cnc/movies/sundial.vqa: + Offset: 44521622 + Length: 3653636 + ^Content/cnc/movies/stealth.vqa: + Offset: 48175258 + Length: 4521860 + ^Content/cnc/movies/spycrash.vqa: + Offset: 52697118 + Length: 1886288 + ^Content/cnc/movies/sethpre.vqa: + Offset: 54583406 + Length: 10914610 + ^Content/cnc/movies/seige.vqa: + Offset: 65498016 + Length: 2705978 + ^Content/cnc/movies/samsite.vqa: + Offset: 68203994 + Length: 1410418 + ^Content/cnc/movies/retro.vqa: + Offset: 69614412 + Length: 6434382 + ^Content/cnc/movies/refint.vqa: + Offset: 76048794 + Length: 5090040 + ^Content/cnc/movies/obel.vqa: + Offset: 81138834 + Length: 3851370 + ^Content/cnc/movies/nuke.vqa: + Offset: 84990204 + Length: 3126662 + ^Content/cnc/movies/nodlose.vqa: + Offset: 88116866 + Length: 5148924 + ^Content/cnc/movies/nodfinal.vqa: + Offset: 93265790 + Length: 23326586 + ^Content/cnc/movies/nodend4.vqa: + Offset: 116592376 + Length: 25535232 + ^Content/cnc/movies/nodend3.vqa: + Offset: 142127608 + Length: 25725824 + ^Content/cnc/movies/nodend2.vqa: + Offset: 167853432 + Length: 27214048 + ^Content/cnc/movies/nodend1.vqa: + Offset: 195067480 + Length: 27172272 + ^Content/cnc/movies/nod9.vqa: + Offset: 222239752 + Length: 9357980 + ^Content/cnc/movies/nod8.vqa: + Offset: 231597732 + Length: 11597940 + ^Content/cnc/movies/nod7b.vqa: + Offset: 243195672 + Length: 4671402 + ^Content/cnc/movies/nod7a.vqa: + Offset: 247867074 + Length: 4740470 + ^Content/cnc/movies/nod6.vqa: + Offset: 252607544 + Length: 5007744 + ^Content/cnc/movies/nod5.vqa: + Offset: 257615288 + Length: 6641700 + ^Content/cnc/movies/nod4b.vqa: + Offset: 264256988 + Length: 3867618 + ^Content/cnc/movies/nod4a.vqa: + Offset: 268124606 + Length: 3838924 + ^Content/cnc/movies/nod3.vqa: + Offset: 271963530 + Length: 3603314 + ^Content/cnc/movies/nod2.vqa: + Offset: 275566844 + Length: 7200720 + ^Content/cnc/movies/nod1pre.vqa: + Offset: 282767564 + Length: 395720 + ^Content/cnc/movies/nod13.vqa: + Offset: 283163284 + Length: 2746626 + ^Content/cnc/movies/nod12.vqa: + Offset: 285909910 + Length: 6576562 + ^Content/cnc/movies/nod11.vqa: + Offset: 292486472 + Length: 4629270 + ^Content/cnc/movies/nod10b.vqa: + Offset: 297115742 + Length: 6386444 + ^Content/cnc/movies/nod10a.vqa: + Offset: 303502186 + Length: 7205632 + ^Content/cnc/movies/nod1.vqa: + Offset: 310707818 + Length: 4663258 + ^Content/cnc/movies/logo.vqa: + Offset: 315371076 + Length: 3562630 + ^Content/cnc/movies/landing.vqa: + Offset: 318933706 + Length: 1617094 + ^Content/cnc/movies/kanepre.vqa: + Offset: 320550800 + Length: 17220712 + ^Content/cnc/movies/intro2.vqa: + Offset: 337771512 + Length: 21058732 + ^Content/cnc/movies/insites.vqa: + Offset: 358830244 + Length: 460482 + ^Content/cnc/movies/generic.vqa: + Offset: 359290726 + Length: 1452820 + ^Content/cnc/movies/gdi1.vqa: + Offset: 360743546 + Length: 6341298 + ^Content/cnc/movies/gameover.vqa: + Offset: 367084844 + Length: 2087322 + ^Content/cnc/movies/forestkl.vqa: + Offset: 369172166 + Length: 1500986 + ^Content/cnc/movies/flag.vqa: + Offset: 370673152 + Length: 4308680 + ^Content/cnc/movies/dino.vqa: + Offset: 374981832 + Length: 1347896 + ^Content/cnc/movies/dessweep.vqa: + Offset: 376329728 + Length: 3563646 + ^Content/cnc/movies/deskill.vqa: + Offset: 379893374 + Length: 1483634 + ^Content/cnc/movies/desflees.vqa: + Offset: 381377008 + Length: 2698426 + ^Content/cnc/movies/consyard.vqa: + Offset: 384075434 + Length: 7864652 + ^Content/cnc/movies/cc2tease.vqa: + Offset: 391940086 + Length: 12506712 + ^Content/cnc/movies/bombflee.vqa: + Offset: 404446798 + Length: 2859726 + ^Content/cnc/movies/bombaway.vqa: + Offset: 407306524 + Length: 5579588 + ^Content/cnc/movies/bcanyon.vqa: + Offset: 412886112 + Length: 5172288 + ^Content/cnc/movies/banner.vqa: + Offset: 418058400 + Length: 2229408 + ^Content/cnc/movies/akira.vqa: + Offset: 420287808 + Length: 7803444 + ^Content/cnc/movies/airstrk.vqa: + Offset: 428091252 + Length: 4444442 +nod95-linux: C&C Gold (Nod Disc, English) + IDFiles: + disk.wav: 83a0235525afa5cd6096f2967e3eae032996e38c + conquer.mix: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/cnc/conquer.mix: conquer.mix + ^Content/cnc/desert.mix: desert.mix + ^Content/cnc/general.mix: general.mix + ^Content/cnc/scores.mix: scores.mix + ^Content/cnc/sounds.mix: sounds.mix + ^Content/cnc/temperat.mix: temperat.mix + ^Content/cnc/winter.mix: winter.mix + extract-blast: install/setup.z + ^Content/cnc/speech.mix: + Offset: 10203213 + Length: 603293 + ^Content/cnc/tempicnh.mix: + Offset: 10925941 + Length: 119096 + ^Content/cnc/transit.mix: + Offset: 11078017 + Length: 3724462 + extract-raw: movies.mix + ^Content/cnc/movies/visor.vqa: + Offset: 738 + Length: 4407162 + ^Content/cnc/movies/trtkil_d.vqa: + Offset: 4407900 + Length: 3511836 + ^Content/cnc/movies/trailer.vqa: + Offset: 7919736 + Length: 23163930 + ^Content/cnc/movies/tiberfx.vqa: + Offset: 31083666 + Length: 8735102 + ^Content/cnc/movies/tankkill.vqa: + Offset: 39818768 + Length: 3298978 + ^Content/cnc/movies/tankgo.vqa: + Offset: 43117746 + Length: 1403876 + ^Content/cnc/movies/sundial.vqa: + Offset: 44521622 + Length: 3653636 + ^Content/cnc/movies/stealth.vqa: + Offset: 48175258 + Length: 4521860 + ^Content/cnc/movies/spycrash.vqa: + Offset: 52697118 + Length: 1886288 + ^Content/cnc/movies/sethpre.vqa: + Offset: 54583406 + Length: 10914610 + ^Content/cnc/movies/seige.vqa: + Offset: 65498016 + Length: 2705978 + ^Content/cnc/movies/samsite.vqa: + Offset: 68203994 + Length: 1410418 + ^Content/cnc/movies/retro.vqa: + Offset: 69614412 + Length: 6434382 + ^Content/cnc/movies/refint.vqa: + Offset: 76048794 + Length: 5090040 + ^Content/cnc/movies/obel.vqa: + Offset: 81138834 + Length: 3851370 + ^Content/cnc/movies/nuke.vqa: + Offset: 84990204 + Length: 3126662 + ^Content/cnc/movies/nodlose.vqa: + Offset: 88116866 + Length: 5148924 + ^Content/cnc/movies/nodfinal.vqa: + Offset: 93265790 + Length: 23326586 + ^Content/cnc/movies/nodend4.vqa: + Offset: 116592376 + Length: 25535232 + ^Content/cnc/movies/nodend3.vqa: + Offset: 142127608 + Length: 25725824 + ^Content/cnc/movies/nodend2.vqa: + Offset: 167853432 + Length: 27214048 + ^Content/cnc/movies/nodend1.vqa: + Offset: 195067480 + Length: 27172272 + ^Content/cnc/movies/nod9.vqa: + Offset: 222239752 + Length: 9357980 + ^Content/cnc/movies/nod8.vqa: + Offset: 231597732 + Length: 11597940 + ^Content/cnc/movies/nod7b.vqa: + Offset: 243195672 + Length: 4671402 + ^Content/cnc/movies/nod7a.vqa: + Offset: 247867074 + Length: 4740470 + ^Content/cnc/movies/nod6.vqa: + Offset: 252607544 + Length: 5007744 + ^Content/cnc/movies/nod5.vqa: + Offset: 257615288 + Length: 6641700 + ^Content/cnc/movies/nod4b.vqa: + Offset: 264256988 + Length: 3867618 + ^Content/cnc/movies/nod4a.vqa: + Offset: 268124606 + Length: 3838924 + ^Content/cnc/movies/nod3.vqa: + Offset: 271963530 + Length: 3603314 + ^Content/cnc/movies/nod2.vqa: + Offset: 275566844 + Length: 7200720 + ^Content/cnc/movies/nod1pre.vqa: + Offset: 282767564 + Length: 395720 + ^Content/cnc/movies/nod13.vqa: + Offset: 283163284 + Length: 2746626 + ^Content/cnc/movies/nod12.vqa: + Offset: 285909910 + Length: 6576562 + ^Content/cnc/movies/nod11.vqa: + Offset: 292486472 + Length: 4629270 + ^Content/cnc/movies/nod10b.vqa: + Offset: 297115742 + Length: 6386444 + ^Content/cnc/movies/nod10a.vqa: + Offset: 303502186 + Length: 7205632 + ^Content/cnc/movies/nod1.vqa: + Offset: 310707818 + Length: 4663258 + ^Content/cnc/movies/logo.vqa: + Offset: 315371076 + Length: 3562630 + ^Content/cnc/movies/landing.vqa: + Offset: 318933706 + Length: 1617094 + ^Content/cnc/movies/kanepre.vqa: + Offset: 320550800 + Length: 17220712 + ^Content/cnc/movies/intro2.vqa: + Offset: 337771512 + Length: 21058732 + ^Content/cnc/movies/insites.vqa: + Offset: 358830244 + Length: 460482 + ^Content/cnc/movies/generic.vqa: + Offset: 359290726 + Length: 1452820 + ^Content/cnc/movies/gdi1.vqa: + Offset: 360743546 + Length: 6341298 + ^Content/cnc/movies/gameover.vqa: + Offset: 367084844 + Length: 2087322 + ^Content/cnc/movies/forestkl.vqa: + Offset: 369172166 + Length: 1500986 + ^Content/cnc/movies/flag.vqa: + Offset: 370673152 + Length: 4308680 + ^Content/cnc/movies/dino.vqa: + Offset: 374981832 + Length: 1347896 + ^Content/cnc/movies/dessweep.vqa: + Offset: 376329728 + Length: 3563646 + ^Content/cnc/movies/deskill.vqa: + Offset: 379893374 + Length: 1483634 + ^Content/cnc/movies/desflees.vqa: + Offset: 381377008 + Length: 2698426 + ^Content/cnc/movies/consyard.vqa: + Offset: 384075434 + Length: 7864652 + ^Content/cnc/movies/cc2tease.vqa: + Offset: 391940086 + Length: 12506712 + ^Content/cnc/movies/bombflee.vqa: + Offset: 404446798 + Length: 2859726 + ^Content/cnc/movies/bombaway.vqa: + Offset: 407306524 + Length: 5579588 + ^Content/cnc/movies/bcanyon.vqa: + Offset: 412886112 + Length: 5172288 + ^Content/cnc/movies/banner.vqa: + Offset: 418058400 + Length: 2229408 + ^Content/cnc/movies/akira.vqa: + Offset: 420287808 + Length: 7803444 + ^Content/cnc/movies/airstrk.vqa: + Offset: 428091252 + Length: 4444442 \ No newline at end of file diff --git a/mods/cnc/installer/origin.yaml b/mods/cnc/installer/origin.yaml new file mode 100644 index 0000000000..d756bff0c7 --- /dev/null +++ b/mods/cnc/installer/origin.yaml @@ -0,0 +1,333 @@ +origin: C&C The Ultimate Collection (Origin version, English) + Type: Install + RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\CNC and The Covert Operations + RegistryValue: Install Dir + IDFiles: + CNC95Launcher.exe: 1d711adf09ac08738b2599b3092a1b448169b32a + CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/cnc/conquer.mix: CONQUER.MIX + ^Content/cnc/desert.mix: DESERT.MIX + ^Content/cnc/general.mix: GENERAL.MIX + ^Content/cnc/scores.mix: SCORES.MIX + ^Content/cnc/sounds.mix: SOUNDS.MIX + ^Content/cnc/temperat.mix: TEMPERAT.MIX + ^Content/cnc/winter.mix: WINTER.MIX + ^Content/cnc/speech.mix: SPEECH.MIX + ^Content/cnc/tempicnh.mix: TEMPICNH.MIX + ^Content/cnc/transit.mix: TRANSIT.MIX + ^Content/cnc/scores-covertops.mix: covert/SCORES.MIX + extract-raw: movies.mix + ^Content/cnc/movies/akira.vqa: + Offset: 4445708 + Length: 7803444 + ^Content/cnc/movies/bkground.vqa: + Offset: 12249152 + Length: 15267052 + ^Content/cnc/movies/burdet1.vqa: + Offset: 27516204 + Length: 10410614 + ^Content/cnc/movies/burdet2.vqa: + Offset: 37926818 + Length: 2062190 + ^Content/cnc/movies/gdi4a.vqa: + Offset: 39989008 + Length: 4450582 + ^Content/cnc/movies/gdi4b.vqa: + Offset: 44439590 + Length: 6603530 + ^Content/cnc/movies/gdifina.vqa: + Offset: 51043120 + Length: 12888650 + ^Content/cnc/movies/gdifinb.vqa: + Offset: 63931770 + Length: 17769978 + ^Content/cnc/movies/nod7a.vqa: + Offset: 81701748 + Length: 4740470 + ^Content/cnc/movies/nod7b.vqa: + Offset: 86442218 + Length: 4671402 + ^Content/cnc/movies/visor.vqa: + Offset: 91113620 + Length: 4407162 + ^Content/cnc/movies/turtkill.vqa: + Offset: 95520782 + Length: 3323444 + ^Content/cnc/movies/trtkil_d.vqa: + Offset: 98844226 + Length: 3511836 + ^Content/cnc/movies/trailer.vqa: + Offset: 102356062 + Length: 23163930 + ^Content/cnc/movies/tiberfx.vqa: + Offset: 125519992 + Length: 8735102 + ^Content/cnc/movies/tbrinfo3.vqa: + Offset: 134255094 + Length: 14972046 + ^Content/cnc/movies/tbrinfo2.vqa: + Offset: 149227140 + Length: 16195290 + ^Content/cnc/movies/tbrinfo1.vqa: + Offset: 165422430 + Length: 23479052 + ^Content/cnc/movies/tankkill.vqa: + Offset: 188901482 + Length: 3298978 + ^Content/cnc/movies/tankgo.vqa: + Offset: 192200460 + Length: 1403876 + ^Content/cnc/movies/sundial.vqa: + Offset: 193604336 + Length: 3653636 + ^Content/cnc/movies/stealth.vqa: + Offset: 197257972 + Length: 4521860 + ^Content/cnc/movies/spycrash.vqa: + Offset: 201779832 + Length: 1886288 + ^Content/cnc/movies/sethpre.vqa: + Offset: 203666120 + Length: 10914610 + ^Content/cnc/movies/seige.vqa: + Offset: 214580730 + Length: 2705978 + ^Content/cnc/movies/samsite.vqa: + Offset: 217286708 + Length: 1410418 + ^Content/cnc/movies/samdie.vqa: + Offset: 218697126 + Length: 3741942 + ^Content/cnc/movies/sabotage.vqa: + Offset: 222439068 + Length: 1386202 + ^Content/cnc/movies/retro.vqa: + Offset: 223825270 + Length: 6434382 + ^Content/cnc/movies/refint.vqa: + Offset: 230259652 + Length: 5090040 + ^Content/cnc/movies/podium.vqa: + Offset: 235349692 + Length: 2790664 + ^Content/cnc/movies/planecra.vqa: + Offset: 238140356 + Length: 5085426 + ^Content/cnc/movies/pintle.vqa: + Offset: 243225782 + Length: 2757536 + ^Content/cnc/movies/paratrop.vqa: + Offset: 245983318 + Length: 3180272 + ^Content/cnc/movies/obel.vqa: + Offset: 249163590 + Length: 3851370 + ^Content/cnc/movies/nuke.vqa: + Offset: 253014960 + Length: 3126662 + ^Content/cnc/movies/nodsweep.vqa: + Offset: 256141622 + Length: 3642174 + ^Content/cnc/movies/nodlose.vqa: + Offset: 259783796 + Length: 5148924 + ^Content/cnc/movies/nodflees.vqa: + Offset: 264932720 + Length: 3056426 + ^Content/cnc/movies/nodfinal.vqa: + Offset: 267989146 + Length: 23326586 + ^Content/cnc/movies/nod9.vqa: + Offset: 396963108 + Length: 9357980 + ^Content/cnc/movies/nod8.vqa: + Offset: 406321088 + Length: 11597940 + ^Content/cnc/movies/nod6.vqa: + Offset: 417919028 + Length: 5007744 + ^Content/cnc/movies/nod5.vqa: + Offset: 422926772 + Length: 6641700 + ^Content/cnc/movies/nod4b.vqa: + Offset: 429568472 + Length: 3867618 + ^Content/cnc/movies/nod4a.vqa: + Offset: 433436090 + Length: 3838924 + ^Content/cnc/movies/nod3.vqa: + Offset: 437275014 + Length: 3603314 + ^Content/cnc/movies/nod2.vqa: + Offset: 440878328 + Length: 7200720 + ^Content/cnc/movies/nod1pre.vqa: + Offset: 448079048 + Length: 395720 + ^Content/cnc/movies/nod13.vqa: + Offset: 448474768 + Length: 2746626 + ^Content/cnc/movies/nod12.vqa: + Offset: 451221394 + Length: 6576562 + ^Content/cnc/movies/nod11.vqa: + Offset: 457797956 + Length: 4629270 + ^Content/cnc/movies/nod10b.vqa: + Offset: 462427226 + Length: 6386444 + ^Content/cnc/movies/nod10a.vqa: + Offset: 468813670 + Length: 7205632 + ^Content/cnc/movies/nod1.vqa: + Offset: 476019302 + Length: 4663258 + ^Content/cnc/movies/nitejump.vqa: + Offset: 480682560 + Length: 3702838 + ^Content/cnc/movies/napalm.vqa: + Offset: 484385398 + Length: 4004146 + ^Content/cnc/movies/logo.vqa: + Offset: 488389544 + Length: 3562630 + ^Content/cnc/movies/landing.vqa: + Offset: 491952174 + Length: 1617094 + ^Content/cnc/movies/kanepre.vqa: + Offset: 493569268 + Length: 17220712 + ^Content/cnc/movies/intro2.vqa: + Offset: 510789980 + Length: 21058732 + ^Content/cnc/movies/insites.vqa: + Offset: 531848712 + Length: 460482 + ^Content/cnc/movies/hellvaly.vqa: + Offset: 532309194 + Length: 6658950 + ^Content/cnc/movies/gunboat.vqa: + Offset: 538968144 + Length: 3203706 + ^Content/cnc/movies/generic.vqa: + Offset: 542171850 + Length: 1452820 + ^Content/cnc/movies/gdilose.vqa: + Offset: 543624670 + Length: 2097912 + ^Content/cnc/movies/gdiend2.vqa: + Offset: 545722582 + Length: 25242946 + ^Content/cnc/movies/gdiend1.vqa: + Offset: 570965528 + Length: 25311636 + ^Content/cnc/movies/gdi9.vqa: + Offset: 596277164 + Length: 11806994 + ^Content/cnc/movies/gdi8b.vqa: + Offset: 608084158 + Length: 5324410 + ^Content/cnc/movies/gdi8a.vqa: + Offset: 613408568 + Length: 4672548 + ^Content/cnc/movies/gdi7.vqa: + Offset: 618081116 + Length: 4241952 + ^Content/cnc/movies/gdi6.vqa: + Offset: 622323068 + Length: 3959650 + ^Content/cnc/movies/gdi5.vqa: + Offset: 626282718 + Length: 3818244 + ^Content/cnc/movies/gdi3lose.vqa: + Offset: 630100962 + Length: 2265770 + ^Content/cnc/movies/gdi3.vqa: + Offset: 632366732 + Length: 5443848 + ^Content/cnc/movies/gdi2.vqa: + Offset: 637810580 + Length: 7883500 + ^Content/cnc/movies/gdi15.vqa: + Offset: 645694080 + Length: 11684610 + ^Content/cnc/movies/gdi14.vqa: + Offset: 657378690 + Length: 5282770 + ^Content/cnc/movies/gdi13.vqa: + Offset: 662661460 + Length: 6900914 + ^Content/cnc/movies/gdi12.vqa: + Offset: 669562374 + Length: 3669404 + ^Content/cnc/movies/gdi11.vqa: + Offset: 673231778 + Length: 5895754 + ^Content/cnc/movies/gdi10.vqa: + Offset: 679127532 + Length: 5761514 + ^Content/cnc/movies/gdi1.vqa: + Offset: 684889046 + Length: 6341298 + ^Content/cnc/movies/gameover.vqa: + Offset: 691230344 + Length: 2087322 + ^Content/cnc/movies/forestkl.vqa: + Offset: 693317666 + Length: 1500986 + ^Content/cnc/movies/flyy.vqa: + Offset: 694818652 + Length: 1373532 + ^Content/cnc/movies/flag.vqa: + Offset: 696192184 + Length: 4308680 + ^Content/cnc/movies/dino.vqa: + Offset: 700500864 + Length: 1347896 + ^Content/cnc/movies/dessweep.vqa: + Offset: 701848760 + Length: 3563646 + ^Content/cnc/movies/desolat.vqa: + Offset: 705412406 + Length: 8385122 + ^Content/cnc/movies/deskill.vqa: + Offset: 713797528 + Length: 1483634 + ^Content/cnc/movies/desflees.vqa: + Offset: 715281162 + Length: 2698426 + ^Content/cnc/movies/consyard.vqa: + Offset: 717979588 + Length: 7864652 + ^Content/cnc/movies/cc2tease.vqa: + Offset: 725844240 + Length: 12506712 + ^Content/cnc/movies/bombflee.vqa: + Offset: 738350952 + Length: 2859726 + ^Content/cnc/movies/bombaway.vqa: + Offset: 741210678 + Length: 5579588 + ^Content/cnc/movies/bcanyon.vqa: + Offset: 746790266 + Length: 5172288 + ^Content/cnc/movies/banner.vqa: + Offset: 751962554 + Length: 2229408 + ^Content/cnc/movies/airstrk.vqa: + Offset: 754191962 + Length: 4444442 + ^Content/cnc/movies/nodend1.vqa: + Offset: 758637638 + Length: 24708735 + ^Content/cnc/movies/nodend2.vqa: + Offset: 783346373 + Length: 24700467 + ^Content/cnc/movies/nodend3.vqa: + Offset: 808046840 + Length: 23323681 + ^Content/cnc/movies/nodend4.vqa: + Offset: 831370521 + Length: 23346753 \ No newline at end of file diff --git a/mods/cnc/mod.yaml b/mods/cnc/mod.yaml index 16d1371645..718da2cbc9 100644 --- a/mods/cnc/mod.yaml +++ b/mods/cnc/mod.yaml @@ -244,1555 +244,10 @@ ModContent: TestFiles: ^Content/cnc/scores-covertops.mix Sources: covertops, covertops-linux, tfd, origin Downloads: - basefiles: Base Freeware Content - MirrorList: http://www.openra.net/packages/cnc-mirrors.txt - Extract: - ^Content/cnc/conquer.mix: conquer.mix - ^Content/cnc/desert.mix: desert.mix - ^Content/cnc/general.mix: general.mix - ^Content/cnc/sounds.mix: sounds.mix - ^Content/cnc/speech.mix: speech.mix - ^Content/cnc/temperat.mix: temperat.mix - ^Content/cnc/tempicnh.mix: tempicnh.mix - ^Content/cnc/transit.mix: transit.mix - ^Content/cnc/winter.mix: winter.mix - music: Freeware Music - MirrorList: http://www.openra.net/packages/cnc-music-mirrors.txt - Extract: - ^Content/cnc/scores.mix: scores.mix + cnc|installer/downloads.yaml Sources: - gdi95: C&C Gold (GDI Disc, English) - IDFiles: - DISK.WAV: 8bef9a6687c0fe0afd57c6561df58fa6e64f145d - CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/cnc/conquer.mix: CONQUER.MIX - ^Content/cnc/desert.mix: DESERT.MIX - ^Content/cnc/general.mix: GENERAL.MIX - ^Content/cnc/scores.mix: SCORES.MIX - ^Content/cnc/sounds.mix: SOUNDS.MIX - ^Content/cnc/temperat.mix: TEMPERAT.MIX - ^Content/cnc/winter.mix: WINTER.MIX - extract-blast: INSTALL/SETUP.Z - ^Content/cnc/speech.mix: - Offset: 10203213 - Length: 603293 - ^Content/cnc/tempicnh.mix: - Offset: 10925941 - Length: 119096 - ^Content/cnc/transit.mix: - Offset: 11078017 - Length: 3724462 - extract-raw: MOVIES.MIX - ^Content/cnc/movies/visor.vqa: - Offset: 786 - Length: 4407162 - ^Content/cnc/movies/turtkill.vqa: - Offset: 4407948 - Length: 3323444 - ^Content/cnc/movies/trailer.vqa: - Offset: 7731392 - Length: 23163930 - ^Content/cnc/movies/tbrinfo3.vqa: - Offset: 30895322 - Length: 14972046 - ^Content/cnc/movies/tbrinfo2.vqa: - Offset: 45867368 - Length: 16195290 - ^Content/cnc/movies/tbrinfo1.vqa: - Offset: 62062658 - Length: 23479052 - ^Content/cnc/movies/seige.vqa: - Offset: 85541710 - Length: 2705978 - ^Content/cnc/movies/samsite.vqa: - Offset: 88247688 - Length: 1410418 - ^Content/cnc/movies/samdie.vqa: - Offset: 89658106 - Length: 3741942 - ^Content/cnc/movies/sabotage.vqa: - Offset: 93400048 - Length: 1386202 - ^Content/cnc/movies/retro.vqa: - Offset: 94786250 - Length: 6434382 - ^Content/cnc/movies/podium.vqa: - Offset: 101220632 - Length: 2790664 - ^Content/cnc/movies/planecra.vqa: - Offset: 104011296 - Length: 5085426 - ^Content/cnc/movies/pintle.vqa: - Offset: 109096722 - Length: 2757536 - ^Content/cnc/movies/paratrop.vqa: - Offset: 111854258 - Length: 3180272 - ^Content/cnc/movies/nodsweep.vqa: - Offset: 115034530 - Length: 3642174 - ^Content/cnc/movies/nodlose.vqa: - Offset: 118676704 - Length: 5148924 - ^Content/cnc/movies/nodflees.vqa: - Offset: 123825628 - Length: 3056426 - ^Content/cnc/movies/nod1.vqa: - Offset: 126882054 - Length: 4663258 - ^Content/cnc/movies/nitejump.vqa: - Offset: 131545312 - Length: 3702838 - ^Content/cnc/movies/napalm.vqa: - Offset: 135248150 - Length: 4004146 - ^Content/cnc/movies/logo.vqa: - Offset: 139252296 - Length: 3562630 - ^Content/cnc/movies/landing.vqa: - Offset: 142814926 - Length: 1617094 - ^Content/cnc/movies/intro2.vqa: - Offset: 144432020 - Length: 21058732 - ^Content/cnc/movies/hellvaly.vqa: - Offset: 165490752 - Length: 6658950 - ^Content/cnc/movies/gunboat.vqa: - Offset: 172149702 - Length: 3203706 - ^Content/cnc/movies/generic.vqa: - Offset: 175353408 - Length: 1452820 - ^Content/cnc/movies/gdilose.vqa: - Offset: 176806228 - Length: 2097912 - ^Content/cnc/movies/gdifinb.vqa: - Offset: 178904140 - Length: 17769978 - ^Content/cnc/movies/gdifina.vqa: - Offset: 196674118 - Length: 12888650 - ^Content/cnc/movies/gdiend2.vqa: - Offset: 209562768 - Length: 25242946 - ^Content/cnc/movies/gdiend1.vqa: - Offset: 234805714 - Length: 25311636 - ^Content/cnc/movies/gdi9.vqa: - Offset: 260117350 - Length: 11806994 - ^Content/cnc/movies/gdi8b.vqa: - Offset: 271924344 - Length: 5324410 - ^Content/cnc/movies/gdi8a.vqa: - Offset: 277248754 - Length: 4672548 - ^Content/cnc/movies/gdi7.vqa: - Offset: 281921302 - Length: 4241952 - ^Content/cnc/movies/gdi6.vqa: - Offset: 286163254 - Length: 3959650 - ^Content/cnc/movies/gdi5.vqa: - Offset: 290122904 - Length: 3818244 - ^Content/cnc/movies/gdi4b.vqa: - Offset: 293941148 - Length: 6603530 - ^Content/cnc/movies/gdi4a.vqa: - Offset: 300544678 - Length: 4450582 - ^Content/cnc/movies/gdi3lose.vqa: - Offset: 304995260 - Length: 2265770 - ^Content/cnc/movies/gdi3.vqa: - Offset: 307261030 - Length: 5443848 - ^Content/cnc/movies/gdi2.vqa: - Offset: 312704878 - Length: 7883500 - ^Content/cnc/movies/gdi15.vqa: - Offset: 320588378 - Length: 11684610 - ^Content/cnc/movies/gdi14.vqa: - Offset: 332272988 - Length: 5282770 - ^Content/cnc/movies/gdi13.vqa: - Offset: 337555758 - Length: 6900914 - ^Content/cnc/movies/gdi12.vqa: - Offset: 344456672 - Length: 3669404 - ^Content/cnc/movies/gdi11.vqa: - Offset: 348126076 - Length: 5895754 - ^Content/cnc/movies/gdi10.vqa: - Offset: 354021830 - Length: 5761514 - ^Content/cnc/movies/gdi1.vqa: - Offset: 359783344 - Length: 6341298 - ^Content/cnc/movies/gameover.vqa: - Offset: 366124642 - Length: 2087322 - ^Content/cnc/movies/forestkl.vqa: - Offset: 368211964 - Length: 1500986 - ^Content/cnc/movies/flyy.vqa: - Offset: 369712950 - Length: 1373532 - ^Content/cnc/movies/flag.vqa: - Offset: 371086482 - Length: 4308680 - ^Content/cnc/movies/dino.vqa: - Offset: 375395162 - Length: 1347896 - ^Content/cnc/movies/desolat.vqa: - Offset: 376743058 - Length: 8385122 - ^Content/cnc/movies/consyard.vqa: - Offset: 385128180 - Length: 7864652 - ^Content/cnc/movies/cc2tease.vqa: - Offset: 392992832 - Length: 12506712 - ^Content/cnc/movies/burdet2.vqa: - Offset: 405499544 - Length: 2062190 - ^Content/cnc/movies/burdet1.vqa: - Offset: 407561734 - Length: 10410614 - ^Content/cnc/movies/bombflee.vqa: - Offset: 417972348 - Length: 2859726 - ^Content/cnc/movies/bombaway.vqa: - Offset: 420832074 - Length: 5579588 - ^Content/cnc/movies/bkground.vqa: - Offset: 426411662 - Length: 15267052 - ^Content/cnc/movies/bcanyon.vqa: - Offset: 441678714 - Length: 5172288 - ^Content/cnc/movies/banner.vqa: - Offset: 446851002 - Length: 2229408 - gdi95-linux: C&C Gold (GDI Disc, English) - IDFiles: - disk.wav: 8bef9a6687c0fe0afd57c6561df58fa6e64f145d - conquer.mix: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/cnc/conquer.mix: conquer.mix - ^Content/cnc/desert.mix: desert.mix - ^Content/cnc/general.mix: general.mix - ^Content/cnc/scores.mix: scores.mix - ^Content/cnc/sounds.mix: sounds.mix - ^Content/cnc/temperat.mix: temperat.mix - ^Content/cnc/winter.mix: winter.mix - extract-blast: install/setup.z - ^Content/cnc/speech.mix: - Offset: 10203213 - Length: 603293 - ^Content/cnc/tempicnh.mix: - Offset: 10925941 - Length: 119096 - ^Content/cnc/transit.mix: - Offset: 11078017 - Length: 3724462 - extract-raw: movies.mix - ^Content/cnc/movies/visor.vqa: - Offset: 786 - Length: 4407162 - ^Content/cnc/movies/turtkill.vqa: - Offset: 4407948 - Length: 3323444 - ^Content/cnc/movies/trailer.vqa: - Offset: 7731392 - Length: 23163930 - ^Content/cnc/movies/tbrinfo3.vqa: - Offset: 30895322 - Length: 14972046 - ^Content/cnc/movies/tbrinfo2.vqa: - Offset: 45867368 - Length: 16195290 - ^Content/cnc/movies/tbrinfo1.vqa: - Offset: 62062658 - Length: 23479052 - ^Content/cnc/movies/seige.vqa: - Offset: 85541710 - Length: 2705978 - ^Content/cnc/movies/samsite.vqa: - Offset: 88247688 - Length: 1410418 - ^Content/cnc/movies/samdie.vqa: - Offset: 89658106 - Length: 3741942 - ^Content/cnc/movies/sabotage.vqa: - Offset: 93400048 - Length: 1386202 - ^Content/cnc/movies/retro.vqa: - Offset: 94786250 - Length: 6434382 - ^Content/cnc/movies/podium.vqa: - Offset: 101220632 - Length: 2790664 - ^Content/cnc/movies/planecra.vqa: - Offset: 104011296 - Length: 5085426 - ^Content/cnc/movies/pintle.vqa: - Offset: 109096722 - Length: 2757536 - ^Content/cnc/movies/paratrop.vqa: - Offset: 111854258 - Length: 3180272 - ^Content/cnc/movies/nodsweep.vqa: - Offset: 115034530 - Length: 3642174 - ^Content/cnc/movies/nodlose.vqa: - Offset: 118676704 - Length: 5148924 - ^Content/cnc/movies/nodflees.vqa: - Offset: 123825628 - Length: 3056426 - ^Content/cnc/movies/nod1.vqa: - Offset: 126882054 - Length: 4663258 - ^Content/cnc/movies/nitejump.vqa: - Offset: 131545312 - Length: 3702838 - ^Content/cnc/movies/napalm.vqa: - Offset: 135248150 - Length: 4004146 - ^Content/cnc/movies/logo.vqa: - Offset: 139252296 - Length: 3562630 - ^Content/cnc/movies/landing.vqa: - Offset: 142814926 - Length: 1617094 - ^Content/cnc/movies/intro2.vqa: - Offset: 144432020 - Length: 21058732 - ^Content/cnc/movies/hellvaly.vqa: - Offset: 165490752 - Length: 6658950 - ^Content/cnc/movies/gunboat.vqa: - Offset: 172149702 - Length: 3203706 - ^Content/cnc/movies/generic.vqa: - Offset: 175353408 - Length: 1452820 - ^Content/cnc/movies/gdilose.vqa: - Offset: 176806228 - Length: 2097912 - ^Content/cnc/movies/gdifinb.vqa: - Offset: 178904140 - Length: 17769978 - ^Content/cnc/movies/gdifina.vqa: - Offset: 196674118 - Length: 12888650 - ^Content/cnc/movies/gdiend2.vqa: - Offset: 209562768 - Length: 25242946 - ^Content/cnc/movies/gdiend1.vqa: - Offset: 234805714 - Length: 25311636 - ^Content/cnc/movies/gdi9.vqa: - Offset: 260117350 - Length: 11806994 - ^Content/cnc/movies/gdi8b.vqa: - Offset: 271924344 - Length: 5324410 - ^Content/cnc/movies/gdi8a.vqa: - Offset: 277248754 - Length: 4672548 - ^Content/cnc/movies/gdi7.vqa: - Offset: 281921302 - Length: 4241952 - ^Content/cnc/movies/gdi6.vqa: - Offset: 286163254 - Length: 3959650 - ^Content/cnc/movies/gdi5.vqa: - Offset: 290122904 - Length: 3818244 - ^Content/cnc/movies/gdi4b.vqa: - Offset: 293941148 - Length: 6603530 - ^Content/cnc/movies/gdi4a.vqa: - Offset: 300544678 - Length: 4450582 - ^Content/cnc/movies/gdi3lose.vqa: - Offset: 304995260 - Length: 2265770 - ^Content/cnc/movies/gdi3.vqa: - Offset: 307261030 - Length: 5443848 - ^Content/cnc/movies/gdi2.vqa: - Offset: 312704878 - Length: 7883500 - ^Content/cnc/movies/gdi15.vqa: - Offset: 320588378 - Length: 11684610 - ^Content/cnc/movies/gdi14.vqa: - Offset: 332272988 - Length: 5282770 - ^Content/cnc/movies/gdi13.vqa: - Offset: 337555758 - Length: 6900914 - ^Content/cnc/movies/gdi12.vqa: - Offset: 344456672 - Length: 3669404 - ^Content/cnc/movies/gdi11.vqa: - Offset: 348126076 - Length: 5895754 - ^Content/cnc/movies/gdi10.vqa: - Offset: 354021830 - Length: 5761514 - ^Content/cnc/movies/gdi1.vqa: - Offset: 359783344 - Length: 6341298 - ^Content/cnc/movies/gameover.vqa: - Offset: 366124642 - Length: 2087322 - ^Content/cnc/movies/forestkl.vqa: - Offset: 368211964 - Length: 1500986 - ^Content/cnc/movies/flyy.vqa: - Offset: 369712950 - Length: 1373532 - ^Content/cnc/movies/flag.vqa: - Offset: 371086482 - Length: 4308680 - ^Content/cnc/movies/dino.vqa: - Offset: 375395162 - Length: 1347896 - ^Content/cnc/movies/desolat.vqa: - Offset: 376743058 - Length: 8385122 - ^Content/cnc/movies/consyard.vqa: - Offset: 385128180 - Length: 7864652 - ^Content/cnc/movies/cc2tease.vqa: - Offset: 392992832 - Length: 12506712 - ^Content/cnc/movies/burdet2.vqa: - Offset: 405499544 - Length: 2062190 - ^Content/cnc/movies/burdet1.vqa: - Offset: 407561734 - Length: 10410614 - ^Content/cnc/movies/bombflee.vqa: - Offset: 417972348 - Length: 2859726 - ^Content/cnc/movies/bombaway.vqa: - Offset: 420832074 - Length: 5579588 - ^Content/cnc/movies/bkground.vqa: - Offset: 426411662 - Length: 15267052 - ^Content/cnc/movies/bcanyon.vqa: - Offset: 441678714 - Length: 5172288 - ^Content/cnc/movies/banner.vqa: - Offset: 446851002 - Length: 2229408 - nod95: C&C Gold (Nod Disc, English) - IDFiles: - DISK.WAV: 83a0235525afa5cd6096f2967e3eae032996e38c - CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/cnc/conquer.mix: CONQUER.MIX - ^Content/cnc/desert.mix: DESERT.MIX - ^Content/cnc/general.mix: GENERAL.MIX - ^Content/cnc/scores.mix: SCORES.MIX - ^Content/cnc/sounds.mix: SOUNDS.MIX - ^Content/cnc/temperat.mix: TEMPERAT.MIX - ^Content/cnc/winter.mix: WINTER.MIX - extract-blast: INSTALL/SETUP.Z - ^Content/cnc/speech.mix: - Offset: 10203213 - Length: 603293 - ^Content/cnc/tempicnh.mix: - Offset: 10925941 - Length: 119096 - ^Content/cnc/transit.mix: - Offset: 11078017 - Length: 3724462 - extract-raw: MOVIES.MIX - ^Content/cnc/movies/visor.vqa: - Offset: 738 - Length: 4407162 - ^Content/cnc/movies/trtkil_d.vqa: - Offset: 4407900 - Length: 3511836 - ^Content/cnc/movies/trailer.vqa: - Offset: 7919736 - Length: 23163930 - ^Content/cnc/movies/tiberfx.vqa: - Offset: 31083666 - Length: 8735102 - ^Content/cnc/movies/tankkill.vqa: - Offset: 39818768 - Length: 3298978 - ^Content/cnc/movies/tankgo.vqa: - Offset: 43117746 - Length: 1403876 - ^Content/cnc/movies/sundial.vqa: - Offset: 44521622 - Length: 3653636 - ^Content/cnc/movies/stealth.vqa: - Offset: 48175258 - Length: 4521860 - ^Content/cnc/movies/spycrash.vqa: - Offset: 52697118 - Length: 1886288 - ^Content/cnc/movies/sethpre.vqa: - Offset: 54583406 - Length: 10914610 - ^Content/cnc/movies/seige.vqa: - Offset: 65498016 - Length: 2705978 - ^Content/cnc/movies/samsite.vqa: - Offset: 68203994 - Length: 1410418 - ^Content/cnc/movies/retro.vqa: - Offset: 69614412 - Length: 6434382 - ^Content/cnc/movies/refint.vqa: - Offset: 76048794 - Length: 5090040 - ^Content/cnc/movies/obel.vqa: - Offset: 81138834 - Length: 3851370 - ^Content/cnc/movies/nuke.vqa: - Offset: 84990204 - Length: 3126662 - ^Content/cnc/movies/nodlose.vqa: - Offset: 88116866 - Length: 5148924 - ^Content/cnc/movies/nodfinal.vqa: - Offset: 93265790 - Length: 23326586 - ^Content/cnc/movies/nodend4.vqa: - Offset: 116592376 - Length: 25535232 - ^Content/cnc/movies/nodend3.vqa: - Offset: 142127608 - Length: 25725824 - ^Content/cnc/movies/nodend2.vqa: - Offset: 167853432 - Length: 27214048 - ^Content/cnc/movies/nodend1.vqa: - Offset: 195067480 - Length: 27172272 - ^Content/cnc/movies/nod9.vqa: - Offset: 222239752 - Length: 9357980 - ^Content/cnc/movies/nod8.vqa: - Offset: 231597732 - Length: 11597940 - ^Content/cnc/movies/nod7b.vqa: - Offset: 243195672 - Length: 4671402 - ^Content/cnc/movies/nod7a.vqa: - Offset: 247867074 - Length: 4740470 - ^Content/cnc/movies/nod6.vqa: - Offset: 252607544 - Length: 5007744 - ^Content/cnc/movies/nod5.vqa: - Offset: 257615288 - Length: 6641700 - ^Content/cnc/movies/nod4b.vqa: - Offset: 264256988 - Length: 3867618 - ^Content/cnc/movies/nod4a.vqa: - Offset: 268124606 - Length: 3838924 - ^Content/cnc/movies/nod3.vqa: - Offset: 271963530 - Length: 3603314 - ^Content/cnc/movies/nod2.vqa: - Offset: 275566844 - Length: 7200720 - ^Content/cnc/movies/nod1pre.vqa: - Offset: 282767564 - Length: 395720 - ^Content/cnc/movies/nod13.vqa: - Offset: 283163284 - Length: 2746626 - ^Content/cnc/movies/nod12.vqa: - Offset: 285909910 - Length: 6576562 - ^Content/cnc/movies/nod11.vqa: - Offset: 292486472 - Length: 4629270 - ^Content/cnc/movies/nod10b.vqa: - Offset: 297115742 - Length: 6386444 - ^Content/cnc/movies/nod10a.vqa: - Offset: 303502186 - Length: 7205632 - ^Content/cnc/movies/nod1.vqa: - Offset: 310707818 - Length: 4663258 - ^Content/cnc/movies/logo.vqa: - Offset: 315371076 - Length: 3562630 - ^Content/cnc/movies/landing.vqa: - Offset: 318933706 - Length: 1617094 - ^Content/cnc/movies/kanepre.vqa: - Offset: 320550800 - Length: 17220712 - ^Content/cnc/movies/intro2.vqa: - Offset: 337771512 - Length: 21058732 - ^Content/cnc/movies/insites.vqa: - Offset: 358830244 - Length: 460482 - ^Content/cnc/movies/generic.vqa: - Offset: 359290726 - Length: 1452820 - ^Content/cnc/movies/gdi1.vqa: - Offset: 360743546 - Length: 6341298 - ^Content/cnc/movies/gameover.vqa: - Offset: 367084844 - Length: 2087322 - ^Content/cnc/movies/forestkl.vqa: - Offset: 369172166 - Length: 1500986 - ^Content/cnc/movies/flag.vqa: - Offset: 370673152 - Length: 4308680 - ^Content/cnc/movies/dino.vqa: - Offset: 374981832 - Length: 1347896 - ^Content/cnc/movies/dessweep.vqa: - Offset: 376329728 - Length: 3563646 - ^Content/cnc/movies/deskill.vqa: - Offset: 379893374 - Length: 1483634 - ^Content/cnc/movies/desflees.vqa: - Offset: 381377008 - Length: 2698426 - ^Content/cnc/movies/consyard.vqa: - Offset: 384075434 - Length: 7864652 - ^Content/cnc/movies/cc2tease.vqa: - Offset: 391940086 - Length: 12506712 - ^Content/cnc/movies/bombflee.vqa: - Offset: 404446798 - Length: 2859726 - ^Content/cnc/movies/bombaway.vqa: - Offset: 407306524 - Length: 5579588 - ^Content/cnc/movies/bcanyon.vqa: - Offset: 412886112 - Length: 5172288 - ^Content/cnc/movies/banner.vqa: - Offset: 418058400 - Length: 2229408 - ^Content/cnc/movies/akira.vqa: - Offset: 420287808 - Length: 7803444 - ^Content/cnc/movies/airstrk.vqa: - Offset: 428091252 - Length: 4444442 - nod95-linux: C&C Gold (Nod Disc, English) - IDFiles: - disk.wav: 83a0235525afa5cd6096f2967e3eae032996e38c - conquer.mix: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/cnc/conquer.mix: conquer.mix - ^Content/cnc/desert.mix: desert.mix - ^Content/cnc/general.mix: general.mix - ^Content/cnc/scores.mix: scores.mix - ^Content/cnc/sounds.mix: sounds.mix - ^Content/cnc/temperat.mix: temperat.mix - ^Content/cnc/winter.mix: winter.mix - extract-blast: install/setup.z - ^Content/cnc/speech.mix: - Offset: 10203213 - Length: 603293 - ^Content/cnc/tempicnh.mix: - Offset: 10925941 - Length: 119096 - ^Content/cnc/transit.mix: - Offset: 11078017 - Length: 3724462 - extract-raw: movies.mix - ^Content/cnc/movies/visor.vqa: - Offset: 738 - Length: 4407162 - ^Content/cnc/movies/trtkil_d.vqa: - Offset: 4407900 - Length: 3511836 - ^Content/cnc/movies/trailer.vqa: - Offset: 7919736 - Length: 23163930 - ^Content/cnc/movies/tiberfx.vqa: - Offset: 31083666 - Length: 8735102 - ^Content/cnc/movies/tankkill.vqa: - Offset: 39818768 - Length: 3298978 - ^Content/cnc/movies/tankgo.vqa: - Offset: 43117746 - Length: 1403876 - ^Content/cnc/movies/sundial.vqa: - Offset: 44521622 - Length: 3653636 - ^Content/cnc/movies/stealth.vqa: - Offset: 48175258 - Length: 4521860 - ^Content/cnc/movies/spycrash.vqa: - Offset: 52697118 - Length: 1886288 - ^Content/cnc/movies/sethpre.vqa: - Offset: 54583406 - Length: 10914610 - ^Content/cnc/movies/seige.vqa: - Offset: 65498016 - Length: 2705978 - ^Content/cnc/movies/samsite.vqa: - Offset: 68203994 - Length: 1410418 - ^Content/cnc/movies/retro.vqa: - Offset: 69614412 - Length: 6434382 - ^Content/cnc/movies/refint.vqa: - Offset: 76048794 - Length: 5090040 - ^Content/cnc/movies/obel.vqa: - Offset: 81138834 - Length: 3851370 - ^Content/cnc/movies/nuke.vqa: - Offset: 84990204 - Length: 3126662 - ^Content/cnc/movies/nodlose.vqa: - Offset: 88116866 - Length: 5148924 - ^Content/cnc/movies/nodfinal.vqa: - Offset: 93265790 - Length: 23326586 - ^Content/cnc/movies/nodend4.vqa: - Offset: 116592376 - Length: 25535232 - ^Content/cnc/movies/nodend3.vqa: - Offset: 142127608 - Length: 25725824 - ^Content/cnc/movies/nodend2.vqa: - Offset: 167853432 - Length: 27214048 - ^Content/cnc/movies/nodend1.vqa: - Offset: 195067480 - Length: 27172272 - ^Content/cnc/movies/nod9.vqa: - Offset: 222239752 - Length: 9357980 - ^Content/cnc/movies/nod8.vqa: - Offset: 231597732 - Length: 11597940 - ^Content/cnc/movies/nod7b.vqa: - Offset: 243195672 - Length: 4671402 - ^Content/cnc/movies/nod7a.vqa: - Offset: 247867074 - Length: 4740470 - ^Content/cnc/movies/nod6.vqa: - Offset: 252607544 - Length: 5007744 - ^Content/cnc/movies/nod5.vqa: - Offset: 257615288 - Length: 6641700 - ^Content/cnc/movies/nod4b.vqa: - Offset: 264256988 - Length: 3867618 - ^Content/cnc/movies/nod4a.vqa: - Offset: 268124606 - Length: 3838924 - ^Content/cnc/movies/nod3.vqa: - Offset: 271963530 - Length: 3603314 - ^Content/cnc/movies/nod2.vqa: - Offset: 275566844 - Length: 7200720 - ^Content/cnc/movies/nod1pre.vqa: - Offset: 282767564 - Length: 395720 - ^Content/cnc/movies/nod13.vqa: - Offset: 283163284 - Length: 2746626 - ^Content/cnc/movies/nod12.vqa: - Offset: 285909910 - Length: 6576562 - ^Content/cnc/movies/nod11.vqa: - Offset: 292486472 - Length: 4629270 - ^Content/cnc/movies/nod10b.vqa: - Offset: 297115742 - Length: 6386444 - ^Content/cnc/movies/nod10a.vqa: - Offset: 303502186 - Length: 7205632 - ^Content/cnc/movies/nod1.vqa: - Offset: 310707818 - Length: 4663258 - ^Content/cnc/movies/logo.vqa: - Offset: 315371076 - Length: 3562630 - ^Content/cnc/movies/landing.vqa: - Offset: 318933706 - Length: 1617094 - ^Content/cnc/movies/kanepre.vqa: - Offset: 320550800 - Length: 17220712 - ^Content/cnc/movies/intro2.vqa: - Offset: 337771512 - Length: 21058732 - ^Content/cnc/movies/insites.vqa: - Offset: 358830244 - Length: 460482 - ^Content/cnc/movies/generic.vqa: - Offset: 359290726 - Length: 1452820 - ^Content/cnc/movies/gdi1.vqa: - Offset: 360743546 - Length: 6341298 - ^Content/cnc/movies/gameover.vqa: - Offset: 367084844 - Length: 2087322 - ^Content/cnc/movies/forestkl.vqa: - Offset: 369172166 - Length: 1500986 - ^Content/cnc/movies/flag.vqa: - Offset: 370673152 - Length: 4308680 - ^Content/cnc/movies/dino.vqa: - Offset: 374981832 - Length: 1347896 - ^Content/cnc/movies/dessweep.vqa: - Offset: 376329728 - Length: 3563646 - ^Content/cnc/movies/deskill.vqa: - Offset: 379893374 - Length: 1483634 - ^Content/cnc/movies/desflees.vqa: - Offset: 381377008 - Length: 2698426 - ^Content/cnc/movies/consyard.vqa: - Offset: 384075434 - Length: 7864652 - ^Content/cnc/movies/cc2tease.vqa: - Offset: 391940086 - Length: 12506712 - ^Content/cnc/movies/bombflee.vqa: - Offset: 404446798 - Length: 2859726 - ^Content/cnc/movies/bombaway.vqa: - Offset: 407306524 - Length: 5579588 - ^Content/cnc/movies/bcanyon.vqa: - Offset: 412886112 - Length: 5172288 - ^Content/cnc/movies/banner.vqa: - Offset: 418058400 - Length: 2229408 - ^Content/cnc/movies/akira.vqa: - Offset: 420287808 - Length: 7803444 - ^Content/cnc/movies/airstrk.vqa: - Offset: 428091252 - Length: 4444442 - covertops: Covert Operations Expansion (English) - IDFiles: - GAME/GAME.DAT: be5a6c4c0a581da09e8f34a3bbf7bd17e525085c - CONQUER.MIX: 713b53fa4c188ca9619c6bbeadbfc86513704266 - Install: - copy: . - ^Content/cnc/scores-covertops.mix: SCORES.MIX - covertops-linux: Covert Operations Expansion (English) - IDFiles: - game/game.dat: be5a6c4c0a581da09e8f34a3bbf7bd17e525085c - conquer.mix: 713b53fa4c188ca9619c6bbeadbfc86513704266 - Install: - copy: . - ^Content/cnc/scores-covertops.mix: scores.mix - tfd: C&C The First Decade (English) - IDFiles: - data1.hdr: bef3a08c3fc1b1caf28ca0dbb97c1f900005930e - data1.cab: 12ad6113a6890a1b4d5651a75378c963eaf513b9 - Install: - extract-iscab: data1.hdr - Volumes: - 2: data2.cab - 3: data3.cab - Extract: - ^Content/cnc/conquer.mix: CnC\\CONQUER.MIX - ^Content/cnc/desert.mix: CnC\\DESERT.MIX - ^Content/cnc/general.mix: CnC\\GENERAL.MIX - ^Content/cnc/scores.mix: CnC\\SCORES.MIX - ^Content/cnc/sounds.mix: CnC\\SOUNDS.MIX - ^Content/cnc/temperat.mix: CnC\\TEMPERAT.MIX - ^Content/cnc/winter.mix: CnC\\WINTER.MIX - ^Content/cnc/speech.mix: CnC\\SPEECH.MIX - ^Content/cnc/tempicnh.mix: CnC\\TEMPICNH.MIX - ^Content/cnc/transit.mix: CnC\\TRANSIT.MIX - ^Content/cnc/scores-covertops.mix: CnC\covert\SCORES.MIX - ^Content/cnc/movies.mix: CnC\\MOVIES.MIX - extract-raw: ^Content/cnc/movies.mix - ^Content/cnc/movies/airstrk.vqa: - Offset: 1266 - Length: 4444442 - ^Content/cnc/movies/akira.vqa: - Offset: 4445708 - Length: 7803444 - ^Content/cnc/movies/bkground.vqa: - Offset: 12249152 - Length: 15267052 - ^Content/cnc/movies/burdet1.vqa: - Offset: 27516204 - Length: 10410614 - ^Content/cnc/movies/burdet2.vqa: - Offset: 37926818 - Length: 2062190 - ^Content/cnc/movies/gdi4a.vqa: - Offset: 39989008 - Length: 4450582 - ^Content/cnc/movies/gdi4b.vqa: - Offset: 44439590 - Length: 6603530 - ^Content/cnc/movies/gdifina.vqa: - Offset: 51043120 - Length: 12888650 - ^Content/cnc/movies/gdifinb.vqa: - Offset: 63931770 - Length: 17769978 - ^Content/cnc/movies/nod7a.vqa: - Offset: 81701748 - Length: 4740470 - ^Content/cnc/movies/nod7b.vqa: - Offset: 86442218 - Length: 4671402 - ^Content/cnc/movies/visor.vqa: - Offset: 91113620 - Length: 4407162 - ^Content/cnc/movies/turtkill.vqa: - Offset: 95520782 - Length: 3323444 - ^Content/cnc/movies/trtkil_d.vqa: - Offset: 98844226 - Length: 3511836 - ^Content/cnc/movies/trailer.vqa: - Offset: 102356062 - Length: 23163930 - ^Content/cnc/movies/tiberfx.vqa: - Offset: 125519992 - Length: 8735102 - ^Content/cnc/movies/tbrinfo3.vqa: - Offset: 134255094 - Length: 14972046 - ^Content/cnc/movies/tbrinfo2.vqa: - Offset: 149227140 - Length: 16195290 - ^Content/cnc/movies/tbrinfo1.vqa: - Offset: 165422430 - Length: 23479052 - ^Content/cnc/movies/tankkill.vqa: - Offset: 188901482 - Length: 3298978 - ^Content/cnc/movies/tankgo.vqa: - Offset: 192200460 - Length: 1403876 - ^Content/cnc/movies/sundial.vqa: - Offset: 193604336 - Length: 3653636 - ^Content/cnc/movies/stealth.vqa: - Offset: 197257972 - Length: 4521860 - ^Content/cnc/movies/spycrash.vqa: - Offset: 201779832 - Length: 1886288 - ^Content/cnc/movies/sethpre.vqa: - Offset: 203666120 - Length: 10914610 - ^Content/cnc/movies/seige.vqa: - Offset: 214580730 - Length: 2705978 - ^Content/cnc/movies/samsite.vqa: - Offset: 217286708 - Length: 1410418 - ^Content/cnc/movies/samdie.vqa: - Offset: 218697126 - Length: 3741942 - ^Content/cnc/movies/sabotage.vqa: - Offset: 222439068 - Length: 1386202 - ^Content/cnc/movies/retro.vqa: - Offset: 223825270 - Length: 6434382 - ^Content/cnc/movies/refint.vqa: - Offset: 230259652 - Length: 5090040 - ^Content/cnc/movies/podium.vqa: - Offset: 235349692 - Length: 2790664 - ^Content/cnc/movies/planecra.vqa: - Offset: 238140356 - Length: 5085426 - ^Content/cnc/movies/pintle.vqa: - Offset: 243225782 - Length: 2757536 - ^Content/cnc/movies/paratrop.vqa: - Offset: 245983318 - Length: 3180272 - ^Content/cnc/movies/obel.vqa: - Offset: 249163590 - Length: 3851370 - ^Content/cnc/movies/nuke.vqa: - Offset: 253014960 - Length: 3126662 - ^Content/cnc/movies/nodsweep.vqa: - Offset: 256141622 - Length: 3642174 - ^Content/cnc/movies/nodlose.vqa: - Offset: 259783796 - Length: 5148924 - ^Content/cnc/movies/nodflees.vqa: - Offset: 264932720 - Length: 3056426 - ^Content/cnc/movies/nodfinal.vqa: - Offset: 267989146 - Length: 23326586 - ^Content/cnc/movies/nodend4.vqa: - Offset: 291315732 - Length: 25535232 - ^Content/cnc/movies/nodend3.vqa: - Offset: 316850964 - Length: 25725824 - ^Content/cnc/movies/nodend2.vqa: - Offset: 342576788 - Length: 27214048 - ^Content/cnc/movies/nodend1.vqa: - Offset: 369790836 - Length: 27172272 - ^Content/cnc/movies/nod9.vqa: - Offset: 396963108 - Length: 9357980 - ^Content/cnc/movies/nod8.vqa: - Offset: 406321088 - Length: 11597940 - ^Content/cnc/movies/nod6.vqa: - Offset: 417919028 - Length: 5007744 - ^Content/cnc/movies/nod5.vqa: - Offset: 422926772 - Length: 6641700 - ^Content/cnc/movies/nod4b.vqa: - Offset: 429568472 - Length: 3867618 - ^Content/cnc/movies/nod4a.vqa: - Offset: 433436090 - Length: 3838924 - ^Content/cnc/movies/nod3.vqa: - Offset: 437275014 - Length: 3603314 - ^Content/cnc/movies/nod2.vqa: - Offset: 440878328 - Length: 7200720 - ^Content/cnc/movies/nod1pre.vqa: - Offset: 448079048 - Length: 395720 - ^Content/cnc/movies/nod13.vqa: - Offset: 448474768 - Length: 2746626 - ^Content/cnc/movies/nod12.vqa: - Offset: 451221394 - Length: 6576562 - ^Content/cnc/movies/nod11.vqa: - Offset: 457797956 - Length: 4629270 - ^Content/cnc/movies/nod10b.vqa: - Offset: 462427226 - Length: 6386444 - ^Content/cnc/movies/nod10a.vqa: - Offset: 468813670 - Length: 7205632 - ^Content/cnc/movies/nod1.vqa: - Offset: 476019302 - Length: 4663258 - ^Content/cnc/movies/nitejump.vqa: - Offset: 480682560 - Length: 3702838 - ^Content/cnc/movies/napalm.vqa: - Offset: 484385398 - Length: 4004146 - ^Content/cnc/movies/logo.vqa: - Offset: 488389544 - Length: 3562630 - ^Content/cnc/movies/landing.vqa: - Offset: 491952174 - Length: 1617094 - ^Content/cnc/movies/kanepre.vqa: - Offset: 493569268 - Length: 17220712 - ^Content/cnc/movies/intro2.vqa: - Offset: 510789980 - Length: 21058732 - ^Content/cnc/movies/insites.vqa: - Offset: 531848712 - Length: 460482 - ^Content/cnc/movies/hellvaly.vqa: - Offset: 532309194 - Length: 6658950 - ^Content/cnc/movies/gunboat.vqa: - Offset: 538968144 - Length: 3203706 - ^Content/cnc/movies/generic.vqa: - Offset: 542171850 - Length: 1452820 - ^Content/cnc/movies/gdilose.vqa: - Offset: 543624670 - Length: 2097912 - ^Content/cnc/movies/gdiend2.vqa: - Offset: 545722582 - Length: 25242946 - ^Content/cnc/movies/gdiend1.vqa: - Offset: 570965528 - Length: 25311636 - ^Content/cnc/movies/gdi9.vqa: - Offset: 596277164 - Length: 11806994 - ^Content/cnc/movies/gdi8b.vqa: - Offset: 608084158 - Length: 5324410 - ^Content/cnc/movies/gdi8a.vqa: - Offset: 613408568 - Length: 4672548 - ^Content/cnc/movies/gdi7.vqa: - Offset: 618081116 - Length: 4241952 - ^Content/cnc/movies/gdi6.vqa: - Offset: 622323068 - Length: 3959650 - ^Content/cnc/movies/gdi5.vqa: - Offset: 626282718 - Length: 3818244 - ^Content/cnc/movies/gdi3lose.vqa: - Offset: 630100962 - Length: 2265770 - ^Content/cnc/movies/gdi3.vqa: - Offset: 632366732 - Length: 5443848 - ^Content/cnc/movies/gdi2.vqa: - Offset: 637810580 - Length: 7883500 - ^Content/cnc/movies/gdi15.vqa: - Offset: 645694080 - Length: 11684610 - ^Content/cnc/movies/gdi14.vqa: - Offset: 657378690 - Length: 5282770 - ^Content/cnc/movies/gdi13.vqa: - Offset: 662661460 - Length: 6900914 - ^Content/cnc/movies/gdi12.vqa: - Offset: 669562374 - Length: 3669404 - ^Content/cnc/movies/gdi11.vqa: - Offset: 673231778 - Length: 5895754 - ^Content/cnc/movies/gdi10.vqa: - Offset: 679127532 - Length: 5761514 - ^Content/cnc/movies/gdi1.vqa: - Offset: 684889046 - Length: 6341298 - ^Content/cnc/movies/gameover.vqa: - Offset: 691230344 - Length: 2087322 - ^Content/cnc/movies/forestkl.vqa: - Offset: 693317666 - Length: 1500986 - ^Content/cnc/movies/flyy.vqa: - Offset: 694818652 - Length: 1373532 - ^Content/cnc/movies/flag.vqa: - Offset: 696192184 - Length: 4308680 - ^Content/cnc/movies/dino.vqa: - Offset: 700500864 - Length: 1347896 - ^Content/cnc/movies/dessweep.vqa: - Offset: 701848760 - Length: 3563646 - ^Content/cnc/movies/desolat.vqa: - Offset: 705412406 - Length: 8385122 - ^Content/cnc/movies/deskill.vqa: - Offset: 713797528 - Length: 1483634 - ^Content/cnc/movies/desflees.vqa: - Offset: 715281162 - Length: 2698426 - ^Content/cnc/movies/consyard.vqa: - Offset: 717979588 - Length: 7864652 - ^Content/cnc/movies/cc2tease.vqa: - Offset: 725844240 - Length: 12506712 - ^Content/cnc/movies/bombflee.vqa: - Offset: 738350952 - Length: 2859726 - ^Content/cnc/movies/bombaway.vqa: - Offset: 741210678 - Length: 5579588 - ^Content/cnc/movies/bcanyon.vqa: - Offset: 746790266 - Length: 5172288 - ^Content/cnc/movies/banner.vqa: - Offset: 751962554 - Length: 2229408 - delete: ^Content/cnc/movies.mix - origin: C&C The Ultimate Collection (Origin version, English) - Type: Install - RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\CNC and The Covert Operations - RegistryValue: Install Dir - IDFiles: - CNC95Launcher.exe: 1d711adf09ac08738b2599b3092a1b448169b32a - CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/cnc/conquer.mix: CONQUER.MIX - ^Content/cnc/desert.mix: DESERT.MIX - ^Content/cnc/general.mix: GENERAL.MIX - ^Content/cnc/scores.mix: SCORES.MIX - ^Content/cnc/sounds.mix: SOUNDS.MIX - ^Content/cnc/temperat.mix: TEMPERAT.MIX - ^Content/cnc/winter.mix: WINTER.MIX - ^Content/cnc/speech.mix: SPEECH.MIX - ^Content/cnc/tempicnh.mix: TEMPICNH.MIX - ^Content/cnc/transit.mix: TRANSIT.MIX - ^Content/cnc/scores-covertops.mix: covert/SCORES.MIX - extract-raw: movies.mix - ^Content/cnc/movies/akira.vqa: - Offset: 4445708 - Length: 7803444 - ^Content/cnc/movies/bkground.vqa: - Offset: 12249152 - Length: 15267052 - ^Content/cnc/movies/burdet1.vqa: - Offset: 27516204 - Length: 10410614 - ^Content/cnc/movies/burdet2.vqa: - Offset: 37926818 - Length: 2062190 - ^Content/cnc/movies/gdi4a.vqa: - Offset: 39989008 - Length: 4450582 - ^Content/cnc/movies/gdi4b.vqa: - Offset: 44439590 - Length: 6603530 - ^Content/cnc/movies/gdifina.vqa: - Offset: 51043120 - Length: 12888650 - ^Content/cnc/movies/gdifinb.vqa: - Offset: 63931770 - Length: 17769978 - ^Content/cnc/movies/nod7a.vqa: - Offset: 81701748 - Length: 4740470 - ^Content/cnc/movies/nod7b.vqa: - Offset: 86442218 - Length: 4671402 - ^Content/cnc/movies/visor.vqa: - Offset: 91113620 - Length: 4407162 - ^Content/cnc/movies/turtkill.vqa: - Offset: 95520782 - Length: 3323444 - ^Content/cnc/movies/trtkil_d.vqa: - Offset: 98844226 - Length: 3511836 - ^Content/cnc/movies/trailer.vqa: - Offset: 102356062 - Length: 23163930 - ^Content/cnc/movies/tiberfx.vqa: - Offset: 125519992 - Length: 8735102 - ^Content/cnc/movies/tbrinfo3.vqa: - Offset: 134255094 - Length: 14972046 - ^Content/cnc/movies/tbrinfo2.vqa: - Offset: 149227140 - Length: 16195290 - ^Content/cnc/movies/tbrinfo1.vqa: - Offset: 165422430 - Length: 23479052 - ^Content/cnc/movies/tankkill.vqa: - Offset: 188901482 - Length: 3298978 - ^Content/cnc/movies/tankgo.vqa: - Offset: 192200460 - Length: 1403876 - ^Content/cnc/movies/sundial.vqa: - Offset: 193604336 - Length: 3653636 - ^Content/cnc/movies/stealth.vqa: - Offset: 197257972 - Length: 4521860 - ^Content/cnc/movies/spycrash.vqa: - Offset: 201779832 - Length: 1886288 - ^Content/cnc/movies/sethpre.vqa: - Offset: 203666120 - Length: 10914610 - ^Content/cnc/movies/seige.vqa: - Offset: 214580730 - Length: 2705978 - ^Content/cnc/movies/samsite.vqa: - Offset: 217286708 - Length: 1410418 - ^Content/cnc/movies/samdie.vqa: - Offset: 218697126 - Length: 3741942 - ^Content/cnc/movies/sabotage.vqa: - Offset: 222439068 - Length: 1386202 - ^Content/cnc/movies/retro.vqa: - Offset: 223825270 - Length: 6434382 - ^Content/cnc/movies/refint.vqa: - Offset: 230259652 - Length: 5090040 - ^Content/cnc/movies/podium.vqa: - Offset: 235349692 - Length: 2790664 - ^Content/cnc/movies/planecra.vqa: - Offset: 238140356 - Length: 5085426 - ^Content/cnc/movies/pintle.vqa: - Offset: 243225782 - Length: 2757536 - ^Content/cnc/movies/paratrop.vqa: - Offset: 245983318 - Length: 3180272 - ^Content/cnc/movies/obel.vqa: - Offset: 249163590 - Length: 3851370 - ^Content/cnc/movies/nuke.vqa: - Offset: 253014960 - Length: 3126662 - ^Content/cnc/movies/nodsweep.vqa: - Offset: 256141622 - Length: 3642174 - ^Content/cnc/movies/nodlose.vqa: - Offset: 259783796 - Length: 5148924 - ^Content/cnc/movies/nodflees.vqa: - Offset: 264932720 - Length: 3056426 - ^Content/cnc/movies/nodfinal.vqa: - Offset: 267989146 - Length: 23326586 - ^Content/cnc/movies/nod9.vqa: - Offset: 396963108 - Length: 9357980 - ^Content/cnc/movies/nod8.vqa: - Offset: 406321088 - Length: 11597940 - ^Content/cnc/movies/nod6.vqa: - Offset: 417919028 - Length: 5007744 - ^Content/cnc/movies/nod5.vqa: - Offset: 422926772 - Length: 6641700 - ^Content/cnc/movies/nod4b.vqa: - Offset: 429568472 - Length: 3867618 - ^Content/cnc/movies/nod4a.vqa: - Offset: 433436090 - Length: 3838924 - ^Content/cnc/movies/nod3.vqa: - Offset: 437275014 - Length: 3603314 - ^Content/cnc/movies/nod2.vqa: - Offset: 440878328 - Length: 7200720 - ^Content/cnc/movies/nod1pre.vqa: - Offset: 448079048 - Length: 395720 - ^Content/cnc/movies/nod13.vqa: - Offset: 448474768 - Length: 2746626 - ^Content/cnc/movies/nod12.vqa: - Offset: 451221394 - Length: 6576562 - ^Content/cnc/movies/nod11.vqa: - Offset: 457797956 - Length: 4629270 - ^Content/cnc/movies/nod10b.vqa: - Offset: 462427226 - Length: 6386444 - ^Content/cnc/movies/nod10a.vqa: - Offset: 468813670 - Length: 7205632 - ^Content/cnc/movies/nod1.vqa: - Offset: 476019302 - Length: 4663258 - ^Content/cnc/movies/nitejump.vqa: - Offset: 480682560 - Length: 3702838 - ^Content/cnc/movies/napalm.vqa: - Offset: 484385398 - Length: 4004146 - ^Content/cnc/movies/logo.vqa: - Offset: 488389544 - Length: 3562630 - ^Content/cnc/movies/landing.vqa: - Offset: 491952174 - Length: 1617094 - ^Content/cnc/movies/kanepre.vqa: - Offset: 493569268 - Length: 17220712 - ^Content/cnc/movies/intro2.vqa: - Offset: 510789980 - Length: 21058732 - ^Content/cnc/movies/insites.vqa: - Offset: 531848712 - Length: 460482 - ^Content/cnc/movies/hellvaly.vqa: - Offset: 532309194 - Length: 6658950 - ^Content/cnc/movies/gunboat.vqa: - Offset: 538968144 - Length: 3203706 - ^Content/cnc/movies/generic.vqa: - Offset: 542171850 - Length: 1452820 - ^Content/cnc/movies/gdilose.vqa: - Offset: 543624670 - Length: 2097912 - ^Content/cnc/movies/gdiend2.vqa: - Offset: 545722582 - Length: 25242946 - ^Content/cnc/movies/gdiend1.vqa: - Offset: 570965528 - Length: 25311636 - ^Content/cnc/movies/gdi9.vqa: - Offset: 596277164 - Length: 11806994 - ^Content/cnc/movies/gdi8b.vqa: - Offset: 608084158 - Length: 5324410 - ^Content/cnc/movies/gdi8a.vqa: - Offset: 613408568 - Length: 4672548 - ^Content/cnc/movies/gdi7.vqa: - Offset: 618081116 - Length: 4241952 - ^Content/cnc/movies/gdi6.vqa: - Offset: 622323068 - Length: 3959650 - ^Content/cnc/movies/gdi5.vqa: - Offset: 626282718 - Length: 3818244 - ^Content/cnc/movies/gdi3lose.vqa: - Offset: 630100962 - Length: 2265770 - ^Content/cnc/movies/gdi3.vqa: - Offset: 632366732 - Length: 5443848 - ^Content/cnc/movies/gdi2.vqa: - Offset: 637810580 - Length: 7883500 - ^Content/cnc/movies/gdi15.vqa: - Offset: 645694080 - Length: 11684610 - ^Content/cnc/movies/gdi14.vqa: - Offset: 657378690 - Length: 5282770 - ^Content/cnc/movies/gdi13.vqa: - Offset: 662661460 - Length: 6900914 - ^Content/cnc/movies/gdi12.vqa: - Offset: 669562374 - Length: 3669404 - ^Content/cnc/movies/gdi11.vqa: - Offset: 673231778 - Length: 5895754 - ^Content/cnc/movies/gdi10.vqa: - Offset: 679127532 - Length: 5761514 - ^Content/cnc/movies/gdi1.vqa: - Offset: 684889046 - Length: 6341298 - ^Content/cnc/movies/gameover.vqa: - Offset: 691230344 - Length: 2087322 - ^Content/cnc/movies/forestkl.vqa: - Offset: 693317666 - Length: 1500986 - ^Content/cnc/movies/flyy.vqa: - Offset: 694818652 - Length: 1373532 - ^Content/cnc/movies/flag.vqa: - Offset: 696192184 - Length: 4308680 - ^Content/cnc/movies/dino.vqa: - Offset: 700500864 - Length: 1347896 - ^Content/cnc/movies/dessweep.vqa: - Offset: 701848760 - Length: 3563646 - ^Content/cnc/movies/desolat.vqa: - Offset: 705412406 - Length: 8385122 - ^Content/cnc/movies/deskill.vqa: - Offset: 713797528 - Length: 1483634 - ^Content/cnc/movies/desflees.vqa: - Offset: 715281162 - Length: 2698426 - ^Content/cnc/movies/consyard.vqa: - Offset: 717979588 - Length: 7864652 - ^Content/cnc/movies/cc2tease.vqa: - Offset: 725844240 - Length: 12506712 - ^Content/cnc/movies/bombflee.vqa: - Offset: 738350952 - Length: 2859726 - ^Content/cnc/movies/bombaway.vqa: - Offset: 741210678 - Length: 5579588 - ^Content/cnc/movies/bcanyon.vqa: - Offset: 746790266 - Length: 5172288 - ^Content/cnc/movies/banner.vqa: - Offset: 751962554 - Length: 2229408 - ^Content/cnc/movies/airstrk.vqa: - Offset: 754191962 - Length: 4444442 - ^Content/cnc/movies/nodend1.vqa: - Offset: 758637638 - Length: 24708735 - ^Content/cnc/movies/nodend2.vqa: - Offset: 783346373 - Length: 24700467 - ^Content/cnc/movies/nodend3.vqa: - Offset: 808046840 - Length: 23323681 - ^Content/cnc/movies/nodend4.vqa: - Offset: 831370521 - Length: 23346753 \ No newline at end of file + cnc|installer/covertops.yaml + cnc|installer/firstdecade.yaml + cnc|installer/gdi95.yaml + cnc|installer/nod95.yaml + cnc|installer/origin.yaml diff --git a/mods/d2k/installer/d2k.yaml b/mods/d2k/installer/d2k.yaml new file mode 100644 index 0000000000..e4e683ec46 --- /dev/null +++ b/mods/d2k/installer/d2k.yaml @@ -0,0 +1,1712 @@ +d2k: Dune 2000 (English) + IDFiles: + MUSIC/AMBUSH.AUD: bd5926a56a83bc0e49f96037e1f909014ac0772a + SETUP/SETUP.Z: 937f5ceb1236bf3f3d4e43929305ffe5004078e7 + Install: + copy: MOVIES + ^Content/d2k/v2/Movies/A_BR01_E.VQA: A_BR01_E.VQA + ^Content/d2k/v2/Movies/A_BR02_E.VQA: A_BR02_E.VQA + ^Content/d2k/v2/Movies/A_BR03_E.VQA: A_BR03_E.VQA + ^Content/d2k/v2/Movies/A_BR04_E.VQA: A_BR04_E.VQA + ^Content/d2k/v2/Movies/A_BR05_E.VQA: A_BR05_E.VQA + ^Content/d2k/v2/Movies/A_BR06_E.VQA: A_BR06_E.VQA + ^Content/d2k/v2/Movies/A_BR07_E.VQA: A_BR07_E.VQA + ^Content/d2k/v2/Movies/A_BR08_E.VQA: A_BR08_E.VQA + ^Content/d2k/v2/Movies/A_BR09_E.VQA: A_BR09_E.VQA + ^Content/d2k/v2/Movies/A_FINL_E.VQA: A_FINL_E.VQA + ^Content/d2k/v2/Movies/A_LOSE_E.VQA: A_LOSE_E.VQA + ^Content/d2k/v2/Movies/A_MNTG_E.VQA: A_MNTG_E.VQA + ^Content/d2k/v2/Movies/H_BR01_E.VQA: H_BR01_E.VQA + ^Content/d2k/v2/Movies/H_BR02_E.VQA: H_BR02_E.VQA + ^Content/d2k/v2/Movies/H_BR03_E.VQA: H_BR03_E.VQA + ^Content/d2k/v2/Movies/H_BR04_E.VQA: H_BR04_E.VQA + ^Content/d2k/v2/Movies/H_BR05_E.VQA: H_BR05_E.VQA + ^Content/d2k/v2/Movies/H_BR06_E.VQA: H_BR06_E.VQA + ^Content/d2k/v2/Movies/H_BR07_E.VQA: H_BR07_E.VQA + ^Content/d2k/v2/Movies/H_BR08_E.VQA: H_BR08_E.VQA + ^Content/d2k/v2/Movies/H_BR09_E.VQA: H_BR09_E.VQA + ^Content/d2k/v2/Movies/H_FINL_E.VQA: H_FINL_E.VQA + ^Content/d2k/v2/Movies/H_LOSE_E.VQA: H_LOSE_E.VQA + ^Content/d2k/v2/Movies/H_MNTG_E.VQA: H_MNTG_E.VQA + ^Content/d2k/v2/Movies/O_BR01_E.VQA: O_BR01_E.VQA + ^Content/d2k/v2/Movies/O_BR02_E.VQA: O_BR02_E.VQA + ^Content/d2k/v2/Movies/O_BR03_E.VQA: O_BR03_E.VQA + ^Content/d2k/v2/Movies/O_BR04_E.VQA: O_BR04_E.VQA + ^Content/d2k/v2/Movies/O_BR05_E.VQA: O_BR05_E.VQA + ^Content/d2k/v2/Movies/O_BR06_E.VQA: O_BR06_E.VQA + ^Content/d2k/v2/Movies/O_BR07_E.VQA: O_BR07_E.VQA + ^Content/d2k/v2/Movies/O_BR08_E.VQA: O_BR08_E.VQA + ^Content/d2k/v2/Movies/O_BR09_E.VQA: O_BR09_E.VQA + ^Content/d2k/v2/Movies/O_FINL_E.VQA: O_FINL_E.VQA + ^Content/d2k/v2/Movies/O_LOSE_E.VQA: O_LOSE_E.VQA + ^Content/d2k/v2/Movies/O_MNTG_E.VQA: O_MNTG_E.VQA + ^Content/d2k/v2/Movies/G_INT1_E.VQA: G_INT1_E.VQA + ^Content/d2k/v2/Movies/G_INT2_E.VQA: G_INT2_E.VQA + ^Content/d2k/v2/Movies/G_MAPS_E.VQA: G_MAPS_E.VQA + ^Content/d2k/v2/Movies/G_PLN2_E.VQA: G_PLN2_E.VQA + ^Content/d2k/v2/Movies/G_PLNT_E.VQA: G_PLNT_E.VQA + ^Content/d2k/v2/Movies/T_TITL_E.VQA: T_TITL_E.VQA + copy: MUSIC + ^Content/d2k/v2/Music/AMBUSH.AUD: AMBUSH.AUD + ^Content/d2k/v2/Music/ARAKATAK.AUD: ARAKATAK.AUD + ^Content/d2k/v2/Music/ATREGAIN.AUD: ATREGAIN.AUD + ^Content/d2k/v2/Music/ENTORDOS.AUD: ENTORDOS.AUD + ^Content/d2k/v2/Music/FIGHTPWR.AUD: FIGHTPWR.AUD + ^Content/d2k/v2/Music/FREMEN.AUD: FREMEN.AUD + ^Content/d2k/v2/Music/HARK_BAT.AUD: HARK_BAT.AUD + ^Content/d2k/v2/Music/LANDSAND.AUD: LANDSAND.AUD + ^Content/d2k/v2/Music/OPTIONS.AUD: OPTIONS.AUD + ^Content/d2k/v2/Music/PLOTTING.AUD: PLOTTING.AUD + ^Content/d2k/v2/Music/RISEHARK.AUD: RISEHARK.AUD + ^Content/d2k/v2/Music/ROBOTIX.AUD: ROBOTIX.AUD + ^Content/d2k/v2/Music/SCORE.AUD: SCORE.AUD + ^Content/d2k/v2/Music/SOLDAPPR.AUD: SOLDAPPR.AUD + ^Content/d2k/v2/Music/SPICESCT.AUD: SPICESCT.AUD + ^Content/d2k/v2/Music/UNDERCON.AUD: UNDERCON.AUD + ^Content/d2k/v2/Music/WAITGAME.A: WAITGAME.AUD + extract-blast: SETUP/SETUP.Z + ^Content/d2k/v2/BLOXBAT.R8: + Offset: 1156652 + Length: 512750 + ^Content/d2k/v2/BLOXBASE.R8: + Offset: 1669402 + Length: 497092 + ^Content/d2k/v2/BLOXBGBS.R8: + Offset: 4055223 + Length: 499135 + ^Content/d2k/v2/BLOXICE.R8: + Offset: 5524509 + Length: 514963 + ^Content/d2k/v2/BLOXTREE.R8: + Offset: 6994370 + Length: 509867 + ^Content/d2k/v2/BLOXWAST.R8: + Offset: 8455018 + Length: 508567 + ^Content/d2k/v2/MOUSE.R8: + Offset: 14012491 + Length: 16996 + ^Content/d2k/v2/PALETTE.BIN: + Offset: 22938401 + Length: 815 + ^Content/d2k/v2/FONT.BIN: + Offset: 22927461 + Length: 199 + ^Content/d2k/v2/FONTCOL.FNT: + Offset: 13985176 + Length: 3011 + ^Content/d2k/v2/FONTCOL.FPL: + Offset: 13988187 + Length: 238 + ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: + Offset: 15560305 + Length: 9647 + ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: + Offset: 15569952 + Length: 8676 + ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: + Offset: 15578628 + Length: 9641 + ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: + Offset: 15588269 + Length: 7371 + ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: + Offset: 15595640 + Length: 11326 + ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: + Offset: 15606966 + Length: 11329 + ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: + Offset: 15618295 + Length: 8964 + ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: + Offset: 15627259 + Length: 11336 + ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: + Offset: 15638595 + Length: 14606 + ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: + Offset: 15653201 + Length: 27230 + ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: + Offset: 15680431 + Length: 19621 + ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: + Offset: 15700052 + Length: 28781 + ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: + Offset: 15728833 + Length: 29703 + ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: + Offset: 15758536 + Length: 29555 + ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: + Offset: 15788091 + Length: 27961 + ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: + Offset: 15816052 + Length: 20925 + ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: + Offset: 15836977 + Length: 10925 + ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: + Offset: 15847902 + Length: 8125 + ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: + Offset: 15856027 + Length: 26212 + ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: + Offset: 15882239 + Length: 27166 + ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: + Offset: 15909405 + Length: 31126 + ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: + Offset: 15940531 + Length: 33481 + ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: + Offset: 15974012 + Length: 17265 + ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: + Offset: 15991277 + Length: 14523 + ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: + Offset: 16005800 + Length: 18266 + ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: + Offset: 16024066 + Length: 8467 + ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: + Offset: 16032533 + Length: 9748 + ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: + Offset: 16042281 + Length: 14264 + ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: + Offset: 16056545 + Length: 12087 + ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: + Offset: 16068632 + Length: 14428 + ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: + Offset: 16083060 + Length: 16985 + ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: + Offset: 16100045 + Length: 12638 + ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: + Offset: 16112683 + Length: 13229 + ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: + Offset: 16125912 + Length: 26572 + ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: + Offset: 16152484 + Length: 12085 + ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: + Offset: 16164569 + Length: 18232 + ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: + Offset: 16182801 + Length: 8328 + ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: + Offset: 16191129 + Length: 12497 + ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: + Offset: 16203626 + Length: 9546 + ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: + Offset: 16213172 + Length: 17135 + ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: + Offset: 16230307 + Length: 26937 + ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: + Offset: 16257244 + Length: 17940 + ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: + Offset: 16275184 + Length: 14985 + ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: + Offset: 16290169 + Length: 9089 + ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: + Offset: 16299258 + Length: 28401 + ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: + Offset: 16327659 + Length: 23949 + ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: + Offset: 16351608 + Length: 29489 + ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: + Offset: 16381097 + Length: 11016 + ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: + Offset: 16392113 + Length: 27566 + ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: + Offset: 16419679 + Length: 26539 + ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: + Offset: 16446218 + Length: 30821 + ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: + Offset: 16477039 + Length: 7978 + ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: + Offset: 16485017 + Length: 11880 + ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: + Offset: 16496897 + Length: 8995 + ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: + Offset: 16505892 + Length: 10120 + ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: + Offset: 16516012 + Length: 8999 + ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: + Offset: 16525011 + Length: 6593 + ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: + Offset: 16531604 + Length: 34790 + ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: + Offset: 16566394 + Length: 35606 + ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: + Offset: 16602000 + Length: 10303 + ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: + Offset: 16612303 + Length: 22969 + ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: + Offset: 16635272 + Length: 31816 + ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: + Offset: 16667088 + Length: 19585 + ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: + Offset: 16686673 + Length: 14563 + ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: + Offset: 16701236 + Length: 13353 + ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: + Offset: 16714589 + Length: 9671 + ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: + Offset: 16724260 + Length: 15031 + ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: + Offset: 16739291 + Length: 28368 + ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: + Offset: 16767659 + Length: 9649 + ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: + Offset: 16777308 + Length: 17157 + ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: + Offset: 16794465 + Length: 13407 + ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: + Offset: 16807872 + Length: 29910 + ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: + Offset: 16837782 + Length: 22890 + ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: + Offset: 16860672 + Length: 22923 + ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: + Offset: 16883595 + Length: 34017 + ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: + Offset: 16917612 + Length: 56714 + ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: + Offset: 16974326 + Length: 27200 + ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: + Offset: 17001526 + Length: 19828 + ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: + Offset: 17021354 + Length: 13869 + ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: + Offset: 17035223 + Length: 14197 + ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: + Offset: 17049420 + Length: 29136 + ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: + Offset: 17078556 + Length: 26204 + ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: + Offset: 17104760 + Length: 24264 + ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: + Offset: 17129024 + Length: 43921 + ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: + Offset: 17172945 + Length: 22151 + ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: + Offset: 17195096 + Length: 12300 + ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: + Offset: 17207396 + Length: 21971 + ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: + Offset: 17229367 + Length: 22041 + ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: + Offset: 17251408 + Length: 21545 + ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: + Offset: 17272953 + Length: 14344 + ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: + Offset: 17287297 + Length: 28156 + ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: + Offset: 17315453 + Length: 16983 + ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: + Offset: 17332436 + Length: 19583 + ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: + Offset: 17352019 + Length: 12875 + ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: + Offset: 17364894 + Length: 20974 + ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: + Offset: 17385868 + Length: 14699 + ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: + Offset: 17400567 + Length: 20919 + ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: + Offset: 17421486 + Length: 18984 + ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: + Offset: 17440470 + Length: 11779 + ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: + Offset: 17452249 + Length: 13980 + ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: + Offset: 17466229 + Length: 33483 + ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: + Offset: 17499712 + Length: 26566 + ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: + Offset: 17526278 + Length: 25237 + ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: + Offset: 17551515 + Length: 16072 + ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: + Offset: 17567587 + Length: 12037 + ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: + Offset: 17579624 + Length: 30243 + ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: + Offset: 17609867 + Length: 31710 + ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: + Offset: 17641577 + Length: 27450 + ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: + Offset: 17669027 + Length: 30854 + ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: + Offset: 17699881 + Length: 10860 + ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: + Offset: 17710741 + Length: 19337 + ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: + Offset: 17730078 + Length: 15004 + ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: + Offset: 17745082 + Length: 23023 + ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: + Offset: 17768105 + Length: 22321 + ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: + Offset: 17790426 + Length: 21698 + ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: + Offset: 17812124 + Length: 10282 + ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: + Offset: 17822406 + Length: 28615 + ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: + Offset: 17851021 + Length: 12771 + ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: + Offset: 17863792 + Length: 9917 + ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: + Offset: 17873709 + Length: 18502 + ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: + Offset: 17892211 + Length: 12832 + ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: + Offset: 17905043 + Length: 22413 + ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: + Offset: 17927456 + Length: 29577 + ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: + Offset: 17957033 + Length: 24798 + ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: + Offset: 17981831 + Length: 14784 + ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: + Offset: 17996615 + Length: 18526 + ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: + Offset: 18015141 + Length: 12390 + ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: + Offset: 18027531 + Length: 11851 + ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: + Offset: 18039382 + Length: 9867 + ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: + Offset: 18049249 + Length: 16907 + ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: + Offset: 18066156 + Length: 17659 + ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: + Offset: 18083815 + Length: 20337 + ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: + Offset: 18104152 + Length: 18877 + ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: + Offset: 18123029 + Length: 30788 + ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: + Offset: 18153817 + Length: 18322 + ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: + Offset: 18172139 + Length: 22178 + ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: + Offset: 18194317 + Length: 24878 + ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: + Offset: 18219195 + Length: 15741 + ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: + Offset: 18234936 + Length: 14892 + ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: + Offset: 18249828 + Length: 23026 + ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: + Offset: 18272854 + Length: 43938 + ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: + Offset: 18316792 + Length: 10992 + ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: + Offset: 18327784 + Length: 19514 + ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: + Offset: 18347298 + Length: 23895 + ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: + Offset: 18371193 + Length: 18626 + ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: + Offset: 18389819 + Length: 22564 + ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: + Offset: 18412383 + Length: 18445 + ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: + Offset: 18430828 + Length: 19492 + ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: + Offset: 18450320 + Length: 14194 + ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: + Offset: 18464514 + Length: 8310 + ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: + Offset: 18472824 + Length: 8332 + ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: + Offset: 18481156 + Length: 15789 + ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: + Offset: 18496945 + Length: 9791 + ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: + Offset: 18506736 + Length: 15099 + ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: + Offset: 18521835 + Length: 14863 + ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: + Offset: 18536698 + Length: 9753 + ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: + Offset: 18546451 + Length: 9329 + ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: + Offset: 18555780 + Length: 9449 + ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: + Offset: 18565229 + Length: 15600 + ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: + Offset: 18580829 + Length: 16157 + ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: + Offset: 18596986 + Length: 13149 + ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: + Offset: 18610135 + Length: 13928 + ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: + Offset: 18624063 + Length: 16430 + ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: + Offset: 18640493 + Length: 41640 + ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: + Offset: 18682133 + Length: 41809 + ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: + Offset: 18723942 + Length: 29117 + ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: + Offset: 18753059 + Length: 36982 + ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: + Offset: 18790041 + Length: 60681 + ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: + Offset: 18850722 + Length: 21396 + ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: + Offset: 18872118 + Length: 37995 + ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: + Offset: 18910113 + Length: 32674 + ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: + Offset: 18942787 + Length: 18399 + ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: + Offset: 18961186 + Length: 26359 + ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: + Offset: 18987545 + Length: 21335 + ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: + Offset: 19008880 + Length: 28418 + ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: + Offset: 19037298 + Length: 9269 + ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: + Offset: 19046567 + Length: 19854 + ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: + Offset: 19066421 + Length: 20038 + ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: + Offset: 19086459 + Length: 16073 + ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: + Offset: 19102532 + Length: 14873 + ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: + Offset: 19117405 + Length: 41683 + ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: + Offset: 19159088 + Length: 34475 + ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: + Offset: 19193563 + Length: 34903 + ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: + Offset: 19228466 + Length: 59613 + ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: + Offset: 19288079 + Length: 22150 + ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: + Offset: 19310229 + Length: 9090 + ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: + Offset: 19319319 + Length: 21350 + ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: + Offset: 19340669 + Length: 31478 + ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: + Offset: 19372147 + Length: 19876 + ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: + Offset: 19392023 + Length: 22359 + ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: + Offset: 19414382 + Length: 28902 + ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: + Offset: 19443284 + Length: 26855 + ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: + Offset: 19470139 + Length: 19104 + ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: + Offset: 19489243 + Length: 24655 + ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: + Offset: 19513898 + Length: 23032 + ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: + Offset: 19536930 + Length: 35588 + ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: + Offset: 19572518 + Length: 8945 + ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: + Offset: 19581463 + Length: 9005 + ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: + Offset: 19590468 + Length: 9606 + ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: + Offset: 19600074 + Length: 11671 + ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: + Offset: 19611745 + Length: 10644 + ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: + Offset: 19622389 + Length: 10387 + ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: + Offset: 19632776 + Length: 17225 + ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: + Offset: 19650001 + Length: 10077 + ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: + Offset: 19660078 + Length: 13616 + ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: + Offset: 19673694 + Length: 11251 + ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: + Offset: 19684945 + Length: 8144 + ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: + Offset: 19693089 + Length: 14865 + ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: + Offset: 19707954 + Length: 11912 + ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: + Offset: 19719866 + Length: 19540 + ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: + Offset: 19739406 + Length: 10246 + ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: + Offset: 19749652 + Length: 31148 + ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: + Offset: 19780800 + Length: 8307 + ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: + Offset: 19789107 + Length: 14331 + ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: + Offset: 19803438 + Length: 11295 + ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: + Offset: 19814733 + Length: 20437 + ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: + Offset: 19835170 + Length: 27739 + ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: + Offset: 19862909 + Length: 22200 + ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: + Offset: 19885109 + Length: 9620 + ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: + Offset: 19894729 + Length: 13368 + ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: + Offset: 19908097 + Length: 15612 + ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: + Offset: 19923709 + Length: 8279 + ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: + Offset: 19931988 + Length: 11383 + ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: + Offset: 19943371 + Length: 18511 + ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: + Offset: 19961882 + Length: 14244 + ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: + Offset: 19976126 + Length: 24075 + ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: + Offset: 20000201 + Length: 26716 + ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: + Offset: 20026917 + Length: 21716 + ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: + Offset: 20048633 + Length: 32417 + ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: + Offset: 20081050 + Length: 33724 + ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: + Offset: 20114774 + Length: 21828 + ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: + Offset: 20136602 + Length: 30404 + ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: + Offset: 20167006 + Length: 9862 + ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: + Offset: 20176868 + Length: 18149 + ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: + Offset: 20195017 + Length: 14697 + ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: + Offset: 20209714 + Length: 17316 + ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: + Offset: 20227030 + Length: 14869 + ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: + Offset: 20241899 + Length: 29873 + ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: + Offset: 20271772 + Length: 16335 + ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: + Offset: 20288107 + Length: 20565 + ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: + Offset: 20308672 + Length: 25497 + ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: + Offset: 20334169 + Length: 17142 + ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: + Offset: 20351311 + Length: 20120 + ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: + Offset: 20371431 + Length: 29921 + ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: + Offset: 20401352 + Length: 14467 + ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: + Offset: 20415819 + Length: 10906 + ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: + Offset: 20426725 + Length: 25959 + ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: + Offset: 20452684 + Length: 34175 + ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: + Offset: 20486859 + Length: 30124 + ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: + Offset: 20516983 + Length: 21881 + ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: + Offset: 20538864 + Length: 20567 + ^Content/d2k/v2/SOUND.RS: + Offset: 20559431 + Length: 1929247 +d2k-linux: Dune 2000 (English) + IDFiles: + music/ambush.aud: bd5926a56a83bc0e49f96037e1f909014ac0772a + setup/setup.z: 937f5ceb1236bf3f3d4e43929305ffe5004078e7 + Install: + copy: movies + ^Content/d2k/v2/Movies/A_BR01_E.VQA: a_br01_e.vqa + ^Content/d2k/v2/Movies/A_BR02_E.VQA: a_br02_e.vqa + ^Content/d2k/v2/Movies/A_BR03_E.VQA: a_br03_e.vqa + ^Content/d2k/v2/Movies/A_BR04_E.VQA: a_br04_e.vqa + ^Content/d2k/v2/Movies/A_BR05_E.VQA: a_br05_e.vqa + ^Content/d2k/v2/Movies/A_BR06_E.VQA: a_br06_e.vqa + ^Content/d2k/v2/Movies/A_BR07_E.VQA: a_br07_e.vqa + ^Content/d2k/v2/Movies/A_BR08_E.VQA: a_br08_e.vqa + ^Content/d2k/v2/Movies/A_BR09_E.VQA: a_br09_e.vqa + ^Content/d2k/v2/Movies/A_FINL_E.VQA: a_finl_e.vqa + ^Content/d2k/v2/Movies/A_LOSE_E.VQA: a_lose_e.vqa + ^Content/d2k/v2/Movies/A_MNTG_E.VQA: a_mntg_e.vqa + ^Content/d2k/v2/Movies/H_BR01_E.VQA: h_br01_e.vqa + ^Content/d2k/v2/Movies/H_BR02_E.VQA: h_br02_e.vqa + ^Content/d2k/v2/Movies/H_BR03_E.VQA: h_br03_e.vqa + ^Content/d2k/v2/Movies/H_BR04_E.VQA: h_br04_e.vqa + ^Content/d2k/v2/Movies/H_BR05_E.VQA: h_br05_e.vqa + ^Content/d2k/v2/Movies/H_BR06_E.VQA: h_br06_e.vqa + ^Content/d2k/v2/Movies/H_BR07_E.VQA: h_br07_e.vqa + ^Content/d2k/v2/Movies/H_BR08_E.VQA: h_br08_e.vqa + ^Content/d2k/v2/Movies/H_BR09_E.VQA: h_br09_e.vqa + ^Content/d2k/v2/Movies/H_FINL_E.VQA: h_finl_e.vqa + ^Content/d2k/v2/Movies/H_LOSE_E.VQA: h_lose_e.vqa + ^Content/d2k/v2/Movies/H_MNTG_E.VQA: h_mntg_e.vqa + ^Content/d2k/v2/Movies/O_BR01_E.VQA: o_br01_e.vqa + ^Content/d2k/v2/Movies/O_BR02_E.VQA: o_br02_e.vqa + ^Content/d2k/v2/Movies/O_BR03_E.VQA: o_br03_e.vqa + ^Content/d2k/v2/Movies/O_BR04_E.VQA: o_br04_e.vqa + ^Content/d2k/v2/Movies/O_BR05_E.VQA: o_br05_e.vqa + ^Content/d2k/v2/Movies/O_BR06_E.VQA: o_br06_e.vqa + ^Content/d2k/v2/Movies/O_BR07_E.VQA: o_br07_e.vqa + ^Content/d2k/v2/Movies/O_BR08_E.VQA: o_br08_e.vqa + ^Content/d2k/v2/Movies/O_BR09_E.VQA: o_br09_e.vqa + ^Content/d2k/v2/Movies/O_FINL_E.VQA: o_finl_e.vqa + ^Content/d2k/v2/Movies/O_LOSE_E.VQA: o_lose_e.vqa + ^Content/d2k/v2/Movies/O_MNTG_E.VQA: o_mntg_e.vqa + ^Content/d2k/v2/Movies/G_INT1_E.VQA: g_int1_e.vqa + ^Content/d2k/v2/Movies/G_INT2_E.VQA: g_int2_e.vqa + ^Content/d2k/v2/Movies/G_MAPS_E.VQA: g_maps_e.vqa + ^Content/d2k/v2/Movies/G_PLN2_E.VQA: g_pln2_e.vqa + ^Content/d2k/v2/Movies/G_PLNT_E.VQA: g_plnt_e.vqa + ^Content/d2k/v2/Movies/T_TITL_E.VQA: t_titl_e.vqa + copy: music + ^Content/d2k/v2/Music/AMBUSH.AUD: ambush.aud + ^Content/d2k/v2/Music/ARAKATAK.AUD: arakatak.aud + ^Content/d2k/v2/Music/ATREGAIN.AUD: atregain.aud + ^Content/d2k/v2/Music/ENTORDOS.AUD: entordos.aud + ^Content/d2k/v2/Music/FIGHTPWR.AUD: fightpwr.aud + ^Content/d2k/v2/Music/FREMEN.AUD: fremen.aud + ^Content/d2k/v2/Music/HARK_BAT.AUD: hark_bat.aud + ^Content/d2k/v2/Music/LANDSAND.AUD: landsand.aud + ^Content/d2k/v2/Music/OPTIONS.AUD: options.aud + ^Content/d2k/v2/Music/PLOTTING.AUD: plotting.aud + ^Content/d2k/v2/Music/RISEHARK.AUD: risehark.aud + ^Content/d2k/v2/Music/ROBOTIX.AUD: robotix.aud + ^Content/d2k/v2/Music/SCORE.AUD: score.aud + ^Content/d2k/v2/Music/SOLDAPPR.AUD: soldappr.aud + ^Content/d2k/v2/Music/SPICESCT.AUD: spicesct.aud + ^Content/d2k/v2/Music/UNDERCON.AUD: undercon.aud + ^Content/d2k/v2/Music/WAITGAME.A: waitgame.aud + extract-blast: setup/setup.z + ^Content/d2k/v2/BLOXBAT.R8: + Offset: 1156652 + Length: 512750 + ^Content/d2k/v2/BLOXBASE.R8: + Offset: 1669402 + Length: 497092 + ^Content/d2k/v2/BLOXBGBS.R8: + Offset: 4055223 + Length: 499135 + ^Content/d2k/v2/BLOXICE.R8: + Offset: 5524509 + Length: 514963 + ^Content/d2k/v2/BLOXTREE.R8: + Offset: 6994370 + Length: 509867 + ^Content/d2k/v2/BLOXWAST.R8: + Offset: 8455018 + Length: 508567 + ^Content/d2k/v2/MOUSE.R8: + Offset: 14012491 + Length: 16996 + ^Content/d2k/v2/PALETTE.BIN: + Offset: 22938401 + Length: 815 + ^Content/d2k/v2/FONT.BIN: + Offset: 22927461 + Length: 199 + ^Content/d2k/v2/FONTCOL.FNT: + Offset: 13985176 + Length: 3011 + ^Content/d2k/v2/FONTCOL.FPL: + Offset: 13988187 + Length: 238 + ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: + Offset: 15560305 + Length: 9647 + ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: + Offset: 15569952 + Length: 8676 + ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: + Offset: 15578628 + Length: 9641 + ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: + Offset: 15588269 + Length: 7371 + ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: + Offset: 15595640 + Length: 11326 + ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: + Offset: 15606966 + Length: 11329 + ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: + Offset: 15618295 + Length: 8964 + ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: + Offset: 15627259 + Length: 11336 + ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: + Offset: 15638595 + Length: 14606 + ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: + Offset: 15653201 + Length: 27230 + ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: + Offset: 15680431 + Length: 19621 + ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: + Offset: 15700052 + Length: 28781 + ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: + Offset: 15728833 + Length: 29703 + ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: + Offset: 15758536 + Length: 29555 + ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: + Offset: 15788091 + Length: 27961 + ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: + Offset: 15816052 + Length: 20925 + ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: + Offset: 15836977 + Length: 10925 + ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: + Offset: 15847902 + Length: 8125 + ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: + Offset: 15856027 + Length: 26212 + ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: + Offset: 15882239 + Length: 27166 + ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: + Offset: 15909405 + Length: 31126 + ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: + Offset: 15940531 + Length: 33481 + ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: + Offset: 15974012 + Length: 17265 + ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: + Offset: 15991277 + Length: 14523 + ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: + Offset: 16005800 + Length: 18266 + ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: + Offset: 16024066 + Length: 8467 + ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: + Offset: 16032533 + Length: 9748 + ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: + Offset: 16042281 + Length: 14264 + ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: + Offset: 16056545 + Length: 12087 + ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: + Offset: 16068632 + Length: 14428 + ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: + Offset: 16083060 + Length: 16985 + ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: + Offset: 16100045 + Length: 12638 + ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: + Offset: 16112683 + Length: 13229 + ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: + Offset: 16125912 + Length: 26572 + ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: + Offset: 16152484 + Length: 12085 + ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: + Offset: 16164569 + Length: 18232 + ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: + Offset: 16182801 + Length: 8328 + ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: + Offset: 16191129 + Length: 12497 + ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: + Offset: 16203626 + Length: 9546 + ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: + Offset: 16213172 + Length: 17135 + ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: + Offset: 16230307 + Length: 26937 + ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: + Offset: 16257244 + Length: 17940 + ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: + Offset: 16275184 + Length: 14985 + ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: + Offset: 16290169 + Length: 9089 + ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: + Offset: 16299258 + Length: 28401 + ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: + Offset: 16327659 + Length: 23949 + ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: + Offset: 16351608 + Length: 29489 + ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: + Offset: 16381097 + Length: 11016 + ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: + Offset: 16392113 + Length: 27566 + ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: + Offset: 16419679 + Length: 26539 + ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: + Offset: 16446218 + Length: 30821 + ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: + Offset: 16477039 + Length: 7978 + ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: + Offset: 16485017 + Length: 11880 + ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: + Offset: 16496897 + Length: 8995 + ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: + Offset: 16505892 + Length: 10120 + ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: + Offset: 16516012 + Length: 8999 + ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: + Offset: 16525011 + Length: 6593 + ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: + Offset: 16531604 + Length: 34790 + ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: + Offset: 16566394 + Length: 35606 + ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: + Offset: 16602000 + Length: 10303 + ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: + Offset: 16612303 + Length: 22969 + ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: + Offset: 16635272 + Length: 31816 + ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: + Offset: 16667088 + Length: 19585 + ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: + Offset: 16686673 + Length: 14563 + ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: + Offset: 16701236 + Length: 13353 + ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: + Offset: 16714589 + Length: 9671 + ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: + Offset: 16724260 + Length: 15031 + ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: + Offset: 16739291 + Length: 28368 + ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: + Offset: 16767659 + Length: 9649 + ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: + Offset: 16777308 + Length: 17157 + ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: + Offset: 16794465 + Length: 13407 + ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: + Offset: 16807872 + Length: 29910 + ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: + Offset: 16837782 + Length: 22890 + ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: + Offset: 16860672 + Length: 22923 + ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: + Offset: 16883595 + Length: 34017 + ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: + Offset: 16917612 + Length: 56714 + ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: + Offset: 16974326 + Length: 27200 + ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: + Offset: 17001526 + Length: 19828 + ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: + Offset: 17021354 + Length: 13869 + ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: + Offset: 17035223 + Length: 14197 + ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: + Offset: 17049420 + Length: 29136 + ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: + Offset: 17078556 + Length: 26204 + ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: + Offset: 17104760 + Length: 24264 + ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: + Offset: 17129024 + Length: 43921 + ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: + Offset: 17172945 + Length: 22151 + ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: + Offset: 17195096 + Length: 12300 + ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: + Offset: 17207396 + Length: 21971 + ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: + Offset: 17229367 + Length: 22041 + ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: + Offset: 17251408 + Length: 21545 + ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: + Offset: 17272953 + Length: 14344 + ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: + Offset: 17287297 + Length: 28156 + ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: + Offset: 17315453 + Length: 16983 + ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: + Offset: 17332436 + Length: 19583 + ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: + Offset: 17352019 + Length: 12875 + ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: + Offset: 17364894 + Length: 20974 + ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: + Offset: 17385868 + Length: 14699 + ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: + Offset: 17400567 + Length: 20919 + ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: + Offset: 17421486 + Length: 18984 + ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: + Offset: 17440470 + Length: 11779 + ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: + Offset: 17452249 + Length: 13980 + ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: + Offset: 17466229 + Length: 33483 + ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: + Offset: 17499712 + Length: 26566 + ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: + Offset: 17526278 + Length: 25237 + ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: + Offset: 17551515 + Length: 16072 + ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: + Offset: 17567587 + Length: 12037 + ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: + Offset: 17579624 + Length: 30243 + ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: + Offset: 17609867 + Length: 31710 + ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: + Offset: 17641577 + Length: 27450 + ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: + Offset: 17669027 + Length: 30854 + ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: + Offset: 17699881 + Length: 10860 + ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: + Offset: 17710741 + Length: 19337 + ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: + Offset: 17730078 + Length: 15004 + ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: + Offset: 17745082 + Length: 23023 + ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: + Offset: 17768105 + Length: 22321 + ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: + Offset: 17790426 + Length: 21698 + ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: + Offset: 17812124 + Length: 10282 + ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: + Offset: 17822406 + Length: 28615 + ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: + Offset: 17851021 + Length: 12771 + ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: + Offset: 17863792 + Length: 9917 + ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: + Offset: 17873709 + Length: 18502 + ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: + Offset: 17892211 + Length: 12832 + ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: + Offset: 17905043 + Length: 22413 + ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: + Offset: 17927456 + Length: 29577 + ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: + Offset: 17957033 + Length: 24798 + ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: + Offset: 17981831 + Length: 14784 + ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: + Offset: 17996615 + Length: 18526 + ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: + Offset: 18015141 + Length: 12390 + ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: + Offset: 18027531 + Length: 11851 + ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: + Offset: 18039382 + Length: 9867 + ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: + Offset: 18049249 + Length: 16907 + ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: + Offset: 18066156 + Length: 17659 + ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: + Offset: 18083815 + Length: 20337 + ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: + Offset: 18104152 + Length: 18877 + ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: + Offset: 18123029 + Length: 30788 + ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: + Offset: 18153817 + Length: 18322 + ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: + Offset: 18172139 + Length: 22178 + ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: + Offset: 18194317 + Length: 24878 + ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: + Offset: 18219195 + Length: 15741 + ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: + Offset: 18234936 + Length: 14892 + ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: + Offset: 18249828 + Length: 23026 + ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: + Offset: 18272854 + Length: 43938 + ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: + Offset: 18316792 + Length: 10992 + ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: + Offset: 18327784 + Length: 19514 + ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: + Offset: 18347298 + Length: 23895 + ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: + Offset: 18371193 + Length: 18626 + ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: + Offset: 18389819 + Length: 22564 + ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: + Offset: 18412383 + Length: 18445 + ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: + Offset: 18430828 + Length: 19492 + ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: + Offset: 18450320 + Length: 14194 + ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: + Offset: 18464514 + Length: 8310 + ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: + Offset: 18472824 + Length: 8332 + ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: + Offset: 18481156 + Length: 15789 + ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: + Offset: 18496945 + Length: 9791 + ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: + Offset: 18506736 + Length: 15099 + ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: + Offset: 18521835 + Length: 14863 + ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: + Offset: 18536698 + Length: 9753 + ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: + Offset: 18546451 + Length: 9329 + ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: + Offset: 18555780 + Length: 9449 + ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: + Offset: 18565229 + Length: 15600 + ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: + Offset: 18580829 + Length: 16157 + ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: + Offset: 18596986 + Length: 13149 + ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: + Offset: 18610135 + Length: 13928 + ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: + Offset: 18624063 + Length: 16430 + ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: + Offset: 18640493 + Length: 41640 + ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: + Offset: 18682133 + Length: 41809 + ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: + Offset: 18723942 + Length: 29117 + ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: + Offset: 18753059 + Length: 36982 + ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: + Offset: 18790041 + Length: 60681 + ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: + Offset: 18850722 + Length: 21396 + ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: + Offset: 18872118 + Length: 37995 + ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: + Offset: 18910113 + Length: 32674 + ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: + Offset: 18942787 + Length: 18399 + ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: + Offset: 18961186 + Length: 26359 + ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: + Offset: 18987545 + Length: 21335 + ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: + Offset: 19008880 + Length: 28418 + ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: + Offset: 19037298 + Length: 9269 + ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: + Offset: 19046567 + Length: 19854 + ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: + Offset: 19066421 + Length: 20038 + ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: + Offset: 19086459 + Length: 16073 + ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: + Offset: 19102532 + Length: 14873 + ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: + Offset: 19117405 + Length: 41683 + ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: + Offset: 19159088 + Length: 34475 + ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: + Offset: 19193563 + Length: 34903 + ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: + Offset: 19228466 + Length: 59613 + ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: + Offset: 19288079 + Length: 22150 + ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: + Offset: 19310229 + Length: 9090 + ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: + Offset: 19319319 + Length: 21350 + ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: + Offset: 19340669 + Length: 31478 + ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: + Offset: 19372147 + Length: 19876 + ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: + Offset: 19392023 + Length: 22359 + ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: + Offset: 19414382 + Length: 28902 + ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: + Offset: 19443284 + Length: 26855 + ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: + Offset: 19470139 + Length: 19104 + ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: + Offset: 19489243 + Length: 24655 + ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: + Offset: 19513898 + Length: 23032 + ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: + Offset: 19536930 + Length: 35588 + ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: + Offset: 19572518 + Length: 8945 + ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: + Offset: 19581463 + Length: 9005 + ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: + Offset: 19590468 + Length: 9606 + ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: + Offset: 19600074 + Length: 11671 + ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: + Offset: 19611745 + Length: 10644 + ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: + Offset: 19622389 + Length: 10387 + ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: + Offset: 19632776 + Length: 17225 + ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: + Offset: 19650001 + Length: 10077 + ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: + Offset: 19660078 + Length: 13616 + ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: + Offset: 19673694 + Length: 11251 + ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: + Offset: 19684945 + Length: 8144 + ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: + Offset: 19693089 + Length: 14865 + ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: + Offset: 19707954 + Length: 11912 + ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: + Offset: 19719866 + Length: 19540 + ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: + Offset: 19739406 + Length: 10246 + ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: + Offset: 19749652 + Length: 31148 + ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: + Offset: 19780800 + Length: 8307 + ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: + Offset: 19789107 + Length: 14331 + ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: + Offset: 19803438 + Length: 11295 + ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: + Offset: 19814733 + Length: 20437 + ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: + Offset: 19835170 + Length: 27739 + ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: + Offset: 19862909 + Length: 22200 + ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: + Offset: 19885109 + Length: 9620 + ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: + Offset: 19894729 + Length: 13368 + ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: + Offset: 19908097 + Length: 15612 + ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: + Offset: 19923709 + Length: 8279 + ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: + Offset: 19931988 + Length: 11383 + ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: + Offset: 19943371 + Length: 18511 + ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: + Offset: 19961882 + Length: 14244 + ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: + Offset: 19976126 + Length: 24075 + ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: + Offset: 20000201 + Length: 26716 + ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: + Offset: 20026917 + Length: 21716 + ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: + Offset: 20048633 + Length: 32417 + ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: + Offset: 20081050 + Length: 33724 + ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: + Offset: 20114774 + Length: 21828 + ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: + Offset: 20136602 + Length: 30404 + ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: + Offset: 20167006 + Length: 9862 + ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: + Offset: 20176868 + Length: 18149 + ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: + Offset: 20195017 + Length: 14697 + ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: + Offset: 20209714 + Length: 17316 + ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: + Offset: 20227030 + Length: 14869 + ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: + Offset: 20241899 + Length: 29873 + ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: + Offset: 20271772 + Length: 16335 + ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: + Offset: 20288107 + Length: 20565 + ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: + Offset: 20308672 + Length: 25497 + ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: + Offset: 20334169 + Length: 17142 + ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: + Offset: 20351311 + Length: 20120 + ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: + Offset: 20371431 + Length: 29921 + ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: + Offset: 20401352 + Length: 14467 + ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: + Offset: 20415819 + Length: 10906 + ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: + Offset: 20426725 + Length: 25959 + ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: + Offset: 20452684 + Length: 34175 + ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: + Offset: 20486859 + Length: 30124 + ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: + Offset: 20516983 + Length: 21881 + ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: + Offset: 20538864 + Length: 20567 + ^Content/d2k/v2/SOUND.RS: + Offset: 20559431 + Length: 1929247 \ No newline at end of file diff --git a/mods/d2k/installer/downloads.yaml b/mods/d2k/installer/downloads.yaml new file mode 100644 index 0000000000..847db7bf0b --- /dev/null +++ b/mods/d2k/installer/downloads.yaml @@ -0,0 +1,539 @@ +quickinstall: Quick Install Package + MirrorList: http://www.openra.net/packages/d2k-quickinstall-mirrors.txt + Extract: + ^Content/d2k/v2/BLOXBASE.R8: v2/BLOXBASE.R8 + ^Content/d2k/v2/BLOXBAT.R8: v2/BLOXBAT.R8 + ^Content/d2k/v2/BLOXBGBS.R8: v2/BLOXBGBS.R8 + ^Content/d2k/v2/BLOXICE.R8: v2/BLOXICE.R8 + ^Content/d2k/v2/BLOXTREE.R8: v2/BLOXTREE.R8 + ^Content/d2k/v2/BLOXWAST.R8: v2/BLOXWAST.R8 + ^Content/d2k/v2/FONT.BIN: v2/FONT.BIN + ^Content/d2k/v2/FONTCOL.FNT: v2/FONTCOL.FNT + ^Content/d2k/v2/FONTCOL.FPL: v2/FONTCOL.FPL + ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: v2/GAMESFX/A_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: v2/GAMESFX/A_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: v2/GAMESFX/A_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: v2/GAMESFX/A_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: v2/GAMESFX/A_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: v2/GAMESFX/A_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: v2/GAMESFX/A_FCONF1.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: v2/GAMESFX/A_FCONF2.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: v2/GAMESFX/A_FCONF3.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: v2/GAMESFX/A_FCONF4.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: v2/GAMESFX/A_FSEL1.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: v2/GAMESFX/A_FSEL2.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: v2/GAMESFX/A_FSEL3.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: v2/GAMESFX/A_FSEL4.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: v2/GAMESFX/A_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: v2/GAMESFX/A_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: v2/GAMESFX/A_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: v2/GAMESFX/A_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: v2/GAMESFX/A_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: v2/GAMESFX/A_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: v2/GAMESFX/A_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: v2/GAMESFX/A_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: v2/GAMESFX/A_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: v2/GAMESFX/A_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: v2/GAMESFX/A_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: v2/GAMESFX/A_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: v2/GAMESFX/AI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: v2/GAMESFX/AI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: v2/GAMESFX/AI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: v2/GAMESFX/AI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: v2/GAMESFX/AI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: v2/GAMESFX/AI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: v2/GAMESFX/AI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: v2/GAMESFX/AI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: v2/GAMESFX/AI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: v2/GAMESFX/AI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: v2/GAMESFX/AI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: v2/GAMESFX/AI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: v2/GAMESFX/AI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: v2/GAMESFX/AI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: v2/GAMESFX/AI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: v2/GAMESFX/AI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: v2/GAMESFX/AI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: v2/GAMESFX/AI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: v2/GAMESFX/AI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: v2/GAMESFX/AI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: v2/GAMESFX/AI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: v2/GAMESFX/AI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: v2/GAMESFX/AI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: v2/GAMESFX/AI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: v2/GAMESFX/AI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: v2/GAMESFX/AI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: v2/GAMESFX/AI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: v2/GAMESFX/AI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: v2/GAMESFX/AI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: v2/GAMESFX/AI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: v2/GAMESFX/AI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: v2/GAMESFX/AI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: v2/GAMESFX/AI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: v2/GAMESFX/AI_MAP8A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: v2/GAMESFX/AI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: v2/GAMESFX/AI_MEND.AUD + ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: v2/GAMESFX/AI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: v2/GAMESFX/AI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: v2/GAMESFX/AI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: v2/GAMESFX/AI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: v2/GAMESFX/AI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: v2/GAMESFX/AI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: v2/GAMESFX/AI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: v2/GAMESFX/AI_POWER.AUD + ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: v2/GAMESFX/AI_PREP.AUD + ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: v2/GAMESFX/AI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: v2/GAMESFX/AI_REINF.AUD + ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: v2/GAMESFX/AI_RUN.AUD + ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: v2/GAMESFX/AI_SELL.AUD + ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: v2/GAMESFX/AI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: v2/GAMESFX/AI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: v2/GAMESFX/AI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: v2/GAMESFX/AI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: v2/GAMESFX/AI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: v2/GAMESFX/AI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: v2/GAMESFX/AI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: v2/GAMESFX/AI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: v2/GAMESFX/AI_WSIGN.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: v2/GAMESFX/G_SCONF1.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: v2/GAMESFX/G_SCONF2.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: v2/GAMESFX/G_SCONF3.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: v2/GAMESFX/G_SSEL1.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: v2/GAMESFX/G_SSEL2.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: v2/GAMESFX/G_SSEL3.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: v2/GAMESFX/H_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: v2/GAMESFX/H_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: v2/GAMESFX/H_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: v2/GAMESFX/H_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: v2/GAMESFX/H_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: v2/GAMESFX/H_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: v2/GAMESFX/H_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: v2/GAMESFX/H_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: v2/GAMESFX/H_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: v2/GAMESFX/H_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: v2/GAMESFX/H_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: v2/GAMESFX/H_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: v2/GAMESFX/H_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: v2/GAMESFX/H_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: v2/GAMESFX/H_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: v2/GAMESFX/H_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: v2/GAMESFX/H_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: v2/GAMESFX/H_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: v2/GAMESFX/HI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: v2/GAMESFX/HI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: v2/GAMESFX/HI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: v2/GAMESFX/HI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: v2/GAMESFX/HI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: v2/GAMESFX/HI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: v2/GAMESFX/HI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: v2/GAMESFX/HI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: v2/GAMESFX/HI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: v2/GAMESFX/HI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: v2/GAMESFX/HI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: v2/GAMESFX/HI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: v2/GAMESFX/HI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: v2/GAMESFX/HI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: v2/GAMESFX/HI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: v2/GAMESFX/HI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: v2/GAMESFX/HI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: v2/GAMESFX/HI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: v2/GAMESFX/HI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: v2/GAMESFX/HI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: v2/GAMESFX/HI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: v2/GAMESFX/HI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: v2/GAMESFX/HI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: v2/GAMESFX/HI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: v2/GAMESFX/HI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: v2/GAMESFX/HI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: v2/GAMESFX/HI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: v2/GAMESFX/HI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: v2/GAMESFX/HI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: v2/GAMESFX/HI_MAP3B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: v2/GAMESFX/HI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: v2/GAMESFX/HI_MAP4B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: v2/GAMESFX/HI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: v2/GAMESFX/HI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: v2/GAMESFX/HI_MAP6B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: v2/GAMESFX/HI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: v2/GAMESFX/HI_MAP9.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: v2/GAMESFX/HI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: v2/GAMESFX/HI_MEND.AUD + ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: v2/GAMESFX/HI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: v2/GAMESFX/HI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: v2/GAMESFX/HI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: v2/GAMESFX/HI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: v2/GAMESFX/HI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: v2/GAMESFX/HI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: v2/GAMESFX/HI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: v2/GAMESFX/HI_POWER.AUD + ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: v2/GAMESFX/HI_PREP.AUD + ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: v2/GAMESFX/HI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: v2/GAMESFX/HI_REINF.AUD + ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: v2/GAMESFX/HI_RUN.AUD + ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: v2/GAMESFX/HI_SELL.AUD + ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: v2/GAMESFX/HI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: v2/GAMESFX/HI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: v2/GAMESFX/HI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: v2/GAMESFX/HI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: v2/GAMESFX/HI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: v2/GAMESFX/HI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: v2/GAMESFX/HI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: v2/GAMESFX/HI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: v2/GAMESFX/HI_WSIGN.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: v2/GAMESFX/O_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: v2/GAMESFX/O_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: v2/GAMESFX/O_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: v2/GAMESFX/O_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: v2/GAMESFX/O_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: v2/GAMESFX/O_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: v2/GAMESFX/O_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: v2/GAMESFX/O_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: v2/GAMESFX/O_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: v2/GAMESFX/O_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: v2/GAMESFX/O_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: v2/GAMESFX/O_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: v2/GAMESFX/O_SCONF1.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: v2/GAMESFX/O_SCONF2.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: v2/GAMESFX/O_SCONF3.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: v2/GAMESFX/O_SSEL1.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: v2/GAMESFX/O_SSEL2.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: v2/GAMESFX/O_SSEL3.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: v2/GAMESFX/O_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: v2/GAMESFX/O_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: v2/GAMESFX/O_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: v2/GAMESFX/O_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: v2/GAMESFX/O_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: v2/GAMESFX/O_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: v2/GAMESFX/OI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: v2/GAMESFX/OI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: v2/GAMESFX/OI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: v2/GAMESFX/OI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: v2/GAMESFX/OI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: v2/GAMESFX/OI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: v2/GAMESFX/OI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: v2/GAMESFX/OI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: v2/GAMESFX/OI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: v2/GAMESFX/OI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: v2/GAMESFX/OI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: v2/GAMESFX/OI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: v2/GAMESFX/OI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: v2/GAMESFX/OI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: v2/GAMESFX/OI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: v2/GAMESFX/OI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: v2/GAMESFX/OI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: v2/GAMESFX/OI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: v2/GAMESFX/OI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: v2/GAMESFX/OI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: v2/GAMESFX/OI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: v2/GAMESFX/OI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: v2/GAMESFX/OI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: v2/GAMESFX/OI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: v2/GAMESFX/OI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: v2/GAMESFX/OI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: v2/GAMESFX/OI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: v2/GAMESFX/OI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: v2/GAMESFX/OI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: v2/GAMESFX/OI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: v2/GAMESFX/OI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: v2/GAMESFX/OI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: v2/GAMESFX/OI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: v2/GAMESFX/OI_MAP8A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: v2/GAMESFX/OI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: v2/GAMESFX/OI_MEND.AUD + ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: v2/GAMESFX/OI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: v2/GAMESFX/OI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: v2/GAMESFX/OI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: v2/GAMESFX/OI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: v2/GAMESFX/OI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: v2/GAMESFX/OI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: v2/GAMESFX/OI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: v2/GAMESFX/OI_POWER.AUD + ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: v2/GAMESFX/OI_PREP.AUD + ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: v2/GAMESFX/OI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: v2/GAMESFX/OI_REINF.AUD + ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: v2/GAMESFX/OI_RUN.AUD + ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: v2/GAMESFX/OI_SELL.AUD + ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: v2/GAMESFX/OI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: v2/GAMESFX/OI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: v2/GAMESFX/OI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: v2/GAMESFX/OI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: v2/GAMESFX/OI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: v2/GAMESFX/OI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: v2/GAMESFX/OI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: v2/GAMESFX/OI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: v2/GAMESFX/OI_WSIGN.AUD + ^Content/d2k/v2/MOUSE.R8: v2/MOUSE.R8 + ^Content/d2k/v2/PALETTE.BIN: v2/PALETTE.BIN + ^Content/d2k/v2/SOUND.RS: v2/SOUND.RS + ^Content/d2k/v2/BLOXXMAS.R8: v2/BLOXXMAS.R8 + ^Content/d2k/v2/DATA.R8: v2/DATA.R8 +basefiles: Base Content + MirrorList: http://www.openra.net/packages/d2k-base-mirrors.txt + Extract: + ^Content/d2k/v2/BLOXBASE.R8: v2/BLOXBASE.R8 + ^Content/d2k/v2/BLOXBAT.R8: v2/BLOXBAT.R8 + ^Content/d2k/v2/BLOXBGBS.R8: v2/BLOXBGBS.R8 + ^Content/d2k/v2/BLOXICE.R8: v2/BLOXICE.R8 + ^Content/d2k/v2/BLOXTREE.R8: v2/BLOXTREE.R8 + ^Content/d2k/v2/BLOXWAST.R8: v2/BLOXWAST.R8 + ^Content/d2k/v2/FONT.BIN: v2/FONT.BIN + ^Content/d2k/v2/FONTCOL.FNT: v2/FONTCOL.FNT + ^Content/d2k/v2/FONTCOL.FPL: v2/FONTCOL.FPL + ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: v2/GAMESFX/A_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: v2/GAMESFX/A_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: v2/GAMESFX/A_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: v2/GAMESFX/A_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: v2/GAMESFX/A_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: v2/GAMESFX/A_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: v2/GAMESFX/A_FCONF1.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: v2/GAMESFX/A_FCONF2.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: v2/GAMESFX/A_FCONF3.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: v2/GAMESFX/A_FCONF4.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: v2/GAMESFX/A_FSEL1.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: v2/GAMESFX/A_FSEL2.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: v2/GAMESFX/A_FSEL3.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: v2/GAMESFX/A_FSEL4.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: v2/GAMESFX/A_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: v2/GAMESFX/A_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: v2/GAMESFX/A_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: v2/GAMESFX/A_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: v2/GAMESFX/A_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: v2/GAMESFX/A_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: v2/GAMESFX/A_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: v2/GAMESFX/A_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: v2/GAMESFX/A_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: v2/GAMESFX/A_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: v2/GAMESFX/A_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: v2/GAMESFX/A_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: v2/GAMESFX/AI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: v2/GAMESFX/AI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: v2/GAMESFX/AI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: v2/GAMESFX/AI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: v2/GAMESFX/AI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: v2/GAMESFX/AI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: v2/GAMESFX/AI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: v2/GAMESFX/AI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: v2/GAMESFX/AI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: v2/GAMESFX/AI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: v2/GAMESFX/AI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: v2/GAMESFX/AI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: v2/GAMESFX/AI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: v2/GAMESFX/AI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: v2/GAMESFX/AI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: v2/GAMESFX/AI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: v2/GAMESFX/AI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: v2/GAMESFX/AI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: v2/GAMESFX/AI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: v2/GAMESFX/AI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: v2/GAMESFX/AI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: v2/GAMESFX/AI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: v2/GAMESFX/AI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: v2/GAMESFX/AI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: v2/GAMESFX/AI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: v2/GAMESFX/AI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: v2/GAMESFX/AI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: v2/GAMESFX/AI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: v2/GAMESFX/AI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: v2/GAMESFX/AI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: v2/GAMESFX/AI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: v2/GAMESFX/AI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: v2/GAMESFX/AI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: v2/GAMESFX/AI_MAP8A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: v2/GAMESFX/AI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: v2/GAMESFX/AI_MEND.AUD + ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: v2/GAMESFX/AI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: v2/GAMESFX/AI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: v2/GAMESFX/AI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: v2/GAMESFX/AI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: v2/GAMESFX/AI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: v2/GAMESFX/AI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: v2/GAMESFX/AI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: v2/GAMESFX/AI_POWER.AUD + ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: v2/GAMESFX/AI_PREP.AUD + ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: v2/GAMESFX/AI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: v2/GAMESFX/AI_REINF.AUD + ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: v2/GAMESFX/AI_RUN.AUD + ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: v2/GAMESFX/AI_SELL.AUD + ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: v2/GAMESFX/AI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: v2/GAMESFX/AI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: v2/GAMESFX/AI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: v2/GAMESFX/AI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: v2/GAMESFX/AI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: v2/GAMESFX/AI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: v2/GAMESFX/AI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: v2/GAMESFX/AI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: v2/GAMESFX/AI_WSIGN.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: v2/GAMESFX/G_SCONF1.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: v2/GAMESFX/G_SCONF2.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: v2/GAMESFX/G_SCONF3.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: v2/GAMESFX/G_SSEL1.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: v2/GAMESFX/G_SSEL2.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: v2/GAMESFX/G_SSEL3.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: v2/GAMESFX/H_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: v2/GAMESFX/H_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: v2/GAMESFX/H_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: v2/GAMESFX/H_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: v2/GAMESFX/H_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: v2/GAMESFX/H_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: v2/GAMESFX/H_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: v2/GAMESFX/H_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: v2/GAMESFX/H_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: v2/GAMESFX/H_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: v2/GAMESFX/H_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: v2/GAMESFX/H_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: v2/GAMESFX/H_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: v2/GAMESFX/H_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: v2/GAMESFX/H_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: v2/GAMESFX/H_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: v2/GAMESFX/H_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: v2/GAMESFX/H_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: v2/GAMESFX/HI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: v2/GAMESFX/HI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: v2/GAMESFX/HI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: v2/GAMESFX/HI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: v2/GAMESFX/HI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: v2/GAMESFX/HI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: v2/GAMESFX/HI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: v2/GAMESFX/HI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: v2/GAMESFX/HI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: v2/GAMESFX/HI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: v2/GAMESFX/HI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: v2/GAMESFX/HI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: v2/GAMESFX/HI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: v2/GAMESFX/HI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: v2/GAMESFX/HI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: v2/GAMESFX/HI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: v2/GAMESFX/HI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: v2/GAMESFX/HI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: v2/GAMESFX/HI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: v2/GAMESFX/HI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: v2/GAMESFX/HI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: v2/GAMESFX/HI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: v2/GAMESFX/HI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: v2/GAMESFX/HI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: v2/GAMESFX/HI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: v2/GAMESFX/HI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: v2/GAMESFX/HI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: v2/GAMESFX/HI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: v2/GAMESFX/HI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: v2/GAMESFX/HI_MAP3B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: v2/GAMESFX/HI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: v2/GAMESFX/HI_MAP4B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: v2/GAMESFX/HI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: v2/GAMESFX/HI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: v2/GAMESFX/HI_MAP6B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: v2/GAMESFX/HI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: v2/GAMESFX/HI_MAP9.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: v2/GAMESFX/HI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: v2/GAMESFX/HI_MEND.AUD + ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: v2/GAMESFX/HI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: v2/GAMESFX/HI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: v2/GAMESFX/HI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: v2/GAMESFX/HI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: v2/GAMESFX/HI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: v2/GAMESFX/HI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: v2/GAMESFX/HI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: v2/GAMESFX/HI_POWER.AUD + ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: v2/GAMESFX/HI_PREP.AUD + ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: v2/GAMESFX/HI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: v2/GAMESFX/HI_REINF.AUD + ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: v2/GAMESFX/HI_RUN.AUD + ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: v2/GAMESFX/HI_SELL.AUD + ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: v2/GAMESFX/HI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: v2/GAMESFX/HI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: v2/GAMESFX/HI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: v2/GAMESFX/HI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: v2/GAMESFX/HI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: v2/GAMESFX/HI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: v2/GAMESFX/HI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: v2/GAMESFX/HI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: v2/GAMESFX/HI_WSIGN.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: v2/GAMESFX/O_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: v2/GAMESFX/O_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: v2/GAMESFX/O_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: v2/GAMESFX/O_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: v2/GAMESFX/O_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: v2/GAMESFX/O_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: v2/GAMESFX/O_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: v2/GAMESFX/O_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: v2/GAMESFX/O_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: v2/GAMESFX/O_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: v2/GAMESFX/O_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: v2/GAMESFX/O_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: v2/GAMESFX/O_SCONF1.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: v2/GAMESFX/O_SCONF2.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: v2/GAMESFX/O_SCONF3.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: v2/GAMESFX/O_SSEL1.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: v2/GAMESFX/O_SSEL2.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: v2/GAMESFX/O_SSEL3.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: v2/GAMESFX/O_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: v2/GAMESFX/O_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: v2/GAMESFX/O_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: v2/GAMESFX/O_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: v2/GAMESFX/O_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: v2/GAMESFX/O_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: v2/GAMESFX/OI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: v2/GAMESFX/OI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: v2/GAMESFX/OI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: v2/GAMESFX/OI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: v2/GAMESFX/OI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: v2/GAMESFX/OI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: v2/GAMESFX/OI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: v2/GAMESFX/OI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: v2/GAMESFX/OI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: v2/GAMESFX/OI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: v2/GAMESFX/OI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: v2/GAMESFX/OI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: v2/GAMESFX/OI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: v2/GAMESFX/OI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: v2/GAMESFX/OI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: v2/GAMESFX/OI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: v2/GAMESFX/OI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: v2/GAMESFX/OI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: v2/GAMESFX/OI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: v2/GAMESFX/OI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: v2/GAMESFX/OI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: v2/GAMESFX/OI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: v2/GAMESFX/OI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: v2/GAMESFX/OI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: v2/GAMESFX/OI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: v2/GAMESFX/OI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: v2/GAMESFX/OI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: v2/GAMESFX/OI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: v2/GAMESFX/OI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: v2/GAMESFX/OI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: v2/GAMESFX/OI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: v2/GAMESFX/OI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: v2/GAMESFX/OI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: v2/GAMESFX/OI_MAP8A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: v2/GAMESFX/OI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: v2/GAMESFX/OI_MEND.AUD + ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: v2/GAMESFX/OI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: v2/GAMESFX/OI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: v2/GAMESFX/OI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: v2/GAMESFX/OI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: v2/GAMESFX/OI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: v2/GAMESFX/OI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: v2/GAMESFX/OI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: v2/GAMESFX/OI_POWER.AUD + ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: v2/GAMESFX/OI_PREP.AUD + ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: v2/GAMESFX/OI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: v2/GAMESFX/OI_REINF.AUD + ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: v2/GAMESFX/OI_RUN.AUD + ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: v2/GAMESFX/OI_SELL.AUD + ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: v2/GAMESFX/OI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: v2/GAMESFX/OI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: v2/GAMESFX/OI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: v2/GAMESFX/OI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: v2/GAMESFX/OI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: v2/GAMESFX/OI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: v2/GAMESFX/OI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: v2/GAMESFX/OI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: v2/GAMESFX/OI_WSIGN.AUD + ^Content/d2k/v2/MOUSE.R8: v2/MOUSE.R8 + ^Content/d2k/v2/PALETTE.BIN: v2/PALETTE.BIN + ^Content/d2k/v2/SOUND.RS: v2/SOUND.RS +patch106: Patch 1.06 Content + MirrorList: http://www.openra.net/packages/d2k-patch106-mirrors.txt + Extract: + ^Content/d2k/v2/BLOXXMAS.R8: v2/BLOXXMAS.R8 + ^Content/d2k/v2/DATA.R8: v2/DATA.R8 \ No newline at end of file diff --git a/mods/d2k/installer/gruntmods.yaml b/mods/d2k/installer/gruntmods.yaml new file mode 100644 index 0000000000..d4c6ef424a --- /dev/null +++ b/mods/d2k/installer/gruntmods.yaml @@ -0,0 +1,294 @@ + +gruntmods: Dune 2000: GruntMods Edition + Type: Install + RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Dune 2000: Gruntmods Edition + IDFiles: + Dune 2000/data/BLOXXMAS.R8: afc818feda44f5873e3af07bd2191573ba9965db + Dune 2000/data/DATA.R8: 2b229cf4be47104a6214237039a55329f6c45bc9 + Install: + copy: Dune 2000/data/Music + ^Content/d2k/v2/Music/AMBUSH.AUD: AMBUSH.AUD + ^Content/d2k/v2/Music/ARAKATAK.AUD: ARAKATAK.AUD + ^Content/d2k/v2/Music/ATREGAIN.AUD: ATREGAIN.AUD + ^Content/d2k/v2/Music/ENTORDOS.AUD: ENTORDOS.AUD + ^Content/d2k/v2/Music/FIGHTPWR.AUD: FIGHTPWR.AUD + ^Content/d2k/v2/Music/FREMEN.AUD: FREMEN.AUD + ^Content/d2k/v2/Music/HARK_BAT.AUD: HARK_BAT.AUD + ^Content/d2k/v2/Music/LANDSAND.AUD: LANDSAND.AUD + ^Content/d2k/v2/Music/OPTIONS.AUD: OPTIONS.AUD + ^Content/d2k/v2/Music/PLOTTING.AUD: PLOTTING.AUD + ^Content/d2k/v2/Music/RISEHARK.AUD: RISEHARK.AUD + ^Content/d2k/v2/Music/ROBOTIX.AUD: ROBOTIX.AUD + ^Content/d2k/v2/Music/SCORE.AUD: SCORE.AUD + ^Content/d2k/v2/Music/SOLDAPPR.AUD: SOLDAPPR.AUD + ^Content/d2k/v2/Music/SPICESCT.AUD: SPICESCT.AUD + ^Content/d2k/v2/Music/UNDERCON.AUD: UNDERCON.AUD + ^Content/d2k/v2/Music/WAITGAME.A: WAITGAME.AUD + copy: Dune 2000/data + ^Content/d2k/v2/BLOXBAT.R8: BLOXBAT.R8 + ^Content/d2k/v2/BLOXBASE.R8: BLOXBASE.R8 + ^Content/d2k/v2/BLOXBGBS.R8: BLOXBGBS.R8 + ^Content/d2k/v2/BLOXICE.R8: BLOXICE.R8 + ^Content/d2k/v2/BLOXTREE.R8: BLOXTREE.R8 + ^Content/d2k/v2/BLOXWAST.R8: BLOXWAST.R8 + ^Content/d2k/v2/BLOXXMAS.R8: BLOXXMAS.R8 + ^Content/d2k/v2/DATA.R8: DATA.R8 + ^Content/d2k/v2/MOUSE.R8: MOUSE.R8 + ^Content/d2k/v2/FONTCOL.FNT: FONTCOL.FNT + ^Content/d2k/v2/FONTCOL.FPL: FONTCOL.FPL + copy: Dune 2000/data/bin + ^Content/d2k/v2/PALETTE.BIN: PALETTE.BIN + ^Content/d2k/v2/FONT.BIN: FONT.BIN + copy: Dune 2000/data/GAMESFX + ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: A_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: A_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: A_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: A_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: A_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: A_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: A_FCONF1.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: A_FCONF2.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: A_FCONF3.AUD + ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: OI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: AI_POWER.AUD + ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: AI_PREP.AUD + ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: AI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: AI_REINF.AUD + ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: AI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: HI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: OI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: OI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: HI_MAP3B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: HI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: HI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: HI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: O_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: O_SCONF3.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: O_SSEL1.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: O_SSEL2.AUD + ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: O_SSEL3.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: O_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: O_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: O_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: OI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: O_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: O_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: OI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: O_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: O_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: O_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: O_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: O_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: O_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: HI_MAP4B.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: O_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: HI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: HI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: HI_MAP6B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: HI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: HI_MAP9.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: A_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: AI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: AI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: AI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: O_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: HI_RUN.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: A_FSEL1.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: A_FSEL2.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: A_FSEL3.AUD + ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: A_FSEL4.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: OI_MAP8A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: OI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: OI_MEND.AUD + ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: OI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: AI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: AI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: OI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: OI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: O_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: OI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: OI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: HI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: HI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: HI_UNRDY.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: OI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: HI_REINF.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: OI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: OI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: OI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: OI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: OI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: OI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: OI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: AI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: AI_SELL.AUD + ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: HI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: AI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: OI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: H_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: OI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: OI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: AI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: AI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: AI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: AI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: HI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: HI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: OI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: HI_WSIGN.AUD + ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: HI_HATTK.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: O_SCONF2.AUD + ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: HI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: A_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: AI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: AI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: AI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: AI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: HI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: AI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: AI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: AI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: AI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: A_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: HI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: HI_POWER.AUD + ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: HI_PREP.AUD + ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: HI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: OI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: O_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: OI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: A_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: A_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: OI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: OI_POWER.AUD + ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: OI_PREP.AUD + ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: OI_PRMRY.AUD + ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: OI_REINF.AUD + ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: OI_RUN.AUD + ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: OI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: H_ECONF1.AUD + ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: O_VSEL2.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: H_VSEL3.AUD + ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: HI_1MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: HI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: HI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: HI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: HI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: HI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: HI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: HI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: OI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: A_FCONF4.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: OI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: OI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: HI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: HI_CAPT.AUD + ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: HI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: HI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: HI_ENEMY.AUD + ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: HI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: OI_DHRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: HI_GSAVE.AUD + ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: HI_GUARD.AUD + ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: H_VSEL1.AUD + ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: OI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: G_SCONF1.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: G_SCONF2.AUD + ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: G_SCONF3.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: G_SSEL1.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: G_SSEL2.AUD + ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: G_SSEL3.AUD + ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: OI_SELL.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: H_ECONF2.AUD + ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: H_ECONF3.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: H_ESEL1.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: H_ESEL2.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: AI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: AI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: AI_MAP4A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: AI_MAP5A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: AI_MAP6A.AUD + ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: HI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: AI_MAP8A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: AI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: AI_MEND.AUD + ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: AI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: AI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: HI_MAP9A.AUD + ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: HI_MEND.AUD + ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: HI_MFAIL.AUD + ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: HI_MONEY.AUD + ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: HI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: HI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: AI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: AI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: AI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: AI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: AI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: H_ESEL3.AUD + ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: AI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: AI_SPORT.AUD + ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: AI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: AI_ULOST.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: AI_MAP7A.AUD + ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: AI_UPGOP.AUD + ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: AI_UPGRD.AUD + ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: AI_WATTK.AUD + ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: AI_WSIGN.AUD + ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: AI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: A_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: A_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: A_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: A_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: OI_CANCL.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: H_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: H_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: H_VCONF1.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: H_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: H_VCONF3.AUD + ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: OI_TRAIN.AUD + ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: HI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: OI_WSIGN.AUD + ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: OI_BLOST.AUD + ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: OI_BUILD.AUD + ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: AI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: A_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: A_VCONF2.AUD + ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: OI_HOLD.AUD + ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: OI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: OI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: HI_LAUNC.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: H_ICONF1.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: H_ICONF2.AUD + ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: H_ICONF3.AUD + ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: H_ISEL1.AUD + ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: A_ISEL2.AUD + ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: AI_RUN.AUD + ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: HI_SILOS.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: HI_MAP1A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: HI_MAP1B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: HI_MAP1C.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: HI_MAP2A.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: HI_MAP2B.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: HI_MAP2C.AUD + ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: HI_MAP3A.AUD + ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: O_ISEL3.AUD + ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: O_SCONF1.AUD + ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: OI_2MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: OI_3MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: OI_4MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: OI_5MIN.AUD + ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: OI_ABORT.AUD + ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: OI_ATACK.AUD + ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: OI_BDRDY.AUD + ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: HI_SELL.AUD + ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: OI_DPLOY.AUD + ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: AI_PLACE.AUD + ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: OI_GANEW.AUD + ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: OI_GLOAD.AUD + ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: AI_MWIN.AUD + ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: AI_NEWOP.AUD + ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: AI_NROOM.AUD + ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: AI_ORDER.AUD + ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: AI_UNRDY.AUD + ^Content/d2k/v2/SOUND.RS: SOUND.RS diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index 1b5da171f3..4d8aa1ceb7 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -221,2548 +221,8 @@ ModContent: TestFiles: ^Content/d2k/v2/Movies/A_BR01_E.VQA Sources: d2k, d2k-linux Downloads: - quickinstall: Quick Install Package - MirrorList: http://www.openra.net/packages/d2k-quickinstall-mirrors.txt - Extract: - ^Content/d2k/v2/BLOXBASE.R8: v2/BLOXBASE.R8 - ^Content/d2k/v2/BLOXBAT.R8: v2/BLOXBAT.R8 - ^Content/d2k/v2/BLOXBGBS.R8: v2/BLOXBGBS.R8 - ^Content/d2k/v2/BLOXICE.R8: v2/BLOXICE.R8 - ^Content/d2k/v2/BLOXTREE.R8: v2/BLOXTREE.R8 - ^Content/d2k/v2/BLOXWAST.R8: v2/BLOXWAST.R8 - ^Content/d2k/v2/FONT.BIN: v2/FONT.BIN - ^Content/d2k/v2/FONTCOL.FNT: v2/FONTCOL.FNT - ^Content/d2k/v2/FONTCOL.FPL: v2/FONTCOL.FPL - ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: v2/GAMESFX/A_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: v2/GAMESFX/A_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: v2/GAMESFX/A_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: v2/GAMESFX/A_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: v2/GAMESFX/A_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: v2/GAMESFX/A_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: v2/GAMESFX/A_FCONF1.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: v2/GAMESFX/A_FCONF2.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: v2/GAMESFX/A_FCONF3.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: v2/GAMESFX/A_FCONF4.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: v2/GAMESFX/A_FSEL1.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: v2/GAMESFX/A_FSEL2.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: v2/GAMESFX/A_FSEL3.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: v2/GAMESFX/A_FSEL4.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: v2/GAMESFX/A_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: v2/GAMESFX/A_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: v2/GAMESFX/A_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: v2/GAMESFX/A_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: v2/GAMESFX/A_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: v2/GAMESFX/A_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: v2/GAMESFX/A_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: v2/GAMESFX/A_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: v2/GAMESFX/A_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: v2/GAMESFX/A_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: v2/GAMESFX/A_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: v2/GAMESFX/A_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: v2/GAMESFX/AI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: v2/GAMESFX/AI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: v2/GAMESFX/AI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: v2/GAMESFX/AI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: v2/GAMESFX/AI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: v2/GAMESFX/AI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: v2/GAMESFX/AI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: v2/GAMESFX/AI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: v2/GAMESFX/AI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: v2/GAMESFX/AI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: v2/GAMESFX/AI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: v2/GAMESFX/AI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: v2/GAMESFX/AI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: v2/GAMESFX/AI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: v2/GAMESFX/AI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: v2/GAMESFX/AI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: v2/GAMESFX/AI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: v2/GAMESFX/AI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: v2/GAMESFX/AI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: v2/GAMESFX/AI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: v2/GAMESFX/AI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: v2/GAMESFX/AI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: v2/GAMESFX/AI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: v2/GAMESFX/AI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: v2/GAMESFX/AI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: v2/GAMESFX/AI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: v2/GAMESFX/AI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: v2/GAMESFX/AI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: v2/GAMESFX/AI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: v2/GAMESFX/AI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: v2/GAMESFX/AI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: v2/GAMESFX/AI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: v2/GAMESFX/AI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: v2/GAMESFX/AI_MAP8A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: v2/GAMESFX/AI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: v2/GAMESFX/AI_MEND.AUD - ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: v2/GAMESFX/AI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: v2/GAMESFX/AI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: v2/GAMESFX/AI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: v2/GAMESFX/AI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: v2/GAMESFX/AI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: v2/GAMESFX/AI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: v2/GAMESFX/AI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: v2/GAMESFX/AI_POWER.AUD - ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: v2/GAMESFX/AI_PREP.AUD - ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: v2/GAMESFX/AI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: v2/GAMESFX/AI_REINF.AUD - ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: v2/GAMESFX/AI_RUN.AUD - ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: v2/GAMESFX/AI_SELL.AUD - ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: v2/GAMESFX/AI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: v2/GAMESFX/AI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: v2/GAMESFX/AI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: v2/GAMESFX/AI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: v2/GAMESFX/AI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: v2/GAMESFX/AI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: v2/GAMESFX/AI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: v2/GAMESFX/AI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: v2/GAMESFX/AI_WSIGN.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: v2/GAMESFX/G_SCONF1.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: v2/GAMESFX/G_SCONF2.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: v2/GAMESFX/G_SCONF3.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: v2/GAMESFX/G_SSEL1.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: v2/GAMESFX/G_SSEL2.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: v2/GAMESFX/G_SSEL3.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: v2/GAMESFX/H_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: v2/GAMESFX/H_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: v2/GAMESFX/H_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: v2/GAMESFX/H_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: v2/GAMESFX/H_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: v2/GAMESFX/H_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: v2/GAMESFX/H_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: v2/GAMESFX/H_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: v2/GAMESFX/H_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: v2/GAMESFX/H_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: v2/GAMESFX/H_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: v2/GAMESFX/H_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: v2/GAMESFX/H_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: v2/GAMESFX/H_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: v2/GAMESFX/H_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: v2/GAMESFX/H_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: v2/GAMESFX/H_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: v2/GAMESFX/H_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: v2/GAMESFX/HI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: v2/GAMESFX/HI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: v2/GAMESFX/HI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: v2/GAMESFX/HI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: v2/GAMESFX/HI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: v2/GAMESFX/HI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: v2/GAMESFX/HI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: v2/GAMESFX/HI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: v2/GAMESFX/HI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: v2/GAMESFX/HI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: v2/GAMESFX/HI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: v2/GAMESFX/HI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: v2/GAMESFX/HI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: v2/GAMESFX/HI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: v2/GAMESFX/HI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: v2/GAMESFX/HI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: v2/GAMESFX/HI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: v2/GAMESFX/HI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: v2/GAMESFX/HI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: v2/GAMESFX/HI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: v2/GAMESFX/HI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: v2/GAMESFX/HI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: v2/GAMESFX/HI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: v2/GAMESFX/HI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: v2/GAMESFX/HI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: v2/GAMESFX/HI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: v2/GAMESFX/HI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: v2/GAMESFX/HI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: v2/GAMESFX/HI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: v2/GAMESFX/HI_MAP3B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: v2/GAMESFX/HI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: v2/GAMESFX/HI_MAP4B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: v2/GAMESFX/HI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: v2/GAMESFX/HI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: v2/GAMESFX/HI_MAP6B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: v2/GAMESFX/HI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: v2/GAMESFX/HI_MAP9.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: v2/GAMESFX/HI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: v2/GAMESFX/HI_MEND.AUD - ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: v2/GAMESFX/HI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: v2/GAMESFX/HI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: v2/GAMESFX/HI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: v2/GAMESFX/HI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: v2/GAMESFX/HI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: v2/GAMESFX/HI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: v2/GAMESFX/HI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: v2/GAMESFX/HI_POWER.AUD - ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: v2/GAMESFX/HI_PREP.AUD - ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: v2/GAMESFX/HI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: v2/GAMESFX/HI_REINF.AUD - ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: v2/GAMESFX/HI_RUN.AUD - ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: v2/GAMESFX/HI_SELL.AUD - ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: v2/GAMESFX/HI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: v2/GAMESFX/HI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: v2/GAMESFX/HI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: v2/GAMESFX/HI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: v2/GAMESFX/HI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: v2/GAMESFX/HI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: v2/GAMESFX/HI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: v2/GAMESFX/HI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: v2/GAMESFX/HI_WSIGN.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: v2/GAMESFX/O_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: v2/GAMESFX/O_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: v2/GAMESFX/O_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: v2/GAMESFX/O_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: v2/GAMESFX/O_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: v2/GAMESFX/O_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: v2/GAMESFX/O_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: v2/GAMESFX/O_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: v2/GAMESFX/O_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: v2/GAMESFX/O_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: v2/GAMESFX/O_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: v2/GAMESFX/O_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: v2/GAMESFX/O_SCONF1.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: v2/GAMESFX/O_SCONF2.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: v2/GAMESFX/O_SCONF3.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: v2/GAMESFX/O_SSEL1.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: v2/GAMESFX/O_SSEL2.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: v2/GAMESFX/O_SSEL3.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: v2/GAMESFX/O_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: v2/GAMESFX/O_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: v2/GAMESFX/O_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: v2/GAMESFX/O_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: v2/GAMESFX/O_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: v2/GAMESFX/O_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: v2/GAMESFX/OI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: v2/GAMESFX/OI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: v2/GAMESFX/OI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: v2/GAMESFX/OI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: v2/GAMESFX/OI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: v2/GAMESFX/OI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: v2/GAMESFX/OI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: v2/GAMESFX/OI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: v2/GAMESFX/OI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: v2/GAMESFX/OI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: v2/GAMESFX/OI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: v2/GAMESFX/OI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: v2/GAMESFX/OI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: v2/GAMESFX/OI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: v2/GAMESFX/OI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: v2/GAMESFX/OI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: v2/GAMESFX/OI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: v2/GAMESFX/OI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: v2/GAMESFX/OI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: v2/GAMESFX/OI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: v2/GAMESFX/OI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: v2/GAMESFX/OI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: v2/GAMESFX/OI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: v2/GAMESFX/OI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: v2/GAMESFX/OI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: v2/GAMESFX/OI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: v2/GAMESFX/OI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: v2/GAMESFX/OI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: v2/GAMESFX/OI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: v2/GAMESFX/OI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: v2/GAMESFX/OI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: v2/GAMESFX/OI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: v2/GAMESFX/OI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: v2/GAMESFX/OI_MAP8A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: v2/GAMESFX/OI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: v2/GAMESFX/OI_MEND.AUD - ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: v2/GAMESFX/OI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: v2/GAMESFX/OI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: v2/GAMESFX/OI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: v2/GAMESFX/OI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: v2/GAMESFX/OI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: v2/GAMESFX/OI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: v2/GAMESFX/OI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: v2/GAMESFX/OI_POWER.AUD - ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: v2/GAMESFX/OI_PREP.AUD - ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: v2/GAMESFX/OI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: v2/GAMESFX/OI_REINF.AUD - ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: v2/GAMESFX/OI_RUN.AUD - ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: v2/GAMESFX/OI_SELL.AUD - ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: v2/GAMESFX/OI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: v2/GAMESFX/OI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: v2/GAMESFX/OI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: v2/GAMESFX/OI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: v2/GAMESFX/OI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: v2/GAMESFX/OI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: v2/GAMESFX/OI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: v2/GAMESFX/OI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: v2/GAMESFX/OI_WSIGN.AUD - ^Content/d2k/v2/MOUSE.R8: v2/MOUSE.R8 - ^Content/d2k/v2/PALETTE.BIN: v2/PALETTE.BIN - ^Content/d2k/v2/SOUND.RS: v2/SOUND.RS - ^Content/d2k/v2/BLOXXMAS.R8: v2/BLOXXMAS.R8 - ^Content/d2k/v2/DATA.R8: v2/DATA.R8 - basefiles: Base Content - MirrorList: http://www.openra.net/packages/d2k-base-mirrors.txt - Extract: - ^Content/d2k/v2/BLOXBASE.R8: v2/BLOXBASE.R8 - ^Content/d2k/v2/BLOXBAT.R8: v2/BLOXBAT.R8 - ^Content/d2k/v2/BLOXBGBS.R8: v2/BLOXBGBS.R8 - ^Content/d2k/v2/BLOXICE.R8: v2/BLOXICE.R8 - ^Content/d2k/v2/BLOXTREE.R8: v2/BLOXTREE.R8 - ^Content/d2k/v2/BLOXWAST.R8: v2/BLOXWAST.R8 - ^Content/d2k/v2/FONT.BIN: v2/FONT.BIN - ^Content/d2k/v2/FONTCOL.FNT: v2/FONTCOL.FNT - ^Content/d2k/v2/FONTCOL.FPL: v2/FONTCOL.FPL - ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: v2/GAMESFX/A_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: v2/GAMESFX/A_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: v2/GAMESFX/A_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: v2/GAMESFX/A_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: v2/GAMESFX/A_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: v2/GAMESFX/A_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: v2/GAMESFX/A_FCONF1.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: v2/GAMESFX/A_FCONF2.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: v2/GAMESFX/A_FCONF3.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: v2/GAMESFX/A_FCONF4.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: v2/GAMESFX/A_FSEL1.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: v2/GAMESFX/A_FSEL2.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: v2/GAMESFX/A_FSEL3.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: v2/GAMESFX/A_FSEL4.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: v2/GAMESFX/A_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: v2/GAMESFX/A_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: v2/GAMESFX/A_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: v2/GAMESFX/A_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: v2/GAMESFX/A_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: v2/GAMESFX/A_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: v2/GAMESFX/A_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: v2/GAMESFX/A_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: v2/GAMESFX/A_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: v2/GAMESFX/A_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: v2/GAMESFX/A_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: v2/GAMESFX/A_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: v2/GAMESFX/AI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: v2/GAMESFX/AI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: v2/GAMESFX/AI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: v2/GAMESFX/AI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: v2/GAMESFX/AI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: v2/GAMESFX/AI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: v2/GAMESFX/AI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: v2/GAMESFX/AI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: v2/GAMESFX/AI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: v2/GAMESFX/AI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: v2/GAMESFX/AI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: v2/GAMESFX/AI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: v2/GAMESFX/AI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: v2/GAMESFX/AI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: v2/GAMESFX/AI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: v2/GAMESFX/AI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: v2/GAMESFX/AI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: v2/GAMESFX/AI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: v2/GAMESFX/AI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: v2/GAMESFX/AI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: v2/GAMESFX/AI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: v2/GAMESFX/AI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: v2/GAMESFX/AI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: v2/GAMESFX/AI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: v2/GAMESFX/AI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: v2/GAMESFX/AI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: v2/GAMESFX/AI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: v2/GAMESFX/AI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: v2/GAMESFX/AI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: v2/GAMESFX/AI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: v2/GAMESFX/AI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: v2/GAMESFX/AI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: v2/GAMESFX/AI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: v2/GAMESFX/AI_MAP8A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: v2/GAMESFX/AI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: v2/GAMESFX/AI_MEND.AUD - ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: v2/GAMESFX/AI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: v2/GAMESFX/AI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: v2/GAMESFX/AI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: v2/GAMESFX/AI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: v2/GAMESFX/AI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: v2/GAMESFX/AI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: v2/GAMESFX/AI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: v2/GAMESFX/AI_POWER.AUD - ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: v2/GAMESFX/AI_PREP.AUD - ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: v2/GAMESFX/AI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: v2/GAMESFX/AI_REINF.AUD - ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: v2/GAMESFX/AI_RUN.AUD - ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: v2/GAMESFX/AI_SELL.AUD - ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: v2/GAMESFX/AI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: v2/GAMESFX/AI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: v2/GAMESFX/AI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: v2/GAMESFX/AI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: v2/GAMESFX/AI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: v2/GAMESFX/AI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: v2/GAMESFX/AI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: v2/GAMESFX/AI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: v2/GAMESFX/AI_WSIGN.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: v2/GAMESFX/G_SCONF1.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: v2/GAMESFX/G_SCONF2.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: v2/GAMESFX/G_SCONF3.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: v2/GAMESFX/G_SSEL1.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: v2/GAMESFX/G_SSEL2.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: v2/GAMESFX/G_SSEL3.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: v2/GAMESFX/H_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: v2/GAMESFX/H_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: v2/GAMESFX/H_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: v2/GAMESFX/H_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: v2/GAMESFX/H_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: v2/GAMESFX/H_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: v2/GAMESFX/H_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: v2/GAMESFX/H_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: v2/GAMESFX/H_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: v2/GAMESFX/H_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: v2/GAMESFX/H_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: v2/GAMESFX/H_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: v2/GAMESFX/H_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: v2/GAMESFX/H_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: v2/GAMESFX/H_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: v2/GAMESFX/H_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: v2/GAMESFX/H_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: v2/GAMESFX/H_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: v2/GAMESFX/HI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: v2/GAMESFX/HI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: v2/GAMESFX/HI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: v2/GAMESFX/HI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: v2/GAMESFX/HI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: v2/GAMESFX/HI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: v2/GAMESFX/HI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: v2/GAMESFX/HI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: v2/GAMESFX/HI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: v2/GAMESFX/HI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: v2/GAMESFX/HI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: v2/GAMESFX/HI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: v2/GAMESFX/HI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: v2/GAMESFX/HI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: v2/GAMESFX/HI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: v2/GAMESFX/HI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: v2/GAMESFX/HI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: v2/GAMESFX/HI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: v2/GAMESFX/HI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: v2/GAMESFX/HI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: v2/GAMESFX/HI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: v2/GAMESFX/HI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: v2/GAMESFX/HI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: v2/GAMESFX/HI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: v2/GAMESFX/HI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: v2/GAMESFX/HI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: v2/GAMESFX/HI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: v2/GAMESFX/HI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: v2/GAMESFX/HI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: v2/GAMESFX/HI_MAP3B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: v2/GAMESFX/HI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: v2/GAMESFX/HI_MAP4B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: v2/GAMESFX/HI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: v2/GAMESFX/HI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: v2/GAMESFX/HI_MAP6B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: v2/GAMESFX/HI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: v2/GAMESFX/HI_MAP9.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: v2/GAMESFX/HI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: v2/GAMESFX/HI_MEND.AUD - ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: v2/GAMESFX/HI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: v2/GAMESFX/HI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: v2/GAMESFX/HI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: v2/GAMESFX/HI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: v2/GAMESFX/HI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: v2/GAMESFX/HI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: v2/GAMESFX/HI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: v2/GAMESFX/HI_POWER.AUD - ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: v2/GAMESFX/HI_PREP.AUD - ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: v2/GAMESFX/HI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: v2/GAMESFX/HI_REINF.AUD - ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: v2/GAMESFX/HI_RUN.AUD - ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: v2/GAMESFX/HI_SELL.AUD - ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: v2/GAMESFX/HI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: v2/GAMESFX/HI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: v2/GAMESFX/HI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: v2/GAMESFX/HI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: v2/GAMESFX/HI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: v2/GAMESFX/HI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: v2/GAMESFX/HI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: v2/GAMESFX/HI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: v2/GAMESFX/HI_WSIGN.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: v2/GAMESFX/O_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: v2/GAMESFX/O_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: v2/GAMESFX/O_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: v2/GAMESFX/O_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: v2/GAMESFX/O_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: v2/GAMESFX/O_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: v2/GAMESFX/O_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: v2/GAMESFX/O_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: v2/GAMESFX/O_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: v2/GAMESFX/O_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: v2/GAMESFX/O_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: v2/GAMESFX/O_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: v2/GAMESFX/O_SCONF1.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: v2/GAMESFX/O_SCONF2.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: v2/GAMESFX/O_SCONF3.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: v2/GAMESFX/O_SSEL1.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: v2/GAMESFX/O_SSEL2.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: v2/GAMESFX/O_SSEL3.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: v2/GAMESFX/O_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: v2/GAMESFX/O_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: v2/GAMESFX/O_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: v2/GAMESFX/O_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: v2/GAMESFX/O_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: v2/GAMESFX/O_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: v2/GAMESFX/OI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: v2/GAMESFX/OI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: v2/GAMESFX/OI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: v2/GAMESFX/OI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: v2/GAMESFX/OI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: v2/GAMESFX/OI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: v2/GAMESFX/OI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: v2/GAMESFX/OI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: v2/GAMESFX/OI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: v2/GAMESFX/OI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: v2/GAMESFX/OI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: v2/GAMESFX/OI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: v2/GAMESFX/OI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: v2/GAMESFX/OI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: v2/GAMESFX/OI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: v2/GAMESFX/OI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: v2/GAMESFX/OI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: v2/GAMESFX/OI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: v2/GAMESFX/OI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: v2/GAMESFX/OI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: v2/GAMESFX/OI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: v2/GAMESFX/OI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: v2/GAMESFX/OI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: v2/GAMESFX/OI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: v2/GAMESFX/OI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: v2/GAMESFX/OI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: v2/GAMESFX/OI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: v2/GAMESFX/OI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: v2/GAMESFX/OI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: v2/GAMESFX/OI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: v2/GAMESFX/OI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: v2/GAMESFX/OI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: v2/GAMESFX/OI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: v2/GAMESFX/OI_MAP8A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: v2/GAMESFX/OI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: v2/GAMESFX/OI_MEND.AUD - ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: v2/GAMESFX/OI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: v2/GAMESFX/OI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: v2/GAMESFX/OI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: v2/GAMESFX/OI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: v2/GAMESFX/OI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: v2/GAMESFX/OI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: v2/GAMESFX/OI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: v2/GAMESFX/OI_POWER.AUD - ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: v2/GAMESFX/OI_PREP.AUD - ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: v2/GAMESFX/OI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: v2/GAMESFX/OI_REINF.AUD - ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: v2/GAMESFX/OI_RUN.AUD - ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: v2/GAMESFX/OI_SELL.AUD - ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: v2/GAMESFX/OI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: v2/GAMESFX/OI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: v2/GAMESFX/OI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: v2/GAMESFX/OI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: v2/GAMESFX/OI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: v2/GAMESFX/OI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: v2/GAMESFX/OI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: v2/GAMESFX/OI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: v2/GAMESFX/OI_WSIGN.AUD - ^Content/d2k/v2/MOUSE.R8: v2/MOUSE.R8 - ^Content/d2k/v2/PALETTE.BIN: v2/PALETTE.BIN - ^Content/d2k/v2/SOUND.RS: v2/SOUND.RS - patch106: Patch 1.06 Content - MirrorList: http://www.openra.net/packages/d2k-patch106-mirrors.txt - Extract: - ^Content/d2k/v2/BLOXXMAS.R8: v2/BLOXXMAS.R8 - ^Content/d2k/v2/DATA.R8: v2/DATA.R8 + d2k|installer/downloads.yaml Sources: - d2k: Dune 2000 (English) - IDFiles: - MUSIC/AMBUSH.AUD: bd5926a56a83bc0e49f96037e1f909014ac0772a - SETUP/SETUP.Z: 937f5ceb1236bf3f3d4e43929305ffe5004078e7 - Install: - copy: MOVIES - ^Content/d2k/v2/Movies/A_BR01_E.VQA: A_BR01_E.VQA - ^Content/d2k/v2/Movies/A_BR02_E.VQA: A_BR02_E.VQA - ^Content/d2k/v2/Movies/A_BR03_E.VQA: A_BR03_E.VQA - ^Content/d2k/v2/Movies/A_BR04_E.VQA: A_BR04_E.VQA - ^Content/d2k/v2/Movies/A_BR05_E.VQA: A_BR05_E.VQA - ^Content/d2k/v2/Movies/A_BR06_E.VQA: A_BR06_E.VQA - ^Content/d2k/v2/Movies/A_BR07_E.VQA: A_BR07_E.VQA - ^Content/d2k/v2/Movies/A_BR08_E.VQA: A_BR08_E.VQA - ^Content/d2k/v2/Movies/A_BR09_E.VQA: A_BR09_E.VQA - ^Content/d2k/v2/Movies/A_FINL_E.VQA: A_FINL_E.VQA - ^Content/d2k/v2/Movies/A_LOSE_E.VQA: A_LOSE_E.VQA - ^Content/d2k/v2/Movies/A_MNTG_E.VQA: A_MNTG_E.VQA - ^Content/d2k/v2/Movies/H_BR01_E.VQA: H_BR01_E.VQA - ^Content/d2k/v2/Movies/H_BR02_E.VQA: H_BR02_E.VQA - ^Content/d2k/v2/Movies/H_BR03_E.VQA: H_BR03_E.VQA - ^Content/d2k/v2/Movies/H_BR04_E.VQA: H_BR04_E.VQA - ^Content/d2k/v2/Movies/H_BR05_E.VQA: H_BR05_E.VQA - ^Content/d2k/v2/Movies/H_BR06_E.VQA: H_BR06_E.VQA - ^Content/d2k/v2/Movies/H_BR07_E.VQA: H_BR07_E.VQA - ^Content/d2k/v2/Movies/H_BR08_E.VQA: H_BR08_E.VQA - ^Content/d2k/v2/Movies/H_BR09_E.VQA: H_BR09_E.VQA - ^Content/d2k/v2/Movies/H_FINL_E.VQA: H_FINL_E.VQA - ^Content/d2k/v2/Movies/H_LOSE_E.VQA: H_LOSE_E.VQA - ^Content/d2k/v2/Movies/H_MNTG_E.VQA: H_MNTG_E.VQA - ^Content/d2k/v2/Movies/O_BR01_E.VQA: O_BR01_E.VQA - ^Content/d2k/v2/Movies/O_BR02_E.VQA: O_BR02_E.VQA - ^Content/d2k/v2/Movies/O_BR03_E.VQA: O_BR03_E.VQA - ^Content/d2k/v2/Movies/O_BR04_E.VQA: O_BR04_E.VQA - ^Content/d2k/v2/Movies/O_BR05_E.VQA: O_BR05_E.VQA - ^Content/d2k/v2/Movies/O_BR06_E.VQA: O_BR06_E.VQA - ^Content/d2k/v2/Movies/O_BR07_E.VQA: O_BR07_E.VQA - ^Content/d2k/v2/Movies/O_BR08_E.VQA: O_BR08_E.VQA - ^Content/d2k/v2/Movies/O_BR09_E.VQA: O_BR09_E.VQA - ^Content/d2k/v2/Movies/O_FINL_E.VQA: O_FINL_E.VQA - ^Content/d2k/v2/Movies/O_LOSE_E.VQA: O_LOSE_E.VQA - ^Content/d2k/v2/Movies/O_MNTG_E.VQA: O_MNTG_E.VQA - ^Content/d2k/v2/Movies/G_INT1_E.VQA: G_INT1_E.VQA - ^Content/d2k/v2/Movies/G_INT2_E.VQA: G_INT2_E.VQA - ^Content/d2k/v2/Movies/G_MAPS_E.VQA: G_MAPS_E.VQA - ^Content/d2k/v2/Movies/G_PLN2_E.VQA: G_PLN2_E.VQA - ^Content/d2k/v2/Movies/G_PLNT_E.VQA: G_PLNT_E.VQA - ^Content/d2k/v2/Movies/T_TITL_E.VQA: T_TITL_E.VQA - copy: MUSIC - ^Content/d2k/v2/Music/AMBUSH.AUD: AMBUSH.AUD - ^Content/d2k/v2/Music/ARAKATAK.AUD: ARAKATAK.AUD - ^Content/d2k/v2/Music/ATREGAIN.AUD: ATREGAIN.AUD - ^Content/d2k/v2/Music/ENTORDOS.AUD: ENTORDOS.AUD - ^Content/d2k/v2/Music/FIGHTPWR.AUD: FIGHTPWR.AUD - ^Content/d2k/v2/Music/FREMEN.AUD: FREMEN.AUD - ^Content/d2k/v2/Music/HARK_BAT.AUD: HARK_BAT.AUD - ^Content/d2k/v2/Music/LANDSAND.AUD: LANDSAND.AUD - ^Content/d2k/v2/Music/OPTIONS.AUD: OPTIONS.AUD - ^Content/d2k/v2/Music/PLOTTING.AUD: PLOTTING.AUD - ^Content/d2k/v2/Music/RISEHARK.AUD: RISEHARK.AUD - ^Content/d2k/v2/Music/ROBOTIX.AUD: ROBOTIX.AUD - ^Content/d2k/v2/Music/SCORE.AUD: SCORE.AUD - ^Content/d2k/v2/Music/SOLDAPPR.AUD: SOLDAPPR.AUD - ^Content/d2k/v2/Music/SPICESCT.AUD: SPICESCT.AUD - ^Content/d2k/v2/Music/UNDERCON.AUD: UNDERCON.AUD - ^Content/d2k/v2/Music/WAITGAME.A: WAITGAME.AUD - extract-blast: SETUP/SETUP.Z - ^Content/d2k/v2/BLOXBAT.R8: - Offset: 1156652 - Length: 512750 - ^Content/d2k/v2/BLOXBASE.R8: - Offset: 1669402 - Length: 497092 - ^Content/d2k/v2/BLOXBGBS.R8: - Offset: 4055223 - Length: 499135 - ^Content/d2k/v2/BLOXICE.R8: - Offset: 5524509 - Length: 514963 - ^Content/d2k/v2/BLOXTREE.R8: - Offset: 6994370 - Length: 509867 - ^Content/d2k/v2/BLOXWAST.R8: - Offset: 8455018 - Length: 508567 - ^Content/d2k/v2/MOUSE.R8: - Offset: 14012491 - Length: 16996 - ^Content/d2k/v2/PALETTE.BIN: - Offset: 22938401 - Length: 815 - ^Content/d2k/v2/FONT.BIN: - Offset: 22927461 - Length: 199 - ^Content/d2k/v2/FONTCOL.FNT: - Offset: 13985176 - Length: 3011 - ^Content/d2k/v2/FONTCOL.FPL: - Offset: 13988187 - Length: 238 - ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: - Offset: 15560305 - Length: 9647 - ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: - Offset: 15569952 - Length: 8676 - ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: - Offset: 15578628 - Length: 9641 - ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: - Offset: 15588269 - Length: 7371 - ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: - Offset: 15595640 - Length: 11326 - ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: - Offset: 15606966 - Length: 11329 - ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: - Offset: 15618295 - Length: 8964 - ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: - Offset: 15627259 - Length: 11336 - ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: - Offset: 15638595 - Length: 14606 - ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: - Offset: 15653201 - Length: 27230 - ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: - Offset: 15680431 - Length: 19621 - ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: - Offset: 15700052 - Length: 28781 - ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: - Offset: 15728833 - Length: 29703 - ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: - Offset: 15758536 - Length: 29555 - ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: - Offset: 15788091 - Length: 27961 - ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: - Offset: 15816052 - Length: 20925 - ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: - Offset: 15836977 - Length: 10925 - ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: - Offset: 15847902 - Length: 8125 - ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: - Offset: 15856027 - Length: 26212 - ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: - Offset: 15882239 - Length: 27166 - ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: - Offset: 15909405 - Length: 31126 - ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: - Offset: 15940531 - Length: 33481 - ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: - Offset: 15974012 - Length: 17265 - ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: - Offset: 15991277 - Length: 14523 - ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: - Offset: 16005800 - Length: 18266 - ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: - Offset: 16024066 - Length: 8467 - ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: - Offset: 16032533 - Length: 9748 - ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: - Offset: 16042281 - Length: 14264 - ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: - Offset: 16056545 - Length: 12087 - ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: - Offset: 16068632 - Length: 14428 - ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: - Offset: 16083060 - Length: 16985 - ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: - Offset: 16100045 - Length: 12638 - ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: - Offset: 16112683 - Length: 13229 - ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: - Offset: 16125912 - Length: 26572 - ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: - Offset: 16152484 - Length: 12085 - ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: - Offset: 16164569 - Length: 18232 - ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: - Offset: 16182801 - Length: 8328 - ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: - Offset: 16191129 - Length: 12497 - ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: - Offset: 16203626 - Length: 9546 - ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: - Offset: 16213172 - Length: 17135 - ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: - Offset: 16230307 - Length: 26937 - ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: - Offset: 16257244 - Length: 17940 - ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: - Offset: 16275184 - Length: 14985 - ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: - Offset: 16290169 - Length: 9089 - ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: - Offset: 16299258 - Length: 28401 - ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: - Offset: 16327659 - Length: 23949 - ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: - Offset: 16351608 - Length: 29489 - ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: - Offset: 16381097 - Length: 11016 - ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: - Offset: 16392113 - Length: 27566 - ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: - Offset: 16419679 - Length: 26539 - ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: - Offset: 16446218 - Length: 30821 - ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: - Offset: 16477039 - Length: 7978 - ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: - Offset: 16485017 - Length: 11880 - ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: - Offset: 16496897 - Length: 8995 - ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: - Offset: 16505892 - Length: 10120 - ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: - Offset: 16516012 - Length: 8999 - ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: - Offset: 16525011 - Length: 6593 - ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: - Offset: 16531604 - Length: 34790 - ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: - Offset: 16566394 - Length: 35606 - ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: - Offset: 16602000 - Length: 10303 - ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: - Offset: 16612303 - Length: 22969 - ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: - Offset: 16635272 - Length: 31816 - ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: - Offset: 16667088 - Length: 19585 - ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: - Offset: 16686673 - Length: 14563 - ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: - Offset: 16701236 - Length: 13353 - ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: - Offset: 16714589 - Length: 9671 - ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: - Offset: 16724260 - Length: 15031 - ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: - Offset: 16739291 - Length: 28368 - ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: - Offset: 16767659 - Length: 9649 - ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: - Offset: 16777308 - Length: 17157 - ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: - Offset: 16794465 - Length: 13407 - ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: - Offset: 16807872 - Length: 29910 - ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: - Offset: 16837782 - Length: 22890 - ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: - Offset: 16860672 - Length: 22923 - ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: - Offset: 16883595 - Length: 34017 - ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: - Offset: 16917612 - Length: 56714 - ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: - Offset: 16974326 - Length: 27200 - ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: - Offset: 17001526 - Length: 19828 - ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: - Offset: 17021354 - Length: 13869 - ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: - Offset: 17035223 - Length: 14197 - ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: - Offset: 17049420 - Length: 29136 - ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: - Offset: 17078556 - Length: 26204 - ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: - Offset: 17104760 - Length: 24264 - ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: - Offset: 17129024 - Length: 43921 - ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: - Offset: 17172945 - Length: 22151 - ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: - Offset: 17195096 - Length: 12300 - ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: - Offset: 17207396 - Length: 21971 - ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: - Offset: 17229367 - Length: 22041 - ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: - Offset: 17251408 - Length: 21545 - ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: - Offset: 17272953 - Length: 14344 - ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: - Offset: 17287297 - Length: 28156 - ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: - Offset: 17315453 - Length: 16983 - ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: - Offset: 17332436 - Length: 19583 - ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: - Offset: 17352019 - Length: 12875 - ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: - Offset: 17364894 - Length: 20974 - ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: - Offset: 17385868 - Length: 14699 - ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: - Offset: 17400567 - Length: 20919 - ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: - Offset: 17421486 - Length: 18984 - ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: - Offset: 17440470 - Length: 11779 - ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: - Offset: 17452249 - Length: 13980 - ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: - Offset: 17466229 - Length: 33483 - ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: - Offset: 17499712 - Length: 26566 - ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: - Offset: 17526278 - Length: 25237 - ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: - Offset: 17551515 - Length: 16072 - ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: - Offset: 17567587 - Length: 12037 - ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: - Offset: 17579624 - Length: 30243 - ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: - Offset: 17609867 - Length: 31710 - ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: - Offset: 17641577 - Length: 27450 - ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: - Offset: 17669027 - Length: 30854 - ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: - Offset: 17699881 - Length: 10860 - ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: - Offset: 17710741 - Length: 19337 - ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: - Offset: 17730078 - Length: 15004 - ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: - Offset: 17745082 - Length: 23023 - ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: - Offset: 17768105 - Length: 22321 - ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: - Offset: 17790426 - Length: 21698 - ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: - Offset: 17812124 - Length: 10282 - ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: - Offset: 17822406 - Length: 28615 - ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: - Offset: 17851021 - Length: 12771 - ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: - Offset: 17863792 - Length: 9917 - ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: - Offset: 17873709 - Length: 18502 - ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: - Offset: 17892211 - Length: 12832 - ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: - Offset: 17905043 - Length: 22413 - ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: - Offset: 17927456 - Length: 29577 - ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: - Offset: 17957033 - Length: 24798 - ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: - Offset: 17981831 - Length: 14784 - ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: - Offset: 17996615 - Length: 18526 - ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: - Offset: 18015141 - Length: 12390 - ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: - Offset: 18027531 - Length: 11851 - ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: - Offset: 18039382 - Length: 9867 - ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: - Offset: 18049249 - Length: 16907 - ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: - Offset: 18066156 - Length: 17659 - ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: - Offset: 18083815 - Length: 20337 - ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: - Offset: 18104152 - Length: 18877 - ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: - Offset: 18123029 - Length: 30788 - ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: - Offset: 18153817 - Length: 18322 - ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: - Offset: 18172139 - Length: 22178 - ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: - Offset: 18194317 - Length: 24878 - ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: - Offset: 18219195 - Length: 15741 - ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: - Offset: 18234936 - Length: 14892 - ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: - Offset: 18249828 - Length: 23026 - ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: - Offset: 18272854 - Length: 43938 - ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: - Offset: 18316792 - Length: 10992 - ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: - Offset: 18327784 - Length: 19514 - ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: - Offset: 18347298 - Length: 23895 - ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: - Offset: 18371193 - Length: 18626 - ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: - Offset: 18389819 - Length: 22564 - ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: - Offset: 18412383 - Length: 18445 - ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: - Offset: 18430828 - Length: 19492 - ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: - Offset: 18450320 - Length: 14194 - ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: - Offset: 18464514 - Length: 8310 - ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: - Offset: 18472824 - Length: 8332 - ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: - Offset: 18481156 - Length: 15789 - ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: - Offset: 18496945 - Length: 9791 - ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: - Offset: 18506736 - Length: 15099 - ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: - Offset: 18521835 - Length: 14863 - ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: - Offset: 18536698 - Length: 9753 - ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: - Offset: 18546451 - Length: 9329 - ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: - Offset: 18555780 - Length: 9449 - ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: - Offset: 18565229 - Length: 15600 - ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: - Offset: 18580829 - Length: 16157 - ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: - Offset: 18596986 - Length: 13149 - ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: - Offset: 18610135 - Length: 13928 - ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: - Offset: 18624063 - Length: 16430 - ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: - Offset: 18640493 - Length: 41640 - ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: - Offset: 18682133 - Length: 41809 - ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: - Offset: 18723942 - Length: 29117 - ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: - Offset: 18753059 - Length: 36982 - ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: - Offset: 18790041 - Length: 60681 - ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: - Offset: 18850722 - Length: 21396 - ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: - Offset: 18872118 - Length: 37995 - ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: - Offset: 18910113 - Length: 32674 - ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: - Offset: 18942787 - Length: 18399 - ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: - Offset: 18961186 - Length: 26359 - ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: - Offset: 18987545 - Length: 21335 - ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: - Offset: 19008880 - Length: 28418 - ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: - Offset: 19037298 - Length: 9269 - ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: - Offset: 19046567 - Length: 19854 - ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: - Offset: 19066421 - Length: 20038 - ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: - Offset: 19086459 - Length: 16073 - ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: - Offset: 19102532 - Length: 14873 - ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: - Offset: 19117405 - Length: 41683 - ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: - Offset: 19159088 - Length: 34475 - ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: - Offset: 19193563 - Length: 34903 - ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: - Offset: 19228466 - Length: 59613 - ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: - Offset: 19288079 - Length: 22150 - ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: - Offset: 19310229 - Length: 9090 - ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: - Offset: 19319319 - Length: 21350 - ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: - Offset: 19340669 - Length: 31478 - ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: - Offset: 19372147 - Length: 19876 - ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: - Offset: 19392023 - Length: 22359 - ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: - Offset: 19414382 - Length: 28902 - ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: - Offset: 19443284 - Length: 26855 - ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: - Offset: 19470139 - Length: 19104 - ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: - Offset: 19489243 - Length: 24655 - ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: - Offset: 19513898 - Length: 23032 - ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: - Offset: 19536930 - Length: 35588 - ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: - Offset: 19572518 - Length: 8945 - ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: - Offset: 19581463 - Length: 9005 - ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: - Offset: 19590468 - Length: 9606 - ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: - Offset: 19600074 - Length: 11671 - ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: - Offset: 19611745 - Length: 10644 - ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: - Offset: 19622389 - Length: 10387 - ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: - Offset: 19632776 - Length: 17225 - ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: - Offset: 19650001 - Length: 10077 - ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: - Offset: 19660078 - Length: 13616 - ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: - Offset: 19673694 - Length: 11251 - ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: - Offset: 19684945 - Length: 8144 - ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: - Offset: 19693089 - Length: 14865 - ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: - Offset: 19707954 - Length: 11912 - ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: - Offset: 19719866 - Length: 19540 - ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: - Offset: 19739406 - Length: 10246 - ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: - Offset: 19749652 - Length: 31148 - ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: - Offset: 19780800 - Length: 8307 - ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: - Offset: 19789107 - Length: 14331 - ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: - Offset: 19803438 - Length: 11295 - ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: - Offset: 19814733 - Length: 20437 - ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: - Offset: 19835170 - Length: 27739 - ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: - Offset: 19862909 - Length: 22200 - ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: - Offset: 19885109 - Length: 9620 - ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: - Offset: 19894729 - Length: 13368 - ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: - Offset: 19908097 - Length: 15612 - ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: - Offset: 19923709 - Length: 8279 - ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: - Offset: 19931988 - Length: 11383 - ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: - Offset: 19943371 - Length: 18511 - ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: - Offset: 19961882 - Length: 14244 - ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: - Offset: 19976126 - Length: 24075 - ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: - Offset: 20000201 - Length: 26716 - ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: - Offset: 20026917 - Length: 21716 - ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: - Offset: 20048633 - Length: 32417 - ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: - Offset: 20081050 - Length: 33724 - ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: - Offset: 20114774 - Length: 21828 - ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: - Offset: 20136602 - Length: 30404 - ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: - Offset: 20167006 - Length: 9862 - ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: - Offset: 20176868 - Length: 18149 - ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: - Offset: 20195017 - Length: 14697 - ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: - Offset: 20209714 - Length: 17316 - ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: - Offset: 20227030 - Length: 14869 - ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: - Offset: 20241899 - Length: 29873 - ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: - Offset: 20271772 - Length: 16335 - ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: - Offset: 20288107 - Length: 20565 - ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: - Offset: 20308672 - Length: 25497 - ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: - Offset: 20334169 - Length: 17142 - ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: - Offset: 20351311 - Length: 20120 - ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: - Offset: 20371431 - Length: 29921 - ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: - Offset: 20401352 - Length: 14467 - ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: - Offset: 20415819 - Length: 10906 - ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: - Offset: 20426725 - Length: 25959 - ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: - Offset: 20452684 - Length: 34175 - ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: - Offset: 20486859 - Length: 30124 - ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: - Offset: 20516983 - Length: 21881 - ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: - Offset: 20538864 - Length: 20567 - ^Content/d2k/v2/SOUND.RS: - Offset: 20559431 - Length: 1929247 - d2k-linux: Dune 2000 (English) - IDFiles: - music/ambush.aud: bd5926a56a83bc0e49f96037e1f909014ac0772a - setup/setup.z: 937f5ceb1236bf3f3d4e43929305ffe5004078e7 - Install: - copy: movies - ^Content/d2k/v2/Movies/A_BR01_E.VQA: a_br01_e.vqa - ^Content/d2k/v2/Movies/A_BR02_E.VQA: a_br02_e.vqa - ^Content/d2k/v2/Movies/A_BR03_E.VQA: a_br03_e.vqa - ^Content/d2k/v2/Movies/A_BR04_E.VQA: a_br04_e.vqa - ^Content/d2k/v2/Movies/A_BR05_E.VQA: a_br05_e.vqa - ^Content/d2k/v2/Movies/A_BR06_E.VQA: a_br06_e.vqa - ^Content/d2k/v2/Movies/A_BR07_E.VQA: a_br07_e.vqa - ^Content/d2k/v2/Movies/A_BR08_E.VQA: a_br08_e.vqa - ^Content/d2k/v2/Movies/A_BR09_E.VQA: a_br09_e.vqa - ^Content/d2k/v2/Movies/A_FINL_E.VQA: a_finl_e.vqa - ^Content/d2k/v2/Movies/A_LOSE_E.VQA: a_lose_e.vqa - ^Content/d2k/v2/Movies/A_MNTG_E.VQA: a_mntg_e.vqa - ^Content/d2k/v2/Movies/H_BR01_E.VQA: h_br01_e.vqa - ^Content/d2k/v2/Movies/H_BR02_E.VQA: h_br02_e.vqa - ^Content/d2k/v2/Movies/H_BR03_E.VQA: h_br03_e.vqa - ^Content/d2k/v2/Movies/H_BR04_E.VQA: h_br04_e.vqa - ^Content/d2k/v2/Movies/H_BR05_E.VQA: h_br05_e.vqa - ^Content/d2k/v2/Movies/H_BR06_E.VQA: h_br06_e.vqa - ^Content/d2k/v2/Movies/H_BR07_E.VQA: h_br07_e.vqa - ^Content/d2k/v2/Movies/H_BR08_E.VQA: h_br08_e.vqa - ^Content/d2k/v2/Movies/H_BR09_E.VQA: h_br09_e.vqa - ^Content/d2k/v2/Movies/H_FINL_E.VQA: h_finl_e.vqa - ^Content/d2k/v2/Movies/H_LOSE_E.VQA: h_lose_e.vqa - ^Content/d2k/v2/Movies/H_MNTG_E.VQA: h_mntg_e.vqa - ^Content/d2k/v2/Movies/O_BR01_E.VQA: o_br01_e.vqa - ^Content/d2k/v2/Movies/O_BR02_E.VQA: o_br02_e.vqa - ^Content/d2k/v2/Movies/O_BR03_E.VQA: o_br03_e.vqa - ^Content/d2k/v2/Movies/O_BR04_E.VQA: o_br04_e.vqa - ^Content/d2k/v2/Movies/O_BR05_E.VQA: o_br05_e.vqa - ^Content/d2k/v2/Movies/O_BR06_E.VQA: o_br06_e.vqa - ^Content/d2k/v2/Movies/O_BR07_E.VQA: o_br07_e.vqa - ^Content/d2k/v2/Movies/O_BR08_E.VQA: o_br08_e.vqa - ^Content/d2k/v2/Movies/O_BR09_E.VQA: o_br09_e.vqa - ^Content/d2k/v2/Movies/O_FINL_E.VQA: o_finl_e.vqa - ^Content/d2k/v2/Movies/O_LOSE_E.VQA: o_lose_e.vqa - ^Content/d2k/v2/Movies/O_MNTG_E.VQA: o_mntg_e.vqa - ^Content/d2k/v2/Movies/G_INT1_E.VQA: g_int1_e.vqa - ^Content/d2k/v2/Movies/G_INT2_E.VQA: g_int2_e.vqa - ^Content/d2k/v2/Movies/G_MAPS_E.VQA: g_maps_e.vqa - ^Content/d2k/v2/Movies/G_PLN2_E.VQA: g_pln2_e.vqa - ^Content/d2k/v2/Movies/G_PLNT_E.VQA: g_plnt_e.vqa - ^Content/d2k/v2/Movies/T_TITL_E.VQA: t_titl_e.vqa - copy: music - ^Content/d2k/v2/Music/AMBUSH.AUD: ambush.aud - ^Content/d2k/v2/Music/ARAKATAK.AUD: arakatak.aud - ^Content/d2k/v2/Music/ATREGAIN.AUD: atregain.aud - ^Content/d2k/v2/Music/ENTORDOS.AUD: entordos.aud - ^Content/d2k/v2/Music/FIGHTPWR.AUD: fightpwr.aud - ^Content/d2k/v2/Music/FREMEN.AUD: fremen.aud - ^Content/d2k/v2/Music/HARK_BAT.AUD: hark_bat.aud - ^Content/d2k/v2/Music/LANDSAND.AUD: landsand.aud - ^Content/d2k/v2/Music/OPTIONS.AUD: options.aud - ^Content/d2k/v2/Music/PLOTTING.AUD: plotting.aud - ^Content/d2k/v2/Music/RISEHARK.AUD: risehark.aud - ^Content/d2k/v2/Music/ROBOTIX.AUD: robotix.aud - ^Content/d2k/v2/Music/SCORE.AUD: score.aud - ^Content/d2k/v2/Music/SOLDAPPR.AUD: soldappr.aud - ^Content/d2k/v2/Music/SPICESCT.AUD: spicesct.aud - ^Content/d2k/v2/Music/UNDERCON.AUD: undercon.aud - ^Content/d2k/v2/Music/WAITGAME.A: waitgame.aud - extract-blast: setup/setup.z - ^Content/d2k/v2/BLOXBAT.R8: - Offset: 1156652 - Length: 512750 - ^Content/d2k/v2/BLOXBASE.R8: - Offset: 1669402 - Length: 497092 - ^Content/d2k/v2/BLOXBGBS.R8: - Offset: 4055223 - Length: 499135 - ^Content/d2k/v2/BLOXICE.R8: - Offset: 5524509 - Length: 514963 - ^Content/d2k/v2/BLOXTREE.R8: - Offset: 6994370 - Length: 509867 - ^Content/d2k/v2/BLOXWAST.R8: - Offset: 8455018 - Length: 508567 - ^Content/d2k/v2/MOUSE.R8: - Offset: 14012491 - Length: 16996 - ^Content/d2k/v2/PALETTE.BIN: - Offset: 22938401 - Length: 815 - ^Content/d2k/v2/FONT.BIN: - Offset: 22927461 - Length: 199 - ^Content/d2k/v2/FONTCOL.FNT: - Offset: 13985176 - Length: 3011 - ^Content/d2k/v2/FONTCOL.FPL: - Offset: 13988187 - Length: 238 - ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: - Offset: 15560305 - Length: 9647 - ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: - Offset: 15569952 - Length: 8676 - ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: - Offset: 15578628 - Length: 9641 - ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: - Offset: 15588269 - Length: 7371 - ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: - Offset: 15595640 - Length: 11326 - ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: - Offset: 15606966 - Length: 11329 - ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: - Offset: 15618295 - Length: 8964 - ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: - Offset: 15627259 - Length: 11336 - ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: - Offset: 15638595 - Length: 14606 - ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: - Offset: 15653201 - Length: 27230 - ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: - Offset: 15680431 - Length: 19621 - ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: - Offset: 15700052 - Length: 28781 - ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: - Offset: 15728833 - Length: 29703 - ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: - Offset: 15758536 - Length: 29555 - ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: - Offset: 15788091 - Length: 27961 - ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: - Offset: 15816052 - Length: 20925 - ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: - Offset: 15836977 - Length: 10925 - ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: - Offset: 15847902 - Length: 8125 - ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: - Offset: 15856027 - Length: 26212 - ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: - Offset: 15882239 - Length: 27166 - ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: - Offset: 15909405 - Length: 31126 - ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: - Offset: 15940531 - Length: 33481 - ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: - Offset: 15974012 - Length: 17265 - ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: - Offset: 15991277 - Length: 14523 - ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: - Offset: 16005800 - Length: 18266 - ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: - Offset: 16024066 - Length: 8467 - ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: - Offset: 16032533 - Length: 9748 - ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: - Offset: 16042281 - Length: 14264 - ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: - Offset: 16056545 - Length: 12087 - ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: - Offset: 16068632 - Length: 14428 - ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: - Offset: 16083060 - Length: 16985 - ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: - Offset: 16100045 - Length: 12638 - ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: - Offset: 16112683 - Length: 13229 - ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: - Offset: 16125912 - Length: 26572 - ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: - Offset: 16152484 - Length: 12085 - ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: - Offset: 16164569 - Length: 18232 - ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: - Offset: 16182801 - Length: 8328 - ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: - Offset: 16191129 - Length: 12497 - ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: - Offset: 16203626 - Length: 9546 - ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: - Offset: 16213172 - Length: 17135 - ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: - Offset: 16230307 - Length: 26937 - ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: - Offset: 16257244 - Length: 17940 - ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: - Offset: 16275184 - Length: 14985 - ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: - Offset: 16290169 - Length: 9089 - ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: - Offset: 16299258 - Length: 28401 - ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: - Offset: 16327659 - Length: 23949 - ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: - Offset: 16351608 - Length: 29489 - ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: - Offset: 16381097 - Length: 11016 - ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: - Offset: 16392113 - Length: 27566 - ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: - Offset: 16419679 - Length: 26539 - ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: - Offset: 16446218 - Length: 30821 - ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: - Offset: 16477039 - Length: 7978 - ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: - Offset: 16485017 - Length: 11880 - ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: - Offset: 16496897 - Length: 8995 - ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: - Offset: 16505892 - Length: 10120 - ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: - Offset: 16516012 - Length: 8999 - ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: - Offset: 16525011 - Length: 6593 - ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: - Offset: 16531604 - Length: 34790 - ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: - Offset: 16566394 - Length: 35606 - ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: - Offset: 16602000 - Length: 10303 - ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: - Offset: 16612303 - Length: 22969 - ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: - Offset: 16635272 - Length: 31816 - ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: - Offset: 16667088 - Length: 19585 - ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: - Offset: 16686673 - Length: 14563 - ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: - Offset: 16701236 - Length: 13353 - ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: - Offset: 16714589 - Length: 9671 - ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: - Offset: 16724260 - Length: 15031 - ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: - Offset: 16739291 - Length: 28368 - ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: - Offset: 16767659 - Length: 9649 - ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: - Offset: 16777308 - Length: 17157 - ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: - Offset: 16794465 - Length: 13407 - ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: - Offset: 16807872 - Length: 29910 - ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: - Offset: 16837782 - Length: 22890 - ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: - Offset: 16860672 - Length: 22923 - ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: - Offset: 16883595 - Length: 34017 - ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: - Offset: 16917612 - Length: 56714 - ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: - Offset: 16974326 - Length: 27200 - ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: - Offset: 17001526 - Length: 19828 - ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: - Offset: 17021354 - Length: 13869 - ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: - Offset: 17035223 - Length: 14197 - ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: - Offset: 17049420 - Length: 29136 - ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: - Offset: 17078556 - Length: 26204 - ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: - Offset: 17104760 - Length: 24264 - ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: - Offset: 17129024 - Length: 43921 - ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: - Offset: 17172945 - Length: 22151 - ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: - Offset: 17195096 - Length: 12300 - ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: - Offset: 17207396 - Length: 21971 - ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: - Offset: 17229367 - Length: 22041 - ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: - Offset: 17251408 - Length: 21545 - ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: - Offset: 17272953 - Length: 14344 - ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: - Offset: 17287297 - Length: 28156 - ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: - Offset: 17315453 - Length: 16983 - ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: - Offset: 17332436 - Length: 19583 - ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: - Offset: 17352019 - Length: 12875 - ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: - Offset: 17364894 - Length: 20974 - ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: - Offset: 17385868 - Length: 14699 - ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: - Offset: 17400567 - Length: 20919 - ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: - Offset: 17421486 - Length: 18984 - ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: - Offset: 17440470 - Length: 11779 - ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: - Offset: 17452249 - Length: 13980 - ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: - Offset: 17466229 - Length: 33483 - ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: - Offset: 17499712 - Length: 26566 - ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: - Offset: 17526278 - Length: 25237 - ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: - Offset: 17551515 - Length: 16072 - ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: - Offset: 17567587 - Length: 12037 - ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: - Offset: 17579624 - Length: 30243 - ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: - Offset: 17609867 - Length: 31710 - ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: - Offset: 17641577 - Length: 27450 - ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: - Offset: 17669027 - Length: 30854 - ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: - Offset: 17699881 - Length: 10860 - ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: - Offset: 17710741 - Length: 19337 - ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: - Offset: 17730078 - Length: 15004 - ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: - Offset: 17745082 - Length: 23023 - ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: - Offset: 17768105 - Length: 22321 - ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: - Offset: 17790426 - Length: 21698 - ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: - Offset: 17812124 - Length: 10282 - ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: - Offset: 17822406 - Length: 28615 - ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: - Offset: 17851021 - Length: 12771 - ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: - Offset: 17863792 - Length: 9917 - ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: - Offset: 17873709 - Length: 18502 - ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: - Offset: 17892211 - Length: 12832 - ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: - Offset: 17905043 - Length: 22413 - ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: - Offset: 17927456 - Length: 29577 - ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: - Offset: 17957033 - Length: 24798 - ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: - Offset: 17981831 - Length: 14784 - ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: - Offset: 17996615 - Length: 18526 - ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: - Offset: 18015141 - Length: 12390 - ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: - Offset: 18027531 - Length: 11851 - ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: - Offset: 18039382 - Length: 9867 - ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: - Offset: 18049249 - Length: 16907 - ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: - Offset: 18066156 - Length: 17659 - ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: - Offset: 18083815 - Length: 20337 - ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: - Offset: 18104152 - Length: 18877 - ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: - Offset: 18123029 - Length: 30788 - ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: - Offset: 18153817 - Length: 18322 - ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: - Offset: 18172139 - Length: 22178 - ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: - Offset: 18194317 - Length: 24878 - ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: - Offset: 18219195 - Length: 15741 - ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: - Offset: 18234936 - Length: 14892 - ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: - Offset: 18249828 - Length: 23026 - ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: - Offset: 18272854 - Length: 43938 - ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: - Offset: 18316792 - Length: 10992 - ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: - Offset: 18327784 - Length: 19514 - ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: - Offset: 18347298 - Length: 23895 - ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: - Offset: 18371193 - Length: 18626 - ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: - Offset: 18389819 - Length: 22564 - ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: - Offset: 18412383 - Length: 18445 - ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: - Offset: 18430828 - Length: 19492 - ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: - Offset: 18450320 - Length: 14194 - ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: - Offset: 18464514 - Length: 8310 - ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: - Offset: 18472824 - Length: 8332 - ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: - Offset: 18481156 - Length: 15789 - ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: - Offset: 18496945 - Length: 9791 - ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: - Offset: 18506736 - Length: 15099 - ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: - Offset: 18521835 - Length: 14863 - ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: - Offset: 18536698 - Length: 9753 - ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: - Offset: 18546451 - Length: 9329 - ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: - Offset: 18555780 - Length: 9449 - ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: - Offset: 18565229 - Length: 15600 - ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: - Offset: 18580829 - Length: 16157 - ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: - Offset: 18596986 - Length: 13149 - ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: - Offset: 18610135 - Length: 13928 - ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: - Offset: 18624063 - Length: 16430 - ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: - Offset: 18640493 - Length: 41640 - ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: - Offset: 18682133 - Length: 41809 - ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: - Offset: 18723942 - Length: 29117 - ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: - Offset: 18753059 - Length: 36982 - ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: - Offset: 18790041 - Length: 60681 - ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: - Offset: 18850722 - Length: 21396 - ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: - Offset: 18872118 - Length: 37995 - ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: - Offset: 18910113 - Length: 32674 - ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: - Offset: 18942787 - Length: 18399 - ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: - Offset: 18961186 - Length: 26359 - ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: - Offset: 18987545 - Length: 21335 - ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: - Offset: 19008880 - Length: 28418 - ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: - Offset: 19037298 - Length: 9269 - ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: - Offset: 19046567 - Length: 19854 - ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: - Offset: 19066421 - Length: 20038 - ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: - Offset: 19086459 - Length: 16073 - ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: - Offset: 19102532 - Length: 14873 - ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: - Offset: 19117405 - Length: 41683 - ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: - Offset: 19159088 - Length: 34475 - ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: - Offset: 19193563 - Length: 34903 - ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: - Offset: 19228466 - Length: 59613 - ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: - Offset: 19288079 - Length: 22150 - ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: - Offset: 19310229 - Length: 9090 - ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: - Offset: 19319319 - Length: 21350 - ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: - Offset: 19340669 - Length: 31478 - ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: - Offset: 19372147 - Length: 19876 - ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: - Offset: 19392023 - Length: 22359 - ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: - Offset: 19414382 - Length: 28902 - ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: - Offset: 19443284 - Length: 26855 - ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: - Offset: 19470139 - Length: 19104 - ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: - Offset: 19489243 - Length: 24655 - ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: - Offset: 19513898 - Length: 23032 - ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: - Offset: 19536930 - Length: 35588 - ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: - Offset: 19572518 - Length: 8945 - ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: - Offset: 19581463 - Length: 9005 - ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: - Offset: 19590468 - Length: 9606 - ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: - Offset: 19600074 - Length: 11671 - ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: - Offset: 19611745 - Length: 10644 - ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: - Offset: 19622389 - Length: 10387 - ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: - Offset: 19632776 - Length: 17225 - ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: - Offset: 19650001 - Length: 10077 - ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: - Offset: 19660078 - Length: 13616 - ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: - Offset: 19673694 - Length: 11251 - ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: - Offset: 19684945 - Length: 8144 - ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: - Offset: 19693089 - Length: 14865 - ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: - Offset: 19707954 - Length: 11912 - ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: - Offset: 19719866 - Length: 19540 - ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: - Offset: 19739406 - Length: 10246 - ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: - Offset: 19749652 - Length: 31148 - ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: - Offset: 19780800 - Length: 8307 - ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: - Offset: 19789107 - Length: 14331 - ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: - Offset: 19803438 - Length: 11295 - ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: - Offset: 19814733 - Length: 20437 - ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: - Offset: 19835170 - Length: 27739 - ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: - Offset: 19862909 - Length: 22200 - ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: - Offset: 19885109 - Length: 9620 - ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: - Offset: 19894729 - Length: 13368 - ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: - Offset: 19908097 - Length: 15612 - ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: - Offset: 19923709 - Length: 8279 - ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: - Offset: 19931988 - Length: 11383 - ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: - Offset: 19943371 - Length: 18511 - ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: - Offset: 19961882 - Length: 14244 - ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: - Offset: 19976126 - Length: 24075 - ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: - Offset: 20000201 - Length: 26716 - ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: - Offset: 20026917 - Length: 21716 - ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: - Offset: 20048633 - Length: 32417 - ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: - Offset: 20081050 - Length: 33724 - ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: - Offset: 20114774 - Length: 21828 - ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: - Offset: 20136602 - Length: 30404 - ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: - Offset: 20167006 - Length: 9862 - ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: - Offset: 20176868 - Length: 18149 - ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: - Offset: 20195017 - Length: 14697 - ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: - Offset: 20209714 - Length: 17316 - ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: - Offset: 20227030 - Length: 14869 - ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: - Offset: 20241899 - Length: 29873 - ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: - Offset: 20271772 - Length: 16335 - ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: - Offset: 20288107 - Length: 20565 - ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: - Offset: 20308672 - Length: 25497 - ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: - Offset: 20334169 - Length: 17142 - ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: - Offset: 20351311 - Length: 20120 - ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: - Offset: 20371431 - Length: 29921 - ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: - Offset: 20401352 - Length: 14467 - ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: - Offset: 20415819 - Length: 10906 - ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: - Offset: 20426725 - Length: 25959 - ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: - Offset: 20452684 - Length: 34175 - ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: - Offset: 20486859 - Length: 30124 - ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: - Offset: 20516983 - Length: 21881 - ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: - Offset: 20538864 - Length: 20567 - ^Content/d2k/v2/SOUND.RS: - Offset: 20559431 - Length: 1929247 - gruntmods: Dune 2000: GruntMods Edition - Type: Install - RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Dune 2000: Gruntmods Edition - IDFiles: - Dune 2000/data/BLOXXMAS.R8: afc818feda44f5873e3af07bd2191573ba9965db - Dune 2000/data/DATA.R8: 2b229cf4be47104a6214237039a55329f6c45bc9 - Install: - copy: Dune 2000/data/Music - ^Content/d2k/v2/Music/AMBUSH.AUD: AMBUSH.AUD - ^Content/d2k/v2/Music/ARAKATAK.AUD: ARAKATAK.AUD - ^Content/d2k/v2/Music/ATREGAIN.AUD: ATREGAIN.AUD - ^Content/d2k/v2/Music/ENTORDOS.AUD: ENTORDOS.AUD - ^Content/d2k/v2/Music/FIGHTPWR.AUD: FIGHTPWR.AUD - ^Content/d2k/v2/Music/FREMEN.AUD: FREMEN.AUD - ^Content/d2k/v2/Music/HARK_BAT.AUD: HARK_BAT.AUD - ^Content/d2k/v2/Music/LANDSAND.AUD: LANDSAND.AUD - ^Content/d2k/v2/Music/OPTIONS.AUD: OPTIONS.AUD - ^Content/d2k/v2/Music/PLOTTING.AUD: PLOTTING.AUD - ^Content/d2k/v2/Music/RISEHARK.AUD: RISEHARK.AUD - ^Content/d2k/v2/Music/ROBOTIX.AUD: ROBOTIX.AUD - ^Content/d2k/v2/Music/SCORE.AUD: SCORE.AUD - ^Content/d2k/v2/Music/SOLDAPPR.AUD: SOLDAPPR.AUD - ^Content/d2k/v2/Music/SPICESCT.AUD: SPICESCT.AUD - ^Content/d2k/v2/Music/UNDERCON.AUD: UNDERCON.AUD - ^Content/d2k/v2/Music/WAITGAME.A: WAITGAME.AUD - copy: Dune 2000/data - ^Content/d2k/v2/BLOXBAT.R8: BLOXBAT.R8 - ^Content/d2k/v2/BLOXBASE.R8: BLOXBASE.R8 - ^Content/d2k/v2/BLOXBGBS.R8: BLOXBGBS.R8 - ^Content/d2k/v2/BLOXICE.R8: BLOXICE.R8 - ^Content/d2k/v2/BLOXTREE.R8: BLOXTREE.R8 - ^Content/d2k/v2/BLOXWAST.R8: BLOXWAST.R8 - ^Content/d2k/v2/BLOXXMAS.R8: BLOXXMAS.R8 - ^Content/d2k/v2/DATA.R8: DATA.R8 - ^Content/d2k/v2/MOUSE.R8: MOUSE.R8 - ^Content/d2k/v2/FONTCOL.FNT: FONTCOL.FNT - ^Content/d2k/v2/FONTCOL.FPL: FONTCOL.FPL - copy: Dune 2000/data/bin - ^Content/d2k/v2/PALETTE.BIN: PALETTE.BIN - ^Content/d2k/v2/FONT.BIN: FONT.BIN - copy: Dune 2000/data/GAMESFX - ^Content/d2k/v2/GAMESFX/A_ECONF2.AUD: A_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/A_ECONF1.AUD: A_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/A_ECONF3.AUD: A_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL1.AUD: A_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL2.AUD: A_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/A_ESEL3.AUD: A_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF1.AUD: A_FCONF1.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF2.AUD: A_FCONF2.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF3.AUD: A_FCONF3.AUD - ^Content/d2k/v2/GAMESFX/OI_ENEMY.AUD: OI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/AI_POWER.AUD: AI_POWER.AUD - ^Content/d2k/v2/GAMESFX/AI_PREP.AUD: AI_PREP.AUD - ^Content/d2k/v2/GAMESFX/AI_PRMRY.AUD: AI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/AI_REINF.AUD: AI_REINF.AUD - ^Content/d2k/v2/GAMESFX/AI_GANEW.AUD: AI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/HI_SPORT.AUD: HI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/OI_GSAVE.AUD: OI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/OI_GUARD.AUD: OI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP3B.AUD: HI_MAP3B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP4A.AUD: HI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP5A.AUD: HI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP6A.AUD: HI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF3.AUD: O_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF3.AUD: O_SCONF3.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL1.AUD: O_SSEL1.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL2.AUD: O_SSEL2.AUD - ^Content/d2k/v2/GAMESFX/O_SSEL3.AUD: O_SSEL3.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF1.AUD: O_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF2.AUD: O_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/O_VCONF3.AUD: O_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/OI_MWIN.AUD: OI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF1.AUD: O_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/O_ECONF2.AUD: O_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/OI_NROOM.AUD: OI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL1.AUD: O_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL2.AUD: O_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/O_ESEL3.AUD: O_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF1.AUD: O_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF2.AUD: O_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/O_ICONF3.AUD: O_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP4B.AUD: HI_MAP4B.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL2.AUD: O_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/HI_BLOST.AUD: HI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/HI_BUILD.AUD: HI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP6B.AUD: HI_MAP6B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP7A.AUD: HI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP9.AUD: HI_MAP9.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL3.AUD: A_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/AI_1MIN.AUD: AI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_2MIN.AUD: AI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_3MIN.AUD: AI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL1.AUD: O_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/HI_RUN.AUD: HI_RUN.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL1.AUD: A_FSEL1.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL2.AUD: A_FSEL2.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL3.AUD: A_FSEL3.AUD - ^Content/d2k/v2/GAMESFX/A_FSEL4.AUD: A_FSEL4.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP8A.AUD: OI_MAP8A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP9A.AUD: OI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/OI_MEND.AUD: OI_MEND.AUD - ^Content/d2k/v2/GAMESFX/OI_MFAIL.AUD: OI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/AI_4MIN.AUD: AI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/AI_CANCL.AUD: AI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/OI_ULOST.AUD: OI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/OI_UNRDY.AUD: OI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL3.AUD: O_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/OI_1MIN.AUD: OI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP7A.AUD: OI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/HI_TRAIN.AUD: HI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/HI_ULOST.AUD: HI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/HI_UNRDY.AUD: HI_UNRDY.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2A.AUD: OI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/HI_REINF.AUD: HI_REINF.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2C.AUD: OI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP3A.AUD: OI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP4A.AUD: OI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/OI_SPORT.AUD: OI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/OI_UPGOP.AUD: OI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/OI_UPGRD.AUD: OI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/OI_WATTK.AUD: OI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_MONEY.AUD: AI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/AI_SELL.AUD: AI_SELL.AUD - ^Content/d2k/v2/GAMESFX/HI_NEWOP.AUD: HI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/AI_5MIN.AUD: AI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_HATTK.AUD: OI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL2.AUD: H_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1B.AUD: OI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1C.AUD: OI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/AI_GSAVE.AUD: AI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/AI_GUARD.AUD: AI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/AI_HATTK.AUD: AI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_HOLD.AUD: AI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/HI_UPGOP.AUD: HI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/HI_UPGRD.AUD: HI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP2B.AUD: OI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/HI_WSIGN.AUD: HI_WSIGN.AUD - ^Content/d2k/v2/GAMESFX/HI_HATTK.AUD: HI_HATTK.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF2.AUD: O_SCONF2.AUD - ^Content/d2k/v2/GAMESFX/HI_HOLD.AUD: HI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL2.AUD: A_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/AI_ATACK.AUD: AI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/AI_BDRDY.AUD: AI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_BLOST.AUD: AI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/AI_BUILD.AUD: AI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/HI_GLOAD.AUD: HI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/AI_CAPT.AUD: AI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/AI_DHRDY.AUD: AI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_DPLOY.AUD: AI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/AI_ENEMY.AUD: AI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF1.AUD: A_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/HI_PLACE.AUD: HI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/HI_POWER.AUD: HI_POWER.AUD - ^Content/d2k/v2/GAMESFX/HI_PREP.AUD: HI_PREP.AUD - ^Content/d2k/v2/GAMESFX/HI_PRMRY.AUD: HI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/OI_MONEY.AUD: OI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL1.AUD: O_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/OI_NEWOP.AUD: OI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF3.AUD: A_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/A_VSEL1.AUD: A_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/OI_PLACE.AUD: OI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/OI_POWER.AUD: OI_POWER.AUD - ^Content/d2k/v2/GAMESFX/OI_PREP.AUD: OI_PREP.AUD - ^Content/d2k/v2/GAMESFX/OI_PRMRY.AUD: OI_PRMRY.AUD - ^Content/d2k/v2/GAMESFX/OI_REINF.AUD: OI_REINF.AUD - ^Content/d2k/v2/GAMESFX/OI_RUN.AUD: OI_RUN.AUD - ^Content/d2k/v2/GAMESFX/OI_CAPT.AUD: OI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF1.AUD: H_ECONF1.AUD - ^Content/d2k/v2/GAMESFX/O_VSEL2.AUD: O_VSEL2.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL3.AUD: H_VSEL3.AUD - ^Content/d2k/v2/GAMESFX/HI_1MIN.AUD: HI_1MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_2MIN.AUD: HI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_3MIN.AUD: HI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_4MIN.AUD: HI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_5MIN.AUD: HI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/HI_ABORT.AUD: HI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/HI_ATACK.AUD: HI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/HI_NROOM.AUD: HI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/OI_SILOS.AUD: OI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/A_FCONF4.AUD: A_FCONF4.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP5A.AUD: OI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP6A.AUD: OI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/HI_CANCL.AUD: HI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/HI_CAPT.AUD: HI_CAPT.AUD - ^Content/d2k/v2/GAMESFX/HI_DHRDY.AUD: HI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_DPLOY.AUD: HI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/HI_ENEMY.AUD: HI_ENEMY.AUD - ^Content/d2k/v2/GAMESFX/HI_GANEW.AUD: HI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/OI_DHRDY.AUD: OI_DHRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_GSAVE.AUD: HI_GSAVE.AUD - ^Content/d2k/v2/GAMESFX/HI_GUARD.AUD: HI_GUARD.AUD - ^Content/d2k/v2/GAMESFX/H_VSEL1.AUD: H_VSEL1.AUD - ^Content/d2k/v2/GAMESFX/OI_ORDER.AUD: OI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF1.AUD: G_SCONF1.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF2.AUD: G_SCONF2.AUD - ^Content/d2k/v2/GAMESFX/G_SCONF3.AUD: G_SCONF3.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL1.AUD: G_SSEL1.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL2.AUD: G_SSEL2.AUD - ^Content/d2k/v2/GAMESFX/G_SSEL3.AUD: G_SSEL3.AUD - ^Content/d2k/v2/GAMESFX/OI_SELL.AUD: OI_SELL.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF2.AUD: H_ECONF2.AUD - ^Content/d2k/v2/GAMESFX/H_ECONF3.AUD: H_ECONF3.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL1.AUD: H_ESEL1.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL2.AUD: H_ESEL2.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2C.AUD: AI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP3A.AUD: AI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP4A.AUD: AI_MAP4A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP5A.AUD: AI_MAP5A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP6A.AUD: AI_MAP6A.AUD - ^Content/d2k/v2/GAMESFX/HI_BDRDY.AUD: HI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP8A.AUD: AI_MAP8A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP9A.AUD: AI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/AI_MEND.AUD: AI_MEND.AUD - ^Content/d2k/v2/GAMESFX/AI_MFAIL.AUD: AI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/AI_GLOAD.AUD: AI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP9A.AUD: HI_MAP9A.AUD - ^Content/d2k/v2/GAMESFX/HI_MEND.AUD: HI_MEND.AUD - ^Content/d2k/v2/GAMESFX/HI_MFAIL.AUD: HI_MFAIL.AUD - ^Content/d2k/v2/GAMESFX/HI_MONEY.AUD: HI_MONEY.AUD - ^Content/d2k/v2/GAMESFX/HI_MWIN.AUD: HI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/HI_WATTK.AUD: HI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1A.AUD: AI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1B.AUD: AI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP1C.AUD: AI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2A.AUD: AI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/AI_ABORT.AUD: AI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/H_ESEL3.AUD: H_ESEL3.AUD - ^Content/d2k/v2/GAMESFX/AI_SILOS.AUD: AI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/AI_SPORT.AUD: AI_SPORT.AUD - ^Content/d2k/v2/GAMESFX/AI_TRAIN.AUD: AI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/AI_ULOST.AUD: AI_ULOST.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP7A.AUD: AI_MAP7A.AUD - ^Content/d2k/v2/GAMESFX/AI_UPGOP.AUD: AI_UPGOP.AUD - ^Content/d2k/v2/GAMESFX/AI_UPGRD.AUD: AI_UPGRD.AUD - ^Content/d2k/v2/GAMESFX/AI_WATTK.AUD: AI_WATTK.AUD - ^Content/d2k/v2/GAMESFX/AI_WSIGN.AUD: AI_WSIGN.AUD - ^Content/d2k/v2/GAMESFX/AI_MAP2B.AUD: AI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF1.AUD: A_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF2.AUD: A_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/A_ICONF3.AUD: A_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL1.AUD: A_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/OI_CANCL.AUD: OI_CANCL.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL2.AUD: H_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL3.AUD: H_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF1.AUD: H_VCONF1.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF2.AUD: H_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/H_VCONF3.AUD: H_VCONF3.AUD - ^Content/d2k/v2/GAMESFX/OI_TRAIN.AUD: OI_TRAIN.AUD - ^Content/d2k/v2/GAMESFX/HI_ORDER.AUD: HI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/OI_WSIGN.AUD: OI_WSIGN.AUD - ^Content/d2k/v2/GAMESFX/OI_BLOST.AUD: OI_BLOST.AUD - ^Content/d2k/v2/GAMESFX/OI_BUILD.AUD: OI_BUILD.AUD - ^Content/d2k/v2/GAMESFX/AI_LAUNC.AUD: AI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL3.AUD: A_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/A_VCONF2.AUD: A_VCONF2.AUD - ^Content/d2k/v2/GAMESFX/OI_HOLD.AUD: OI_HOLD.AUD - ^Content/d2k/v2/GAMESFX/OI_LAUNC.AUD: OI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/OI_MAP1A.AUD: OI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/HI_LAUNC.AUD: HI_LAUNC.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF1.AUD: H_ICONF1.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF2.AUD: H_ICONF2.AUD - ^Content/d2k/v2/GAMESFX/H_ICONF3.AUD: H_ICONF3.AUD - ^Content/d2k/v2/GAMESFX/H_ISEL1.AUD: H_ISEL1.AUD - ^Content/d2k/v2/GAMESFX/A_ISEL2.AUD: A_ISEL2.AUD - ^Content/d2k/v2/GAMESFX/AI_RUN.AUD: AI_RUN.AUD - ^Content/d2k/v2/GAMESFX/HI_SILOS.AUD: HI_SILOS.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1A.AUD: HI_MAP1A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1B.AUD: HI_MAP1B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP1C.AUD: HI_MAP1C.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2A.AUD: HI_MAP2A.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2B.AUD: HI_MAP2B.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP2C.AUD: HI_MAP2C.AUD - ^Content/d2k/v2/GAMESFX/HI_MAP3A.AUD: HI_MAP3A.AUD - ^Content/d2k/v2/GAMESFX/O_ISEL3.AUD: O_ISEL3.AUD - ^Content/d2k/v2/GAMESFX/O_SCONF1.AUD: O_SCONF1.AUD - ^Content/d2k/v2/GAMESFX/OI_2MIN.AUD: OI_2MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_3MIN.AUD: OI_3MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_4MIN.AUD: OI_4MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_5MIN.AUD: OI_5MIN.AUD - ^Content/d2k/v2/GAMESFX/OI_ABORT.AUD: OI_ABORT.AUD - ^Content/d2k/v2/GAMESFX/OI_ATACK.AUD: OI_ATACK.AUD - ^Content/d2k/v2/GAMESFX/OI_BDRDY.AUD: OI_BDRDY.AUD - ^Content/d2k/v2/GAMESFX/HI_SELL.AUD: HI_SELL.AUD - ^Content/d2k/v2/GAMESFX/OI_DPLOY.AUD: OI_DPLOY.AUD - ^Content/d2k/v2/GAMESFX/AI_PLACE.AUD: AI_PLACE.AUD - ^Content/d2k/v2/GAMESFX/OI_GANEW.AUD: OI_GANEW.AUD - ^Content/d2k/v2/GAMESFX/OI_GLOAD.AUD: OI_GLOAD.AUD - ^Content/d2k/v2/GAMESFX/AI_MWIN.AUD: AI_MWIN.AUD - ^Content/d2k/v2/GAMESFX/AI_NEWOP.AUD: AI_NEWOP.AUD - ^Content/d2k/v2/GAMESFX/AI_NROOM.AUD: AI_NROOM.AUD - ^Content/d2k/v2/GAMESFX/AI_ORDER.AUD: AI_ORDER.AUD - ^Content/d2k/v2/GAMESFX/AI_UNRDY.AUD: AI_UNRDY.AUD - ^Content/d2k/v2/SOUND.RS: SOUND.RS + d2k|installer/d2k.yaml + d2k|installer/downloads.yaml + d2k|installer/gruntmods.yaml diff --git a/mods/ra/installer/aftermath.yaml b/mods/ra/installer/aftermath.yaml new file mode 100644 index 0000000000..39c8d88367 --- /dev/null +++ b/mods/ra/installer/aftermath.yaml @@ -0,0 +1,230 @@ +aftermath: Aftermath Expansion Disc (English) + IDFiles: + README.TXT: 9902fb74c019df1b76ff5634e68f0371d790b5e0 + SETUP/INSTALL/PATCH.RTP: 5bce93f834f9322ddaa7233242e5b6c7fea0bf17 + Install: + extract-raw: SETUP/INSTALL/PATCH.RTP + ^Content/ra/v2/expand/expand2.mix: + Offset: 4712984 + Length: 469922 + ^Content/ra/v2/expand/hires1.mix: + Offset: 5182981 + Length: 90264 + ^Content/ra/v2/expand/lores1.mix: + Offset: 5273320 + Length: 57076 + extract-raw: MAIN.MIX + ^Content/ra/v2/expand/await.aud: + Offset: 158698809 + Length: 2972788 + ^Content/ra/v2/expand/bog.aud: + Offset: 244351833 + Length: 2386955 + ^Content/ra/v2/expand/float_v2.aud: + Offset: 246738788 + Length: 3090115 + ^Content/ra/v2/expand/gloom.aud: + Offset: 249828903 + Length: 2662851 + ^Content/ra/v2/expand/grndwire.aud: + Offset: 252491754 + Length: 2573611 + ^Content/ra/v2/expand/rpt.aud: + Offset: 255065365 + Length: 3092259 + ^Content/ra/v2/expand/search.aud: + Offset: 258157624 + Length: 3104091 + ^Content/ra/v2/expand/traction.aud: + Offset: 261261715 + Length: 2668003 + ^Content/ra/v2/expand/wastelnd.aud: + Offset: 263929718 + Length: 2721563 + ^Content/ra/v2/expand/chrotnk1.aud: + Offset: 267714446 + Length: 22900 + ^Content/ra/v2/expand/fixit1.aud: + Offset: 267959424 + Length: 10707 + ^Content/ra/v2/expand/jburn1.aud: + Offset: 268105462 + Length: 23091 + ^Content/ra/v2/expand/jchrge1.aud: + Offset: 268128553 + Length: 14219 + ^Content/ra/v2/expand/jcrisp1.aud: + Offset: 268142772 + Length: 18211 + ^Content/ra/v2/expand/jdance1.aud: + Offset: 268160983 + Length: 14315 + ^Content/ra/v2/expand/jjuice1.aud: + Offset: 268175298 + Length: 9699 + ^Content/ra/v2/expand/jjump1.aud: + Offset: 268184997 + Length: 8219 + ^Content/ra/v2/expand/jlight1.aud: + Offset: 268193216 + Length: 9875 + ^Content/ra/v2/expand/jpower1.aud: + Offset: 268203091 + Length: 13571 + ^Content/ra/v2/expand/jshock1.aud: + Offset: 268216662 + Length: 14771 + ^Content/ra/v2/expand/jyes1.aud: + Offset: 268231433 + Length: 13795 + ^Content/ra/v2/expand/madchrg2.aud: + Offset: 268361344 + Length: 19782 + ^Content/ra/v2/expand/madexplo.aud: + Offset: 268381126 + Length: 26572 + ^Content/ra/v2/expand/mboss1.aud: + Offset: 268413174 + Length: 20147 + ^Content/ra/v2/expand/mhear1.aud: + Offset: 268438509 + Length: 6714 + ^Content/ra/v2/expand/mhotdig1.aud: + Offset: 268445223 + Length: 10674 + ^Content/ra/v2/expand/mhowdy1.aud: + Offset: 268455897 + Length: 6714 + ^Content/ra/v2/expand/mhuh1.aud: + Offset: 268462611 + Length: 4117 + ^Content/ra/v2/expand/mlaff1.aud: + Offset: 268527415 + Length: 24133 + ^Content/ra/v2/expand/mrise1.aud: + Offset: 268564948 + Length: 13523 + ^Content/ra/v2/expand/mwrench1.aud: + Offset: 268578471 + Length: 10780 + ^Content/ra/v2/expand/myeehaw1.aud: + Offset: 268589251 + Length: 18912 + ^Content/ra/v2/expand/myes1.aud: + Offset: 268608163 + Length: 9073 +aftermath-linux: Aftermath Expansion Disc (English) + IDFiles: + readme.txt: 9902fb74c019df1b76ff5634e68f0371d790b5e0 + setup/install/patch.rtp: 5bce93f834f9322ddaa7233242e5b6c7fea0bf17 + Install: + extract-raw: SETUP/INSTALL/PATCH.RTP + ^Content/ra/v2/expand/expand2.mix: + Offset: 4712984 + Length: 469922 + ^Content/ra/v2/expand/hires1.mix: + Offset: 5182981 + Length: 90264 + ^Content/ra/v2/expand/lores1.mix: + Offset: 5273320 + Length: 57076 + extract-raw: main.mix + ^Content/ra/v2/expand/await.aud: + Offset: 158698809 + Length: 2972788 + ^Content/ra/v2/expand/bog.aud: + Offset: 244351833 + Length: 2386955 + ^Content/ra/v2/expand/float_v2.aud: + Offset: 246738788 + Length: 3090115 + ^Content/ra/v2/expand/gloom.aud: + Offset: 249828903 + Length: 2662851 + ^Content/ra/v2/expand/grndwire.aud: + Offset: 252491754 + Length: 2573611 + ^Content/ra/v2/expand/rpt.aud: + Offset: 255065365 + Length: 3092259 + ^Content/ra/v2/expand/search.aud: + Offset: 258157624 + Length: 3104091 + ^Content/ra/v2/expand/traction.aud: + Offset: 261261715 + Length: 2668003 + ^Content/ra/v2/expand/wastelnd.aud: + Offset: 263929718 + Length: 2721563 + ^Content/ra/v2/expand/chrotnk1.aud: + Offset: 267714446 + Length: 22900 + ^Content/ra/v2/expand/fixit1.aud: + Offset: 267959424 + Length: 10707 + ^Content/ra/v2/expand/jburn1.aud: + Offset: 268105462 + Length: 23091 + ^Content/ra/v2/expand/jchrge1.aud: + Offset: 268128553 + Length: 14219 + ^Content/ra/v2/expand/jcrisp1.aud: + Offset: 268142772 + Length: 18211 + ^Content/ra/v2/expand/jdance1.aud: + Offset: 268160983 + Length: 14315 + ^Content/ra/v2/expand/jjuice1.aud: + Offset: 268175298 + Length: 9699 + ^Content/ra/v2/expand/jjump1.aud: + Offset: 268184997 + Length: 8219 + ^Content/ra/v2/expand/jlight1.aud: + Offset: 268193216 + Length: 9875 + ^Content/ra/v2/expand/jpower1.aud: + Offset: 268203091 + Length: 13571 + ^Content/ra/v2/expand/jshock1.aud: + Offset: 268216662 + Length: 14771 + ^Content/ra/v2/expand/jyes1.aud: + Offset: 268231433 + Length: 13795 + ^Content/ra/v2/expand/madchrg2.aud: + Offset: 268361344 + Length: 19782 + ^Content/ra/v2/expand/madexplo.aud: + Offset: 268381126 + Length: 26572 + ^Content/ra/v2/expand/mboss1.aud: + Offset: 268413174 + Length: 20147 + ^Content/ra/v2/expand/mhear1.aud: + Offset: 268438509 + Length: 6714 + ^Content/ra/v2/expand/mhotdig1.aud: + Offset: 268445223 + Length: 10674 + ^Content/ra/v2/expand/mhowdy1.aud: + Offset: 268455897 + Length: 6714 + ^Content/ra/v2/expand/mhuh1.aud: + Offset: 268462611 + Length: 4117 + ^Content/ra/v2/expand/mlaff1.aud: + Offset: 268527415 + Length: 24133 + ^Content/ra/v2/expand/mrise1.aud: + Offset: 268564948 + Length: 13523 + ^Content/ra/v2/expand/mwrench1.aud: + Offset: 268578471 + Length: 10780 + ^Content/ra/v2/expand/myeehaw1.aud: + Offset: 268589251 + Length: 18912 + ^Content/ra/v2/expand/myes1.aud: + Offset: 268608163 + Length: 9073 \ No newline at end of file diff --git a/mods/ra/installer/allies95.yaml b/mods/ra/installer/allies95.yaml new file mode 100644 index 0000000000..5e2bbe6f94 --- /dev/null +++ b/mods/ra/installer/allies95.yaml @@ -0,0 +1,92 @@ +allied: Red Alert 95 (Allied Disc, English) + IDFiles: + eahelp.GID: 13a8a4a1e7d9d6d893c38df5a39262c4689aeba5 + INSTALL/REDALERT.MIX: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef + Install: + extract-raw: INSTALL/REDALERT.MIX + ^Content/ra/v2/hires.mix: + Offset: 650612 + Length: 5817417 + ^Content/ra/v2/local.mix: + Offset: 6468029 + Length: 3829837 + ^Content/ra/v2/lores.mix: + Offset: 10297866 + Length: 754800 + ^Content/ra/v2/speech.mix: + Offset: 23042864 + Length: 2003464 + extract-raw: MAIN.MIX + ^Content/ra/v2/conquer.mix: + Offset: 236 + Length: 2177047 + ^Content/ra/v2/interior.mix: + Offset: 17172192 + Length: 247425 + ^Content/ra/v2/movies1.mix: + Offset: 17419617 + Length: 369362336 + ^Content/ra/v2/scores.mix: + Offset: 386781953 + Length: 64171360 + ^Content/ra/v2/snow.mix: + Offset: 450953313 + Length: 1030861 + ^Content/ra/v2/sounds.mix: + Offset: 451984174 + Length: 1006778 + ^Content/ra/v2/russian.mix: + Offset: 452990952 + Length: 266077 + ^Content/ra/v2/allies.mix: + Offset: 453257029 + Length: 309406 + ^Content/ra/v2/temperat.mix: + Offset: 453566435 + Length: 1038859 +allied-linux: Red Alert 95 (Allied Disc, English) + IDFiles: + eahelp.gid: 13a8a4a1e7d9d6d893c38df5a39262c4689aeba5 + install/redalert.mix: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef + Install: + extract-raw: install/redalert.mix + ^Content/ra/v2/hires.mix: + Offset: 650612 + Length: 5817417 + ^Content/ra/v2/local.mix: + Offset: 6468029 + Length: 3829837 + ^Content/ra/v2/lores.mix: + Offset: 10297866 + Length: 754800 + ^Content/ra/v2/speech.mix: + Offset: 23042864 + Length: 2003464 + extract-raw: main.mix + ^Content/ra/v2/conquer.mix: + Offset: 236 + Length: 2177047 + ^Content/ra/v2/interior.mix: + Offset: 17172192 + Length: 247425 + ^Content/ra/v2/movies1.mix: + Offset: 17419617 + Length: 369362336 + ^Content/ra/v2/scores.mix: + Offset: 386781953 + Length: 64171360 + ^Content/ra/v2/snow.mix: + Offset: 450953313 + Length: 1030861 + ^Content/ra/v2/sounds.mix: + Offset: 451984174 + Length: 1006778 + ^Content/ra/v2/russian.mix: + Offset: 452990952 + Length: 266077 + ^Content/ra/v2/allies.mix: + Offset: 453257029 + Length: 309406 + ^Content/ra/v2/temperat.mix: + Offset: 453566435 + Length: 1038859 \ No newline at end of file diff --git a/mods/ra/installer/cnc95.yaml b/mods/ra/installer/cnc95.yaml new file mode 100644 index 0000000000..344dd4ee0b --- /dev/null +++ b/mods/ra/installer/cnc95.yaml @@ -0,0 +1,12 @@ +cnc95: C&C Gold (GDI or Nod Disc, English) + IDFiles: + CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/ra/v2/cnc/desert.mix: DESERT.MIX +cnc95-linux: C&C Gold (GDI or Nod Disc, English) + IDFiles: + conquer.mix: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/ra/v2/cnc/desert.mix: desert.mix \ No newline at end of file diff --git a/mods/ra/installer/counterstrike.yaml b/mods/ra/installer/counterstrike.yaml new file mode 100644 index 0000000000..299dcd580c --- /dev/null +++ b/mods/ra/installer/counterstrike.yaml @@ -0,0 +1,60 @@ +counterstrike: Counterstrike Expansion Disc (English) + IDFiles: + README.TXT: 0efe8087383f0b159a9633f891fb5f53c6097cd4 + SETUP/INSTALL/CSTRIKE.RTP: fae8ba82db71574f6ecd8fb4ff4026fcb65d2adc + Install: + extract-raw: MAIN.MIX + ^Content/ra/v2/expand/2nd_hand.aud: + Offset: 209070947 + Length: 3070092 + ^Content/ra/v2/expand/araziod.aud: + Offset: 212141039 + Length: 2941132 + ^Content/ra/v2/expand/backstab.aud: + Offset: 215082171 + Length: 3178252 + ^Content/ra/v2/expand/chaos2.aud: + Offset: 218260423 + Length: 2860068 + ^Content/ra/v2/expand/shut_it.aud: + Offset: 221120491 + Length: 2991979 + ^Content/ra/v2/expand/twinmix1.aud: + Offset: 224112470 + Length: 2536972 + ^Content/ra/v2/expand/under3.aud: + Offset: 226649442 + Length: 2812788 + ^Content/ra/v2/expand/vr2.aud: + Offset: 229462230 + Length: 2920396 +counterstrike-linux: Counterstrike Expansion Disc (English) + IDFiles: + readme.txt: 0efe8087383f0b159a9633f891fb5f53c6097cd4 + setup/install/cstrike.rtp: fae8ba82db71574f6ecd8fb4ff4026fcb65d2adc + Install: + extract-raw: main.mix + ^Content/ra/v2/expand/2nd_hand.aud: + Offset: 209070947 + Length: 3070092 + ^Content/ra/v2/expand/araziod.aud: + Offset: 212141039 + Length: 2941132 + ^Content/ra/v2/expand/backstab.aud: + Offset: 215082171 + Length: 3178252 + ^Content/ra/v2/expand/chaos2.aud: + Offset: 218260423 + Length: 2860068 + ^Content/ra/v2/expand/shut_it.aud: + Offset: 221120491 + Length: 2991979 + ^Content/ra/v2/expand/twinmix1.aud: + Offset: 224112470 + Length: 2536972 + ^Content/ra/v2/expand/under3.aud: + Offset: 226649442 + Length: 2812788 + ^Content/ra/v2/expand/vr2.aud: + Offset: 229462230 + Length: 2920396 \ No newline at end of file diff --git a/mods/ra/installer/downloads.yaml b/mods/ra/installer/downloads.yaml new file mode 100644 index 0000000000..3a03201380 --- /dev/null +++ b/mods/ra/installer/downloads.yaml @@ -0,0 +1,94 @@ +quickinstall: Quick Install Package + MirrorList: http://www.openra.net/packages/ra-quickinstall-mirrors.txt + Extract: + ^Content/ra/v2/allies.mix: allies.mix + ^Content/ra/v2/conquer.mix: conquer.mix + ^Content/ra/v2/hires.mix: hires.mix + ^Content/ra/v2/interior.mix: interior.mix + ^Content/ra/v2/local.mix: local.mix + ^Content/ra/v2/lores.mix: lores.mix + ^Content/ra/v2/russian.mix: russian.mix + ^Content/ra/v2/snow.mix: snow.mix + ^Content/ra/v2/sounds.mix: sounds.mix + ^Content/ra/v2/speech.mix: speech.mix + ^Content/ra/v2/temperat.mix: temperat.mix + ^Content/ra/v2/expand/chrotnk1.aud: expand/chrotnk1.aud + ^Content/ra/v2/expand/expand2.mix: expand/expand2.mix + ^Content/ra/v2/expand/fixit1.aud: expand/fixit1.aud + ^Content/ra/v2/expand/hires1.mix: expand/hires1.mix + ^Content/ra/v2/expand/jburn1.aud: expand/jburn1.aud + ^Content/ra/v2/expand/jchrge1.aud: expand/jchrge1.aud + ^Content/ra/v2/expand/jcrisp1.aud: expand/jcrisp1.aud + ^Content/ra/v2/expand/jdance1.aud: expand/jdance1.aud + ^Content/ra/v2/expand/jjuice1.aud: expand/jjuice1.aud + ^Content/ra/v2/expand/jjump1.aud: expand/jjump1.aud + ^Content/ra/v2/expand/jlight1.aud: expand/jlight1.aud + ^Content/ra/v2/expand/jpower1.aud: expand/jpower1.aud + ^Content/ra/v2/expand/jshock1.aud: expand/jshock1.aud + ^Content/ra/v2/expand/jyes1.aud: expand/jyes1.aud + ^Content/ra/v2/expand/lores1.mix: expand/lores1.mix + ^Content/ra/v2/expand/madchrg2.aud: expand/madchrg2.aud + ^Content/ra/v2/expand/madexplo.aud: expand/madexplo.aud + ^Content/ra/v2/expand/mboss1.aud: expand/mboss1.aud + ^Content/ra/v2/expand/mhear1.aud: expand/mhear1.aud + ^Content/ra/v2/expand/mhotdig1.aud: expand/mhotdig1.aud + ^Content/ra/v2/expand/mhowdy1.aud: expand/mhowdy1.aud + ^Content/ra/v2/expand/mhuh1.aud: expand/mhuh1.aud + ^Content/ra/v2/expand/mlaff1.aud: expand/mlaff1.aud + ^Content/ra/v2/expand/mrise1.aud: expand/mrise1.aud + ^Content/ra/v2/expand/mwrench1.aud: expand/mwrench1.aud + ^Content/ra/v2/expand/myeehaw1.aud: expand/myeehaw1.aud + ^Content/ra/v2/expand/myes1.aud: expand/myes1.aud + ^Content/ra/v2/cnc/desert.mix: cnc/desert.mix +basefiles: Base Freeware Content + MirrorList: http://www.openra.net/packages/ra-base-mirrors.txt + Extract: + ^Content/ra/v2/allies.mix: allies.mix + ^Content/ra/v2/conquer.mix: conquer.mix + ^Content/ra/v2/hires.mix: hires.mix + ^Content/ra/v2/interior.mix: interior.mix + ^Content/ra/v2/local.mix: local.mix + ^Content/ra/v2/lores.mix: lores.mix + ^Content/ra/v2/russian.mix: russian.mix + ^Content/ra/v2/snow.mix: snow.mix + ^Content/ra/v2/sounds.mix: sounds.mix + ^Content/ra/v2/speech.mix: speech.mix + ^Content/ra/v2/temperat.mix: temperat.mix +aftermath: Aftermath Expansion Files + MirrorList: http://www.openra.net/packages/ra-aftermath-mirrors.txt + Extract: + ^Content/ra/v2/expand/chrotnk1.aud: expand/chrotnk1.aud + ^Content/ra/v2/expand/expand2.mix: expand/expand2.mix + ^Content/ra/v2/expand/fixit1.aud: expand/fixit1.aud + ^Content/ra/v2/expand/hires1.mix: expand/hires1.mix + ^Content/ra/v2/expand/jburn1.aud: expand/jburn1.aud + ^Content/ra/v2/expand/jchrge1.aud: expand/jchrge1.aud + ^Content/ra/v2/expand/jcrisp1.aud: expand/jcrisp1.aud + ^Content/ra/v2/expand/jdance1.aud: expand/jdance1.aud + ^Content/ra/v2/expand/jjuice1.aud: expand/jjuice1.aud + ^Content/ra/v2/expand/jjump1.aud: expand/jjump1.aud + ^Content/ra/v2/expand/jlight1.aud: expand/jlight1.aud + ^Content/ra/v2/expand/jpower1.aud: expand/jpower1.aud + ^Content/ra/v2/expand/jshock1.aud: expand/jshock1.aud + ^Content/ra/v2/expand/jyes1.aud: expand/jyes1.aud + ^Content/ra/v2/expand/lores1.mix: expand/lores1.mix + ^Content/ra/v2/expand/madchrg2.aud: expand/madchrg2.aud + ^Content/ra/v2/expand/madexplo.aud: expand/madexplo.aud + ^Content/ra/v2/expand/mboss1.aud: expand/mboss1.aud + ^Content/ra/v2/expand/mhear1.aud: expand/mhear1.aud + ^Content/ra/v2/expand/mhotdig1.aud: expand/mhotdig1.aud + ^Content/ra/v2/expand/mhowdy1.aud: expand/mhowdy1.aud + ^Content/ra/v2/expand/mhuh1.aud: expand/mhuh1.aud + ^Content/ra/v2/expand/mlaff1.aud: expand/mlaff1.aud + ^Content/ra/v2/expand/mrise1.aud: expand/mrise1.aud + ^Content/ra/v2/expand/mwrench1.aud: expand/mwrench1.aud + ^Content/ra/v2/expand/myeehaw1.aud: expand/myeehaw1.aud + ^Content/ra/v2/expand/myes1.aud: expand/myes1.aud +cncdesert: C&C Desert Tileset + MirrorList: http://www.openra.net/packages/ra-cncdesert-mirrors.txt + Extract: + ^Content/ra/v2/cnc/desert.mix: cnc/desert.mix +music: Freeware Music + MirrorList: http://www.openra.net/packages/ra-scores-mirrors.txt + Extract: + ^Content/ra/v2/scores.mix: scores.mix \ No newline at end of file diff --git a/mods/ra/installer/firstdecade.yaml b/mods/ra/installer/firstdecade.yaml new file mode 100644 index 0000000000..fe8b173d81 --- /dev/null +++ b/mods/ra/installer/firstdecade.yaml @@ -0,0 +1,136 @@ +tfd: C&C The First Decade (English) + IDFiles: + data1.hdr: bef3a08c3fc1b1caf28ca0dbb97c1f900005930e + data1.cab: 12ad6113a6890a1b4d5651a75378c963eaf513b9 + Install: + extract-iscab: data1.hdr + Volumes: + 2: data2.cab + 3: data3.cab + 4: data4.cab + 5: data5.cab + Extract: + ^Content/ra/v2/main.mix: Red Alert\\MAIN.MIX + ^Content/ra/v2/redalert.mix: Red Alert\\REDALERT.MIX + ^Content/ra/v2/expand/hires1.mix: Red Alert\\HIRES1.MIX + ^Content/ra/v2/expand/lores1.mix: Red Alert\\LORES1.MIX + ^Content/ra/v2/expand/expand2.mix: Red Alert\\EXPAND2.MIX + ^Content/ra/v2/cnc/desert.mix: CnC\\DESERT.MIX + extract-raw: ^Content/ra/v2/redalert.mix + ^Content/ra/v2/hires.mix: + Offset: 650612 + Length: 5817417 + ^Content/ra/v2/local.mix: + Offset: 6468029 + Length: 3829837 + ^Content/ra/v2/lores.mix: + Offset: 10297866 + Length: 754800 + ^Content/ra/v2/speech.mix: + Offset: 23042864 + Length: 2003464 + delete: ^Content/ra/v2/redalert.mix + extract-raw: ^Content/ra/v2/main.mix + ^Content/ra/v2/movies1.mix: + Offset: 417051805 + Length: 404691306 + ^Content/ra/v2/interior.mix: + Offset: 821743111 + Length: 249490 + ^Content/ra/v2/conquer.mix: + Offset: 840028549 + Length: 2192279 + ^Content/ra/v2/allies.mix: + Offset: 842220828 + Length: 319181 + ^Content/ra/v2/temperat.mix: + Offset: 842540009 + Length: 1043672 + ^Content/ra/v2/sounds.mix: + Offset: 843583681 + Length: 1385637 + ^Content/ra/v2/snow.mix: + Offset: 844969318 + Length: 1035716 + ^Content/ra/v2/scores.mix: + Offset: 846005034 + Length: 67742203 + ^Content/ra/v2/russian.mix: + Offset: 913747237 + Length: 274732 + ^Content/ra/v2/movies2.mix: + Offset: 914022190 + Length: 417051731 + ^Content/ra/v2/expand/chrotnk1.aud: + Offset: 843615985 + Length: 22900 + ^Content/ra/v2/expand/fixit1.aud: + Offset: 843860963 + Length: 10707 + ^Content/ra/v2/expand/jburn1.aud: + Offset: 844007001 + Length: 23091 + ^Content/ra/v2/expand/jchrge1.aud: + Offset: 844030092 + Length: 14219 + ^Content/ra/v2/expand/jcrisp1.aud: + Offset: 844044311 + Length: 18211 + ^Content/ra/v2/expand/jdance1.aud: + Offset: 844062522 + Length: 14315 + ^Content/ra/v2/expand/jjuice1.aud: + Offset: 844076837 + Length: 9699 + ^Content/ra/v2/expand/jjump1.aud: + Offset: 844086536 + Length: 8219 + ^Content/ra/v2/expand/jlight1.aud: + Offset: 844094755 + Length: 9875 + ^Content/ra/v2/expand/jpower1.aud: + Offset: 844104630 + Length: 13571 + ^Content/ra/v2/expand/jshock1.aud: + Offset: 844118201 + Length: 14771 + ^Content/ra/v2/expand/jyes1.aud: + Offset: 844132972 + Length: 13795 + ^Content/ra/v2/expand/madchrg2.aud: + Offset: 844262883 + Length: 19782 + ^Content/ra/v2/expand/madexplo.aud: + Offset: 844282665 + Length: 26572 + ^Content/ra/v2/expand/mboss1.aud: + Offset: 844314713 + Length: 20147 + ^Content/ra/v2/expand/mhear1.aud: + Offset: 844340048 + Length: 6714 + ^Content/ra/v2/expand/mhotdig1.aud: + Offset: 844346762 + Length: 10674 + ^Content/ra/v2/expand/mhowdy1.aud: + Offset: 844357436 + Length: 6714 + ^Content/ra/v2/expand/mhuh1.aud: + Offset: 844364150 + Length: 4117 + ^Content/ra/v2/expand/mlaff1.aud: + Offset: 844428954 + Length: 24133 + ^Content/ra/v2/expand/mrise1.aud: + Offset: 844466487 + Length: 13523 + ^Content/ra/v2/expand/mwrench1.aud: + Offset: 844480010 + Length: 10780 + ^Content/ra/v2/expand/myeehaw1.aud: + Offset: 844490790 + Length: 18912 + ^Content/ra/v2/expand/myes1.aud: + Offset: 844509702 + Length: 9073 + delete: ^Content/ra/v2/main.mix \ No newline at end of file diff --git a/mods/ra/installer/origin.yaml b/mods/ra/installer/origin.yaml new file mode 100644 index 0000000000..64aa390a15 --- /dev/null +++ b/mods/ra/installer/origin.yaml @@ -0,0 +1,155 @@ +ra-origin: C&C The Ultimate Collection (Origin version, English) + Type: Install + RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\Command and Conquer Red Alert + RegistryValue: Install Dir + IDFiles: + RA95Launcher.exe: 22bf7a1f9f1c2498823e3216541e6012f291c2c0 + REDALERT.MIX: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef + Install: + copy: . + ^Content/ra/v2/expand/2nd_hand.aud: 2nd_hand.aud + ^Content/ra/v2/expand/araziod.aud: araziod.aud + ^Content/ra/v2/expand/await.aud: await.aud + ^Content/ra/v2/expand/backstab.aud: backstab.aud + ^Content/ra/v2/expand/bog.aud: bog.aud + ^Content/ra/v2/expand/chaos2.aud: chaos2.aud + ^Content/ra/v2/expand/float_v2.aud: float_v2.aud + ^Content/ra/v2/expand/gloom.aud: gloom.aud + ^Content/ra/v2/expand/grndwire.aud: grndwire.aud + ^Content/ra/v2/expand/rpt.aud: rpt.aud + ^Content/ra/v2/expand/search.aud: search.aud + ^Content/ra/v2/expand/shut_it.aud: shut_it.aud + ^Content/ra/v2/expand/traction.aud: traction.aud + ^Content/ra/v2/expand/twinmix1.aud: twinmix1.aud + ^Content/ra/v2/expand/under3.aud: under3.aud + ^Content/ra/v2/expand/vr2.aud: vr2.aud + ^Content/ra/v2/expand/wastelnd.aud: wastelnd.aud + ^Content/ra/v2/expand/expand2.mix: EXPAND2.MIX + ^Content/ra/v2/expand/hires1.mix: HIRES1.MIX + ^Content/ra/v2/expand/lores1.mix: LORES1.MIX + extract-raw: REDALERT.MIX + ^Content/ra/v2/hires.mix: + Offset: 650612 + Length: 5817417 + ^Content/ra/v2/local.mix: + Offset: 6468029 + Length: 3829837 + ^Content/ra/v2/lores.mix: + Offset: 10297866 + Length: 754800 + ^Content/ra/v2/speech.mix: + Offset: 23042864 + Length: 2003464 + extract-raw: MAIN.MIX + ^Content/ra/v2/movies1.mix: + Offset: 417051805 + Length: 404691306 + ^Content/ra/v2/interior.mix: + Offset: 821743111 + Length: 249490 + ^Content/ra/v2/conquer.mix: + Offset: 840028549 + Length: 2192279 + ^Content/ra/v2/allies.mix: + Offset: 842220828 + Length: 319181 + ^Content/ra/v2/temperat.mix: + Offset: 842540009 + Length: 1043672 + ^Content/ra/v2/sounds.mix: + Offset: 843583681 + Length: 1385637 + ^Content/ra/v2/snow.mix: + Offset: 844969318 + Length: 1035716 + ^Content/ra/v2/scores.mix: + Offset: 846005034 + Length: 67742203 + ^Content/ra/v2/russian.mix: + Offset: 913747237 + Length: 274732 + ^Content/ra/v2/movies2.mix: + Offset: 914022190 + Length: 417051731 + ^Content/ra/v2/expand/chrotnk1.aud: + Offset: 843615985 + Length: 22900 + ^Content/ra/v2/expand/fixit1.aud: + Offset: 843860963 + Length: 10707 + ^Content/ra/v2/expand/jburn1.aud: + Offset: 844007001 + Length: 23091 + ^Content/ra/v2/expand/jchrge1.aud: + Offset: 844030092 + Length: 14219 + ^Content/ra/v2/expand/jcrisp1.aud: + Offset: 844044311 + Length: 18211 + ^Content/ra/v2/expand/jdance1.aud: + Offset: 844062522 + Length: 14315 + ^Content/ra/v2/expand/jjuice1.aud: + Offset: 844076837 + Length: 9699 + ^Content/ra/v2/expand/jjump1.aud: + Offset: 844086536 + Length: 8219 + ^Content/ra/v2/expand/jlight1.aud: + Offset: 844094755 + Length: 9875 + ^Content/ra/v2/expand/jpower1.aud: + Offset: 844104630 + Length: 13571 + ^Content/ra/v2/expand/jshock1.aud: + Offset: 844118201 + Length: 14771 + ^Content/ra/v2/expand/jyes1.aud: + Offset: 844132972 + Length: 13795 + ^Content/ra/v2/expand/madchrg2.aud: + Offset: 844262883 + Length: 19782 + ^Content/ra/v2/expand/madexplo.aud: + Offset: 844282665 + Length: 26572 + ^Content/ra/v2/expand/mboss1.aud: + Offset: 844314713 + Length: 20147 + ^Content/ra/v2/expand/mhear1.aud: + Offset: 844340048 + Length: 6714 + ^Content/ra/v2/expand/mhotdig1.aud: + Offset: 844346762 + Length: 10674 + ^Content/ra/v2/expand/mhowdy1.aud: + Offset: 844357436 + Length: 6714 + ^Content/ra/v2/expand/mhuh1.aud: + Offset: 844364150 + Length: 4117 + ^Content/ra/v2/expand/mlaff1.aud: + Offset: 844428954 + Length: 24133 + ^Content/ra/v2/expand/mrise1.aud: + Offset: 844466487 + Length: 13523 + ^Content/ra/v2/expand/mwrench1.aud: + Offset: 844480010 + Length: 10780 + ^Content/ra/v2/expand/myeehaw1.aud: + Offset: 844490790 + Length: 18912 + ^Content/ra/v2/expand/myes1.aud: + Offset: 844509702 + Length: 9073 +cnc-origin: Command & Conquer (Origin version, English) + Type: Install + RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\CNC and The Covert Operations + RegistryValue: Install Dir + IDFiles: + CNC95Launcher.exe: 1d711adf09ac08738b2599b3092a1b448169b32a + CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 + Install: + copy: . + ^Content/ra/v2/cnc/desert.mix: DESERT.MIX \ No newline at end of file diff --git a/mods/ra/installer/soviet95.yaml b/mods/ra/installer/soviet95.yaml new file mode 100644 index 0000000000..6bfe09fb29 --- /dev/null +++ b/mods/ra/installer/soviet95.yaml @@ -0,0 +1,92 @@ +soviet: Red Alert 95 (Soviet Disc, English) + IDFiles: + automenu.apm: bb61132a492bfb37069a0139f95671da3655d916 + INSTALL/REDALERT.MIX: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef + Install: + extract-raw: INSTALL/REDALERT.MIX + ^Content/ra/v2/hires.mix: + Offset: 650612 + Length: 5817417 + ^Content/ra/v2/local.mix: + Offset: 6468029 + Length: 3829837 + ^Content/ra/v2/lores.mix: + Offset: 10297866 + Length: 754800 + ^Content/ra/v2/speech.mix: + Offset: 23042864 + Length: 2003464 + extract-raw: MAIN.MIX + ^Content/ra/v2/conquer.mix: + Offset: 236 + Length: 2177047 + ^Content/ra/v2/interior.mix: + Offset: 17172192 + Length: 247425 + ^Content/ra/v2/movies2.mix: + Offset: 17419617 + Length: 415334456 + ^Content/ra/v2/scores.mix: + Offset: 432754073 + Length: 64171360 + ^Content/ra/v2/snow.mix: + Offset: 496925433 + Length: 1030861 + ^Content/ra/v2/russian.mix: + Offset: 497956294 + Length: 266077 + ^Content/ra/v2/allies.mix: + Offset: 498222371 + Length: 309406 + ^Content/ra/v2/sounds.mix: + Offset: 498531777 + Length: 1006778 + ^Content/ra/v2/temperat.mix: + Offset: 499538555 + Length: 1038859 +soviet-linux: Red Alert 95 (Soviet Disc, English) + IDFiles: + automenu.apm: bb61132a492bfb37069a0139f95671da3655d916 + install/redalert.mix: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef + Install: + extract-raw: install/redalert.mix + ^Content/ra/v2/hires.mix: + Offset: 650612 + Length: 5817417 + ^Content/ra/v2/local.mix: + Offset: 6468029 + Length: 3829837 + ^Content/ra/v2/lores.mix: + Offset: 10297866 + Length: 754800 + ^Content/ra/v2/speech.mix: + Offset: 23042864 + Length: 2003464 + extract-raw: main.mix + ^Content/ra/v2/conquer.mix: + Offset: 236 + Length: 2177047 + ^Content/ra/v2/interior.mix: + Offset: 17172192 + Length: 247425 + ^Content/ra/v2/movies2.mix: + Offset: 17419617 + Length: 415334456 + ^Content/ra/v2/scores.mix: + Offset: 432754073 + Length: 64171360 + ^Content/ra/v2/snow.mix: + Offset: 496925433 + Length: 1030861 + ^Content/ra/v2/russian.mix: + Offset: 497956294 + Length: 266077 + ^Content/ra/v2/allies.mix: + Offset: 498222371 + Length: 309406 + ^Content/ra/v2/sounds.mix: + Offset: 498531777 + Length: 1006778 + ^Content/ra/v2/temperat.mix: + Offset: 499538555 + Length: 1038859 \ No newline at end of file diff --git a/mods/ra/mod.yaml b/mods/ra/mod.yaml index ae36eb1a50..0c2965138b 100644 --- a/mods/ra/mod.yaml +++ b/mods/ra/mod.yaml @@ -263,875 +263,12 @@ ModContent: TestFiles: ^Content/ra/v2/expand/await.aud, ^Content/ra/v2/expand/bog.aud, ^Content/ra/v2/expand/float_v2.aud, ^Content/ra/v2/expand/gloom.aud, ^Content/ra/v2/expand/grndwire.aud, ^Content/ra/v2/expand/rpt.aud, ^Content/ra/v2/expand/search.aud, ^Content/ra/v2/expand/traction.aud, ^Content/ra/v2/expand/wastelnd.aud Sources: aftermath, aftermath-linux, ra-origin Downloads: - quickinstall: Quick Install Package - MirrorList: http://www.openra.net/packages/ra-quickinstall-mirrors.txt - Extract: - ^Content/ra/v2/allies.mix: allies.mix - ^Content/ra/v2/conquer.mix: conquer.mix - ^Content/ra/v2/hires.mix: hires.mix - ^Content/ra/v2/interior.mix: interior.mix - ^Content/ra/v2/local.mix: local.mix - ^Content/ra/v2/lores.mix: lores.mix - ^Content/ra/v2/russian.mix: russian.mix - ^Content/ra/v2/snow.mix: snow.mix - ^Content/ra/v2/sounds.mix: sounds.mix - ^Content/ra/v2/speech.mix: speech.mix - ^Content/ra/v2/temperat.mix: temperat.mix - ^Content/ra/v2/expand/chrotnk1.aud: expand/chrotnk1.aud - ^Content/ra/v2/expand/expand2.mix: expand/expand2.mix - ^Content/ra/v2/expand/fixit1.aud: expand/fixit1.aud - ^Content/ra/v2/expand/hires1.mix: expand/hires1.mix - ^Content/ra/v2/expand/jburn1.aud: expand/jburn1.aud - ^Content/ra/v2/expand/jchrge1.aud: expand/jchrge1.aud - ^Content/ra/v2/expand/jcrisp1.aud: expand/jcrisp1.aud - ^Content/ra/v2/expand/jdance1.aud: expand/jdance1.aud - ^Content/ra/v2/expand/jjuice1.aud: expand/jjuice1.aud - ^Content/ra/v2/expand/jjump1.aud: expand/jjump1.aud - ^Content/ra/v2/expand/jlight1.aud: expand/jlight1.aud - ^Content/ra/v2/expand/jpower1.aud: expand/jpower1.aud - ^Content/ra/v2/expand/jshock1.aud: expand/jshock1.aud - ^Content/ra/v2/expand/jyes1.aud: expand/jyes1.aud - ^Content/ra/v2/expand/lores1.mix: expand/lores1.mix - ^Content/ra/v2/expand/madchrg2.aud: expand/madchrg2.aud - ^Content/ra/v2/expand/madexplo.aud: expand/madexplo.aud - ^Content/ra/v2/expand/mboss1.aud: expand/mboss1.aud - ^Content/ra/v2/expand/mhear1.aud: expand/mhear1.aud - ^Content/ra/v2/expand/mhotdig1.aud: expand/mhotdig1.aud - ^Content/ra/v2/expand/mhowdy1.aud: expand/mhowdy1.aud - ^Content/ra/v2/expand/mhuh1.aud: expand/mhuh1.aud - ^Content/ra/v2/expand/mlaff1.aud: expand/mlaff1.aud - ^Content/ra/v2/expand/mrise1.aud: expand/mrise1.aud - ^Content/ra/v2/expand/mwrench1.aud: expand/mwrench1.aud - ^Content/ra/v2/expand/myeehaw1.aud: expand/myeehaw1.aud - ^Content/ra/v2/expand/myes1.aud: expand/myes1.aud - ^Content/ra/v2/cnc/desert.mix: cnc/desert.mix - basefiles: Base Freeware Content - MirrorList: http://www.openra.net/packages/ra-base-mirrors.txt - Extract: - ^Content/ra/v2/allies.mix: allies.mix - ^Content/ra/v2/conquer.mix: conquer.mix - ^Content/ra/v2/hires.mix: hires.mix - ^Content/ra/v2/interior.mix: interior.mix - ^Content/ra/v2/local.mix: local.mix - ^Content/ra/v2/lores.mix: lores.mix - ^Content/ra/v2/russian.mix: russian.mix - ^Content/ra/v2/snow.mix: snow.mix - ^Content/ra/v2/sounds.mix: sounds.mix - ^Content/ra/v2/speech.mix: speech.mix - ^Content/ra/v2/temperat.mix: temperat.mix - aftermath: Aftermath Expansion Files - MirrorList: http://www.openra.net/packages/ra-aftermath-mirrors.txt - Extract: - ^Content/ra/v2/expand/chrotnk1.aud: expand/chrotnk1.aud - ^Content/ra/v2/expand/expand2.mix: expand/expand2.mix - ^Content/ra/v2/expand/fixit1.aud: expand/fixit1.aud - ^Content/ra/v2/expand/hires1.mix: expand/hires1.mix - ^Content/ra/v2/expand/jburn1.aud: expand/jburn1.aud - ^Content/ra/v2/expand/jchrge1.aud: expand/jchrge1.aud - ^Content/ra/v2/expand/jcrisp1.aud: expand/jcrisp1.aud - ^Content/ra/v2/expand/jdance1.aud: expand/jdance1.aud - ^Content/ra/v2/expand/jjuice1.aud: expand/jjuice1.aud - ^Content/ra/v2/expand/jjump1.aud: expand/jjump1.aud - ^Content/ra/v2/expand/jlight1.aud: expand/jlight1.aud - ^Content/ra/v2/expand/jpower1.aud: expand/jpower1.aud - ^Content/ra/v2/expand/jshock1.aud: expand/jshock1.aud - ^Content/ra/v2/expand/jyes1.aud: expand/jyes1.aud - ^Content/ra/v2/expand/lores1.mix: expand/lores1.mix - ^Content/ra/v2/expand/madchrg2.aud: expand/madchrg2.aud - ^Content/ra/v2/expand/madexplo.aud: expand/madexplo.aud - ^Content/ra/v2/expand/mboss1.aud: expand/mboss1.aud - ^Content/ra/v2/expand/mhear1.aud: expand/mhear1.aud - ^Content/ra/v2/expand/mhotdig1.aud: expand/mhotdig1.aud - ^Content/ra/v2/expand/mhowdy1.aud: expand/mhowdy1.aud - ^Content/ra/v2/expand/mhuh1.aud: expand/mhuh1.aud - ^Content/ra/v2/expand/mlaff1.aud: expand/mlaff1.aud - ^Content/ra/v2/expand/mrise1.aud: expand/mrise1.aud - ^Content/ra/v2/expand/mwrench1.aud: expand/mwrench1.aud - ^Content/ra/v2/expand/myeehaw1.aud: expand/myeehaw1.aud - ^Content/ra/v2/expand/myes1.aud: expand/myes1.aud - cncdesert: C&C Desert Tileset - MirrorList: http://www.openra.net/packages/ra-cncdesert-mirrors.txt - Extract: - ^Content/ra/v2/cnc/desert.mix: cnc/desert.mix - music: Freeware Music - MirrorList: http://www.openra.net/packages/ra-scores-mirrors.txt - Extract: - ^Content/ra/v2/scores.mix: scores.mix + ra|installer/downloads.yaml Sources: - allied: Red Alert 95 (Allied Disc, English) - IDFiles: - eahelp.GID: 13a8a4a1e7d9d6d893c38df5a39262c4689aeba5 - INSTALL/REDALERT.MIX: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef - Install: - extract-raw: INSTALL/REDALERT.MIX - ^Content/ra/v2/hires.mix: - Offset: 650612 - Length: 5817417 - ^Content/ra/v2/local.mix: - Offset: 6468029 - Length: 3829837 - ^Content/ra/v2/lores.mix: - Offset: 10297866 - Length: 754800 - ^Content/ra/v2/speech.mix: - Offset: 23042864 - Length: 2003464 - extract-raw: MAIN.MIX - ^Content/ra/v2/conquer.mix: - Offset: 236 - Length: 2177047 - ^Content/ra/v2/interior.mix: - Offset: 17172192 - Length: 247425 - ^Content/ra/v2/movies1.mix: - Offset: 17419617 - Length: 369362336 - ^Content/ra/v2/scores.mix: - Offset: 386781953 - Length: 64171360 - ^Content/ra/v2/snow.mix: - Offset: 450953313 - Length: 1030861 - ^Content/ra/v2/sounds.mix: - Offset: 451984174 - Length: 1006778 - ^Content/ra/v2/russian.mix: - Offset: 452990952 - Length: 266077 - ^Content/ra/v2/allies.mix: - Offset: 453257029 - Length: 309406 - ^Content/ra/v2/temperat.mix: - Offset: 453566435 - Length: 1038859 - allied-linux: Red Alert 95 (Allied Disc, English) - IDFiles: - eahelp.gid: 13a8a4a1e7d9d6d893c38df5a39262c4689aeba5 - install/redalert.mix: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef - Install: - extract-raw: install/redalert.mix - ^Content/ra/v2/hires.mix: - Offset: 650612 - Length: 5817417 - ^Content/ra/v2/local.mix: - Offset: 6468029 - Length: 3829837 - ^Content/ra/v2/lores.mix: - Offset: 10297866 - Length: 754800 - ^Content/ra/v2/speech.mix: - Offset: 23042864 - Length: 2003464 - extract-raw: main.mix - ^Content/ra/v2/conquer.mix: - Offset: 236 - Length: 2177047 - ^Content/ra/v2/interior.mix: - Offset: 17172192 - Length: 247425 - ^Content/ra/v2/movies1.mix: - Offset: 17419617 - Length: 369362336 - ^Content/ra/v2/scores.mix: - Offset: 386781953 - Length: 64171360 - ^Content/ra/v2/snow.mix: - Offset: 450953313 - Length: 1030861 - ^Content/ra/v2/sounds.mix: - Offset: 451984174 - Length: 1006778 - ^Content/ra/v2/russian.mix: - Offset: 452990952 - Length: 266077 - ^Content/ra/v2/allies.mix: - Offset: 453257029 - Length: 309406 - ^Content/ra/v2/temperat.mix: - Offset: 453566435 - Length: 1038859 - soviet: Red Alert 95 (Soviet Disc, English) - IDFiles: - automenu.apm: bb61132a492bfb37069a0139f95671da3655d916 - INSTALL/REDALERT.MIX: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef - Install: - extract-raw: INSTALL/REDALERT.MIX - ^Content/ra/v2/hires.mix: - Offset: 650612 - Length: 5817417 - ^Content/ra/v2/local.mix: - Offset: 6468029 - Length: 3829837 - ^Content/ra/v2/lores.mix: - Offset: 10297866 - Length: 754800 - ^Content/ra/v2/speech.mix: - Offset: 23042864 - Length: 2003464 - extract-raw: MAIN.MIX - ^Content/ra/v2/conquer.mix: - Offset: 236 - Length: 2177047 - ^Content/ra/v2/interior.mix: - Offset: 17172192 - Length: 247425 - ^Content/ra/v2/movies2.mix: - Offset: 17419617 - Length: 415334456 - ^Content/ra/v2/scores.mix: - Offset: 432754073 - Length: 64171360 - ^Content/ra/v2/snow.mix: - Offset: 496925433 - Length: 1030861 - ^Content/ra/v2/russian.mix: - Offset: 497956294 - Length: 266077 - ^Content/ra/v2/allies.mix: - Offset: 498222371 - Length: 309406 - ^Content/ra/v2/sounds.mix: - Offset: 498531777 - Length: 1006778 - ^Content/ra/v2/temperat.mix: - Offset: 499538555 - Length: 1038859 - soviet-linux: Red Alert 95 (Soviet Disc, English) - IDFiles: - automenu.apm: bb61132a492bfb37069a0139f95671da3655d916 - install/redalert.mix: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef - Install: - extract-raw: install/redalert.mix - ^Content/ra/v2/hires.mix: - Offset: 650612 - Length: 5817417 - ^Content/ra/v2/local.mix: - Offset: 6468029 - Length: 3829837 - ^Content/ra/v2/lores.mix: - Offset: 10297866 - Length: 754800 - ^Content/ra/v2/speech.mix: - Offset: 23042864 - Length: 2003464 - extract-raw: main.mix - ^Content/ra/v2/conquer.mix: - Offset: 236 - Length: 2177047 - ^Content/ra/v2/interior.mix: - Offset: 17172192 - Length: 247425 - ^Content/ra/v2/movies2.mix: - Offset: 17419617 - Length: 415334456 - ^Content/ra/v2/scores.mix: - Offset: 432754073 - Length: 64171360 - ^Content/ra/v2/snow.mix: - Offset: 496925433 - Length: 1030861 - ^Content/ra/v2/russian.mix: - Offset: 497956294 - Length: 266077 - ^Content/ra/v2/allies.mix: - Offset: 498222371 - Length: 309406 - ^Content/ra/v2/sounds.mix: - Offset: 498531777 - Length: 1006778 - ^Content/ra/v2/temperat.mix: - Offset: 499538555 - Length: 1038859 - counterstrike: Counterstrike Expansion Disc (English) - IDFiles: - README.TXT: 0efe8087383f0b159a9633f891fb5f53c6097cd4 - SETUP/INSTALL/CSTRIKE.RTP: fae8ba82db71574f6ecd8fb4ff4026fcb65d2adc - Install: - extract-raw: MAIN.MIX - ^Content/ra/v2/expand/2nd_hand.aud: - Offset: 209070947 - Length: 3070092 - ^Content/ra/v2/expand/araziod.aud: - Offset: 212141039 - Length: 2941132 - ^Content/ra/v2/expand/backstab.aud: - Offset: 215082171 - Length: 3178252 - ^Content/ra/v2/expand/chaos2.aud: - Offset: 218260423 - Length: 2860068 - ^Content/ra/v2/expand/shut_it.aud: - Offset: 221120491 - Length: 2991979 - ^Content/ra/v2/expand/twinmix1.aud: - Offset: 224112470 - Length: 2536972 - ^Content/ra/v2/expand/under3.aud: - Offset: 226649442 - Length: 2812788 - ^Content/ra/v2/expand/vr2.aud: - Offset: 229462230 - Length: 2920396 - counterstrike-linux: Counterstrike Expansion Disc (English) - IDFiles: - readme.txt: 0efe8087383f0b159a9633f891fb5f53c6097cd4 - setup/install/cstrike.rtp: fae8ba82db71574f6ecd8fb4ff4026fcb65d2adc - Install: - extract-raw: main.mix - ^Content/ra/v2/expand/2nd_hand.aud: - Offset: 209070947 - Length: 3070092 - ^Content/ra/v2/expand/araziod.aud: - Offset: 212141039 - Length: 2941132 - ^Content/ra/v2/expand/backstab.aud: - Offset: 215082171 - Length: 3178252 - ^Content/ra/v2/expand/chaos2.aud: - Offset: 218260423 - Length: 2860068 - ^Content/ra/v2/expand/shut_it.aud: - Offset: 221120491 - Length: 2991979 - ^Content/ra/v2/expand/twinmix1.aud: - Offset: 224112470 - Length: 2536972 - ^Content/ra/v2/expand/under3.aud: - Offset: 226649442 - Length: 2812788 - ^Content/ra/v2/expand/vr2.aud: - Offset: 229462230 - Length: 2920396 - aftermath: Aftermath Expansion Disc (English) - IDFiles: - README.TXT: 9902fb74c019df1b76ff5634e68f0371d790b5e0 - SETUP/INSTALL/PATCH.RTP: 5bce93f834f9322ddaa7233242e5b6c7fea0bf17 - Install: - extract-raw: SETUP/INSTALL/PATCH.RTP - ^Content/ra/v2/expand/expand2.mix: - Offset: 4712984 - Length: 469922 - ^Content/ra/v2/expand/hires1.mix: - Offset: 5182981 - Length: 90264 - ^Content/ra/v2/expand/lores1.mix: - Offset: 5273320 - Length: 57076 - extract-raw: MAIN.MIX - ^Content/ra/v2/expand/await.aud: - Offset: 158698809 - Length: 2972788 - ^Content/ra/v2/expand/bog.aud: - Offset: 244351833 - Length: 2386955 - ^Content/ra/v2/expand/float_v2.aud: - Offset: 246738788 - Length: 3090115 - ^Content/ra/v2/expand/gloom.aud: - Offset: 249828903 - Length: 2662851 - ^Content/ra/v2/expand/grndwire.aud: - Offset: 252491754 - Length: 2573611 - ^Content/ra/v2/expand/rpt.aud: - Offset: 255065365 - Length: 3092259 - ^Content/ra/v2/expand/search.aud: - Offset: 258157624 - Length: 3104091 - ^Content/ra/v2/expand/traction.aud: - Offset: 261261715 - Length: 2668003 - ^Content/ra/v2/expand/wastelnd.aud: - Offset: 263929718 - Length: 2721563 - ^Content/ra/v2/expand/chrotnk1.aud: - Offset: 267714446 - Length: 22900 - ^Content/ra/v2/expand/fixit1.aud: - Offset: 267959424 - Length: 10707 - ^Content/ra/v2/expand/jburn1.aud: - Offset: 268105462 - Length: 23091 - ^Content/ra/v2/expand/jchrge1.aud: - Offset: 268128553 - Length: 14219 - ^Content/ra/v2/expand/jcrisp1.aud: - Offset: 268142772 - Length: 18211 - ^Content/ra/v2/expand/jdance1.aud: - Offset: 268160983 - Length: 14315 - ^Content/ra/v2/expand/jjuice1.aud: - Offset: 268175298 - Length: 9699 - ^Content/ra/v2/expand/jjump1.aud: - Offset: 268184997 - Length: 8219 - ^Content/ra/v2/expand/jlight1.aud: - Offset: 268193216 - Length: 9875 - ^Content/ra/v2/expand/jpower1.aud: - Offset: 268203091 - Length: 13571 - ^Content/ra/v2/expand/jshock1.aud: - Offset: 268216662 - Length: 14771 - ^Content/ra/v2/expand/jyes1.aud: - Offset: 268231433 - Length: 13795 - ^Content/ra/v2/expand/madchrg2.aud: - Offset: 268361344 - Length: 19782 - ^Content/ra/v2/expand/madexplo.aud: - Offset: 268381126 - Length: 26572 - ^Content/ra/v2/expand/mboss1.aud: - Offset: 268413174 - Length: 20147 - ^Content/ra/v2/expand/mhear1.aud: - Offset: 268438509 - Length: 6714 - ^Content/ra/v2/expand/mhotdig1.aud: - Offset: 268445223 - Length: 10674 - ^Content/ra/v2/expand/mhowdy1.aud: - Offset: 268455897 - Length: 6714 - ^Content/ra/v2/expand/mhuh1.aud: - Offset: 268462611 - Length: 4117 - ^Content/ra/v2/expand/mlaff1.aud: - Offset: 268527415 - Length: 24133 - ^Content/ra/v2/expand/mrise1.aud: - Offset: 268564948 - Length: 13523 - ^Content/ra/v2/expand/mwrench1.aud: - Offset: 268578471 - Length: 10780 - ^Content/ra/v2/expand/myeehaw1.aud: - Offset: 268589251 - Length: 18912 - ^Content/ra/v2/expand/myes1.aud: - Offset: 268608163 - Length: 9073 - aftermath-linux: Aftermath Expansion Disc (English) - IDFiles: - readme.txt: 9902fb74c019df1b76ff5634e68f0371d790b5e0 - setup/install/patch.rtp: 5bce93f834f9322ddaa7233242e5b6c7fea0bf17 - Install: - extract-raw: SETUP/INSTALL/PATCH.RTP - ^Content/ra/v2/expand/expand2.mix: - Offset: 4712984 - Length: 469922 - ^Content/ra/v2/expand/hires1.mix: - Offset: 5182981 - Length: 90264 - ^Content/ra/v2/expand/lores1.mix: - Offset: 5273320 - Length: 57076 - extract-raw: main.mix - ^Content/ra/v2/expand/await.aud: - Offset: 158698809 - Length: 2972788 - ^Content/ra/v2/expand/bog.aud: - Offset: 244351833 - Length: 2386955 - ^Content/ra/v2/expand/float_v2.aud: - Offset: 246738788 - Length: 3090115 - ^Content/ra/v2/expand/gloom.aud: - Offset: 249828903 - Length: 2662851 - ^Content/ra/v2/expand/grndwire.aud: - Offset: 252491754 - Length: 2573611 - ^Content/ra/v2/expand/rpt.aud: - Offset: 255065365 - Length: 3092259 - ^Content/ra/v2/expand/search.aud: - Offset: 258157624 - Length: 3104091 - ^Content/ra/v2/expand/traction.aud: - Offset: 261261715 - Length: 2668003 - ^Content/ra/v2/expand/wastelnd.aud: - Offset: 263929718 - Length: 2721563 - ^Content/ra/v2/expand/chrotnk1.aud: - Offset: 267714446 - Length: 22900 - ^Content/ra/v2/expand/fixit1.aud: - Offset: 267959424 - Length: 10707 - ^Content/ra/v2/expand/jburn1.aud: - Offset: 268105462 - Length: 23091 - ^Content/ra/v2/expand/jchrge1.aud: - Offset: 268128553 - Length: 14219 - ^Content/ra/v2/expand/jcrisp1.aud: - Offset: 268142772 - Length: 18211 - ^Content/ra/v2/expand/jdance1.aud: - Offset: 268160983 - Length: 14315 - ^Content/ra/v2/expand/jjuice1.aud: - Offset: 268175298 - Length: 9699 - ^Content/ra/v2/expand/jjump1.aud: - Offset: 268184997 - Length: 8219 - ^Content/ra/v2/expand/jlight1.aud: - Offset: 268193216 - Length: 9875 - ^Content/ra/v2/expand/jpower1.aud: - Offset: 268203091 - Length: 13571 - ^Content/ra/v2/expand/jshock1.aud: - Offset: 268216662 - Length: 14771 - ^Content/ra/v2/expand/jyes1.aud: - Offset: 268231433 - Length: 13795 - ^Content/ra/v2/expand/madchrg2.aud: - Offset: 268361344 - Length: 19782 - ^Content/ra/v2/expand/madexplo.aud: - Offset: 268381126 - Length: 26572 - ^Content/ra/v2/expand/mboss1.aud: - Offset: 268413174 - Length: 20147 - ^Content/ra/v2/expand/mhear1.aud: - Offset: 268438509 - Length: 6714 - ^Content/ra/v2/expand/mhotdig1.aud: - Offset: 268445223 - Length: 10674 - ^Content/ra/v2/expand/mhowdy1.aud: - Offset: 268455897 - Length: 6714 - ^Content/ra/v2/expand/mhuh1.aud: - Offset: 268462611 - Length: 4117 - ^Content/ra/v2/expand/mlaff1.aud: - Offset: 268527415 - Length: 24133 - ^Content/ra/v2/expand/mrise1.aud: - Offset: 268564948 - Length: 13523 - ^Content/ra/v2/expand/mwrench1.aud: - Offset: 268578471 - Length: 10780 - ^Content/ra/v2/expand/myeehaw1.aud: - Offset: 268589251 - Length: 18912 - ^Content/ra/v2/expand/myes1.aud: - Offset: 268608163 - Length: 9073 - tfd: C&C The First Decade (English) - IDFiles: - data1.hdr: bef3a08c3fc1b1caf28ca0dbb97c1f900005930e - data1.cab: 12ad6113a6890a1b4d5651a75378c963eaf513b9 - Install: - extract-iscab: data1.hdr - Volumes: - 2: data2.cab - 3: data3.cab - 4: data4.cab - 5: data5.cab - Extract: - ^Content/ra/v2/main.mix: Red Alert\\MAIN.MIX - ^Content/ra/v2/redalert.mix: Red Alert\\REDALERT.MIX - ^Content/ra/v2/expand/hires1.mix: Red Alert\\HIRES1.MIX - ^Content/ra/v2/expand/lores1.mix: Red Alert\\LORES1.MIX - ^Content/ra/v2/expand/expand2.mix: Red Alert\\EXPAND2.MIX - ^Content/ra/v2/cnc/desert.mix: CnC\\DESERT.MIX - extract-raw: ^Content/ra/v2/redalert.mix - ^Content/ra/v2/hires.mix: - Offset: 650612 - Length: 5817417 - ^Content/ra/v2/local.mix: - Offset: 6468029 - Length: 3829837 - ^Content/ra/v2/lores.mix: - Offset: 10297866 - Length: 754800 - ^Content/ra/v2/speech.mix: - Offset: 23042864 - Length: 2003464 - delete: ^Content/ra/v2/redalert.mix - extract-raw: ^Content/ra/v2/main.mix - ^Content/ra/v2/movies1.mix: - Offset: 417051805 - Length: 404691306 - ^Content/ra/v2/interior.mix: - Offset: 821743111 - Length: 249490 - ^Content/ra/v2/conquer.mix: - Offset: 840028549 - Length: 2192279 - ^Content/ra/v2/allies.mix: - Offset: 842220828 - Length: 319181 - ^Content/ra/v2/temperat.mix: - Offset: 842540009 - Length: 1043672 - ^Content/ra/v2/sounds.mix: - Offset: 843583681 - Length: 1385637 - ^Content/ra/v2/snow.mix: - Offset: 844969318 - Length: 1035716 - ^Content/ra/v2/scores.mix: - Offset: 846005034 - Length: 67742203 - ^Content/ra/v2/russian.mix: - Offset: 913747237 - Length: 274732 - ^Content/ra/v2/movies2.mix: - Offset: 914022190 - Length: 417051731 - ^Content/ra/v2/expand/chrotnk1.aud: - Offset: 843615985 - Length: 22900 - ^Content/ra/v2/expand/fixit1.aud: - Offset: 843860963 - Length: 10707 - ^Content/ra/v2/expand/jburn1.aud: - Offset: 844007001 - Length: 23091 - ^Content/ra/v2/expand/jchrge1.aud: - Offset: 844030092 - Length: 14219 - ^Content/ra/v2/expand/jcrisp1.aud: - Offset: 844044311 - Length: 18211 - ^Content/ra/v2/expand/jdance1.aud: - Offset: 844062522 - Length: 14315 - ^Content/ra/v2/expand/jjuice1.aud: - Offset: 844076837 - Length: 9699 - ^Content/ra/v2/expand/jjump1.aud: - Offset: 844086536 - Length: 8219 - ^Content/ra/v2/expand/jlight1.aud: - Offset: 844094755 - Length: 9875 - ^Content/ra/v2/expand/jpower1.aud: - Offset: 844104630 - Length: 13571 - ^Content/ra/v2/expand/jshock1.aud: - Offset: 844118201 - Length: 14771 - ^Content/ra/v2/expand/jyes1.aud: - Offset: 844132972 - Length: 13795 - ^Content/ra/v2/expand/madchrg2.aud: - Offset: 844262883 - Length: 19782 - ^Content/ra/v2/expand/madexplo.aud: - Offset: 844282665 - Length: 26572 - ^Content/ra/v2/expand/mboss1.aud: - Offset: 844314713 - Length: 20147 - ^Content/ra/v2/expand/mhear1.aud: - Offset: 844340048 - Length: 6714 - ^Content/ra/v2/expand/mhotdig1.aud: - Offset: 844346762 - Length: 10674 - ^Content/ra/v2/expand/mhowdy1.aud: - Offset: 844357436 - Length: 6714 - ^Content/ra/v2/expand/mhuh1.aud: - Offset: 844364150 - Length: 4117 - ^Content/ra/v2/expand/mlaff1.aud: - Offset: 844428954 - Length: 24133 - ^Content/ra/v2/expand/mrise1.aud: - Offset: 844466487 - Length: 13523 - ^Content/ra/v2/expand/mwrench1.aud: - Offset: 844480010 - Length: 10780 - ^Content/ra/v2/expand/myeehaw1.aud: - Offset: 844490790 - Length: 18912 - ^Content/ra/v2/expand/myes1.aud: - Offset: 844509702 - Length: 9073 - delete: ^Content/ra/v2/main.mix - ra-origin: C&C The Ultimate Collection (Origin version, English) - Type: Install - RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\Command and Conquer Red Alert - RegistryValue: Install Dir - IDFiles: - RA95Launcher.exe: 22bf7a1f9f1c2498823e3216541e6012f291c2c0 - REDALERT.MIX: 0e58f4b54f44f6cd29fecf8cf379d33cf2d4caef - Install: - copy: . - ^Content/ra/v2/expand/2nd_hand.aud: 2nd_hand.aud - ^Content/ra/v2/expand/araziod.aud: araziod.aud - ^Content/ra/v2/expand/await.aud: await.aud - ^Content/ra/v2/expand/backstab.aud: backstab.aud - ^Content/ra/v2/expand/bog.aud: bog.aud - ^Content/ra/v2/expand/chaos2.aud: chaos2.aud - ^Content/ra/v2/expand/float_v2.aud: float_v2.aud - ^Content/ra/v2/expand/gloom.aud: gloom.aud - ^Content/ra/v2/expand/grndwire.aud: grndwire.aud - ^Content/ra/v2/expand/rpt.aud: rpt.aud - ^Content/ra/v2/expand/search.aud: search.aud - ^Content/ra/v2/expand/shut_it.aud: shut_it.aud - ^Content/ra/v2/expand/traction.aud: traction.aud - ^Content/ra/v2/expand/twinmix1.aud: twinmix1.aud - ^Content/ra/v2/expand/under3.aud: under3.aud - ^Content/ra/v2/expand/vr2.aud: vr2.aud - ^Content/ra/v2/expand/wastelnd.aud: wastelnd.aud - ^Content/ra/v2/expand/expand2.mix: EXPAND2.MIX - ^Content/ra/v2/expand/hires1.mix: HIRES1.MIX - ^Content/ra/v2/expand/lores1.mix: LORES1.MIX - extract-raw: REDALERT.MIX - ^Content/ra/v2/hires.mix: - Offset: 650612 - Length: 5817417 - ^Content/ra/v2/local.mix: - Offset: 6468029 - Length: 3829837 - ^Content/ra/v2/lores.mix: - Offset: 10297866 - Length: 754800 - ^Content/ra/v2/speech.mix: - Offset: 23042864 - Length: 2003464 - extract-raw: MAIN.MIX - ^Content/ra/v2/movies1.mix: - Offset: 417051805 - Length: 404691306 - ^Content/ra/v2/interior.mix: - Offset: 821743111 - Length: 249490 - ^Content/ra/v2/conquer.mix: - Offset: 840028549 - Length: 2192279 - ^Content/ra/v2/allies.mix: - Offset: 842220828 - Length: 319181 - ^Content/ra/v2/temperat.mix: - Offset: 842540009 - Length: 1043672 - ^Content/ra/v2/sounds.mix: - Offset: 843583681 - Length: 1385637 - ^Content/ra/v2/snow.mix: - Offset: 844969318 - Length: 1035716 - ^Content/ra/v2/scores.mix: - Offset: 846005034 - Length: 67742203 - ^Content/ra/v2/russian.mix: - Offset: 913747237 - Length: 274732 - ^Content/ra/v2/movies2.mix: - Offset: 914022190 - Length: 417051731 - ^Content/ra/v2/expand/chrotnk1.aud: - Offset: 843615985 - Length: 22900 - ^Content/ra/v2/expand/fixit1.aud: - Offset: 843860963 - Length: 10707 - ^Content/ra/v2/expand/jburn1.aud: - Offset: 844007001 - Length: 23091 - ^Content/ra/v2/expand/jchrge1.aud: - Offset: 844030092 - Length: 14219 - ^Content/ra/v2/expand/jcrisp1.aud: - Offset: 844044311 - Length: 18211 - ^Content/ra/v2/expand/jdance1.aud: - Offset: 844062522 - Length: 14315 - ^Content/ra/v2/expand/jjuice1.aud: - Offset: 844076837 - Length: 9699 - ^Content/ra/v2/expand/jjump1.aud: - Offset: 844086536 - Length: 8219 - ^Content/ra/v2/expand/jlight1.aud: - Offset: 844094755 - Length: 9875 - ^Content/ra/v2/expand/jpower1.aud: - Offset: 844104630 - Length: 13571 - ^Content/ra/v2/expand/jshock1.aud: - Offset: 844118201 - Length: 14771 - ^Content/ra/v2/expand/jyes1.aud: - Offset: 844132972 - Length: 13795 - ^Content/ra/v2/expand/madchrg2.aud: - Offset: 844262883 - Length: 19782 - ^Content/ra/v2/expand/madexplo.aud: - Offset: 844282665 - Length: 26572 - ^Content/ra/v2/expand/mboss1.aud: - Offset: 844314713 - Length: 20147 - ^Content/ra/v2/expand/mhear1.aud: - Offset: 844340048 - Length: 6714 - ^Content/ra/v2/expand/mhotdig1.aud: - Offset: 844346762 - Length: 10674 - ^Content/ra/v2/expand/mhowdy1.aud: - Offset: 844357436 - Length: 6714 - ^Content/ra/v2/expand/mhuh1.aud: - Offset: 844364150 - Length: 4117 - ^Content/ra/v2/expand/mlaff1.aud: - Offset: 844428954 - Length: 24133 - ^Content/ra/v2/expand/mrise1.aud: - Offset: 844466487 - Length: 13523 - ^Content/ra/v2/expand/mwrench1.aud: - Offset: 844480010 - Length: 10780 - ^Content/ra/v2/expand/myeehaw1.aud: - Offset: 844490790 - Length: 18912 - ^Content/ra/v2/expand/myes1.aud: - Offset: 844509702 - Length: 9073 - cnc-origin: Command & Conquer (Origin version, English) - Type: Install - RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\CNC and The Covert Operations - RegistryValue: Install Dir - IDFiles: - CNC95Launcher.exe: 1d711adf09ac08738b2599b3092a1b448169b32a - CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/ra/v2/cnc/desert.mix: DESERT.MIX - cnc95: C&C Gold (GDI or Nod Disc, English) - IDFiles: - CONQUER.MIX: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/ra/v2/cnc/desert.mix: DESERT.MIX - cnc95-linux: C&C Gold (GDI or Nod Disc, English) - IDFiles: - conquer.mix: 833e02a09aae694659eb312d3838367f681d1b30 - Install: - copy: . - ^Content/ra/v2/cnc/desert.mix: desert.mix \ No newline at end of file + ra|installer/aftermath.yaml + ra|installer/allies95.yaml + ra|installer/cnc95.yaml + ra|installer/counterstrike.yaml + ra|installer/firstdecade.yaml + ra|installer/origin.yaml + ra|installer/soviet95.yaml diff --git a/mods/ts/installer/downloads.yaml b/mods/ts/installer/downloads.yaml new file mode 100644 index 0000000000..96909daf4c --- /dev/null +++ b/mods/ts/installer/downloads.yaml @@ -0,0 +1,21 @@ +basefiles: Base Freeware Content + MirrorList: http://www.openra.net/packages/ts-mirrors.txt + Extract: + ^Content/ts/cache.mix: cache.mix + ^Content/ts/conquer.mix: conquer.mix + ^Content/ts/isosnow.mix: isosnow.mix + ^Content/ts/isotemp.mix: isotemp.mix + ^Content/ts/local.mix: local.mix + ^Content/ts/sidec01.mix: sidec01.mix + ^Content/ts/sidec02.mix: sidec02.mix + ^Content/ts/sno.mix: sno.mix + ^Content/ts/snow.mix: snow.mix + ^Content/ts/sounds.mix: sounds.mix + ^Content/ts/speech01.mix: speech01.mix + ^Content/ts/speech02.mix: speech02.mix + ^Content/ts/tem.mix: tem.mix + ^Content/ts/temperat.mix: temperat.mix +music: Freeware Music + MirrorList: http://www.openra.net/packages/ts-music-mirrors.txt + Extract: + ^Content/ts/scores.mix: scores.mix diff --git a/mods/ts/installer/firstdecade.yaml b/mods/ts/installer/firstdecade.yaml new file mode 100644 index 0000000000..cf273ffa3d --- /dev/null +++ b/mods/ts/installer/firstdecade.yaml @@ -0,0 +1,56 @@ +tfd: C&C The First Decade (English) + IDFiles: + data1.hdr: bef3a08c3fc1b1caf28ca0dbb97c1f900005930e + data1.cab: 12ad6113a6890a1b4d5651a75378c963eaf513b9 + Install: + extract-iscab: data1.hdr + Volumes: + 6: data6.cab + 7: data7.cab + Extract: + ^Content/ts/scores.mix: Tiberian Sun\SUN\SCORES.MIX + ^Content/ts/tibsun.mix: Tiberian Sun\SUN\TIBSUN.MIX + extract-raw: ^Content/ts/tibsun.mix + ^Content/ts/cache.mix: + Offset: 300 + Length: 169176 + ^Content/ts/conquer.mix: + Offset: 169484 + Length: 5700088 + ^Content/ts/isosnow.mix: + Offset: 5869580 + Length: 7624750 + ^Content/ts/isotemp.mix: + Offset: 13494332 + Length: 8617646 + ^Content/ts/local.mix: + Offset: 22111980 + Length: 18044736 + ^Content/ts/sidec01.mix: + Offset: 40156716 + Length: 998476 + ^Content/ts/sidec02.mix: + Offset: 41155196 + Length: 1039996 + ^Content/ts/snow.mix: + Offset: 56104508 + Length: 2087806 + ^Content/ts/sno.mix: + Offset: 58192316 + Length: 7826 + ^Content/ts/sounds.mix: + Offset: 58200156 + Length: 3224136 + ^Content/ts/speech01.mix: + Offset: 61424300 + Length: 6028236 + ^Content/ts/speech02.mix: + Offset: 67452540 + Length: 5596628 + ^Content/ts/tem.mix: + Offset: 73049180 + Length: 7746 + ^Content/ts/temperat.mix: + Offset: 73056940 + Length: 2037606 + delete: ^Content/ts/tibsun.mix \ No newline at end of file diff --git a/mods/ts/installer/origin.yaml b/mods/ts/installer/origin.yaml new file mode 100644 index 0000000000..5293b42c71 --- /dev/null +++ b/mods/ts/installer/origin.yaml @@ -0,0 +1,53 @@ +origin: C&C The Ultimate Collection (Origin version, English) + Type: Install + RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\Command and Conquer Tiberian Sun + RegistryValue: Install Dir + IDFiles: + TSLauncher.exe: 0b3e8dfd7cb701868eccef3ba3717a1ced802707 + GDFBinary_en_US.dll: 4bb56a449bd0003e7ae67625d90a11ae169319d6 + Install: + copy: . + ^Content/ts/scores.mix: SCORES.MIX + extract-raw: TIBSUN.MIX + ^Content/ts/cache.mix: + Offset: 300 + Length: 169176 + ^Content/ts/conquer.mix: + Offset: 169484 + Length: 5700088 + ^Content/ts/isosnow.mix: + Offset: 5869580 + Length: 7624750 + ^Content/ts/isotemp.mix: + Offset: 13494332 + Length: 8617646 + ^Content/ts/local.mix: + Offset: 22111980 + Length: 18044736 + ^Content/ts/sidec01.mix: + Offset: 40156716 + Length: 998476 + ^Content/ts/sidec02.mix: + Offset: 41155196 + Length: 1039996 + ^Content/ts/snow.mix: + Offset: 56104508 + Length: 2087806 + ^Content/ts/sno.mix: + Offset: 58192316 + Length: 7826 + ^Content/ts/sounds.mix: + Offset: 58200156 + Length: 3224136 + ^Content/ts/speech01.mix: + Offset: 61424300 + Length: 6028236 + ^Content/ts/speech02.mix: + Offset: 67452540 + Length: 5596628 + ^Content/ts/tem.mix: + Offset: 73049180 + Length: 7746 + ^Content/ts/temperat.mix: + Offset: 73056940 + Length: 2037606 \ No newline at end of file diff --git a/mods/ts/installer/tibsun.yaml b/mods/ts/installer/tibsun.yaml new file mode 100644 index 0000000000..8246ffb6a6 --- /dev/null +++ b/mods/ts/installer/tibsun.yaml @@ -0,0 +1,100 @@ +tibsun: Tiberan Sun (GDI or Nod Disc, English) + IDFiles: + README.TXT: 45745c4a0c888317ec900208a426472779c42bf7 + AUTOPLAY.WAV: 2dfce5d00f98b641849c29942b651f4e98d30e30 + Install: + copy: . + ^Content/ts/scores.mix: SCORES.MIX + extract-raw: INSTALL/TIBSUN.MIX + ^Content/ts/cache.mix: + Offset: 300 + Length: 169176 + ^Content/ts/conquer.mix: + Offset: 169484 + Length: 5700088 + ^Content/ts/isosnow.mix: + Offset: 5869580 + Length: 7624750 + ^Content/ts/isotemp.mix: + Offset: 13494332 + Length: 8617646 + ^Content/ts/local.mix: + Offset: 22111980 + Length: 18044736 + ^Content/ts/sidec01.mix: + Offset: 40156716 + Length: 998476 + ^Content/ts/sidec02.mix: + Offset: 41155196 + Length: 1039996 + ^Content/ts/snow.mix: + Offset: 56104508 + Length: 2087806 + ^Content/ts/sno.mix: + Offset: 58192316 + Length: 7826 + ^Content/ts/sounds.mix: + Offset: 58200156 + Length: 3224136 + ^Content/ts/speech01.mix: + Offset: 61424300 + Length: 6028236 + ^Content/ts/speech02.mix: + Offset: 67452540 + Length: 5596628 + ^Content/ts/tem.mix: + Offset: 73049180 + Length: 7746 + ^Content/ts/temperat.mix: + Offset: 73056940 + Length: 2037606 +tibsun-linux: Tiberan Sun (GDI or Nod Disc, English) + IDFiles: + readme.txt: 45745c4a0c888317ec900208a426472779c42bf7 + autoplay.wav: 2dfce5d00f98b641849c29942b651f4e98d30e30 + Install: + copy: . + ^Content/ts/scores.mix: scores.mix + extract-raw: install/tibsun.mix + ^Content/ts/cache.mix: + Offset: 300 + Length: 169176 + ^Content/ts/conquer.mix: + Offset: 169484 + Length: 5700088 + ^Content/ts/isosnow.mix: + Offset: 5869580 + Length: 7624750 + ^Content/ts/isotemp.mix: + Offset: 13494332 + Length: 8617646 + ^Content/ts/local.mix: + Offset: 22111980 + Length: 18044736 + ^Content/ts/sidec01.mix: + Offset: 40156716 + Length: 998476 + ^Content/ts/sidec02.mix: + Offset: 41155196 + Length: 1039996 + ^Content/ts/snow.mix: + Offset: 56104508 + Length: 2087806 + ^Content/ts/sno.mix: + Offset: 58192316 + Length: 7826 + ^Content/ts/sounds.mix: + Offset: 58200156 + Length: 3224136 + ^Content/ts/speech01.mix: + Offset: 61424300 + Length: 6028236 + ^Content/ts/speech02.mix: + Offset: 67452540 + Length: 5596628 + ^Content/ts/tem.mix: + Offset: 73049180 + Length: 7746 + ^Content/ts/temperat.mix: + Offset: 73056940 + Length: 2037606 \ No newline at end of file diff --git a/mods/ts/mod.yaml b/mods/ts/mod.yaml index 886896e9c8..5adcfcc1be 100644 --- a/mods/ts/mod.yaml +++ b/mods/ts/mod.yaml @@ -273,234 +273,9 @@ ModContent: Sources: tibsun, tibsun-linux, tfd, origin Download: music Downloads: - basefiles: Base Freeware Content - MirrorList: http://www.openra.net/packages/ts-mirrors.txt - Extract: - ^Content/ts/cache.mix: cache.mix - ^Content/ts/conquer.mix: conquer.mix - ^Content/ts/isosnow.mix: isosnow.mix - ^Content/ts/isotemp.mix: isotemp.mix - ^Content/ts/local.mix: local.mix - ^Content/ts/sidec01.mix: sidec01.mix - ^Content/ts/sidec02.mix: sidec02.mix - ^Content/ts/sno.mix: sno.mix - ^Content/ts/snow.mix: snow.mix - ^Content/ts/sounds.mix: sounds.mix - ^Content/ts/speech01.mix: speech01.mix - ^Content/ts/speech02.mix: speech02.mix - ^Content/ts/tem.mix: tem.mix - ^Content/ts/temperat.mix: temperat.mix - music: Freeware Music - MirrorList: http://www.openra.net/packages/ts-music-mirrors.txt - Extract: - ^Content/ts/scores.mix: scores.mix + ts|installer/downloads.yaml Sources: - tibsun: Tiberan Sun (GDI or Nod Disc, English) - IDFiles: - README.TXT: 45745c4a0c888317ec900208a426472779c42bf7 - AUTOPLAY.WAV: 2dfce5d00f98b641849c29942b651f4e98d30e30 - Install: - copy: . - ^Content/ts/scores.mix: SCORES.MIX - extract-raw: INSTALL/TIBSUN.MIX - ^Content/ts/cache.mix: - Offset: 300 - Length: 169176 - ^Content/ts/conquer.mix: - Offset: 169484 - Length: 5700088 - ^Content/ts/isosnow.mix: - Offset: 5869580 - Length: 7624750 - ^Content/ts/isotemp.mix: - Offset: 13494332 - Length: 8617646 - ^Content/ts/local.mix: - Offset: 22111980 - Length: 18044736 - ^Content/ts/sidec01.mix: - Offset: 40156716 - Length: 998476 - ^Content/ts/sidec02.mix: - Offset: 41155196 - Length: 1039996 - ^Content/ts/snow.mix: - Offset: 56104508 - Length: 2087806 - ^Content/ts/sno.mix: - Offset: 58192316 - Length: 7826 - ^Content/ts/sounds.mix: - Offset: 58200156 - Length: 3224136 - ^Content/ts/speech01.mix: - Offset: 61424300 - Length: 6028236 - ^Content/ts/speech02.mix: - Offset: 67452540 - Length: 5596628 - ^Content/ts/tem.mix: - Offset: 73049180 - Length: 7746 - ^Content/ts/temperat.mix: - Offset: 73056940 - Length: 2037606 - tibsun-linux: Tiberan Sun (GDI or Nod Disc, English) - IDFiles: - readme.txt: 45745c4a0c888317ec900208a426472779c42bf7 - autoplay.wav: 2dfce5d00f98b641849c29942b651f4e98d30e30 - Install: - copy: . - ^Content/ts/scores.mix: scores.mix - extract-raw: install/tibsun.mix - ^Content/ts/cache.mix: - Offset: 300 - Length: 169176 - ^Content/ts/conquer.mix: - Offset: 169484 - Length: 5700088 - ^Content/ts/isosnow.mix: - Offset: 5869580 - Length: 7624750 - ^Content/ts/isotemp.mix: - Offset: 13494332 - Length: 8617646 - ^Content/ts/local.mix: - Offset: 22111980 - Length: 18044736 - ^Content/ts/sidec01.mix: - Offset: 40156716 - Length: 998476 - ^Content/ts/sidec02.mix: - Offset: 41155196 - Length: 1039996 - ^Content/ts/snow.mix: - Offset: 56104508 - Length: 2087806 - ^Content/ts/sno.mix: - Offset: 58192316 - Length: 7826 - ^Content/ts/sounds.mix: - Offset: 58200156 - Length: 3224136 - ^Content/ts/speech01.mix: - Offset: 61424300 - Length: 6028236 - ^Content/ts/speech02.mix: - Offset: 67452540 - Length: 5596628 - ^Content/ts/tem.mix: - Offset: 73049180 - Length: 7746 - ^Content/ts/temperat.mix: - Offset: 73056940 - Length: 2037606 - tfd: C&C The First Decade (English) - IDFiles: - data1.hdr: bef3a08c3fc1b1caf28ca0dbb97c1f900005930e - data1.cab: 12ad6113a6890a1b4d5651a75378c963eaf513b9 - Install: - extract-iscab: data1.hdr - Volumes: - 6: data6.cab - 7: data7.cab - Extract: - ^Content/ts/scores.mix: Tiberian Sun\SUN\SCORES.MIX - ^Content/ts/tibsun.mix: Tiberian Sun\SUN\TIBSUN.MIX - extract-raw: ^Content/ts/tibsun.mix - ^Content/ts/cache.mix: - Offset: 300 - Length: 169176 - ^Content/ts/conquer.mix: - Offset: 169484 - Length: 5700088 - ^Content/ts/isosnow.mix: - Offset: 5869580 - Length: 7624750 - ^Content/ts/isotemp.mix: - Offset: 13494332 - Length: 8617646 - ^Content/ts/local.mix: - Offset: 22111980 - Length: 18044736 - ^Content/ts/sidec01.mix: - Offset: 40156716 - Length: 998476 - ^Content/ts/sidec02.mix: - Offset: 41155196 - Length: 1039996 - ^Content/ts/snow.mix: - Offset: 56104508 - Length: 2087806 - ^Content/ts/sno.mix: - Offset: 58192316 - Length: 7826 - ^Content/ts/sounds.mix: - Offset: 58200156 - Length: 3224136 - ^Content/ts/speech01.mix: - Offset: 61424300 - Length: 6028236 - ^Content/ts/speech02.mix: - Offset: 67452540 - Length: 5596628 - ^Content/ts/tem.mix: - Offset: 73049180 - Length: 7746 - ^Content/ts/temperat.mix: - Offset: 73056940 - Length: 2037606 - delete: ^Content/ts/tibsun.mix - origin: C&C The Ultimate Collection (Origin version, English) - Type: Install - RegistryKey: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\Command and Conquer Tiberian Sun - RegistryValue: Install Dir - IDFiles: - TSLauncher.exe: 0b3e8dfd7cb701868eccef3ba3717a1ced802707 - GDFBinary_en_US.dll: 4bb56a449bd0003e7ae67625d90a11ae169319d6 - Install: - copy: . - ^Content/ts/scores.mix: SCORES.MIX - extract-raw: TIBSUN.MIX - ^Content/ts/cache.mix: - Offset: 300 - Length: 169176 - ^Content/ts/conquer.mix: - Offset: 169484 - Length: 5700088 - ^Content/ts/isosnow.mix: - Offset: 5869580 - Length: 7624750 - ^Content/ts/isotemp.mix: - Offset: 13494332 - Length: 8617646 - ^Content/ts/local.mix: - Offset: 22111980 - Length: 18044736 - ^Content/ts/sidec01.mix: - Offset: 40156716 - Length: 998476 - ^Content/ts/sidec02.mix: - Offset: 41155196 - Length: 1039996 - ^Content/ts/snow.mix: - Offset: 56104508 - Length: 2087806 - ^Content/ts/sno.mix: - Offset: 58192316 - Length: 7826 - ^Content/ts/sounds.mix: - Offset: 58200156 - Length: 3224136 - ^Content/ts/speech01.mix: - Offset: 61424300 - Length: 6028236 - ^Content/ts/speech02.mix: - Offset: 67452540 - Length: 5596628 - ^Content/ts/tem.mix: - Offset: 73049180 - Length: 7746 - ^Content/ts/temperat.mix: - Offset: 73056940 - Length: 2037606 + ts|installer/downloads.yaml + ts|installer/firstdecade.yaml + ts|installer/origin.yaml + ts|installer/tibsun.yaml