added hidden audio settings to ra/d2k GUI
- video volume - map music (was shellmap music) - sound engine
This commit is contained in:
@@ -88,7 +88,7 @@ namespace OpenRA.GameRules
|
||||
public float VideoVolume = 0.5f;
|
||||
public bool Shuffle = false;
|
||||
public bool Repeat = false;
|
||||
public bool ShellmapMusic = true;
|
||||
public bool MapMusic = true;
|
||||
public string Engine = "AL";
|
||||
|
||||
public SoundCashTicks SoundCashTickType = SoundCashTicks.Extreme;
|
||||
|
||||
@@ -109,8 +109,8 @@ namespace OpenRA.Mods.Cnc.Widgets.Logic
|
||||
musicSlider.Value = soundSettings.MusicVolume;
|
||||
|
||||
var shellmapMusicCheckbox = generalPane.Get<CheckboxWidget>("SHELLMAP_MUSIC");
|
||||
shellmapMusicCheckbox.IsChecked = () => soundSettings.ShellmapMusic;
|
||||
shellmapMusicCheckbox.OnClick = () => soundSettings.ShellmapMusic ^= true;
|
||||
shellmapMusicCheckbox.IsChecked = () => soundSettings.MapMusic;
|
||||
shellmapMusicCheckbox.OnClick = () => soundSettings.MapMusic ^= true;
|
||||
|
||||
// Input pane
|
||||
var inputPane = panel.Get("INPUT_CONTROLS");
|
||||
|
||||
@@ -86,11 +86,24 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
musicslider.OnChange += x => Sound.MusicVolume = x;
|
||||
musicslider.Value = Sound.MusicVolume;
|
||||
|
||||
var videoslider = audio.Get<SliderWidget>("VIDEO_VOLUME");
|
||||
videoslider.OnChange += x => Sound.VideoVolume = x;
|
||||
videoslider.Value = Sound.VideoVolume;
|
||||
|
||||
var cashticksdropdown = audio.Get<DropDownButtonWidget>("CASH_TICK_TYPE");
|
||||
cashticksdropdown.OnMouseDown = _ => ShowSoundTickDropdown(cashticksdropdown, soundSettings);
|
||||
cashticksdropdown.GetText = () => soundSettings.SoundCashTickType == SoundCashTicks.Extreme ?
|
||||
"Extreme" : soundSettings.SoundCashTickType == SoundCashTicks.Normal ? "Normal" : "Disabled";
|
||||
|
||||
var mapMusicCheckbox = audio.Get<CheckboxWidget>("MAP_MUSIC_CHECKBOX");
|
||||
mapMusicCheckbox.IsChecked = () => Game.Settings.Sound.MapMusic;
|
||||
mapMusicCheckbox.OnClick = () => Game.Settings.Sound.MapMusic ^= true;
|
||||
|
||||
var soundEngineDropdown = audio.Get<DropDownButtonWidget>("SOUND_ENGINE");
|
||||
soundEngineDropdown.OnMouseDown = _ => ShowSoundEngineDropdown(soundEngineDropdown, soundSettings);
|
||||
soundEngineDropdown.GetText = () => soundSettings.Engine == "AL" ?
|
||||
"OpenAL" : soundSettings.Engine == "Null" ? "None" : "OpenAL";
|
||||
|
||||
|
||||
// Display
|
||||
var display = bg.Get("DISPLAY_PANE");
|
||||
@@ -298,5 +311,26 @@ namespace OpenRA.Mods.RA.Widgets.Logic
|
||||
dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 500, options.Keys, setupItem);
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool ShowSoundEngineDropdown(DropDownButtonWidget dropdown, SoundSettings s)
|
||||
{
|
||||
var options = new Dictionary<string, string>()
|
||||
{
|
||||
{ "OpenAL", "AL" },
|
||||
{ "None", "Null" },
|
||||
};
|
||||
|
||||
Func<string, ScrollItemWidget, ScrollItemWidget> setupItem = (o, itemTemplate) =>
|
||||
{
|
||||
var item = ScrollItemWidget.Setup(itemTemplate,
|
||||
() => s.Engine == options[o],
|
||||
() => s.Engine = options[o]);
|
||||
item.Get<LabelWidget>("LABEL").GetText = () => o;
|
||||
return item;
|
||||
};
|
||||
|
||||
dropdown.ShowDropDown("LABEL_DROPDOWN_TEMPLATE", 500, options.Keys, setupItem);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenRA.Mods.RA
|
||||
{
|
||||
var onComplete = Info.Loop ? (Action)PlayMusic : () => {};
|
||||
|
||||
if (Game.Settings.Sound.ShellmapMusic &&
|
||||
if (Game.Settings.Sound.MapMusic &&
|
||||
Rules.Music.ContainsKey(Info.Music))
|
||||
Sound.PlayMusicThen(Rules.Music[Info.Music], onComplete);
|
||||
}
|
||||
|
||||
@@ -149,17 +149,46 @@ Background@SETTINGS_MENU:
|
||||
Width:250
|
||||
Height:20
|
||||
Ticks:5
|
||||
Label@SOUND_TICK_TYPE_LABEL:
|
||||
Label@VIDEO_VOLUME_LABEL:
|
||||
X:0
|
||||
Y:70
|
||||
Text: Video Volume
|
||||
Slider@VIDEO_VOLUME:
|
||||
X:100
|
||||
Y:60
|
||||
Width:250
|
||||
Height:20
|
||||
Ticks:5
|
||||
Label@SOUND_TICK_TYPE_LABEL:
|
||||
X:0
|
||||
Y:100
|
||||
Text: Cash ticks
|
||||
DropDownButton@CASH_TICK_TYPE:
|
||||
X:100
|
||||
Y:60
|
||||
Y:90
|
||||
Width:250
|
||||
Height:25
|
||||
Font:Regular
|
||||
Text:Extreme
|
||||
Checkbox@MAP_MUSIC_CHECKBOX:
|
||||
X:0
|
||||
Y:120
|
||||
Width:200
|
||||
Height:20
|
||||
Text: Autoplay Music After Map Load
|
||||
Label@SOUND_ENGINE_LABEL:
|
||||
X:0
|
||||
Y:150
|
||||
Width:75
|
||||
Height:25
|
||||
Text:Sound Engine:
|
||||
DropDownButton@SOUND_ENGINE:
|
||||
X:100
|
||||
Y:150
|
||||
Width:120
|
||||
Height:25
|
||||
Font:Regular
|
||||
Text:OpenAL
|
||||
Container@DISPLAY_PANE:
|
||||
X:37
|
||||
Y:100
|
||||
|
||||
Reference in New Issue
Block a user