@@ -89,7 +89,6 @@
|
|||||||
<Compile Include="WithRoof.cs" />
|
<Compile Include="WithRoof.cs" />
|
||||||
<Compile Include="Widgets\Logic\ProductionTabsLogic.cs" />
|
<Compile Include="Widgets\Logic\ProductionTabsLogic.cs" />
|
||||||
<Compile Include="Widgets\ProductionTypeButtonWidget.cs" />
|
<Compile Include="Widgets\ProductionTypeButtonWidget.cs" />
|
||||||
<Compile Include="Widgets\Logic\CncInstallMusicLogic.cs" />
|
|
||||||
<Compile Include="WithDeliveryAnimation.cs" />
|
<Compile Include="WithDeliveryAnimation.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
|||||||
@@ -1,57 +0,0 @@
|
|||||||
#region Copyright & License Information
|
|
||||||
/*
|
|
||||||
* Copyright 2007-2014 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. For more information,
|
|
||||||
* see COPYING.
|
|
||||||
*/
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
using System;
|
|
||||||
using System.IO;
|
|
||||||
using System.Linq;
|
|
||||||
using OpenRA.FileSystem;
|
|
||||||
using OpenRA.Mods.RA.Widgets.Logic;
|
|
||||||
using OpenRA.Widgets;
|
|
||||||
|
|
||||||
namespace OpenRA.Mods.Cnc.Widgets.Logic
|
|
||||||
{
|
|
||||||
public class CncInstallMusicLogic
|
|
||||||
{
|
|
||||||
[ObjectCreator.UseCtor]
|
|
||||||
public CncInstallMusicLogic(Widget widget, Ruleset modRules, Action onExit)
|
|
||||||
{
|
|
||||||
var installButton = widget.GetOrNull<ButtonWidget>("INSTALL_BUTTON");
|
|
||||||
if (installButton != null)
|
|
||||||
{
|
|
||||||
Action afterInstall = () =>
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
var path = new string[] { Platform.SupportDir, "Content", Game.modData.Manifest.Mod.Id }.Aggregate(Path.Combine);
|
|
||||||
GlobalFileSystem.Mount(Path.Combine(path, "scores.mix"));
|
|
||||||
GlobalFileSystem.Mount(Path.Combine(path, "transit.mix"));
|
|
||||||
|
|
||||||
modRules.Music.Do(m => m.Value.Reload());
|
|
||||||
|
|
||||||
var musicPlayerLogic = (MusicPlayerLogic)installButton.Parent.LogicObject;
|
|
||||||
musicPlayerLogic.BuildMusicTable();
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Log.Write("debug", "Mounting the new mixfile and rebuild of scores list failed:\n{0}", e);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
installButton.OnClick = () =>
|
|
||||||
Ui.OpenWindow("INSTALL_MUSIC_PANEL", new WidgetArgs() {
|
|
||||||
{ "afterInstall", afterInstall },
|
|
||||||
{ "filesToCopy", new[] { "SCORES.MIX" } },
|
|
||||||
{ "filesToExtract", new[] { "transit.mix" } },
|
|
||||||
});
|
|
||||||
installButton.IsVisible = () => modRules.InstalledMusic.ToArray().Length < 3; // HACK around music being split between transit.mix and scores.mix
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -519,6 +519,7 @@
|
|||||||
<Compile Include="Parachutable.cs" />
|
<Compile Include="Parachutable.cs" />
|
||||||
<Compile Include="Render\WithMakeAnimation.cs" />
|
<Compile Include="Render\WithMakeAnimation.cs" />
|
||||||
<Compile Include="Widgets\Logic\InstallFromCDLogic.cs" />
|
<Compile Include="Widgets\Logic\InstallFromCDLogic.cs" />
|
||||||
|
<Compile Include="Widgets\Logic\InstallMusicLogic.cs" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">
|
<ProjectReference Include="..\OpenRA.Game\OpenRA.Game.csproj">
|
||||||
|
|||||||
85
OpenRA.Mods.RA/Widgets/Logic/InstallMusicLogic.cs
Normal file
85
OpenRA.Mods.RA/Widgets/Logic/InstallMusicLogic.cs
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
#region Copyright & License Information
|
||||||
|
/*
|
||||||
|
* Copyright 2007-2014 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. For more information,
|
||||||
|
* see COPYING.
|
||||||
|
*/
|
||||||
|
#endregion
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using OpenRA.FileSystem;
|
||||||
|
using OpenRA.Widgets;
|
||||||
|
|
||||||
|
namespace OpenRA.Mods.RA.Widgets.Logic
|
||||||
|
{
|
||||||
|
public class InstallMusicLogic
|
||||||
|
{
|
||||||
|
ButtonWidget installButton;
|
||||||
|
Dictionary<string, string> installData;
|
||||||
|
|
||||||
|
[ObjectCreator.UseCtor]
|
||||||
|
public InstallMusicLogic(Widget widget)
|
||||||
|
{
|
||||||
|
installData = Game.modData.Manifest.ContentInstaller;
|
||||||
|
|
||||||
|
installButton = widget.GetOrNull<ButtonWidget>("INSTALL_BUTTON");
|
||||||
|
if (installButton != null)
|
||||||
|
{
|
||||||
|
installButton.OnClick = () => LoadInstallMusicContainer();
|
||||||
|
installButton.IsVisible = () =>
|
||||||
|
Rules.InstalledMusic.ToArray().Length <= Exts.ParseIntegerInvariant(installData["ShippedSoundtracks"]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void LoadInstallMusicContainer()
|
||||||
|
{
|
||||||
|
var installMusicContainer = Ui.OpenWindow("INSTALL_MUSIC_PANEL", new WidgetArgs());
|
||||||
|
|
||||||
|
Action after = () =>
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
GlobalFileSystem.LoadFromManifest(Game.modData.Manifest);
|
||||||
|
Rules.Music.Do(m => m.Value.Reload());
|
||||||
|
var musicPlayerLogic = (MusicPlayerLogic)installButton.Parent.LogicObject;
|
||||||
|
musicPlayerLogic.BuildMusicTable();
|
||||||
|
Ui.CloseWindow();
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Log.Write("debug", "Mounting the new MIX file and rebuild of scores list failed:\n{0}", e);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var cancelButton = installMusicContainer.GetOrNull<ButtonWidget>("CANCEL_BUTTON");
|
||||||
|
if (cancelButton != null)
|
||||||
|
cancelButton.OnClick = () => Ui.CloseWindow();
|
||||||
|
|
||||||
|
var copyFromDiscButton = installMusicContainer.GetOrNull<ButtonWidget>("COPY_FROM_CD_BUTTON");
|
||||||
|
if (copyFromDiscButton != null)
|
||||||
|
{
|
||||||
|
copyFromDiscButton.OnClick = () => Ui.OpenWindow("INSTALL_FROMCD_PANEL", new WidgetArgs() {
|
||||||
|
{ "continueLoading", after },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var downloadButton = installMusicContainer.GetOrNull<ButtonWidget>("DOWNLOAD_BUTTON");
|
||||||
|
if (downloadButton != null)
|
||||||
|
{
|
||||||
|
downloadButton.IsVisible = () => !string.IsNullOrEmpty(installData["MusicPackageMirrorList"]);
|
||||||
|
var musicInstallData = new Dictionary<string, string> { };
|
||||||
|
musicInstallData["PackageMirrorList"] = installData["MusicPackageMirrorList"];
|
||||||
|
|
||||||
|
downloadButton.OnClick = () => Ui.OpenWindow("INSTALL_DOWNLOAD_PANEL", new WidgetArgs() {
|
||||||
|
{ "afterInstall", after },
|
||||||
|
{ "installData", new ReadOnlyDictionary<string, string>(musicInstallData) },
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -170,7 +170,7 @@ Container@MUSIC_PANEL:
|
|||||||
Height: 35
|
Height: 35
|
||||||
Text: Back
|
Text: Back
|
||||||
Button@INSTALL_BUTTON:
|
Button@INSTALL_BUTTON:
|
||||||
Logic: CncInstallMusicLogic
|
Logic: InstallMusicLogic
|
||||||
X: 220
|
X: 220
|
||||||
Y: 399
|
Y: 399
|
||||||
Width: 140
|
Width: 140
|
||||||
@@ -178,7 +178,7 @@ Container@MUSIC_PANEL:
|
|||||||
Text: Install Music
|
Text: Install Music
|
||||||
|
|
||||||
Container@INSTALL_MUSIC_PANEL:
|
Container@INSTALL_MUSIC_PANEL:
|
||||||
Logic: CncInstallFromCDLogic
|
Logic: InstallMusicLogic
|
||||||
X: (WINDOW_RIGHT - WIDTH)/2
|
X: (WINDOW_RIGHT - WIDTH)/2
|
||||||
Y: (WINDOW_BOTTOM - 150)/2
|
Y: (WINDOW_BOTTOM - 150)/2
|
||||||
Width: 640
|
Width: 640
|
||||||
@@ -201,52 +201,37 @@ Container@INSTALL_MUSIC_PANEL:
|
|||||||
Y: 11
|
Y: 11
|
||||||
ImageCollection: logos
|
ImageCollection: logos
|
||||||
ImageName: install
|
ImageName: install
|
||||||
Container@INSTALLING:
|
Label@INFO:
|
||||||
Width: PARENT_RIGHT
|
|
||||||
Height: PARENT_BOTTOM
|
|
||||||
Visible: false
|
|
||||||
Children:
|
|
||||||
ProgressBar@PROGRESS_BAR:
|
|
||||||
X: 170
|
|
||||||
Y: 45
|
|
||||||
Width: PARENT_RIGHT - 185
|
|
||||||
Height: 35
|
|
||||||
Label@STATUS_LABEL:
|
|
||||||
X: 170
|
|
||||||
Y: 85
|
|
||||||
Width: PARENT_RIGHT - 185
|
|
||||||
Height: 25
|
|
||||||
Align: Left
|
|
||||||
Container@INSERT_DISK:
|
|
||||||
Width: PARENT_RIGHT
|
|
||||||
Height: PARENT_BOTTOM
|
|
||||||
Visible: false
|
|
||||||
Children:
|
|
||||||
Label@MUSIC_DISK_NOT_FOUND:
|
|
||||||
X: 170
|
X: 170
|
||||||
Y: 35
|
Y: 35
|
||||||
Width: PARENT_RIGHT-30
|
Width: PARENT_RIGHT-30
|
||||||
Height: 25
|
Height: 25
|
||||||
Text: Disk not found
|
Text: The soundtrack is currently unavailable.
|
||||||
Font: Bold
|
Font: Bold
|
||||||
Label@PLEASE_INSERT_MUSIC_DISK:
|
Label@INFO2:
|
||||||
X: 170
|
X: 170
|
||||||
Y: 70
|
Y: 70
|
||||||
Width: PARENT_RIGHT-185
|
Width: PARENT_RIGHT-185
|
||||||
Height: 25
|
Height: 25
|
||||||
WordWrap: true
|
WordWrap: true
|
||||||
Text: Please insert one of the Command & Conquer install CDs then click Retry.
|
Text: OpenRA can download the music files from the internet, or you can install from the original C&C CDs.
|
||||||
Font: Bold
|
Font: Bold
|
||||||
Button@BACK_BUTTON:
|
Button@CANCEL_BUTTON:
|
||||||
Key: escape
|
Key: escape
|
||||||
Y: 149
|
Y: 149
|
||||||
Width: 140
|
Width: 140
|
||||||
Height: 35
|
Height: 35
|
||||||
Text: Back
|
Text: Back
|
||||||
Button@RETRY_BUTTON:
|
Button@DOWNLOAD_BUTTON:
|
||||||
|
X: 350
|
||||||
|
Y: 149
|
||||||
|
Width: 140
|
||||||
|
Height: 35
|
||||||
|
Text: Download
|
||||||
|
Button@COPY_FROM_CD_BUTTON:
|
||||||
X: 500
|
X: 500
|
||||||
Y: 149
|
Y: 149
|
||||||
Width: 140
|
Width: 140
|
||||||
Height: 35
|
Height: 35
|
||||||
Text: Retry
|
Text: Use CD
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,8 @@ ContentInstaller:
|
|||||||
PackageToExtractFromCD: INSTALL/SETUP.Z
|
PackageToExtractFromCD: INSTALL/SETUP.Z
|
||||||
ExtractFilesFromCD: speech.mix, tempicnh.mix, transit.mix
|
ExtractFilesFromCD: speech.mix, tempicnh.mix, transit.mix
|
||||||
CopyFilesFromCD: CONQUER.MIX, DESERT.MIX, SCORES.MIX, SOUNDS.MIX, TEMPERAT.MIX, WINTER.MIX
|
CopyFilesFromCD: CONQUER.MIX, DESERT.MIX, SCORES.MIX, SOUNDS.MIX, TEMPERAT.MIX, WINTER.MIX
|
||||||
|
ShippedSoundtracks: 2
|
||||||
|
MusicPackageMirrorList: http://www.openra.net/packages/cnc-music-mirrors.txt
|
||||||
|
|
||||||
ServerTraits:
|
ServerTraits:
|
||||||
LobbyCommands
|
LobbyCommands
|
||||||
|
|||||||
@@ -123,6 +123,8 @@ ContentInstaller:
|
|||||||
PackageToExtractFromCD: setup/setup.z
|
PackageToExtractFromCD: setup/setup.z
|
||||||
ExtractFilesFromCD: SOUND.RS, DATA.R8, MOUSE.R8, BLOXBASE.R8, BLOXBAT.R8, BLOXBGBS.R8, BLOXICE.R8, BLOXTREE.R8, BLOXWAST.R8, A_ECONF1.AUD, A_ECONF2.AUD, A_ECONF3.AUD, A_ESEL1.AUD, A_ESEL2.AUD, A_ESEL3.AUD, A_FCONF1.AUD, A_FCONF2.AUD, A_FCONF3.AUD,A_FCONF4.AUD, A_FSEL1.AUD, A_FSEL2.AUD, A_FSEL3.AUD, A_FSEL4.AUD, AI_1MIN.AUD, AI_2MIN.AUD, AI_3MIN.AUD, AI_4MIN.AUD, AI_5MIN.AUD, AI_ABORT.AUD, AI_ATACK.AUD, AI_BDRDY.AUD, AI_BLOST.AUD, AI_BUILD.AUD, AI_CANCL.AUD, AI_CAPT.AUD, A_ICONF1.AUD, A_ICONF2.AUD, A_ICONF3.AUD, AI_DHRDY.AUD, AI_DPLOY.AUD, AI_ENEMY.AUD, AI_GANEW.AUD, AI_GLOAD.AUD, AI_GSAVE.AUD, AI_GUARD.AUD, AI_HATTK.AUD, AI_HOLD.AUD, AI_LAUNC.AUD, AI_MAP1A.AUD, AI_MAP1B.AUD, AI_MAP1C.AUD, AI_MAP2A.AUD, AI_MAP2B.AUD, AI_MAP2C.AUD, AI_MAP3A.AUD, AI_MAP4A.AUD, AI_MAP5A.AUD, AI_MAP6A.AUD, AI_MAP7A.AUD, AI_MAP8A.AUD, AI_MAP9A.AUD, AI_MEND.AUD, AI_MFAIL.AUD, AI_MONEY.AUD, AI_MWIN.AUD, AI_NEWOP.AUD, AI_NROOM.AUD, AI_ORDER.AUD, AI_PLACE.AUD, AI_POWER.AUD, AI_PREP.AUD, AI_PRMRY.AUD, AI_REINF.AUD, AI_RUN.AUD, A_ISEL1.AUD, A_ISEL2.AUD, A_ISEL3.AUD, AI_SELL.AUD, AI_SILOS.AUD, AI_SPORT.AUD, AI_TRAIN.AUD, AI_ULOST.AUD, AI_UNRDY.AUD, AI_UPGOP.AUD, AI_UPGRD.AUD, AI_WATTK.AUD, AI_WSIGN.AUD, A_VCONF1.AUD, A_VCONF2.AUD, A_VCONF3.AUD, A_VSEL1.AUD, A_VSEL2.AUD, A_VSEL3.AUD, G_SCONF1.AUD, G_SCONF2.AUD, G_SCONF3.AUD, G_SSEL1.AUD, G_SSEL2.AUD, G_SSEL3.AUD, H_ECONF1.AUD, H_ECONF2.AUD, H_ECONF3.AUD, H_ESEL1.AUD, H_ESEL2.AUD, H_ESEL3.AUD, HI_1MIN.AUD, HI_2MIN.AUD, HI_3MIN.AUD, HI_4MIN.AUD, HI_5MIN.AUD, HI_ABORT.AUD, HI_ATACK.AUD, HI_BDRDY.AUD, HI_BLOST.AUD, HI_BUILD.AUD, HI_CANCL.AUD, HI_CAPT.AUD, H_ICONF1.AUD, H_ICONF2.AUD, H_ICONF3.AUD, HI_DHRDY.AUD, HI_DPLOY.AUD, HI_ENEMY.AUD, HI_GANEW.AUD,HI_GLOAD.AUD, HI_GSAVE.AUD, HI_GUARD.AUD, HI_HATTK.AUD, HI_HOLD.AUD, HI_LAUNC.AUD, HI_MAP1A.AUD, HI_MAP1B.AUD, HI_MAP1C.AUD, HI_MAP2A.AUD, HI_MAP2B.AUD, HI_MAP2C.AUD, HI_MAP3A.AUD, HI_MAP3B.AUD, HI_MAP4A.AUD, HI_MAP4B.AUD, HI_MAP5A.AUD, HI_MAP6A.AUD, HI_MAP6B.AUD, HI_MAP7A.AUD, HI_MAP9A.AUD, HI_MAP9.AUD, HI_MEND.AUD, HI_MFAIL.AUD, HI_MONEY.AUD, HI_MWIN.AUD, HI_NEWOP.AUD, HI_NROOM.AUD, HI_ORDER.AUD, HI_PLACE.AUD, HI_POWER.AUD, HI_PREP.AUD, HI_PRMRY.AUD, HI_REINF.AUD, HI_RUN.AUD, H_ISEL1.AUD, H_ISEL2.AUD, H_ISEL3.AUD, HI_SELL.AUD, HI_SILOS.AUD,HI_SPORT.AUD, HI_TRAIN.AUD, HI_ULOST.AUD, HI_UNRDY.AUD, HI_UPGOP.AUD, HI_UPGRD.AUD, HI_WATTK.AUD, HI_WSIGN.AUD, H_VCONF1.AUD, H_VCONF2.AUD, H_VCONF3.AUD, H_VSEL1.AUD, H_VSEL2.AUD, H_VSEL3.AUD, O_ECONF1.AUD, O_ECONF2.AUD, O_ECONF3.AUD, O_ESEL1.AUD, O_ESEL2.AUD, O_ESEL3.AUD, OI_1MIN.AUD, OI_2MIN.AUD, OI_3MIN.AUD, OI_4MIN.AUD, OI_5MIN.AUD, OI_ABORT.AUD, OI_ATACK.AUD, OI_BDRDY.AUD, OI_BLOST.AUD, OI_BUILD.AUD, OI_CANCL.AUD, OI_CAPT.AUD, O_ICONF1.AUD, O_ICONF2.AUD, O_ICONF3.AUD, OI_DHRDY.AUD, OI_DPLOY.AUD, OI_ENEMY.AUD, OI_GANEW.AUD, OI_GLOAD.AUD, OI_GSAVE.AUD, OI_GUARD.AUD, OI_HATTK.AUD, OI_HOLD.AUD, OI_LAUNC.AUD, OI_MAP1A.AUD, OI_MAP1B.AUD, OI_MAP1C.AUD, OI_MAP2A.AUD, OI_MAP2B.AUD, OI_MAP2C.AUD, OI_MAP3A.AUD, OI_MAP4A.AUD, OI_MAP5A.AUD, OI_MAP6A.AUD, OI_MAP7A.AUD, OI_MAP8A.AUD, OI_MAP9A.AUD, OI_MEND.AUD, OI_MFAIL.AUD, OI_MONEY.AUD, OI_MWIN.AUD, OI_NEWOP.AUD, OI_NROOM.AUD, OI_ORDER.AUD, OI_PLACE.AUD, OI_POWER.AUD, OI_PREP.AUD, OI_PRMRY.AUD, OI_REINF.AUD, OI_RUN.AUD, O_ISEL1.AUD, O_ISEL2.AUD, O_ISEL3.AUD, OI_SELL.AUD, OI_SILOS.AUD, OI_SPORT.AUD, OI_TRAIN.AUD, OI_ULOST.AUD, OI_UNRDY.AUD, OI_UPGOP.AUD, OI_UPGRD.AUD, OI_WATTK.AUD, OI_WSIGN.AUD, O_SCONF1.AUD, O_SCONF2.AUD, O_SCONF3.AUD, O_SSEL1.AUD, O_SSEL2.AUD, O_SSEL3.AUD, O_VCONF1.AUD, O_VCONF2.AUD, O_VCONF3.AUD, O_VSEL1.AUD, O_VSEL2.AUD, O_VSEL3.AUD
|
ExtractFilesFromCD: SOUND.RS, DATA.R8, MOUSE.R8, BLOXBASE.R8, BLOXBAT.R8, BLOXBGBS.R8, BLOXICE.R8, BLOXTREE.R8, BLOXWAST.R8, A_ECONF1.AUD, A_ECONF2.AUD, A_ECONF3.AUD, A_ESEL1.AUD, A_ESEL2.AUD, A_ESEL3.AUD, A_FCONF1.AUD, A_FCONF2.AUD, A_FCONF3.AUD,A_FCONF4.AUD, A_FSEL1.AUD, A_FSEL2.AUD, A_FSEL3.AUD, A_FSEL4.AUD, AI_1MIN.AUD, AI_2MIN.AUD, AI_3MIN.AUD, AI_4MIN.AUD, AI_5MIN.AUD, AI_ABORT.AUD, AI_ATACK.AUD, AI_BDRDY.AUD, AI_BLOST.AUD, AI_BUILD.AUD, AI_CANCL.AUD, AI_CAPT.AUD, A_ICONF1.AUD, A_ICONF2.AUD, A_ICONF3.AUD, AI_DHRDY.AUD, AI_DPLOY.AUD, AI_ENEMY.AUD, AI_GANEW.AUD, AI_GLOAD.AUD, AI_GSAVE.AUD, AI_GUARD.AUD, AI_HATTK.AUD, AI_HOLD.AUD, AI_LAUNC.AUD, AI_MAP1A.AUD, AI_MAP1B.AUD, AI_MAP1C.AUD, AI_MAP2A.AUD, AI_MAP2B.AUD, AI_MAP2C.AUD, AI_MAP3A.AUD, AI_MAP4A.AUD, AI_MAP5A.AUD, AI_MAP6A.AUD, AI_MAP7A.AUD, AI_MAP8A.AUD, AI_MAP9A.AUD, AI_MEND.AUD, AI_MFAIL.AUD, AI_MONEY.AUD, AI_MWIN.AUD, AI_NEWOP.AUD, AI_NROOM.AUD, AI_ORDER.AUD, AI_PLACE.AUD, AI_POWER.AUD, AI_PREP.AUD, AI_PRMRY.AUD, AI_REINF.AUD, AI_RUN.AUD, A_ISEL1.AUD, A_ISEL2.AUD, A_ISEL3.AUD, AI_SELL.AUD, AI_SILOS.AUD, AI_SPORT.AUD, AI_TRAIN.AUD, AI_ULOST.AUD, AI_UNRDY.AUD, AI_UPGOP.AUD, AI_UPGRD.AUD, AI_WATTK.AUD, AI_WSIGN.AUD, A_VCONF1.AUD, A_VCONF2.AUD, A_VCONF3.AUD, A_VSEL1.AUD, A_VSEL2.AUD, A_VSEL3.AUD, G_SCONF1.AUD, G_SCONF2.AUD, G_SCONF3.AUD, G_SSEL1.AUD, G_SSEL2.AUD, G_SSEL3.AUD, H_ECONF1.AUD, H_ECONF2.AUD, H_ECONF3.AUD, H_ESEL1.AUD, H_ESEL2.AUD, H_ESEL3.AUD, HI_1MIN.AUD, HI_2MIN.AUD, HI_3MIN.AUD, HI_4MIN.AUD, HI_5MIN.AUD, HI_ABORT.AUD, HI_ATACK.AUD, HI_BDRDY.AUD, HI_BLOST.AUD, HI_BUILD.AUD, HI_CANCL.AUD, HI_CAPT.AUD, H_ICONF1.AUD, H_ICONF2.AUD, H_ICONF3.AUD, HI_DHRDY.AUD, HI_DPLOY.AUD, HI_ENEMY.AUD, HI_GANEW.AUD,HI_GLOAD.AUD, HI_GSAVE.AUD, HI_GUARD.AUD, HI_HATTK.AUD, HI_HOLD.AUD, HI_LAUNC.AUD, HI_MAP1A.AUD, HI_MAP1B.AUD, HI_MAP1C.AUD, HI_MAP2A.AUD, HI_MAP2B.AUD, HI_MAP2C.AUD, HI_MAP3A.AUD, HI_MAP3B.AUD, HI_MAP4A.AUD, HI_MAP4B.AUD, HI_MAP5A.AUD, HI_MAP6A.AUD, HI_MAP6B.AUD, HI_MAP7A.AUD, HI_MAP9A.AUD, HI_MAP9.AUD, HI_MEND.AUD, HI_MFAIL.AUD, HI_MONEY.AUD, HI_MWIN.AUD, HI_NEWOP.AUD, HI_NROOM.AUD, HI_ORDER.AUD, HI_PLACE.AUD, HI_POWER.AUD, HI_PREP.AUD, HI_PRMRY.AUD, HI_REINF.AUD, HI_RUN.AUD, H_ISEL1.AUD, H_ISEL2.AUD, H_ISEL3.AUD, HI_SELL.AUD, HI_SILOS.AUD,HI_SPORT.AUD, HI_TRAIN.AUD, HI_ULOST.AUD, HI_UNRDY.AUD, HI_UPGOP.AUD, HI_UPGRD.AUD, HI_WATTK.AUD, HI_WSIGN.AUD, H_VCONF1.AUD, H_VCONF2.AUD, H_VCONF3.AUD, H_VSEL1.AUD, H_VSEL2.AUD, H_VSEL3.AUD, O_ECONF1.AUD, O_ECONF2.AUD, O_ECONF3.AUD, O_ESEL1.AUD, O_ESEL2.AUD, O_ESEL3.AUD, OI_1MIN.AUD, OI_2MIN.AUD, OI_3MIN.AUD, OI_4MIN.AUD, OI_5MIN.AUD, OI_ABORT.AUD, OI_ATACK.AUD, OI_BDRDY.AUD, OI_BLOST.AUD, OI_BUILD.AUD, OI_CANCL.AUD, OI_CAPT.AUD, O_ICONF1.AUD, O_ICONF2.AUD, O_ICONF3.AUD, OI_DHRDY.AUD, OI_DPLOY.AUD, OI_ENEMY.AUD, OI_GANEW.AUD, OI_GLOAD.AUD, OI_GSAVE.AUD, OI_GUARD.AUD, OI_HATTK.AUD, OI_HOLD.AUD, OI_LAUNC.AUD, OI_MAP1A.AUD, OI_MAP1B.AUD, OI_MAP1C.AUD, OI_MAP2A.AUD, OI_MAP2B.AUD, OI_MAP2C.AUD, OI_MAP3A.AUD, OI_MAP4A.AUD, OI_MAP5A.AUD, OI_MAP6A.AUD, OI_MAP7A.AUD, OI_MAP8A.AUD, OI_MAP9A.AUD, OI_MEND.AUD, OI_MFAIL.AUD, OI_MONEY.AUD, OI_MWIN.AUD, OI_NEWOP.AUD, OI_NROOM.AUD, OI_ORDER.AUD, OI_PLACE.AUD, OI_POWER.AUD, OI_PREP.AUD, OI_PRMRY.AUD, OI_REINF.AUD, OI_RUN.AUD, O_ISEL1.AUD, O_ISEL2.AUD, O_ISEL3.AUD, OI_SELL.AUD, OI_SILOS.AUD, OI_SPORT.AUD, OI_TRAIN.AUD, OI_ULOST.AUD, OI_UNRDY.AUD, OI_UPGOP.AUD, OI_UPGRD.AUD, OI_WATTK.AUD, OI_WSIGN.AUD, O_SCONF1.AUD, O_SCONF2.AUD, O_SCONF3.AUD, O_SSEL1.AUD, O_SSEL2.AUD, O_SSEL3.AUD, O_VCONF1.AUD, O_VCONF2.AUD, O_VCONF3.AUD, O_VSEL1.AUD, O_VSEL2.AUD, O_VSEL3.AUD
|
||||||
CopyFilesFromCD: music/ambush.aud, music/arakatak.aud, music/atregain.aud, music/entordos.aud, music/fightpwr.aud, music/fremen.aud, music/hark_bat.aud, music/landsand.aud, music/options.aud, music/plotting.aud, music/risehark.aud, music/robotix.aud, music/score.aud, music/soldappr.aud, music/spicesct.aud, music/undercon.aud, music/waitgame.aud
|
CopyFilesFromCD: music/ambush.aud, music/arakatak.aud, music/atregain.aud, music/entordos.aud, music/fightpwr.aud, music/fremen.aud, music/hark_bat.aud, music/landsand.aud, music/options.aud, music/plotting.aud, music/risehark.aud, music/robotix.aud, music/score.aud, music/soldappr.aud, music/spicesct.aud, music/undercon.aud, music/waitgame.aud
|
||||||
|
ShippedSoundtracks: 1
|
||||||
|
MusicPackageMirrorList:
|
||||||
|
|
||||||
ServerTraits:
|
ServerTraits:
|
||||||
LobbyCommands
|
LobbyCommands
|
||||||
|
|||||||
@@ -149,12 +149,70 @@ Background@MUSIC_PANEL:
|
|||||||
Align: Center
|
Align: Center
|
||||||
Visible: false
|
Visible: false
|
||||||
Text: No Music Installed
|
Text: No Music Installed
|
||||||
Button@BACK_BUTTON:
|
Button@INSTALL_BUTTON:
|
||||||
X: PARENT_RIGHT - 180
|
Logic: InstallMusicLogic
|
||||||
|
X: 20
|
||||||
Y: PARENT_BOTTOM - 45
|
Y: PARENT_BOTTOM - 45
|
||||||
Width: 160
|
Width: 120
|
||||||
|
Height: 25
|
||||||
|
Text: Install Music
|
||||||
|
Font: Bold
|
||||||
|
Button@BACK_BUTTON:
|
||||||
|
X: PARENT_RIGHT - 140
|
||||||
|
Y: PARENT_BOTTOM - 45
|
||||||
|
Width: 120
|
||||||
Height: 25
|
Height: 25
|
||||||
Text: Close
|
Text: Close
|
||||||
Font: Bold
|
Font: Bold
|
||||||
Key: escape
|
Key: escape
|
||||||
|
|
||||||
|
Background@INSTALL_MUSIC_PANEL:
|
||||||
|
Logic: InstallMusicLogic
|
||||||
|
X: (WINDOW_RIGHT - WIDTH)/2
|
||||||
|
Y: (WINDOW_BOTTOM - HEIGHT)/2
|
||||||
|
Width: 510
|
||||||
|
Height: 160
|
||||||
|
Children:
|
||||||
|
Label@TITLE:
|
||||||
|
X: 0
|
||||||
|
Y: 20
|
||||||
|
Width: PARENT_RIGHT
|
||||||
|
Height: 25
|
||||||
|
Text: Install Music
|
||||||
|
Align: Center
|
||||||
|
Font: Bold
|
||||||
|
Label@DESC1:
|
||||||
|
X: 0
|
||||||
|
Y: 50
|
||||||
|
Width: PARENT_RIGHT
|
||||||
|
Height: 25
|
||||||
|
Text: The soundtrack is currently unavailable.
|
||||||
|
Align: Center
|
||||||
|
Label@DESC2:
|
||||||
|
X: 0
|
||||||
|
Y: 70
|
||||||
|
Width: PARENT_RIGHT
|
||||||
|
Height: 25
|
||||||
|
Text: Please choose an installation method.
|
||||||
|
Align: Center
|
||||||
|
Button@COPY_FROM_CD_BUTTON:
|
||||||
|
X: 20
|
||||||
|
Y: PARENT_BOTTOM - 45
|
||||||
|
Width: 110
|
||||||
|
Height: 25
|
||||||
|
Text: Use CD
|
||||||
|
Font: Bold
|
||||||
|
Button@DOWNLOAD_BUTTON:
|
||||||
|
X: 140
|
||||||
|
Y: PARENT_BOTTOM - 45
|
||||||
|
Width: 110
|
||||||
|
Height: 25
|
||||||
|
Text: Download
|
||||||
|
Font: Bold
|
||||||
|
Button@CANCEL_BUTTON:
|
||||||
|
X: PARENT_RIGHT - 130
|
||||||
|
Y: PARENT_BOTTOM - 45
|
||||||
|
Width: 110
|
||||||
|
Height: 25
|
||||||
|
Text: Back
|
||||||
|
Font: Bold
|
||||||
|
|||||||
@@ -139,6 +139,8 @@ ContentInstaller:
|
|||||||
PackageToExtractFromCD: MAIN.MIX
|
PackageToExtractFromCD: MAIN.MIX
|
||||||
ExtractFilesFromCD: conquer.mix, russian.mix, allies.mix, sounds.mix, scores.mix, snow.mix, interior.mix, temperat.mix
|
ExtractFilesFromCD: conquer.mix, russian.mix, allies.mix, sounds.mix, scores.mix, snow.mix, interior.mix, temperat.mix
|
||||||
CopyFilesFromCD: INSTALL/REDALERT.MIX
|
CopyFilesFromCD: INSTALL/REDALERT.MIX
|
||||||
|
ShippedSoundtracks: 1
|
||||||
|
MusicPackageMirrorList: http://www.openra.net/packages/ra-music-mirrors.txt
|
||||||
|
|
||||||
ServerTraits:
|
ServerTraits:
|
||||||
LobbyCommands
|
LobbyCommands
|
||||||
|
|||||||
@@ -164,6 +164,8 @@ ContentInstaller:
|
|||||||
PackageToExtractFromCD:
|
PackageToExtractFromCD:
|
||||||
ExtractFilesFromCD:
|
ExtractFilesFromCD:
|
||||||
CopyFilesFromCD: install/tibsun.mix, scores.mix, multi.mix
|
CopyFilesFromCD: install/tibsun.mix, scores.mix, multi.mix
|
||||||
|
ShippedSoundtracks: 2
|
||||||
|
MusicPackageMirrorList:
|
||||||
|
|
||||||
ServerTraits:
|
ServerTraits:
|
||||||
LobbyCommands
|
LobbyCommands
|
||||||
|
|||||||
Reference in New Issue
Block a user