//global function InitLobbyStartMenu global function InitInGameMPMenu global function InitInGameSPMenu global function ServerCallback_UI_ObjectiveUpdated global function ServerCallback_UI_UpdateMissionLog global function SP_ResetObjectiveStringIndex global function SCB_SetDoubleXPStatus global function SCB_SetCompleteMeritState global function SCB_SetEvacMeritState global function SCB_SetMeritCount global function SCB_SetScoreMeritState global function SCB_SetWinMeritState global function SCB_SetWeaponMeritCount global function SCB_SetTitanMeritCount const DATA_TABLE = $"datatable/sp_difficulty.rpak" struct { var menuMP var menuSP var BtnTrackedChallengeBackground var BtnTrackedChallengeTitle array trackedChallengeButtons var BtnLastCheckpoint int objectiveStringIndex bool SP_displayObjectiveOnClose var settingsHeader var faqButton int titanHeaderIndex var titanHeader var titanSelectButton var titanEditButton ComboStruct &comboStruct array<var> loadoutButtons array<var> loadoutHeaders } file void function InitInGameMPMenu() { var menu = GetMenu( "InGameMPMenu" ) file.menuMP = menu SP_ResetObjectiveStringIndex() file.SP_displayObjectiveOnClose = true AddMenuEventHandler( menu, eUIEvent.MENU_OPEN, OnInGameMPMenu_Open ) AddMenuEventHandler( menu, eUIEvent.MENU_CLOSE, OnInGameMPMenu_Close ) AddUICallback_OnLevelInit( OnInGameLevelInit ) ComboStruct comboStruct = ComboButtons_Create( menu ) int headerIndex = 0 int buttonIndex = 0 var pilotHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_PILOT" ) file.loadoutHeaders.append( pilotHeader ) var pilotSelectButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#SELECT" ) Hud_AddEventHandler( pilotSelectButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "PilotLoadoutsMenu" ) ) ) file.loadoutButtons.append( pilotSelectButton ) var pilotEditButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#EDIT" ) Hud_AddEventHandler( pilotEditButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "EditPilotLoadoutsMenu" ) ) ) file.loadoutButtons.append( pilotEditButton ) headerIndex++ buttonIndex = 0 var titanHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_TITAN" ) file.titanHeader = titanHeader file.titanHeaderIndex = headerIndex file.loadoutHeaders.append( titanHeader ) var titanSelectButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#SELECT" ) file.titanSelectButton = titanSelectButton file.loadoutButtons.append( titanSelectButton ) Hud_AddEventHandler( titanSelectButton, UIE_CLICK, TitanSelectButtonHandler ) var titanEditButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#EDIT" ) Hud_AddEventHandler( titanEditButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "EditTitanLoadoutsMenu" ) ) ) file.titanEditButton = titanEditButton file.loadoutButtons.append( titanEditButton ) headerIndex++ buttonIndex = 0 var gameHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_GAME" ) var leaveButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#LEAVE_MATCH" ) Hud_AddEventHandler( leaveButton, UIE_CLICK, OnLeaveButton_Activate ) #if DEV var devButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "Dev" ) Hud_AddEventHandler( devButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "DevMenu" ) ) ) #endif headerIndex++ buttonIndex = 0 var dummyHeader = AddComboButtonHeader( comboStruct, headerIndex, "" ) var dummyButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "" ) Hud_SetVisible( dummyHeader, false ) Hud_SetVisible( dummyButton, false ) headerIndex++ buttonIndex = 0 file.settingsHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_SETTINGS" ) var controlsButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#CONTROLS" ) Hud_AddEventHandler( controlsButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "ControlsMenu" ) ) ) #if CONSOLE_PROG var avButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#AUDIO_VIDEO" ) Hud_AddEventHandler( avButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "AudioVideoMenu" ) ) ) #elseif PC_PROG var videoButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#AUDIO" ) Hud_AddEventHandler( videoButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "AudioMenu" ) ) ) var soundButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#VIDEO" ) Hud_AddEventHandler( soundButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "VideoMenu" ) ) ) #endif // MOD SETTINGS var modSettingsButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "Mod Settings" ) Hud_AddEventHandler( modSettingsButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "ModSettings" ) ) ) // Nobody reads the FAQ so we replace it with ModSettings because of the limited combobutton space available //file.faqButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#KNB_MENU_HEADER" ) //Hud_AddEventHandler( file.faqButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "KnowledgeBaseMenu" ) ) ) //var dataCenterButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#DATA_CENTER" ) //Hud_AddEventHandler( dataCenterButton, UIE_CLICK, OpenDataCenterDialog ) ComboButtons_Finalize( comboStruct ) file.comboStruct = comboStruct AddMenuFooterOption( menu, BUTTON_A, "#A_BUTTON_SELECT" ) AddMenuFooterOption( menu, BUTTON_B, "#B_BUTTON_CLOSE", "#CLOSE" ) } void function OnInGameMPMenu_Open() { Lobby_SetFDMode( GetCurrentPlaylistVarInt( "ingame_menu_fd_mode", 0 ) == 1 ) UI_SetPresentationType( ePresentationType.DEFAULT ) bool faqIsNew = !GetConVarBool( "menu_faq_viewed" ) || HaveNewPatchNotes() || HaveNewCommunityNotes() RuiSetBool( Hud_GetRui( file.settingsHeader ), "isNew", faqIsNew ) //ComboButton_SetNew( file.faqButton, faqIsNew ) UpdateLoadoutButtons() RefreshCreditsAvailable() thread UpdateCachedNewItems() } void function OnInGameMPMenu_Close() { UI_SetPresentationType( ePresentationType.INACTIVE ) if ( IsConnected() && !IsLobby() && IsLevelMultiplayer( GetActiveLevel() ) ) { //printt( "OnInGameMPMenu_Close() uiGlobal.updatePilotSpawnLoadout is:", uiGlobal.updatePilotSpawnLoadout ) //printt( "OnInGameMPMenu_Close() uiGlobal.updateTitanSpawnLoadout is:", uiGlobal.updateTitanSpawnLoadout ) string updatePilotSpawnLoadout = uiGlobal.updatePilotSpawnLoadout ? "1" : "0" string updateTitanSpawnLoadout = uiGlobal.updateTitanSpawnLoadout ? "1" : "0" ClientCommand( "InGameMPMenuClosed " + updatePilotSpawnLoadout + " " + updateTitanSpawnLoadout ) uiGlobal.updatePilotSpawnLoadout = false uiGlobal.updateTitanSpawnLoadout = false RunClientScript( "RefreshIntroLoadoutDisplay", GetLocalClientPlayer(), uiGlobal.pilotSpawnLoadoutIndex, uiGlobal.titanSpawnLoadoutIndex ) } } void function UpdateLoadoutButtons() { bool loadoutSelectionEnabled = (GetCurrentPlaylistVarInt( "loadout_selection_enabled", 1 ) == 1) SetTitanSelectButtonVisibleState( true ) foreach ( button in file.loadoutButtons ) { Hud_SetEnabled( button, loadoutSelectionEnabled ) } foreach ( header in file.loadoutHeaders ) { if ( loadoutSelectionEnabled ) Hud_Show( header ) else Hud_Hide( header ) } entity player = GetUIPlayer() if ( GetAvailableTitanRefs( player ).len() > 1 ) { SetComboButtonHeaderTitle( file.menuMP, file.titanHeaderIndex, "#MENU_HEADER_TITAN" ) ComboButton_SetText( file.titanSelectButton, "#SELECT" ) Hud_Show( file.titanEditButton ) } else if ( GetAvailableTitanRefs( player ).len() == 1 ) { TitanLoadoutDef loadout = GetCachedTitanLoadout( uiGlobal.titanSpawnLoadoutIndex ) SetComboButtonHeaderTitle( file.menuMP, file.titanHeaderIndex, GetTitanLoadoutName( loadout ) ) ComboButton_SetText( file.titanSelectButton, "#EDIT" ) Hud_Hide( file.titanEditButton ) ComboButtons_ResetColumnFocus( file.comboStruct ) } else { SetTitanSelectButtonVisibleState( true ) } } ////////// ////////// void function InitInGameSPMenu() { var menu = GetMenu( "InGameSPMenu" ) file.menuSP = menu AddMenuEventHandler( menu, eUIEvent.MENU_OPEN, OnOpenInGameSPMenu ) AddMenuEventHandler( menu, eUIEvent.MENU_CLOSE, OnCloseInGameSPMenu ) ComboStruct comboStruct = ComboButtons_Create( menu ) int headerIndex = 0 int buttonIndex = 0 // MISSION Menu var missionHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_MISSION" ) var resumeButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#RESUME_GAME_SHORT" ) Hud_AddEventHandler( resumeButton, UIE_CLICK, OnResumeGame_Activate ) var lastCheckpointButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#LAST_CHECKPOINT" ) Hud_AddEventHandler( lastCheckpointButton, UIE_CLICK, OnReloadCheckpoint_Activate ) file.BtnLastCheckpoint = lastCheckpointButton var restartButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#RESTART_LEVEL_SHORT" ) Hud_AddEventHandler( restartButton, UIE_CLICK, OnRestartLevel_Activate ) // GAME Menu // headerIndex++ // buttonIndex = 0 // var gameHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_GAME" ) // var difficultyButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#CHANGE_DIFFICULTY" ) // Hud_AddEventHandler( difficultyButton, UIE_CLICK, OnChangeDifficulty_Activate ) // var leaveButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#QUIT" ) // Hud_AddEventHandler( leaveButton, UIE_CLICK, OnLeaveButton_Activate ) // SETTINGS Menu headerIndex++ buttonIndex = 0 var settingsHeader = AddComboButtonHeader( comboStruct, headerIndex, "#MENU_HEADER_SETTINGS" ) var controlsButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#CONTROLS" ) Hud_AddEventHandler( controlsButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "ControlsMenu" ) ) ) #if CONSOLE_PROG var avButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#AUDIO_VIDEO" ) Hud_AddEventHandler( avButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "AudioVideoMenu" ) ) ) #elseif PC_PROG var audioButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#AUDIO" ) Hud_AddEventHandler( audioButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "AudioMenu" ) ) ) var videoButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "#VIDEO" ) Hud_AddEventHandler( videoButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "VideoMenu" ) ) ) #endif // MOD SETTINGS var modSettingsButton = AddComboButton( comboStruct, headerIndex, buttonIndex++, "Mod Settings" ) Hud_AddEventHandler( modSettingsButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "ModSettings" ) ) ) array<var> orderedButtons var changeDifficultyBtn = Hud_GetChild( menu, "BtnChangeDifficulty" ) AddButtonEventHandler( changeDifficultyBtn, UIE_CLICK, OnChangeDifficulty_Activate ) Hud_Show( changeDifficultyBtn ) orderedButtons.append( changeDifficultyBtn ) var quitBtn = Hud_GetChild( menu, "BtnQuit" ) SetButtonRuiText( quitBtn, "#QUIT" ) AddButtonEventHandler( quitBtn, UIE_CLICK, OnLeaveButton_Activate ) Hud_Show( quitBtn ) orderedButtons.append( quitBtn ) // DEV button var devButton = Hud_GetChild( menu, "BtnDev" ) #if DEV SetButtonRuiText( devButton, "--- Dev" ) AddButtonEventHandler( devButton, UIE_CLICK, AdvanceMenuEventHandler( GetMenu( "DevMenu" ) ) ) Hud_Show( devButton ) orderedButtons.append( devButton ) comboStruct.navUpButton = devButton #else Hud_Hide( devButton ) comboStruct.navUpButton = quitBtn #endif // DEV SetNavUpDown( orderedButtons ) comboStruct.navDownButton = changeDifficultyBtn ComboButtons_Finalize( comboStruct ) AddMenuFooterOption( menu, BUTTON_A, "#A_BUTTON_SELECT" ) AddMenuFooterOption( menu, BUTTON_B, "#B_BUTTON_CLOSE", "#CLOSE" ) } void function OnOpenInGameSPMenu() { var collectiblesFoundDesc = Hud_GetChild( file.menuSP, "CollectiblesFoundDesc" ) var missionLogDesc = Hud_GetChild( file.menuSP, "MissionLogDesc" ) var changeDifficultyBtn = Hud_GetChild( file.menuSP, "BtnChangeDifficulty" ) Hud_SetEnabled( file.BtnLastCheckpoint, HasValidSaveGame() ) int currentDifficulty = GetConVarInt( "sp_difficulty" ) string newDifficultyString switch ( currentDifficulty ) { case 0: newDifficultyString = "#CHANGE_DIFFICULTY_EASY" break case 1: newDifficultyString = "#CHANGE_DIFFICULTY_REGULAR" break case 2: newDifficultyString = "#CHANGE_DIFFICULTY_HARD" break case 3: newDifficultyString = "#CHANGE_DIFFICULTY_MASTER" break default: Assert( 0, "Unknown difficulty " + currentDifficulty ) break } SetButtonRuiText( changeDifficultyBtn, newDifficultyString ) string activeLevelName = GetActiveLevel() if ( activeLevelName != "" ) { var dataTable = GetDataTable( $"datatable/sp_levels_data.rpak" ) // Make sure this level actually has data to display. bool levelHasData = false int numRows = GetDatatableRowCount( dataTable ) for ( int i = 0; i < numRows; i++ ) { string levelName = GetDataTableString( dataTable, i, GetDataTableColumnByName( dataTable, "level" ) ) if ( activeLevelName == levelName ) { levelHasData = true break } } if ( levelHasData ) { // Mission Log int row = GetDataTableRowMatchingStringValue( dataTable, GetDataTableColumnByName( dataTable, "level" ), activeLevelName ) string missionLog = GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "missionLog" ) ) if ( uiGlobal.sp_showAlternateMissionLog ) { string alternateMissionLog = GetDataTableString( dataTable, row, GetDataTableColumnByName( dataTable, "alternateMissionLog" ) ) missionLog = alternateMissionLog } Hud_SetText( missionLogDesc, missionLog ) // Collectibles int foundLions = GetCollectiblesFoundForLevel( activeLevelName ) int maxLions = GetMaxLionsInLevel( activeLevelName ) Hud_SetText( collectiblesFoundDesc, "#MENU_SP_COLLECTIBLE_DESC", foundLions, maxLions ) } else { Hud_SetText( missionLogDesc, "#MENU_SP_OBJECTIVES_NO_ENTRY" ) Hud_SetText( collectiblesFoundDesc, "#MENU_SP_COLLECTIBLE_DESC", 0, 0 ) } // Make sure trial mode doesn't reveal any spoilers! if ( Script_IsRunningTrialVersion() ) Hud_SetText( missionLogDesc, "#MENU_SP_OBJECTIVES_NO_ENTRY" ) } SPMenu_UpdateReloadCheckpointButton() } void function OnCloseInGameSPMenu() { if ( file.SP_displayObjectiveOnClose ) ClientCommand( "ShowObjective closedSPMenu" ) } void function SPMenu_UpdateReloadCheckpointButton() { if ( level.ui.playerRunningGauntlet ) ComboButton_SetText( file.BtnLastCheckpoint, "#GAUNTLET_RESTART" ) else ComboButton_SetText( file.BtnLastCheckpoint, "#LAST_CHECKPOINT" ) } void function MobilityDifficultyButton_Activate( var button ) { OpenMobilityDifficultyMenu() } void function OnLeaveButton_Activate( var button ) { file.SP_displayObjectiveOnClose = false LeaveDialog() } void function OnRestartLevel_Activate( var button ) { ShowAreYouSureDialog( "#MENU_RESTART_MISSION_CONFIRM", RestartMission, "#WARNING_LOSE_PROGRESS" ) } void function OnChangeDifficulty_Activate( var button ) { SPDifficultyButton_Click( button ) } void function OnResumeGame_Activate( var button ) { CloseActiveMenu() } void function OnReloadCheckpoint_Activate( var button ) { if ( level.ui.playerRunningGauntlet ) { CloseActiveMenu() ClientCommand( "Gauntlet_PlayerRestartedFromMenu" ) } else { ShowAreYouSureDialog( "#MENU_RESTART_CHECKPOINT_CONFIRM", ReloadLastCheckpoint, "#EMPTY_STRING" ) } } void function ShowAreYouSureDialog( string header, void functionref() func, string details ) { DialogData dialogData dialogData.header = header dialogData.message = details AddDialogButton( dialogData, "#NO" ) AddDialogButton( dialogData, "#YES", func ) AddDialogFooter( dialogData, "#A_BUTTON_SELECT" ) AddDialogFooter( dialogData, "#B_BUTTON_BACK" ) OpenDialog( dialogData ) } void function RestartMission() { file.SP_displayObjectiveOnClose = false ClientCommand( "RestartMission" ) } void function ReloadLastCheckpoint() { file.SP_displayObjectiveOnClose = false printt( "SAVEGAME: Trying to load saveName" ) if ( HasValidSaveGame() ) { printt( "SAVEGAME: Trying to load checkpoint from menu_ingame" ) SaveGame_LoadWithStartPointFallback() return } ClientCommand( "RestartFromLevelTransition" ) } void function SP_ResetObjectiveStringIndex() { file.objectiveStringIndex = -1 } void function ServerCallback_UI_ObjectiveUpdated( int stringIndex ) { file.objectiveStringIndex = stringIndex } void function ServerCallback_UI_UpdateMissionLog( bool showAltLog ) { uiGlobal.sp_showAlternateMissionLog = showAltLog } void function SPDifficultyButton_Click( var button ) { DialogData dialogData dialogData.header = "#SP_DIFFICULTY_MISSION_SELECT_TITLE" int currentDifficulty = GetConVarInt( "sp_difficulty" ) dialogData.coloredButton[ currentDifficulty ] <- true if ( currentDifficulty == DIFFICULTY_EASY ) AddDialogButton( dialogData, "#SP_DIFFICULTY_EASY_TITLE", SPPickEasy, "#SP_DIFFICULTY_EASY_DESCRIPTION", true ) else AddDialogButton( dialogData, "#SP_DIFFICULTY_EASY_TITLE", SPPickEasy, "#SP_DIFFICULTY_EASY_DESCRIPTION", false ) if ( currentDifficulty == DIFFICULTY_NORMAL ) AddDialogButton( dialogData, "#SP_DIFFICULTY_NORMAL_TITLE", SPPickNormal, "#SP_DIFFICULTY_NORMAL_DESCRIPTION", true ) else AddDialogButton( dialogData, "#SP_DIFFICULTY_NORMAL_TITLE", SPPickNormal, "#SP_DIFFICULTY_NORMAL_DESCRIPTION", false ) if ( currentDifficulty == DIFFICULTY_HARD ) AddDialogButton( dialogData, "#SP_DIFFICULTY_HARD_TITLE", SPPickHard, "#SP_DIFFICULTY_HARD_DESCRIPTION", true ) else AddDialogButton( dialogData, "#SP_DIFFICULTY_HARD_TITLE", SPPickHard, "#SP_DIFFICULTY_HARD_DESCRIPTION", false ) if ( currentDifficulty == DIFFICULTY_MASTER ) AddDialogButton( dialogData, "#SP_DIFFICULTY_MASTER_TITLE", SPPickMaster, "#SP_DIFFICULTY_MASTER_DESCRIPTION", true ) else AddDialogButton( dialogData, "#SP_DIFFICULTY_MASTER_TITLE", SPPickMaster, "#SP_DIFFICULTY_MASTER_DESCRIPTION", false ) AddDialogFooter( dialogData, "#A_BUTTON_SELECT" ) AddDialogFooter( dialogData, "#B_BUTTON_BACK" ) AddDialogPCBackButton( dialogData ) OpenDialog( dialogData ) } void function SPPickEasy() { RequestSPDifficultyChange( DIFFICULTY_EASY ) CloseAllMenus() } void function SPPickNormal() { RequestSPDifficultyChange( DIFFICULTY_NORMAL ) CloseAllMenus() } void function SPPickHard() { RequestSPDifficultyChange( DIFFICULTY_HARD ) CloseAllMenus() } void function SPPickMaster() { RequestSPDifficultyChange( DIFFICULTY_MASTER ) CloseAllMenus() } void function RequestSPDifficultyChange( int selectedDifficulty ) { var dataTable = GetDataTable( DATA_TABLE ) int difficulty = GetDataTableInt( dataTable, selectedDifficulty, GetDataTableColumnByName( dataTable, "index" ) ) ClientCommand( "ClientCommand_RequestSPDifficultyChange " + difficulty ) } void function SCB_SetDoubleXPStatus( int status ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) RuiSetInt( Hud_GetRui( doubleXPWidget ), "doubleXPStatus", status ) // update this menu too TTSUpdateDoubleXPStatus( status ) } void function OnInGameLevelInit() { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "doubleXPStatus", 0 ) RuiSetBool( rui, "isVisible", false ) string gameModeScoreHint = expect string( GetCurrentPlaylistVar( "gamemode_score_hint" ) ) if ( gameModeScoreHint != "" ) { RuiSetString( rui, "scoreMeritText", Localize( gameModeScoreHint ) ) RuiSetInt( rui, "matchScoreMerit", MERIT_STATE_AVAILABLE ) } else { RuiSetString( rui, "scoreMeritText", "" ) RuiSetInt( rui, "matchScoreMerit", MERIT_STATE_HIDDEN ) } Hud_SetVisible( doubleXPWidget, !IsPrivateMatch() ) } /* int matchScoreMerit = MERIT_STATE_AVAILABLE int matchCompleteMerit = MERIT_STATE_AVAILABLE int matchWinMerit = MERIT_STATE_AVAILABLE int matchEvacMerit = MERIT_STATE_HIDDEN int happyHourMerits = MERIT_STATE_HIDDEN int meritCount = 0 */ void function SCB_SetScoreMeritState( int meritState ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "matchScoreMerit", meritState ) } void function SCB_SetCompleteMeritState( int meritState ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "matchCompleteMerit", meritState ) } void function SCB_SetWinMeritState( int meritState ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "matchWinMerit", meritState ) } void function SCB_SetEvacMeritState( int meritState ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "matchEvacMerit", meritState ) } void function SCB_SetMeritCount( int meritCount ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "meritCount", meritCount ) } void function SCB_SetWeaponMeritCount( int meritCount ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "weaponMeritCount", meritCount ) } void function SCB_SetTitanMeritCount( int meritCount ) { var doubleXPWidget = Hud_GetChild( file.menuMP, "DoubleXP" ) var rui = Hud_GetRui( doubleXPWidget ) RuiSetInt( rui, "titanMeritCount", meritCount ) } void function TitanSelectButtonHandler( var button ) { if ( !IsFullyConnected() ) return entity player = GetUIPlayer() if ( GetAvailableTitanRefs( player ).len() > 1 ) { AdvanceMenu( GetMenu( "TitanLoadoutsMenu" ) ) } else if ( GetAvailableTitanRefs( player ).len() == 1 ) { uiGlobal.updateTitanSpawnLoadout = false SetEditLoadout( "titan", uiGlobal.titanSpawnLoadoutIndex ) RunMenuClientFunction( "SetEditingTitanLoadoutIndex", uiGlobal.titanSpawnLoadoutIndex ) AdvanceMenu( GetMenu( "EditTitanLoadoutMenu" ) ) } else { // HIDE } } void function SetTitanSelectButtonVisibleState( bool state ) { if ( state ) { Hud_Show( file.titanHeader ) Hud_Show( file.titanEditButton ) Hud_Show( file.titanSelectButton ) } else { ComboButtons_ResetColumnFocus( file.comboStruct ) Hud_Hide( file.titanHeader ) Hud_Hide( file.titanEditButton ) Hud_Hide( file.titanSelectButton ) } }