rott/kf_sources/GUI2K4/Classes/UT2K4Tab_AudioSettings.uc
2026-07-14 20:27:09 +07:00

1086 lines
29 KiB
Ucode

//==============================================================================
// Description
//
// Created by Ron Prestenback
// © 2003, Epic Games, Inc. All Rights Reserved
//==============================================================================
class UT2K4Tab_AudioSettings extends Settings_Tabs;
// ifndef _RO_
//#exec OBJ LOAD FILE=PickupSounds.uax
//#exec OBJ LOAD FILE=AnnouncerMale2K4.uax
#exec OBJ LOAD FILE=KF_MenuSnd.uax
var array<CacheManager.AnnouncerRecord> Announcers;
var string StatusPreviewSound, RewardPreviewSound;
var localized string AudioModes[4],
VoiceModes[4],
AnnounceModes[3];
var automated GUISectionBackground i_BG1, i_BG2, i_BG3;
var automated moSlider sl_MusicVol, sl_EffectsVol, sl_VoiceVol, sl_TTS;
var automated moComboBox co_Mode, co_Voices, co_Announce, co_RewardAnnouncer, co_StatusAnnouncer;
var automated moCheckbox ch_ReverseStereo, ch_MessageBeep, ch_AutoTaunt, ch_TTSIRC, ch_OnlyTeamTTS,
ch_MatureTaunts, ch_LowDetail, ch_Default, ch_TTS, ch_VoiceChat;
var automated moButton b_VoiceChat;
var float fMusic, fEffects, fTTS;
var int iVoice, iMode, iVoiceMode, iAnnounce;
var string sStatAnnouncer, sRewAnnouncer;
var bool bRev, bBeep, bAuto, bMature, bLow, bCompat, b3DSound, bEAX, bDefault, bTTS, bTTSIRC, bOnlyTeamTTS, bVoiceChat;
function InitComponent(GUIController MyController, GUIComponent MyOwner)
{
local int i;
local bool bIsWin32;
bIsWin32 = ( ( PlatformIsWindows() ) && ( !PlatformIs64Bit() ) );
Super.InitComponent(MyController, MyOwner);
if ( bIsWin32 )
{
for(i = 0;i < ArrayCount(AudioModes);i++)
co_Mode.AddItem(AudioModes[i]);
}
else
{
co_Mode.AddItem("OpenAL");
}
for(i = 0;i < ArrayCount(VoiceModes);i++)
co_Voices.AddItem(VoiceModes[i]);
for(i = 0;i < ArrayCount(AnnounceModes);i++)
co_Announce.AddItem(AnnounceModes[i]);
i_BG2.WinWidth=0.503398;
i_BG2.WinHeight=0.453045;
i_BG2.WinLeft=0.004063;
i_BG2.WinTop=0.540831;
i_BG3.WinWidth=0.475078;
i_BG3.WinHeight=0.453045;
i_BG3.WinLeft=0.518712;
i_BG3.WinTop=0.540831;
i_BG1.ManageComponent(sl_MusicVol);
i_BG1.ManageComponent(sl_EffectsVol);
i_BG1.ManageComponent(co_Mode);
i_BG1.ManageComponent(ch_LowDetail);
i_BG1.ManageComponent(ch_Default);
i_BG1.ManageComponent(ch_reverseStereo);
i_BG1.ManageComponent(co_Voices);
i_BG1.ManageComponent(ch_MatureTaunts);
i_BG1.ManageComponent(ch_AutoTaunt);
i_BG1.ManageComponent(ch_MessageBeep);
i_BG2.ManageComponent(sl_VoiceVol);
i_BG2.ManageComponent(co_Announce);
// i_BG3.ManageComponent(sl_TTS);
i_BG3.ManageComponent(ch_TTS);
i_BG3.ManageComponent(ch_TTSIRC);
i_BG3.ManageComponent(ch_OnlyTeamTTS);
i_BG3.ManageComponent(ch_VoiceChat);
i_BG3.ManageComponent(b_VoiceChat);
i_BG2.ManageComponent(co_StatusAnnouncer);
i_BG2.ManageComponent(co_RewardAnnouncer);
class'CacheManager'.static.GetAnnouncerList( Announcers );
for ( i = 0; i < Announcers.Length; i++ )
{
if ( Announcers[i].FriendlyName != "" )
{
co_StatusAnnouncer.AddItem( Announcers[i].FriendlyName,,string(i) );
co_RewardAnnouncer.AddItem( Announcers[i].FriendlyName,,string(i) );
}
}
// !!! FIXME: Might use a preinstalled system OpenAL in the future on
// !!! FIXME: Mac or Unix, but for now, we don't... --ryan.
if ( !PlatformIsWindows() )
ch_Default.DisableMe();
}
function ResetClicked()
{
local class<AudioSubSystem> A;
local class UnrealPlayerClass;
local PlayerController PC;
local int i;
Super.ResetClicked();
PC = PlayerOwner();
A = class<AudioSubSystem>(DynamicLoadObject(GetNativeClassName("Engine.Engine.AudioDevice"), Class'Class'));
A.static.ResetConfig();
class'Hud'.static.ResetConfig("bMessageBeep");
class'LevelInfo'.static.ResetConfig("bLowSoundDetail");
class'PlayerController'.static.ResetConfig("bAutoTaunt");
class'PlayerController'.static.ResetConfig("bNoMatureLanguage");
class'PlayerController'.static.ResetConfig("bNoAutoTaunts");
class'PlayerController'.static.ResetConfig("bNoVoiceTaunts");
class'PlayerController'.static.ResetConfig("bNoVoiceMessages");
class'PlayerController'.static.ResetConfig("AnnouncerLevel");
class'PlayerController'.static.ResetConfig("bNoTextToSpeechVoiceMessages");
// class'PlayerController'.static.ResetConfig("TextToSpeechVoiceVolume");
class'PlayerController'.static.ResetConfig("bOnlySpeakTeamText");
class'UT2K4IRC_Page'.static.ResetConfig("bIRCTextToSpeechEnabled");
UnrealPlayerClass = class(DynamicLoadObject("UnrealGame.UnrealPlayer",class'Class'));
if ( UnrealPlayerClass != None )
{
UnrealPlayerClass.static.ResetConfig("CustomRewardAnnouncerPack");
UnrealPlayerClass.static.ResetConfig("CustomStatusAnnouncerPack");
}
for (i = 0; i < Components.Length; i++)
Components[i].LoadINI();
}
function InternalOnLoadINI(GUIComponent Sender, string s)
{
local int i;
local PlayerController PC;
local bool bIsWin32;
PC = PlayerOwner();
switch (Sender)
{
case sl_VoiceVol:
iVoice = PC.AnnouncerVolume;
sl_VoiceVol.SetComponentValue(iVoice,true);
break;
case sl_MusicVol:
fMusic = float(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice MusicVolume"));
sl_MusicVol.SetComponentValue(fMusic,true);
break;
case sl_EffectsVol:
fEffects = float(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice SoundVolume"));
sl_EffectsVol.SetComponentValue(fEffects,true);
break;
/*
case sl_TTS:
fTTS = PC.TextToSpeechVoiceVolume;
sl_TTS.SetComponentValue(fTTS,true);
break;
*/
case co_Mode:
iMode = 1;
bIsWin32 = ( ( PlatformIsWindows() ) && ( !PlatformIs64Bit() ) );
if ( !bIsWin32 )
{
bCompat = False;
b3DSound = True;
iMode = 0;
}
else
{
if ( bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice CompatibilityMode")) )
{
bCompat = True;
iMode = 0;
}
if ( bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice Use3DSound")) )
{
b3DSound = True;
iMode = 2;
}
if ( bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice UseEAX" )) )
{
bEAX = True;
iMode = 3;
}
}
co_Mode.SilentSetIndex(iMode);
break;
case ch_ReverseStereo:
bRev = bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice ReverseStereo"));
ch_ReverseStereo.SetComponentValue(bRev,true);
break;
case ch_Default:
bDefault = bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice UseDefaultDriver"));
ch_Default.SetComponentValue(bDefault,true);
break;
case co_Voices:
if ( PC.bNoAutoTaunts ) iVoiceMode = 1;
if ( PC.bNoVoiceTaunts ) iVoiceMode = 2;
if ( PC.bNoVoiceMessages ) iVoiceMode = 3;
co_Voices.SilentSetIndex(iVoiceMode);
break;
case ch_MessageBeep:
bBeep = class'HUD'.default.bMessageBeep;
ch_MessageBeep.SetComponentValue(bBeep,true);
break;
case ch_AutoTaunt:
bAuto = PC.bAutoTaunt;
ch_AutoTaunt.SetComponentValue(bAuto,true);
break;
case ch_TTS:
bTTS = !PC.bNoTextToSpeechVoiceMessages;
ch_TTS.SetComponentValue(bTTS,true);
break;
case ch_OnlyTeamTTS:
bOnlyTeamTTS = PC.bOnlySpeakTeamText;
ch_OnlyTeamTTs.SetComponentValue(bOnlyTeamTTS,True);
break;
case ch_MatureTaunts:
bMature = !PC.bNoMatureLanguage;
ch_MatureTaunts.SetComponentValue(bMature,true);
break;
case ch_LowDetail:
bLow = PC.Level.bLowSoundDetail;
// Make sure both are the same - LevelInfo.bLowSoundDetail take priority
if ( bLow != bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice LowQualitySound" )) )
{
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice LowQualitySound"@bLow);
PC.ConsoleCommand("SOUND_REBOOT");
// Restart music.
if( PC.Level.Song != "" && PC.Level.Song != "None" )
PC.ClientSetMusic( PC.Level.Song, MTRAN_Instant );
else PC.ClientSetMusic( class'UT2K4MainMenu'.default.MenuSong, MTRAN_Instant );
}
ch_LowDetail.SetComponentValue(bLow,true);
break;
case co_Announce:
iAnnounce = PC.AnnouncerLevel;
co_Announce.SilentSetIndex(iAnnounce);
break;
case co_RewardAnnouncer:
if ( PC.IsA('UnrealPlayer') )
{
sStatAnnouncer = PC.GetCustomStatusAnnouncerClass();
sRewAnnouncer = PC.GetCustomRewardAnnouncerClass();
}
else
{
sStatAnnouncer = class'UnrealPlayer'.default.CustomStatusAnnouncerPack;
sRewAnnouncer = class'UnrealPlayer'.default.CustomRewardAnnouncerPack;
}
i = FindAnnouncerClassIndex(sStatAnnouncer);
if ( i != -1 )
{
i = co_StatusAnnouncer.FindIndex(Announcers[i].FriendlyName);
if ( i != -1 )
co_StatusAnnouncer.SilentSetIndex(i);
}
i = FindAnnouncerClassIndex(sRewAnnouncer);
if (i != -1)
{
i = co_RewardAnnouncer.FindIndex(Announcers[i].FriendlyName);
if ( i != -1 )
co_RewardAnnouncer.SilentSetIndex(i);
}
break;
case ch_TTSIRC:
bTTSIRC = class'UT2K4IRC_Page'.default.bIRCTextToSpeechEnabled;
ch_TTSIRC.SetComponentValue(bTTSIRC,true);
break;
case ch_VoiceChat:
bVoiceChat = bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice UseVoIP"));
ch_VoiceChat.SetComponentValue(bVoiceChat,true);
break;
default:
log(Name@"Unknown component calling LoadINI:"$ GUIMenuOption(Sender).Caption);
GUIMenuOption(Sender).SetComponentValue(s,true);
}
}
function InternalOnChange(GUIComponent Sender)
{
local PlayerController PC;
local float AnnouncerVol;
local Sound snd;
local int AnnouncerIdx;
local bool bIsWin32;
bIsWin32 = ( ( PlatformIsWindows() ) && ( !PlatformIs64Bit() ) );
Super.InternalOnChange(Sender);
PC = PlayerOwner();
switch(Sender)
{
case sl_VoiceVol:
iVoice = sl_VoiceVol.GetValue();
AnnouncerVol = 2.0 * FClamp(0.1 + iVoice*0.225,0.2,1.0);
if ( co_StatusAnnouncer == None )
return;
snd = sound(co_StatusAnnouncer.GetObject());
if ( snd == None && Announcers.Length > 0 )
{
snd = Sound(DynamicLoadObject(Announcers[AnnouncerIdx].PackageName $ "." $ StatusPreviewSound,class'Sound'));
if ( snd == none )
snd = Sound(DynamicLoadObject(Announcers[AnnouncerIdx].FallbackPackage $ "." $ StatusPreviewSound,class'Sound'));
co_StatusAnnouncer.MyComboBox.List.SetObjectAtIndex(co_StatusAnnouncer.MyComboBox.List.Index,snd);
}
if ( snd != None )
PC.PlaySound(snd,SLOT_Talk,AnnouncerVol);
break;
case sl_MusicVol:
fMusic = sl_MusicVol.GetValue();
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice MusicVolume"@fMusic);
PC.ConsoleCommand("SetMusicVolume"@fMusic);
if( PC.Level.Song != "" && PC.Level.Song != "None" )
PC.ClientSetMusic( PC.Level.Song, MTRAN_Instant );
else PC.ClientSetMusic( class'UT2K4MainMenu'.default.MenuSong, MTRAN_Instant );
break;
case sl_EffectsVol:
fEffects = sl_EffectsVol.GetValue();
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice SoundVolume"@fEffects);
PC.ConsoleCommand("stopsounds");
PC.PlaySound(sound'KF_MenuSnd.SetSoundFX');
break;
/*
case sl_TTS:
fTTS = sl_TTS.GetValue();
// Do not preview TTS voice volume, since there isn't any way to truly represent the way it will sound in-game
// PC.TextToSpeech( "Fo Shizzle my nizzle", fTTS );
break;
*/
case co_Mode:
if ( !bIsWin32 ) // Simple OpenAL abstraction... --ryan.
break;
iMode = co_Mode.GetIndex();
if (iMode > 1)
ShowPerformanceWarning();
bCompat = iMode < 1;
b3DSound = iMode > 1;
bEAX = iMode > 2;
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice CompatibilityMode"@bCompat);
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice Use3DSound"@b3DSound);
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice UseEAX"@bEAX);
PC.ConsoleCommand("SOUND_REBOOT");
// Restart music.
if( PC.Level.Song != "" && PC.Level.Song != "None" )
PC.ClientSetMusic( PC.Level.Song, MTRAN_Instant );
else PC.ClientSetMusic( class'UT2K4MainMenu'.default.MenuSong, MTRAN_Instant );
break;
case ch_ReverseStereo:
bRev = ch_ReverseStereo.IsChecked();
break;
case ch_MessageBeep:
bBeep = ch_MessageBeep.IsChecked();
break;
case ch_AutoTaunt:
bAuto = ch_AutoTaunt.IsChecked();
break;
case ch_TTS:
bTTS = ch_TTS.IsChecked();
break;
case ch_MatureTaunts:
bMature = ch_MatureTaunts.IsChecked();
break;
case co_Voices:
iVoiceMode = co_Voices.GetIndex();
break;
case ch_Default:
bDefault = ch_Default.IsChecked();
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice UseDefaultDriver"@bDefault);
PC.ConsoleCommand("SOUND_REBOOT");
break;
case ch_LowDetail:
bLow = ch_LowDetail.IsChecked();
PC.Level.bLowSoundDetail = bLow;
PC.Level.StaticSaveConfig();
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice LowQualitySound"@bLow);
PC.ConsoleCommand("SOUND_REBOOT");
// Restart music.
if( PC.Level.Song != "" && PC.Level.Song != "None" )
PC.ClientSetMusic( PC.Level.Song, MTRAN_Instant );
else PC.ClientSetMusic( class'UT2K4MainMenu'.default.MenuSong, MTRAN_Instant );
break;
case co_Announce:
iAnnounce = co_Announce.GetIndex();
break;
case co_RewardAnnouncer:
AnnouncerIdx = int(co_RewardAnnouncer.GetExtra());
sRewAnnouncer = Announcers[AnnouncerIdx].ClassName;
AnnouncerVol = 2.0 * FClamp(0.1 + iVoice*0.225,0.2,1.0);
snd = sound(co_RewardAnnouncer.GetObject());
if ( snd == None )
{
snd = Sound(DynamicLoadObject(Announcers[AnnouncerIdx].PackageName $ "." $ RewardPreviewSound,class'Sound'));
if ( snd == none )
snd = Sound(DynamicLoadObject(Announcers[AnnouncerIdx].FallbackPackage $ "." $ RewardPreviewSound,class'Sound'));
co_RewardAnnouncer.MyComboBox.List.SetObjectAtIndex(co_RewardAnnouncer.MyComboBox.List.Index,snd);
}
PC.PlaySound(snd,SLOT_Talk,AnnouncerVol);
break;
case co_StatusAnnouncer:
AnnouncerIdx = int(co_StatusAnnouncer.GetExtra());
sStatAnnouncer = Announcers[AnnouncerIdx].ClassName;
AnnouncerVol = 2.0 * FClamp(0.1 + iVoice*0.225,0.2,1.0);
snd = sound(co_StatusAnnouncer.GetObject());
if ( snd == None )
{
snd = Sound(DynamicLoadObject(Announcers[AnnouncerIdx].PackageName $ "." $ StatusPreviewSound,class'Sound'));
if ( snd == none )
snd = Sound(DynamicLoadObject(Announcers[AnnouncerIdx].FallbackPackage $ "." $ StatusPreviewSound,class'Sound'));
co_StatusAnnouncer.MyComboBox.List.SetObjectAtIndex(co_StatusAnnouncer.MyComboBox.List.Index,snd);
}
PC.PlaySound(snd,SLOT_Talk,AnnouncerVol);
break;
case ch_TTSIRC:
bTTSIRC = ch_TTSIRC.IsChecked();
break;
case ch_VoiceChat:
bVoiceChat = ch_VoiceChat.IsChecked();
break;
case ch_OnlyTeamTTS:
bOnlyTeamTTS = ch_OnlyTeamTTS.IsChecked();
break;
}
}
function SaveSettings()
{
local PlayerController PC;
local bool bSave, bReboot;
Super.SaveSettings();
PC = PlayerOwner();
if (PC.AnnouncerLevel != iAnnounce)
{
PC.AnnouncerLevel = iAnnounce;
PC.default.AnnouncerLevel = PC.AnnouncerLevel;
bSave = True;
}
if (PC.AnnouncerVolume != iVoice)
{
PC.AnnouncerVolume = iVoice;
PC.default.AnnouncerVolume = iVoice;
bSave = True;
}
/* if ( PC.TextToSpeechVoiceVolume != fTTS )
{
PC.TextToSpeechVoiceVolume = fTTS;
bSave = True;
}
*/
if ( PC.bOnlySpeakTeamText != bOnlyTeamTTS )
{
PC.bOnlySpeakTeamText = bOnlyTeamTTS;
bSave = True;
}
if ( PC.bNoTextToSpeechVoiceMessages == bTTS )
{
PC.bNoTextToSpeechVoiceMessages = !bTTS;
bSave = True;
}
if ( class'UT2K4IRC_Page'.default.bIRCTextToSpeechEnabled != bTTSIRC )
{
class'UT2K4IRC_Page'.default.bIRCTextToSpeechEnabled = bTTSIRC;
class'UT2K4IRC_Page'.static.StaticSaveConfig();
}
if (PC.bNoMatureLanguage == bMature)
{
PC.bNoMatureLanguage = !bMature;
PC.default.bNoMatureLanguage = !bMature;
bSave = True;
}
if (PC.bNoAutoTaunts != iVoiceMode > 0)
{
PC.bNoAutoTaunts = iVoiceMode > 0;
PC.default.bNoAutoTaunts = PC.bNoAutoTaunts;
bSave = True;
}
if (PC.bNoVoiceTaunts != iVoiceMode > 1)
{
PC.bNoVoiceTaunts = iVoiceMode > 1;
PC.default.bNoVoiceTaunts = PC.bNoVoiceTaunts;
bSave = True;
}
if (PC.bNoVoiceMessages != iVoiceMode == 3)
{
PC.bNoVoiceMessages = iVoiceMode == 3;
PC.default.bNoVoiceMessages = PC.bNoVoiceMessages;
bSave = True;
}
if (fMusic != sl_MusicVol.GetValue())
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice MusicVolume"@fMusic);
if (fEffects != sl_EffectsVol.GetValue())
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice SoundVolume"@fEffects);
if (bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice ReverseStereo")) != bRev)
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice ReverseStereo"@bRev);
if (bDefault != bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice UseDefaultDriver")))
{
PC.ConsoleCommand("set ini:Engine.Engine.AudioDevice UseDefaultDriver"@bDefault);
bReboot = True;
}
if( PC.MyHud != None )
{
if ( PC.myHUD.bMessageBeep != bBeep )
{
PC.myHUD.bMessageBeep = bBeep;
PC.myHUD.SaveConfig();
}
}
else
{
if ( class'HUD'.default.bMessageBeep != bBeep )
{
class'HUD'.default.bMessageBeep = bBeep;
class'HUD'.static.StaticSaveConfig();
}
}
if ( !PC.Level.IsDemoBuild() && PC.IsA('UnrealPlayer') )
{
if ( PC.GetCustomStatusAnnouncerClass() != sStatAnnouncer )
{
PC.SetCustomStatusAnnouncerClass(sStatAnnouncer);
bSave = True;
}
if ( PC.GetCustomRewardAnnouncerClass() != sRewAnnouncer )
{
PC.SetCustomRewardAnnouncerClass(sRewAnnouncer);
bSave = True;
}
}
if (bVoiceChat != bool(PC.ConsoleCommand("get ini:Engine.Engine.AudioDevice UseVoIP")))
{
if (bVoiceChat)
PC.EnableVoiceChat();
else PC.DisableVoiceChat();
bReboot = False;
}
if (bSave)
PC.SaveConfig();
if ( PC.bAutoTaunt != bAuto )
PC.SetAutoTaunt(bAuto);
if ( !PC.Level.IsDemoBuild() && !PC.IsA('UnrealPlayer') )
{
if ( !(class'UnrealPlayer'.default.CustomStatusAnnouncerPack ~= sStatAnnouncer) ||
!(class'UnrealPlayer'.default.CustomRewardAnnouncerPack ~= sRewAnnouncer) )
{
class'UnrealPlayer'.default.CustomStatusAnnouncerPack = sStatAnnouncer;
class'UnrealPlayer'.default.CustomRewardAnnouncerPack = sRewAnnouncer;
class'UnrealPlayer'.static.StaticSaveConfig();
}
}
if (bReboot)
PC.ConsoleCommand("SOUND_REBOOT");
}
function int FindAnnouncerClassIndex( string AnnouncerClass )
{
local int i;
for ( i = 0; i < Announcers.Length; i++ )
if ( Announcers[i].ClassName ~= AnnouncerClass )
return i;
return -1;
}
function string GetAnnouncerClass( int Index )
{
if ( Index < 0 || Index >= Announcers.Length )
return "";
return Announcers[Index].ClassName;
}
function string GetAnnouncerPackage( int Index )
{
if ( Index < 0 || Index >= Announcers.Length )
return "";
return Announcers[Index].PackageName;
}
defaultproperties
{
Begin Object class=GUISectionBackground Name=AudioBK1
WinWidth=0.987773
WinHeight=0.502850
WinLeft=0.004063
WinTop=0.017393
Caption="Sound Effects"
NumColumns=2
MaxPerColumn=5
End Object
i_BG1=AudioBK1
Begin Object class=GUISectionBackground Name=AudioBK2
WinWidth=0.987773
WinHeight=0.517498
WinLeft=0.004063
WinTop=0.004372
Caption="Announcer"
End Object
i_BG2=AudioBK2
Begin Object class=GUISectionBackground Name=AudioBK3
WinWidth=0.987773
WinHeight=0.517498
WinLeft=0.004063
WinTop=0.004372
Caption="Text To Speech"
End Object
i_BG3=AudioBK3
Begin Object class=moSlider Name=AudioMusicVolume
WinWidth=0.450000
WinLeft=0.018164
WinTop=0.070522
Caption="Music Volume"
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
CaptionWidth=0.5
ComponentWidth=-1
bAutoSizeCaption=True
MinValue=0.0
MaxValue=1.0
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
INIOption="@Internal"
INIDefault="0.5"
Hint="Adjusts the volume of the background music."
TabOrder=0
End Object
sl_MusicVol=AudioMusicVolume
Begin Object class=moComboBox Name=AudioMode
WinWidth=0.450000
WinLeft=0.018164
WinTop=0.149739
Caption="Audio Mode"
INIOption="@Internal"
INIDefault="Software 3D Audio"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
Hint="Changes the audio system mode."
CaptionWidth=0.5
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
bReadOnly=true
TabOrder=1
End Object
co_Mode=AudioMode
Begin Object class=moCheckBox Name=AudioLowDetail
WinWidth=0.45
WinLeft=0.018164
WinTop=0.235052
Caption="Low Sound Detail"
INIOption="@Internal"
INIDefault="False"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
Hint="Lowers quality of sound."
CaptionWidth=0.94
bSquare=true
ComponentJustification=TXTA_Left
TabOrder=2
End Object
ch_LowDetail=AudioLowDetail
Begin Object class=moCheckBox Name=AudioDefaultDriver
WinWidth=0.45
WinLeft=0.018164
WinTop=0.320365
Caption="System Driver"
Hint="Use system installed OpenAL driver"
INIOption="@Internal"
INIDefault="False"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
ComponentJustification=TXTA_Left
TabOrder=3
End Object
ch_Default=AudioDefaultDriver
Begin Object class=moCheckBox Name=AudioReverseStereo
WinWidth=0.45
WinLeft=0.018164
WinTop=0.405678
Caption="Reverse Stereo"
Hint="Reverses the left and right audio channels."
INIOption="@Internal"
INIDefault="False"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
ComponentJustification=TXTA_Left
TabOrder=4
End Object
ch_ReverseStereo=AudioReverseStereo
Begin Object class=moSlider Name=AudioEffectsVolumeSlider
WinWidth=0.450000
WinLeft=0.524024
WinTop=0.070522
MinValue=0.0
MaxValue=1.0
Caption="Effects Volume"
Hint="Adjusts the volume of all in game sound effects."
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
CaptionWidth=0.5
ComponentWidth=-1
bAutoSizeCaption=True
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
INIOption="@Internal"
INIDefault="0.9"
TabOrder=5
End Object
sl_EffectsVol=AudioEffectsVolumeSlider
Begin Object class=moComboBox Name=AudioPlayVoices
WinWidth=0.45
WinLeft=0.524024
WinTop=0.149739
Caption="Play Voices"
Hint="Defines the types of voice messages to play."
INIOption="@Internal"
INIDefault="All"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.5
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
bReadOnly=true
TabOrder=6
bHeightFromComponent=False
End Object
co_Voices=AudioPlayVoices
Begin Object class=moCheckBox Name=AudioMatureTaunts
WinWidth=0.45
WinLeft=0.524024
WinTop=0.235052
Caption="Mature Taunts"
Hint="Enables off-color commentary."
INIOption="@Internal"
INIDefault="True"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
bSquare=true
ComponentJustification=TXTA_Left
TabOrder=7
End Object
ch_MatureTaunts=AudioMatureTaunts
Begin Object class=moCheckBox Name=AudioAutoTaunt
WinWidth=0.45
WinLeft=0.524024
WinTop=0.320365
Caption="Auto-Taunt"
Hint="Enables your in-game player to automatically taunt opponents."
INIOption="@Internal"
INIDefault="True"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
bSquare=true
ComponentJustification=TXTA_Left
TabOrder=8
End Object
ch_AutoTaunt=AudioAutoTaunt
Begin Object class=moCheckBox Name=AudioMessageBeep
WinWidth=0.45
WinLeft=0.524024
WinTop=0.405678
Caption="Message Beep"
Hint="Enables a beep when receiving a text message from other players."
INIOption="@Internal"
INIDefault="True"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
bSquare=true
ComponentJustification=TXTA_Left
TabOrder=9
End Object
ch_MessageBeep=AudioMessageBeep
Begin Object class=moSlider Name=AudioAnnouncerVolume
WinWidth=0.470703
WinLeft=0.011329
WinTop=0.597866
Caption="Volume"
Hint="Adjusts the volume of all in game voice messages."
MinValue=1
MaxValue=4
bIntSlider=true
INIOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
CaptionWidth=0.65
ComponentWidth=-1
bAutoSizeCaption=True
TabOrder=10
End Object
sl_VoiceVol=AudioAnnouncerVolume
Begin Object class=moComboBox Name=AudioAnnounce
WinWidth=0.470703
WinLeft=0.011329
WinTop=0.711079
Caption="Announcements"
Hint="Adjusts the amount of in-game announcements."
INIOption="@Internal"
INIDefault="All"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.65
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
bReadOnly=true
TabOrder=11
End Object
co_Announce=AudioAnnounce
Begin Object class=moComboBox Name=AudioStatusAnnouncer
WinWidth=0.470703
WinLeft=0.011329
WinTop=0.801035
Caption="Status Announcer"
Hint="The Status announcer relays important information about the game to tournament players and spectators."
INIOption="@Internal"
OnChange=InternalOnChange
CaptionWidth=0.65
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
bReadOnly=true
TabOrder=12
End Object
co_StatusAnnouncer=AudioStatusAnnouncer
Begin Object class=moComboBox Name=AudioRewardAnnouncer
WinWidth=0.470703
WinLeft=0.011329
WinTop=0.890991
Caption="Reward Announcer"
Hint="Each tournament player is linked to a Reward announcer that informs you when you've demonstrated exceptional combat skills."
INIOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.65
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
bReadOnly=true
TabOrder=13
End Object
co_RewardAnnouncer=AudioRewardAnnouncer
/*
Begin Object class=moSlider Name=AudioTTSVolumeSlider
WinWidth=0.461134
WinLeft=0.527734
WinTop=0.597866
Caption="Volume"
Hint="Adjusts the volume of Text-To-Speech messages."
MinValue=1
MaxValue=4
INIOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.65
ComponentWidth=-1
bAutoSizeCaption=True
LabelJustification=TXTA_Left
ComponentJustification=TXTA_Right
TabOrder=14
End Object
sl_TTS=AudioTTSVolumeSlider
*/
Begin Object class=moCheckBox Name=AudioEnableTTS
WinWidth=0.461134
WinLeft=0.527734
WinTop=0.685037
Caption="Enable In Game"
Hint="Enables Text-To-Speech message processing"
INIOption="@Internal"
INIDefault="False"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
bSquare=true
ComponentJustification=TXTA_Left
TabOrder=15
End Object
ch_TTS=AudioEnableTTS
Begin Object class=moCheckbox Name=IRCTextToSpeech
WinWidth=0.461134
WinLeft=0.527734
WinTop=0.755462
Caption="Enable on IRC"
Hint="Enables Text-To-Speech processing in the IRC client (only messages from active tab is processed)"
IniOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
ComponentJustification=TXTA_Left
TabOrder=16
End Object
ch_TTSIRC=IRCTextToSpeech
Begin Object CLass=moCheckBox Name=OnlyTeamTTSCheck
WinWidth=0.461134
WinLeft=0.527734
WinTop=0.755462
Caption="Team Messages Only"
Hint="If enabled, only team messages will be spoken in team games, unless the match or round is over."
IniOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
CaptionWidth=0.94
ComponentJustification=TXTA_Left
TabOrder=17
End Object
ch_OnlyTeamTTS=OnlyTeamTTSCheck
Begin Object class=moCheckBox Name=EnableVoiceChat
WinWidth=0.461134
WinLeft=0.527734
WinTop=0.834777
INIOption="@Internal"
OnLoadINI=InternalOnLoadINI
OnChange=InternalOnChange
Hint="Enables the voice chat system during online matches."
Caption="Voice Chat"
CaptionWidth=0.94
bSquare=true
TabOrder=18
ComponentJustification=TXTA_Left
End Object
ch_VoiceChat=EnableVoiceChat
Begin Object Class=moButton Name=VoiceOptions
WinWidth=0.461134
WinLeft=0.527734
WinHeight=0.05
WinTop=0.909065
Caption="Voice Options"
ButtonCaption="Configure"
MenuClass="GUI2K4.VoiceChatConfig"
MenuTitle="Voice Chat Options"
CaptionWidth=0.5
TabOrder=19
End Object
b_VoiceChat=VoiceOptions
WinTop=0.15
WinLeft=0
WinWidth=1
WinHeight=0.74
bAcceptsInput=false
AudioModes[0]="Safe Mode"
AudioModes[1]="3D Audio"
AudioModes[2]="H/W 3D Audio"
AudioModes[3]="H/W 3D + EAX"
VoiceModes[0]="All"
VoiceModes[1]="No auto-taunts"
VoiceModes[2]="No taunts"
VoiceModes[3]="None"
AnnounceModes[0]="None"
AnnounceModes[1]="Minimal"
AnnounceModes[2]="All"
PanelCaption="Audio"
StatusPreviewSound="1_minute_remains"
RewardPreviewSound="unstoppable"
}