Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //-----------------------------------------------------------------------------
- // Fallen Empire: Legions
- // Copyright (C) GarageGames.com, Inc.
- //-----------------------------------------------------------------------------
- function GameOptionsBackButton::onClick(%this)
- {
- GameOptionsGui.close();
- }
- function GameOptionsGui::open(%this)
- {
- Canvas.pushDialog(GameOptionsGui);
- slideElement(GameOptionsHandle, -400, 0, 0, 0, 500);
- }
- function GameOptionsGui::close(%this)
- {
- Legions::exportPrefs();
- slideElement(GameOptionsHandle, 0, 0, -400, 0, 500);
- GameOptionsSwitchButton1.setVisible(true);
- GameOptionsSwitchButton2.setVisible(false);
- HudOptionsList.setVisible(false);
- GameOptionsScroll.setVisible(true);
- schedule(500, 0, PopGameOptions);
- }
- function PopGameOptions()
- {
- canvas.popDialog(GameOptionsGui);
- }
- function GameOptionsList::populate(%this)
- {
- %this.clear();
- %yesNoList = "Yes" TAB "No";
- %this.addRow("Third Person Camera", %yesNoList, true, "onThirdPersonChanged", 0, 0, true);
- %fovList = GetIncrementalList(90, 130, 1);
- %this.addRow("Camera FOV", %fovList, false, "onFOVOptionChanged", 0, 0, true);
- %sensitivityList = GetIncrementalList(0, 100, 2);
- %this.addRow("Mouse Speed", %sensitivityList, false, "onSensitivityOptionChanged", 0, 0, true);
- //%this.addRow("Invert Mouse X", %yesNoList, true, "onInvertMouseXOptionChanged", 0, 0);
- %this.addRow("Invert Mouse Y", %yesNoList, true, "onInvertMouseYOptionChanged", 0, 0);
- %volumeList = GetIncrementalList(0, 100, 5);
- %this.addRow("Master Volume", %volumeList, false, "onVolumeOptionChanged", 0, 0, true);
- %this.addRow("Game Events Volume", %volumeList, false, "onGameEventsVolumeOptionChanged", 0, 0, true);
- %this.addRow("Effects Volume", %volumeList, false, "onEffectsVolumeOptionChanged", 0, 0, true);
- %this.addRow("Overdrive Volume", %volumeList, false, "onOverdriveVolumeOptionChanged", 0, 0, true);
- %this.addRow("Music Volume", %volumeList, false, "onMusicVolumeOptionChanged", 0, 0, true);
- %this.addRow("Health Warning Sound", %yesNoList, true, "onHealthWarningOptionChanged", 0, 0);
- %this.addRow("Overdrive Notify Sound", %yesNoList, true, "onOverdriveNotifyOptionChanged", 0, 0);
- %this.addRow("Hit Notify Sound", %yesNoList, true, "onHitNotifyOptionChanged", 0, 0);
- %this.addRow("Show Chat Messages", %yesNoList, true, "onShowChatMsgChanged", 0, 0);
- %this.addRow("Show Game Messages", %yesNoList, true, "onShowGameMsgsChanged", 0, 0);
- %this.addRow("Sniper Hold Toggle", %yesNoList, false, "onSniperHoldOptionChanged", 0, 0, true);
- %this.addRow("Toggle Zoom", %yesNoList, false, "onZoomToggleChanged", 0, 0, true);
- %chatAutohideTimeList = GetIncrementalList(1, 10, 1);
- %this.addRow("Chat Autohide Time", %chatAutohideTimeList, false, "onChatAutohideTimeChanged", 0, 0);
- %quickChatList = "On" TAB "Team Only" TAB "Off";
- %this.addRow("Quick-Chat Sounds", %quickChatList, true, "onQuickChatSoundsChanged", 0, 0);
- %quickChatVoiceList = $Client::QuickChat::Voices;
- %this.addRow("Quick-Chat Voice", %quickChatVoiceList, true, "onQuickChatVoiceChanged", 0, 0);
- }
- function GameOptionsList::onWake(%this)
- {
- %this.populate();
- %thirdPerson = $Pref::Player::ThirdPersonCamera ? "Yes" : "No";
- %this.selectOption(0, %thirdPerson);
- %FOV = $Pref::Player::DefaultFOV;
- %this.selectOption(1, %FOV);
- %mouseSpeed = (($Pref::Input::MouseSensitivity - 0.01) / 4) * 100;
- %this.selectOption(2, %mouseSpeed);
- //%invertX = $Pref::Input::MouseInvertXAxis ? "Yes" : "No";
- //%this.selectOption(3, %invertX);
- %invertY = $Pref::Input::MouseInvertYAxis ? "Yes" : "No";
- %this.selectOption(3, %invertY);
- %volume = $pref::SFX::masterVolume * 100;
- %this.selectOption(4, mFloor((%volume + 2.5) / 5) * 5);
- %volume = $Pref::Sfx::ChannelVolume2 * 100;
- %this.selectOption(5, mFloor((%volume + 2.5) / 5) * 5);
- %volume = $Pref::Sfx::ChannelVolume3 * 100;
- %this.selectOption(6, mFloor((%volume + 2.5) / 5) * 5);
- %volume = $Pref::Sfx::ChannelVolume4 * 100;
- %this.selectOption(7, mFloor((%volume + 2.5) / 5) * 5);
- %volume = $Pref::Sfx::ChannelVolume5 * 100;
- %this.selectOption(8, mFloor((%volume + 2.5) / 5) * 5);
- %healthWarn = $Pref::Player::PlayHealthWarningSound ? "Yes" : "No";
- %this.selectOption(9, %healthWarn);
- %odNotify = $Pref::Player::PlayOverdriveNotifySound ? "Yes" : "No";
- %this.selectOption(10, %odNotify);
- %hitNotify = $Pref::Player::PlayHitNotifySound ? "Yes" : "No";
- %this.selectOption(11, %hitNotify);
- %showChat = $Pref::Player::ChatDisplayChatMessages ? "Yes" : "No";
- %this.selectOption(12, %showChat);
- %showGame = $Pref::Player::ChatDisplayGameMessages ? "Yes" : "No";
- %this.selectOption(13, %showGame);
- %showGame = $Pref::Player::SniperHoldToCharge ? "Yes" : "No";
- %this.selectOption(14, %showGame);
- %showGame = $Pref::Player::ToggleZoom ? "Yes" : "No";
- %this.selectOption(15, %showGame);
- %chatAutohideTime = $Pref::Player::ChatAutohideLineTimeout / 0.8;
- %this.selectOption(16, %chatAutohideTime);
- if($Pref::Player::QuickChatSoundSetting == 1)
- %quickChatSound = "On";
- else if($Pref::Player::QuickChatSoundSetting == 2)
- %quickChatSound = "Team Only";
- else
- %quickChatSound = "Off";
- %this.selectOption(16, %quickChatSound);
- %quickChatVoice = strlwr($Pref::Player::QuickChatVoice);
- %this.selectOption(17, %quickChatVoice);
- }
- function GetIncrementalList(%start, %end, %increment)
- {
- %list = %start;
- for (%i = %start + %inc; %i <= %end; %i += %increment)
- %list = %list TAB %i;
- return %list;
- }
- function onThirdPersonChanged(%direction, %row)
- {
- $Pref::Player::ThirdPersonCamera = GameOptionsList.getCurrentOption(%row) $= "Yes";
- if(isObject(ServerConnection))
- ServerConnection.setFirstPerson(!$Pref::Player::ThirdPersonCamera);
- }
- function onVolumeOptionChanged(%direction, %row)
- {
- $Pref::SFX::MasterVolume = GameOptionsList.getCurrentOption(%row) / 100;
- sfxSetMasterVolume($Pref::SFX::MasterVolume);
- sfxPlayOnce(AudioGui, "legions/data/sound/game/CTF/LowTimeWarn");
- }
- function onGameEventsVolumeOptionChanged(%direction, %row)
- {
- $Pref::Sfx::ChannelVolume2 = GameOptionsList.getCurrentOption(%row) / 100;
- sfxSetChannelVolume($AudioType::GameEvents, $Pref::Sfx::ChannelVolume2);
- sfxPlayOnce(AudioGameEvent, "legions/data/sound/game/CTF/LowTimeWarn");
- }
- function onEffectsVolumeOptionChanged(%direction, %row)
- {
- $Pref::Sfx::ChannelVolume3 = GameOptionsList.getCurrentOption(%row) / 100;
- sfxSetChannelVolume($AudioType::Effects, $Pref::Sfx::ChannelVolume3);
- sfxPlayOnce(EffectsVolumeOption, "legions/data/sound/game/CTF/LowTimeWarn");
- }
- function onOverdriveVolumeOptionChanged(%direction, %row)
- {
- $Pref::Sfx::ChannelVolume4 = GameOptionsList.getCurrentOption(%row) / 100;
- sfxSetChannelVolume($AudioType::Overdrive, $Pref::Sfx::ChannelVolume4);
- sfxPlayOnce(OverdriveVolumeOption, "legions/data/sound/game/CTF/LowTimeWarn");
- }
- function onMusicVolumeOptionChanged(%direction, %row)
- {
- $Pref::Sfx::ChannelVolume5 = GameOptionsList.getCurrentOption(%row) / 100;
- sfxSetChannelVolume($AudioType::Music, $Pref::Sfx::ChannelVolume5);
- sfxPlayOnce(MusicVolumeOption, "legions/data/sound/game/CTF/LowTimeWarn");
- }
- function onSensitivityOptionChanged(%direction, %row)
- {
- $pref::Input::MouseSensitivity = ((GameOptionsList.getCurrentOption(%row) / 100) * 4) + 0.01;
- }
- function onFOVOptionChanged(%direction, %row)
- {
- $Pref::Player::DefaultFOV = GameOptionsList.getCurrentOption(%row);
- }
- function onInvertMouseXOptionChanged(%direction, %row)
- {
- $Pref::Input::MouseInvertXAxis = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onInvertMouseYOptionChanged(%direction, %row)
- {
- $Pref::Input::MouseInvertYAxis = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onHealthWarningOptionChanged(%direction, %row)
- {
- $Pref::Player::PlayHealthWarningSound = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onOverdriveNotifyOptionChanged(%direction, %row)
- {
- $Pref::Player::PlayOverdriveNotifySound = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onHitNotifyOptionChanged(%direction, %row)
- {
- $Pref::Player::PlayHitNotifySound = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onQuickChatVoiceChanged(%direction, %row)
- {
- $Pref::Player::QuickChatVoice = GameOptionsList.getCurrentOption(%row);
- createChatRoot($Pref::Player::QuickChatVoice);
- }
- function onQuickChatSoundsChanged(%direction, %row)
- {
- %selected = GameOptionsList.getCurrentOption(%row);
- if(%selected $= "On")
- $Pref::Player::QuickChatSoundSetting = 1;
- else if(%selected $= "Team Only")
- $Pref::Player::QuickChatSoundSetting = 2;
- else
- $Pref::Player::QuickChatSoundSetting = 0;
- }
- function onShowChatMsgChanged(%direction, %row)
- {
- $Pref::Player::ChatDisplayChatMessages = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onSniperHoldOptionChanged(%direction, %row)
- {
- $Pref::Player::SniperHoldToCharge = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onZoomToggleChanged(%direction, %row)
- {
- $Pref::Input::ToggleZoom = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onShowGameMsgsChanged(%direction, %row)
- {
- $Pref::Player::ChatDisplayGameMessages = GameOptionsList.getCurrentOption(%row) $= "Yes";
- }
- function onChatAutohideTimeChanged(%direction, %row)
- {
- %selection = GameOptionsList.getCurrentOption(%row);
- $Pref::Player::ChatAutohideLineTimeout = 0.8 * %selection;
- $Pref::Player::ChatAutohideMinLineDelay = 0.2 * %selection;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement