Files
gtav-src/script/dev_ng/shared/PauseMenu/PauseMenu_Multiplayer.sc
T
2025-09-29 00:52:08 +02:00

10993 lines
482 KiB
Python
Executable File

/***********************************
* Name: PauseMenu_Multiplayer (v3.0)
* Author: James Adwick
* Date: 12/01/2013
* Purpose: Fired by in game pause
* menu and populates
* multiplayer tab
***********************************/
USING "FMMC_Header.sch"
USING "PauseMenu_Multiplayer_Playlist.sch"
USING "net_missions_at_coords_public.sch"
USING "FM_Community_Playlists.sch"
USING "Transition_Controller.sch"
USING "net_cash_transactions.sch"
#IF FEATURE_GTAO_MEMBERSHIP
USING "net_GTAO_membership_pages_telemetry.sch"
#ENDIF
FRONTEND_MENU_SCREEN g_MenuceptionPrevious = MENU_UNIQUE_ID_INVALID
INT iSelectAvailable = 0
INT iErrorTimer = 200000 // huge number so it fires off immediately
INT iTimeSinceStartedNavigating
SCRIPT_TIMER bookmarkRefreshTimer, playlistLoadTimer
#IF IS_DEBUG_BUILD
//**TWH - CMcM - #1221645 - Added support for Bobby's commandline parameter and also a checkbox widget to toggle between final and candidate missions.
BOOL bToggleCandidateMissions
BOOL bPlaylistsLoaded
BOOL bBookmarkedPlaylistsLoaded
BOOL bRockstarPlaylistsLoaded
BOOL bChallengesLoaded
// BOOL bBlockNetworkContent
#ENDIF
BOOL bTransitionFromCreators, bCleanupJobCall //, bDisplaySpinnerWhileLoadingTunables
BOOL bBookmarkedPlaylistDataAvailable, bRockstarPlaylistDataAvailable, bRockstarVerifiedPlaylistDataAvailable, bChallengeDataAvailable
BOOL bReportLastJob, bChosenChallengeDataAvailable
INT iMyPlaylistFailReason = -1, iBookmarkedPlaylistFailReason = -1, iRockstarVerifiedPlaylistFailReason = -1, iRockstarPlaylistFailReason = -1
INT iRecentJobsFailReason = -1, iBookmarkedJobsFailReason = -1, iMyJobsFailReason = -1, iVerifiedJobsFailReason = -1
INT iMyJobsPage, iMyBookmarksPage
INT iPhotoTextureDownloadHandle
INT iStoreTrigger
CONST_INT ciSTORE_STARTER_PACK 0
CONST_INT ciSTORE_SHARK_CARD 1
CONST_INT ciSTORE_BROWSER_WAS_ACTIVE 2
BOOL bRevert
BOOL bLocalEnableStuntRaceToggle = FALSE
ENUM STARTER_PACK_STATES
STARTER_PACK_STATE_INITIATE = 0,
STARTER_PACK_STATE_LOAD_PENDING,
STARTER_PACK_STATE_LOADED,
STARTER_PACK_STATE_FINISHED
ENDENUM
#IF NOT FEATURE_GEN9_STANDALONE
STARTER_PACK_STATES eSTART_PACK_STATE = STARTER_PACK_STATE_INITIATE
#ENDIF
#IF FEATURE_GTAO_MEMBERSHIP
ENUM MEMBERSHIP_PAGE_STATES
MEMBERSHIP_PAGE_STATE_CLEANUP = -1,
MEMBERSHIP_PAGE_STATE_INITIATE = 0,
MEMBERSHIP_PAGE_STATE_LOAD_PENDING,
MEMBERSHIP_PAGE_STATE_LOADED,
MEMBERSHIP_PAGE_STATE_TIMED_OUT,
MEMBERSHIP_PAGE_STATE_FINISHED
ENDENUM
MEMBERSHIP_PAGE_STATES eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_INITIATE
#ENDIF
//BOOL bUpdatedStarterPack
#IF FEATURE_GTAO_MEMBERSHIP
SCRIPT_TIMER newsstoryTimeout
SC_NEWS_STORY_DATA newsstory //ONLINE MEMBERSHIP
#ENDIF
#IF NOT FEATURE_GEN9_STANDALONE
SC_NEWS_STORY_DATA newsstory2 //CRIMINAL ENTERPRICES STARTER PACK STORY
#ENDIF
// *************************************************************
// PAUSE MENU COMMANDS
// *************************************************************
//FUNC BOOL IS_THIS_A_SOLO_SESSION()
// IF g_Private_Players_FM_SESSION_Menu_Choice_LAST_ENTRY = FM_SESSION_MENU_CHOICE_JOIN_CLOSED_SOLO_PLAYABLE_SESSION
// RETURN TRUE
// ENDIF
// RETURN FALSE
//ENDFUNC
//PROC SET_CHALLENGE_BUTTON_CONTEXTS()
// IF NOT IS_WARNING_MESSAGE_ACTIVE()
//
// IF (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_VERIFIED_AVAILABLE))
// OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
// OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount > 0)
// OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount > 0)
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
// ENDIF
//
// IF currentlyShowingChallenges = SHOWING_RECENT_CHALLENGES
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("CycleToCrewChallenges"))
// ELIF currentlyShowingChallenges = SHOWING_CREW_CHALLENGES
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("CycleToFriendChallenges"))
// ELIF currentlyShowingChallenges = SHOWING_FRIEND_CHALLENGES
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("CycleToBookmarkedChallenges"))
// ELIF currentlyShowingChallenges = SHOWING_BOOKMARKED_CHALLENGES
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("CycleToRockstarChallenges"))
// ELIF currentlyShowingChallenges = SHOWING_ROCKSTAR_CHALLENGES
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("CycleToTopChallenges"))
// ELIF currentlyShowingChallenges = SHOWING_TOPRATED_CHALLENGES
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("CycleToMyChallenges"))
// ELIF currentlyShowingChallenges = SHOWING_MY_CHALLENGES
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("CycleToRecentChallenges"))
// ENDIF
// PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
// ENDIF
//ENDPROC
PROC CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PAUSE_MENU_ACTIVATE_CONTEXT SupressSelectPM 6")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("MembershipMoreInfo"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("CycleToFriendChallenges"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("CycleToBookmarkedChallenges"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("CycleToRockstarChallenges"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("CycleToRecentChallenges"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("CycleToTopChallenges"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("CycleToMyChallenges"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("CycleToCrewChallenges"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDPROC
PROC ADD_JOB_COLUMN_TITLE()
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
IF currentlyShowingDeathmatches = SHOWING_ALL_DEATHMATCHES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_DM_ALL", "")
ELIF currentlyShowingDeathmatches = SHOWING_DEATHMATCHES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_DM_FFA", "")
ELIF currentlyShowingDeathmatches = SHOWING_TEAM_DEATHMATCHES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_DM_TEAM", "")
ELIF currentlyShowingDeathmatches = SHOWING_VEHICLE_DEATHMATCHES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_DM_VEH", "")
ENDIF
SET_DEATHMATCH_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF currentlyShowingRaces = SHOWING_ALL_RACES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_ALL", "")
ELIF currentlyShowingRaces = SHOWING_LAND_RACES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_LAND", "")
ELIF currentlyShowingRaces = SHOWING_BIKE_RACES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_BIKE", "")
ELIF currentlyShowingRaces = SHOWING_WATER_RACES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_BOAT", "")
ELIF currentlyShowingRaces = SHOWING_STUNT_RACES
IF g_sMPTunables.bEnableStuntRaces
AND bLocalEnableStuntRaceToggle
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_STUNT", "")
ELSE
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_ALL", "")
ENDIF
ELIF currentlyShowingRaces = SHOWING_AIR_RACES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_AIR", "")
ELIF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "RC_TARGASSAULT", "")
ENDIF
SET_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_RC_STUNT", "")
SET_STUNT_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_TARGET_ASSAULT)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "RC_TARGASSAULT", "")
SET_STUNT_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_CTF)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF currentlyShowingCaptures = SHOWING_ALL_CAPTURES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_CAP_ALL", "")
ELIF currentlyShowingCaptures = SHOWING_GTA_CAPTURES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_CAP_GTA", "")
ELIF currentlyShowingCaptures = SHOWING_HOLD_CAPTURES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_CAP_HOLD", "")
ELIF currentlyShowingCaptures = SHOWING_RAID_CAPTURES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_CAP_RAID", "")
ELIF currentlyShowingCaptures = SHOWING_CONTEND_CAPTURES
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_CAP_CONT", "")
ENDIF
SET_CAPTURE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_LTS)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_LTS_ALL", "")
ELIF pauseMenuRoute[3] = ENUM_TO_INT( PM_D4_JOBS_MISSION)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_MIS_ALL", "")
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_VS)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_VS_ALL", "")
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_NEW_VS)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_NEW_VS_ALL", "")
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
//
// CLEAR_ALL_RACE_BUTTON_CONTEXTS()
// CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
// CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
// IF iRockstarCreatedJobCount > 0
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
// ENDIF
// PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_COOP_ALL", "")
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_BASE_JUMP)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP")
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_BJ_ALL", "")
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_SURVIVAL)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL")
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_SV_ALL", "")
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)")
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_ARENA_ALL", "")
SET_STUNT_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
IF iRockstarCreatedJobCount > 0
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)")
PM_SET_COLUMN_TITLE_ONLY(SECOND_COLUMN, "PM_KOTH_ALL", "")
//SET_DEATHMATCH_BUTTON_CONTEXTS()
ENDIF
ENDIF
ENDPROC
PROC ADD_JOB_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
SET_DEATHMATCH_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
SET_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
SET_STUNT_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_TARGET_ASSAULT)
SET_TARGET_ASSAULT_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_CTF)
SET_CAPTURE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)
SET_TARGET_ASSAULT_RACE_BUTTON_CONTEXTS()
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
SET_DEATHMATCH_BUTTON_CONTEXTS()
ENDIF
ENDPROC
FUNC MP_INT_STATS VERIFIED_HASH_STAT(INT i)
MP_INT_STATS statReturn
IF i = 0
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_0
ELIF i = 1
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_1
ELIF i = 2
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_2
ELIF i = 3
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_3
ELIF i = 4
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_4
ELIF i = 5
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_5
ELIF i = 6
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_6
ELIF i = 7
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_7
ELIF i = 8
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_8
ELIF i = 9
statReturn = MP_STAT_ROCKSTAR_VERIFIED_HASH_9
ENDIF
RETURN statReturn
ENDFUNC
PROC PUSH_VERIFIED_JOB_TO_ACTIVITY_FEED(TEXT_LABEL_63 JobName, INT iJobType)
INT i
INT iStatHash[10]
INT iLocalHash = GET_HASH_KEY(TL_TO_STRING(JobName))
iStatHash[0] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_0)
iStatHash[1] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_1)
iStatHash[2] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_2)
iStatHash[3] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_3)
iStatHash[4] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_4)
iStatHash[5] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_5)
iStatHash[6] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_6)
iStatHash[7] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_7)
iStatHash[8] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_8)
iStatHash[9] = GET_MP_INT_CHARACTER_STAT(MP_STAT_ROCKSTAR_VERIFIED_HASH_9)
IF iStatHash[i] != iLocalHash
REPEAT 10 i
IF iStatHash[i] = 0
SET_MP_INT_CHARACTER_STAT(VERIFIED_HASH_STAT(i), iLocalHash)
IF iJobType = FMMC_TYPE_RACE
REQUEST_SYSTEM_ACTIVITY_TYPE_VERIFIED_RACE(JobName)
ELIF iJobType = FMMC_TYPE_DEATHMATCH
REQUEST_SYSTEM_ACTIVITY_TYPE_VERIFIED_DM(JobName)
ELIF iJobType = FMMC_TYPE_MISSION
REQUEST_SYSTEM_ACTIVITY_TYPE_VERIFIED_CAPTURE(JobName)
ENDIF
ENDIF
ENDREPEAT
ENDIF
ENDPROC
/// PURPOSE: Returns TRUE once all available user missions have been displayed
FUNC BOOL UPDATE_YOUR_MISSIONS(BOOL &bDataAvailable, INT iColumn = SECOND_COLUMN, INT iMissionType = -1, BOOL bIsCTFMission = FALSE, BOOL bIsArenaWar = FALSE, BOOL bIsKingOfTheHill = FALSE, BOOL IsSurvivalMission = FALSE)
bIsCTFMission = bIsCTFMission
iMissionType = iMissionType
IF HAVE_MY_JOBS_LOADED()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] UPDATE_YOUR_MISSIONS - Updating second column to show user missions to edit")
INT iMenuID = CREATOR_LIST_ID
IF iColumn = FIRST_COLUMN
iMenuID = CREATOR_MENU_ID
CLEAR_PM_COLUMN(FIRST_COLUMN)
ELSE
CLEAR_MISSION_CREATOR_COLUMNS()
ENDIF
BOOL bExludeGangAttacks, bAddColumnTitle
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
PM_SET_COLUMN_TITLE_ONLY(FIRST_COLUMN, "PM_TMYMIS", "")
bExludeGangAttacks = TRUE
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
PM_SET_COLUMN_TITLE_ONLY(FIRST_COLUMN, "PM_TMYPLL", "")
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
bAddColumnTitle = TRUE
ENDIF
ENDIF
INT i
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions > 0
iMyJobCount = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions)
IF SHOULD_SHOW_NEXT_PAGE_OPTION(FALSE, iMyJobsPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - SHOULD_SHOW_NEXT_PAGE_OPTION")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyJobsPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - SHOULD_SHOW_PREVIOUS_PAGE_OPTION")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
INT iPageSize = (MAX_NUMBER_FMMC_SAVES+MAX_NUMBER_FMMC_SAVES)-1
IF NOT SHOULD_SHOW_NEXT_PAGE_OPTION(FALSE, iMyJobsPage)
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions != 62
iPageSize = g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions / (MAX_NUMBER_FMMC_SAVES+MAX_NUMBER_FMMC_SAVES)
iPageSize = g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions - (iPageSize*(MAX_NUMBER_FMMC_SAVES+MAX_NUMBER_FMMC_SAVES))
iPageSize-=1
ENDIF
ENDIF
BOOL bInPlayList
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
bInPlayList = TRUE
ENDIF
ENDIF
FOR i = 0 TO (iPageSize)
IF IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSet , ciROCKSTAR_CREATED_MISSION_IN_USE)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - ciROCKSTAR_CREATED_MISSION_IN_USE")
IF bExludeGangAttacks = FALSE
OR g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType != FMMC_TYPE_GANGHIDEOUT
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - sMyMissionHeaderVars[i].iType != FMMC_TYPE_GANGHIDEOUT")
IF (iMissionType = -1 AND !bIsArenaWar AND !bIsKingOfTheHill AND !IsSurvivalMission)
OR (g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType = iMissionType AND !IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iSubType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType) AND !IS_CONTENT_KING_OF_THE_HILL(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iSubType))
OR (IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iSubType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType) AND bIsArenaWar )
OR (iMissionType = -1 AND bIsArenaWar AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].isubtype, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType))
OR (iMissionType = -1 AND bIsKingOfTheHill AND IS_CONTENT_KING_OF_THE_HILL(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].isubtype)AND NOT IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_MISSION_IS_UNPUBLISHED))
OR (iMissionType = -1 AND IsSurvivalMission AND (g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType = FMMC_TYPE_SURVIVAL OR g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType = FMMC_TYPE_SURVIVAL_SERIES ) )
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - sMyMissionHeaderVars[i].iType = iMissionType : iMissionType = ", iMissionType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - sMyMissionHeaderVars[i].iBitSet = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSet)
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iContactCharEnum = 0
IF !IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_MISSION_IS_NOT_PLAYABLE)
IF (!bInPlayList
OR (bInPlayList AND !IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_MISSION_IS_UNPUBLISHED)))
IF DOES_JOB_SUBTYPE_MATCH_FILTER(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iSubType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSet, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSetTwo, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType)
OR (iMissionType = -1 AND !bIsArenaWar)
OR (iMissionType = -1 AND bIsArenaWar AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].isubtype, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - IS_FM_TYPE_UNLOCKED")
BOOL bIsVerified
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].nCategory = UGC_CATEGORY_ROCKSTAR_VERIFIED
bIsVerified = TRUE
PUSH_VERIFIED_JOB_TO_ACTIVITY_FEED(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].tlMissionName, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType)
ENDIF
MP_SET_DATA_SLOT_WITH_STRING(#IF IS_DEBUG_BUILD 0,#ENDIF iColumn, iMyJobCount, iMenuID, i, TRUE, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].tlMissionName, FALSE, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iSubType, IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iBitSet , ciROCKSTAR_CREATED_MISSION_HAS_BEEN_PLAYED), bIsVerified, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType)
IF iMyJobCount = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - N - SET iPauseMenuItemSelected to ", i, " from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = i
ENDIF
iMyJobCount++
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - DOES_JOB_SUBTYPE_MATCH_FILTER - FAILED")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - pauseMenuRoute[1] != ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - ciMISSION_OPTION_BS_MISSION_IS_NOT_PLAYABLE (SET) - FAILED")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - iContactCharEnum != 0 - FAILED")
ENDIF
ELSE
PRINTLN("[CMcM@PAUSEMENU] tlMissionName = ",g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].tlMissionName )
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] iMissionType = ", iMissionType, ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType)
PRINTLN("[CMcM@PAUSEMENU] g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].isubtype = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].isubtype)
PRINTLN("[CMcM@PAUSEMENU] IS_THIS_AN_ARENA_WAR_ACTIVITY = ", IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].isubtype, g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType))
PRINTLN("[CMcM@PAUSEMENU] bIsArenaWar = ", bIsArenaWar)
PRINTLN("[CMcM@PAUSEMENU] g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[i].iAdversaryModeType)
ENDIF
ENDIF
ENDIF
ENDFOR
IF iMyJobCount > 0
IF bAddColumnTitle
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_YOUR_MISSIONS - ADD_JOB_COLUMN_TITLE")
ADD_JOB_COLUMN_TITLE()
ENDIF
bDataAvailable = TRUE
DISPLAY_PAUSE_MENU_COLUMN(iColumn)
SET_BIT(iBS_DataAvailable, MY_JOBS_AVAILABLE)
ELSE
iMyJobCount = -1
HIDE_PM_COLUMN(THIRD_COLUMN)
ADD_JOB_CONTEXTS()
bDataAvailable = FALSE
ENDIF
RETURN TRUE
ELSE
bDataAvailable = FALSE
RETURN TRUE
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
FUNC BOOL IS_BOOKMARKED_ROCKSTAR_MISSION_AVAILABLE(UGC_CATEGORY ugcCategory, INT iBitset)
IF ugcCategory = UGC_CATEGORY_ROCKSTAR_VERIFIED
OR ugcCategory = UGC_CATEGORY_ROCKSTAR_CREATED
IF !IS_BIT_SET(iBitset, ciROCKSTAR_CREATED_MISSION_IN_USE)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] IS_BOOKMARKED_ROCKSTAR_MISSION_AVAILABLE current mission is blocked.")
RETURN FALSE
ENDIF
ENDIF
RETURN TRUE
ENDFUNC
/// PURPOSE: Returns TRUE when all downloaded missions have been loaded. Updates bDataAvailable if data is available to display
FUNC BOOL UPDATE_BOOKMARKED_JOBS(BOOL &bDataAvailable, INT iColumn = SECOND_COLUMN, INT iMissionType = -1, BOOL bIsLTSMission = FALSE, BOOL bAllowAll=FALSE, BOOL bIsCTFMission = FALSE, BOOL bIsVSMission = FALSE, BOOL bIsNewVSMission = FALSE, BOOL bIsCoOpMission = FALSE, BOOL bIsStuntRace = FALSE, BOOL bIsArenaWar = FALSE, BOOL bIsKingOfTheHill = FALSE)
// IF HAVE_DOWNLOADED_MISSIONS_LOADED()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] UPDATE_BOOKMARKED_JOBS - Updating second column to show downloaded missions")
INT iMenuID = CREATOR_LIST_ID
IF iColumn = FIRST_COLUMN
iMenuID = CREATOR_MENU_ID
CLEAR_PM_COLUMN(FIRST_COLUMN)
ELSE
CLEAR_MISSION_CREATOR_COLUMNS()
ENDIF
BOOL bAddColumnTitle, bActiveMission
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
PM_SET_COLUMN_TITLE_ONLY(FIRST_COLUMN, "PM_TBOOKMARK", "")
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
bAddColumnTitle = TRUE
ENDIF
ENDIF
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions > 0
AND HAVE_BOOKMARKED_JOBS_LOADED()
iBookmarkedJobCount = 0
INT i
//g_FMMC_HEADER_STRUCT.sMyMissionHeaderVars[iPauseMenuItemSelected+MAX_NUMBER_FMMC_SAVES]
IF SHOULD_SHOW_NEXT_PAGE_OPTION(TRUE, iMyBookmarksPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_BOOKMARKED_JOBS - SHOULD_SHOW_NEXT_PAGE_OPTION")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyBookmarksPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_BOOKMARKED_JOBS - SHOULD_SHOW_PREVIOUS_PAGE_OPTION")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_BOOKMARKED_JOBS - g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions)
INT iArrayPos
INT iPageSize = 61
IF NOT SHOULD_SHOW_NEXT_PAGE_OPTION(TRUE, iMyBookmarksPage)
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions != 62
iPageSize = g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions / 62
iPageSize = g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions - (iPageSize*62)
iPageSize-=1
ENDIF
ENDIF
FOR i = 0 TO (iPageSize)
bActiveMission = FALSE
iArrayPos = (i)
IF iMissionType = -1
OR (g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType = iMissionType AND !IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iAdversaryModeType) AND !IS_CONTENT_KING_OF_THE_HILL(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType))
IF IS_FM_TYPE_UNLOCKED(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType)
AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iContactCharEnum = 0
AND IS_SELECT_AVAILABLE() = 0
//AND RUN_NETWORK_CONTENT_CHECK()
AND IS_BOOKMARKED_ROCKSTAR_MISSION_AVAILABLE(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].nCategory, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iBitSet)
IF (bIsLTSMission AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType = FMMC_TYPE_MISSION AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_LTS AND !bAllowAll)
OR (bIsCTFMission AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType = FMMC_TYPE_MISSION AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_CTF AND !bAllowAll)
OR (bIsVSMission AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType = FMMC_TYPE_MISSION AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_VERSUS AND !bAllowAll AND !IS_NEW_VERSUS_MISSION(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSetTwo, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iAdversaryModeType))
OR (bIsNewVSMission AND IS_NEW_VERSUS_MISSION(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSetTwo, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iAdversaryModeType) AND !bAllowAll)
OR (bIsCoOpMission AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType = FMMC_TYPE_MISSION_COOP AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_COOP AND !bAllowAll)
OR (!bIsLTSMission AND !bAllowAll AND !bIsCTFMission AND !bIsVSMission AND !bIsStuntRace)
OR IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iBitSet, ciMISSION_OPTION_BS_MISSION_IS_UNPUBLISHED)
OR (bIsArenaWar AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iAdversaryModeType))
OR (bIsKingOfTheHill AND IS_CONTENT_KING_OF_THE_HILL(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType))
OR bAllowAll
OR (bIsStuntRace AND g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType = FMMC_TYPE_RACE AND (g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_STUNT OR g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_STUNT_P2P OR g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_TARGET OR g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_TARGET_P2P) )
IF DOES_JOB_SUBTYPE_MATCH_FILTER(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSetTwo, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iAdversaryModeType)
OR (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST))
IF NOT bAllowAll
IF (bIsLTSMission)
IF IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be LTS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be LTS but it's bit isn't set.")
ENDIF
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_LTS
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be LTS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be LTS but it's subtype isn't set.")
ENDIF
ELIF (bIsCTFMission)
IF IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_CTF)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be CTF and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be CTF but it's bit isn't set.")
ENDIF
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_CTF
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be CTF and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be CTF but it's subtype isn't set.")
ENDIF
ELIF (bIsVSMission)
IF IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_RANDOM_VERSUS)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS but it's bit isn't set.")
ENDIF
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_VERSUS
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be VS but it's subtype isn't set.")
ENDIF
ELIF (bIsNewVSMission)
IF IS_NEW_VERSUS_MISSION(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSetTwo, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iAdversaryModeType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS but it's bit isn't set.")
ENDIF
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_VERSUS
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission should be VS but it's subtype isn't set.")
ENDIF
ELSE
IF IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission shouldn't be LTS but it's bit is set.")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission shouldn't be LTS and isn't. Success!!!")
ENDIF
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_LTS
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission shouldn't be LTS but it's bit is set.")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SUBTYPE! Mission shouldn't be LTS and isn't. Success!!!")
ENDIF
ENDIF
ENDIF
// Need new verified/rockstar created nCategory for Bookmarked Jobs from Bobby.
IF CAN_THIS_MISSION_BE_ADDED_TO_THIS_PLAYLIST(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iMinPlayers, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iMaxPlayers, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iRank, pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS), DEFAULT, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlName)
bActiveMission = TRUE
ENDIF
MP_SET_DATA_SLOT_WITH_STRING(#IF IS_DEBUG_BUILD 0,#ENDIF iColumn, iBookmarkedJobCount, iMenuID, i,
bActiveMission,
g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName, GET_MISSION_ROCKSTAR_CREATED_PM_STAT(iArrayPos), g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType, IS_BIT_SET(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iBitSet , ciROCKSTAR_CREATED_MISSION_HAS_BEEN_PLAYED),
GET_MISSION_VERIFIED_PM_STAT(iArrayPos),
g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iAdversaryModeType
)
IF iBookmarkedJobCount = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] N - SET iPauseMenuItemSelected to ", i, " from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = i
ENDIF
iBookmarkedJobCount++
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Blocked by checks. D")
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED D---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED D---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED D---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType)
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Blocked by checks. C")
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED C---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED C---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED C---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType)
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Blocked by checks. B")
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED B---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED B---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED B---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Blocked by checks. B, IS_SELECT_AVAILABLE() = ", IS_SELECT_AVAILABLE())
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Blocked by checks. B, RUN_NETWORK_CONTENT_CHECK() = ", RUN_NETWORK_CONTENT_CHECK())
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED B---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iContactCharEnum = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[i].iContactCharEnum)
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Blocked by checks. A")
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED A---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].tlMissionName)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED A---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType = ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iType)
CPRINTLN(DEBUG_PAUSE_MENU, "-------BLOCKED A---->>>>>>>>>>g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType ", g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iArrayPos].iSubType)
ENDIF
ENDFOR
IF iBookmarkedJobCount = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] iBookmarkedJobCount is 0")
iBookmarkedJobCount = -1
HIDE_PM_COLUMN(THIRD_COLUMN)
ADD_JOB_CONTEXTS()
bDataAvailable = FALSE
RETURN TRUE
ENDIF
IF iBookmarkedJobCount > 16
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] ADD_SCALEFORMXML_INIT_COLUMN_SCROLL_GEN - B")
ADD_SCALEFORMXML_INIT_COLUMN_SCROLL_GEN(1, 1, 1, 1, 0)
ADD_SCALEFORMXML_SET_COLUMN_SCROLL(0, iPauseMenuItemSelected, g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions)
ENDIF
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] B - SET iPauseMenuItemSelected to 0 from ", iPauseMenuItemSelected)
// iPauseMenuItemSelected = 0
IF bAddColumnTitle
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_BOOKMARKED_JOBS - ADD_JOB_COLUMN_TITLE")
ADD_JOB_COLUMN_TITLE()
ENDIF
bDataAvailable = TRUE
SET_BIT(iBS_DataAvailable, BOOKMARKED_JOBS_AVAILABLE)
DISPLAY_PAUSE_MENU_COLUMN(iColumn)
RETURN TRUE
ELSE
bDataAvailable = FALSE
RETURN TRUE
ENDIF
// ENDIF
RETURN FALSE
ENDFUNC
// ************** CHALLENGES ******************
//PURPOSE: Displays the Challenge details in the second column
PROC DISPLAY_CHALLENGE_DETAILS(INT iIndex, BOOL bDrawDetails = FALSE, BOOL bDrawStats = FALSE)
INT i
TAKE_CONTROL_OF_FRONTEND()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_CHALLENGE_DETAILS - CALLED")
PM_RESET_ALL_DATA_SLOTS(SECOND_COLUMN)
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_CLAN", "", FALSE, FALSE, FALSE, -1, -1, g_sLoadedChallengeDetails.tl63ClanName[iIndex])//, BOOL bUpdate = FALSE, INT iNumber1 = -1, INT iNumber2 = -1, STRING tlOptionString = NULL, INT iHighlightColour = -1)
i++
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_BET", "PM_CASH", FALSE, FALSE, FALSE, g_sLoadedChallengeDetails.iCashBet[iIndex])
i++
IF g_sLoadedChallengeDetails.iTotatlScore[iIndex] > 0
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_TSCO", "NUMBER", FALSE, FALSE, FALSE, g_sLoadedChallengeDetails.iTotatlScore[iIndex])
i++
ENDIF
IF g_sLoadedChallengeDetails.iTotatlTime[iIndex] > 0
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_TTIM", "STRING", FALSE, FALSE, FALSE, g_sLoadedChallengeDetails.iTotatlTime[iIndex], -1, DEFAULT, -1, FALSE, FALSE, 0, FALSE, TRUE)
i++
ENDIF
IF bDrawDetails
IF g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iBestScore > 0
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_BSCO", "NUMBER", FALSE, FALSE, FALSE, g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iBestScore)
i++
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] DISPLAY_CHALLENGE_DETAILS - This is a score based mission of type = ", g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iType)
ENDIF
IF g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iBestTime > 0
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_BTIM", "STRING", FALSE, FALSE, FALSE, g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iBestTime, -1, DEFAULT, -1, FALSE, FALSE, 0, FALSE, TRUE)
i++
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] DISPLAY_CHALLENGE_DETAILS - This is NOT a score based mission of type = ", g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iType)
ENDIF
ENDIF
IF bDrawStats
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_PLD", "NUMBER", FALSE, FALSE, FALSE, g_FMMC_Current_Challenge_Cloud_Data.iPlayTotal)
i++
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_PLD_U", "NUMBER", FALSE, FALSE, FALSE, g_FMMC_Current_Challenge_Cloud_Data.iPlayUnique)
i++
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_FAIL", "NUMBER", FALSE, FALSE, FALSE, g_FMMC_Current_Challenge_Cloud_Data.iFailTotal)
i++
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_FAIL_U", "NUMBER", FALSE, FALSE, FALSE, g_FMMC_Current_Challenge_Cloud_Data.iFailUnique)
i++
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_QUIT", "NUMBER", FALSE, FALSE, FALSE, g_FMMC_Current_Challenge_Cloud_Data.iQuitTotal)
i++
SET_FRONTEND_SETTING_DATA_SLOT(SECOND_COLUMN, i, CREATOR_STAT_ID, i, "PM_CHT_QUIT_U", "NUMBER", FALSE, FALSE, FALSE, g_FMMC_Current_Challenge_Cloud_Data.iQuitUnique)
ENDIF
PM_DISPLAY_DATA_SLOT(SECOND_COLUMN)
RELEASE_CONTROL_OF_FRONTEND()
ENDPROC
FUNC BOOL IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
IF IS_BIT_SET(iStoreTrigger, ciSTORE_STARTER_PACK)
RETURN TRUE
ENDIF
IF SHOULD_LAUNCH_CRIMINAL_STARTER_PACK_BROWSER()
SET_BIT(iStoreTrigger, ciSTORE_BROWSER_WAS_ACTIVE)
RETURN TRUE
ENDIF
IF IS_BIT_SET(iStoreTrigger, ciSTORE_BROWSER_WAS_ACTIVE)
IF NOT IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
AND NOT IS_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
AND NOT IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
CLEAR_BIT(iStoreTrigger, ciSTORE_BROWSER_WAS_ACTIVE)
RETURN FALSE
ENDIF
RETURN TRUE
ENDIF
RETURN FALSE
ENDFUNC
FUNC BOOL IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
#IF FEATURE_GTAO_MEMBERSHIP
IF SHOULD_LAUNCH_MEMBERSHIP_PAGE_BROWSER()
SET_BIT(iStoreTrigger, ciSTORE_BROWSER_WAS_ACTIVE)
RETURN TRUE
ENDIF
IF IS_BIT_SET(iStoreTrigger, ciSTORE_BROWSER_WAS_ACTIVE)
IF NOT IS_CONTROL_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
AND NOT IS_CONTROL_JUST_PRESSED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
AND NOT IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
CLEAR_BIT(iStoreTrigger, ciSTORE_BROWSER_WAS_ACTIVE)
RETURN FALSE
ENDIF
RETURN TRUE
ENDIF
#ENDIF
RETURN FALSE
ENDFUNC
// ************** WARNING MESSAGE ******************
/// PURPOSE:
FUNC BOOL DO_SOCIAL_CLUB_WARNING()
#IF IS_DEBUG_BUILD
IF GET_COMMANDLINE_PARAM_EXISTS("sc_noOnlinePolicy")
RETURN FALSE
ENDIF
#ENDIF
IF !IS_CLOUD_DOWN_CLOUD_LOADER()
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
OR NOT NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
IF iPauseMenuDepth = 0
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CREWS)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MIGRATE_CHAR)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MIGRATE_CHAR_MP)
RETURN TRUE
ENDIF
ELIF iPauseMenuDepth = 1
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
RETURN TRUE
ENDIF
ENDIF
ELIF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
RETURN TRUE
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
PROC REORDER_JOIN_JOB_MENU()
INT iJobCounter = 3
IF NETWORK_IS_GAME_IN_PROGRESS()
PM_D3_JOIN_RAND = 0
PM_D3_JOIN_RACE = 1
PM_D3_JOIN_DM = 2
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_CTF] > 0
PM_D3_JOIN_CTF = iJobCounter
iJobCounter++
ELSE
PM_D3_JOIN_CTF = -1
ENDIF
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_LTS] > 0
PM_D3_JOIN_LTS = iJobCounter
iJobCounter++
ELSE
PM_D3_JOIN_LTS = -1
ENDIF
PM_D3_JOIN_MISSION = iJobCounter
iJobCounter++
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_VS] > 0
PM_D3_JOIN_VS = iJobCounter
iJobCounter++
PM_D3_JOIN_NEW_VS = iJobCounter
iJobCounter++
ELSE
PM_D3_JOIN_VS = -1
PM_D3_JOIN_NEW_VS = -1
ENDIF
// IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_COOP_TYPE_COUNT] > 0
// PM_D3_JOIN_COOP = iJobCounter
// iJobCounter++
// ELSE
// PM_D3_JOIN_COOP = -1
// ENDIF
PM_D3_JOIN_SURVIVAL = iJobCounter
iJobCounter++
PM_D3_JOIN_PARACHUTING = iJobCounter
iJobCounter++
PM_D3_JOIN_ARENA = iJobCounter
iJobCounter++
PM_D3_JOIN_PLAYLIST = iJobCounter
iJobCounter++
ENDIF
ENDPROC
#IF FEATURE_GTAO_MEMBERSHIP
FUNC BOOL IS_MEMBERSHIP_TILE_AVAILABLE()
IF g_sMPTunables.bMEMBERSHIP_KILLSWITCH_MENU_ONLINETAB
RETURN FALSE
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_CREATOR
RETURN FALSE
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_SP
RETURN FALSE
#IF FEATURE_GEN9_EXCLUSIVE
ELIF IS_PLAYER_ON_MP_INTRO()
RETURN FALSE
#ENDIF
ELIF IS_TRANSITION_ACTIVE()
RETURN FALSE
ELIF IS_ANY_TRANSITION_SESSION_INVITE_BEING_ACTIONED()
RETURN FALSE
ENDIF
RETURN TRUE
ENDFUNC
PROC SHOW_GTAO_MEMBERSHIP_PROMPT(INT i)
IF iPauseMenuDepth = 0
AND NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
IF i = ENUM_TO_INT(PM_D1_GTAO_MEMBERSHIP)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SHOW_GTAO_MEMBERSHIP_PROMPT() = TRUE")
MEMBERSHIP_TELEMETRY_MARK_MEMBERSHIP_PAGE_AS_SEEN(MEMBERSHIP_PAGES_PAUSE_MENU)
IF NOT PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("SupressSelectPM"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
//ONLY DISPLAY "MORE INFO" prompt when tile is clickable
IF IS_MEMBERSHIP_TILE_AVAILABLE()
AND NOT PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("MembershipMoreInfo"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("MembershipMoreInfo"))
ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] SHOW_GTAO_MEMBERSHIP_PROMPT() = FALSE")
//make sure we only send results if membership page is not opening/open
IF NOT SHOULD_LAUNCH_MEMBERSHIP_PAGE_BROWSER()
MEMBERSHIP_TELEMETRY_SEND_RESULTS(MEMBERSHIP_PAGES_LEAVE_REASON_CLOSED_PAUSE_MENU)
ENDIF
ENDIF
ELSE
IF PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("MembershipMoreInfo"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("MembershipMoreInfo"))
ENDIF
ENDIF
ENDPROC
#ENDIF
PROC MAINTAIN_CUSTOM_PROMPTS(INT i)
IF iPauseMenuDepth = 0
AND NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
IF i = ENUM_TO_INT(PM_D1_CREDITS_AND_LEGAL)
IF NOT PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("SupressSelectPM"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
ENDIF
ENDPROC
/// PURPOSE: Displays a column warning message. Start column and column width can be set.
PROC PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
INT iColumnIndex = SECOND_COLUMN //FIRST_COLUMN
INT iColumnSpan = 2 //3
TEXT_LABEL_23 sTitle = "PM_DOPROT"
TEXT_LABEL_31 sBody = "PM_INF_PLLT01"
STRING sLiteralTitle = ""
STRING sLiteralBody = ""
STRING sLiteralTextureName = ""
STRING sLiteralTextureDict = ""
INT iBackground = 0 //0 = Rockstar, 1 = Social Club
TEXT_LABEL_23 sTextureDict = ""
TEXT_LABEL_15 sTextureName = ""
INT ilayout = 0
BOOL bUseliteralstring = FALSE
//INT iStoredSelection = -1
//iStoredSelection = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF GET_PAUSE_MENU_MP_GLOBAL_STATE() = PAUSE_MENU_GLOBAL_STATE_CLEANUP
EXIT
ENDIF
//IF (NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT() OR NOT NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT())
//AND (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR) OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CREWS) OR pauseMenuRoute[1] = PM_D2_JOBS_MY_MISSIONS OR pauseMenuRoute[1] = PM_D2_JOBS_DOWNLOADED)
IF DO_SOCIAL_CLUB_WARNING()
sTitle = "PM_SOC_SGN"
sBody = "PM_SOC_PLY"
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MISSION_CREATOR
sTitle = "PM_MISS_CREATOR"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
IF (g_sMPTunables.bToggleKingOfTheHillCreator AND g_sMPTunables.bToggleSurvivalCreator)
sBody = "PM_SOC_CRE"
ELIF (g_sMPTunables.bToggleKingOfTheHillCreator)
sBody = "PM_SOC_CRE_KO"
ELIF (g_sMPTunables.bToggleSurvivalCreator)
sBody = "PM_SOC_CRE_SU"
ELSE
sBody = "PM_SOC_CRE_N"
ENDIF
ELSE
sBody = "PM_SOC_CRE1"
ENDIF
BREAK
CASE PM_D1_PLAYLISTS
IF iPauseMenuDepth = 1
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
sTitle = "PM_PLAYLISTS"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_SOC_PLY"
ELSE
sBody = "PM_SOC_PLY1"
ENDIF
ENDIF
ENDIF
BREAK
CASE PM_D1_CREWS
sTitle = "PM_CREWS"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_SOC_CRW"
ELSE
sBody = "PM_SOC_CRW1"
ENDIF
BREAK
CASE PM_D1_MIGRATE_CHAR
CASE PM_D1_MIGRATE_CHAR_MP
#IF NOT FEATURE_GEN9_STANDALONE
sTitle = "PM_MIGRATE"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_MIGRATE_P1"
ELSE
IF IS_SELECT_AVAILABLE() = 101
sBody = "HUD_ST_EBAN"
ELSE
sBody = "PM_MIGRATE_P"
ENDIF
ENDIF
#ENDIF
#IF FEATURE_GEN9_STANDALONE
sTitle = "UI_FLOW_OP_MIGRATE"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_MIGRATE_P1"
ELSE
IF IS_SELECT_AVAILABLE() = 101
sBody = "HUD_ST_EBAN"
ELSE
sBody = "UI_FLOW_OP_MIGRATE_D"
ENDIF
ENDIF
#ENDIF
BREAK
CASE PM_D1_ALL_JOBS
IF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sTitle = "PM_INF_AJ2T0"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_SOC_AJM"
ELSE
sBody = "PM_SOC_AJM1"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sTitle = "PM_INF_AJ2T1"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_SOC_AJD"
ELSE
sBody = "PM_SOC_AJD1"
ENDIF
ENDIF
ENDIF
ENDIF
BREAK
ENDSWITCH
iColumnIndex = SECOND_COLUMN
iColumnSpan = 2
iBackground = 1
//sTextureDict = "warning_screen_PC"
//sTextureName = "SC_Logo"
RELEASE_CONTROL_OF_FRONTEND()
ELSE
//TOP LEVEL OF MENU
IF iPauseMenuDepth = 0
#IF FEATURE_GTAO_MEMBERSHIP
SHOW_GTAO_MEMBERSHIP_PROMPT(pauseMenuRoute[0])
#ENDIF
MAINTAIN_CUSTOM_PROMPTS(pauseMenuRoute[0])
// SC_NEWS_STORY_DATA newsstory
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_PLAYERS
sTitle = "PM_INF_PLYT"
sBody = "PM_INF_PLYB"
BREAK
CASE PM_D1_PARTY
sTitle = "PM_INF_PTYT"
sBody = "PM_INF_PTYB"
BREAK
CASE PM_D1_QUIT_MP
sTitle = "PM_INF_LEAT"
IF WILL_MP_AUTOSAVE_BE_SKIPPED() = FALSE
sBody = "PM_INF_LEAB"
ELSE
sBody = "PM_QUIT_WARN5"
ENDIF
IF g_b_WasSavingDown
sBody = "PM_QUIT_WARN16"
ENDIF
BREAK
#IF FEATURE_COPS_N_CROOKS
CASE PM_D1_GOTO_CNC
sTitle = "PM_GOTO_CNC"
sBody = "PM_INF_CNC"
BREAK
#ENDIF
CASE PM_D1_ENTER_MP
sTitle = "PM_INF_PGOT"
// IF GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_FULL
sBody = "PM_INF_PGOB"
// ELSE
// sBody = GET_PAUSE_MENU_PERMISSION_ERROR_MESSAGE(GET_ACCOUNT_PERMISSION_SETUP())
// ENDIF
BREAK
CASE PM_D1_CREWS
sTitle = "PM_INF_CRWT"
sBody = "PM_INF_CRWB"
BREAK
CASE PM_D1_PLAYLISTS
sTitle = "PM_INF_PLLT"
sBody = "PM_INF_PLLB"
BREAK
CASE PM_D1_ACCOUNT_PICKER
sTitle = "PM_PANE_PICK"
sBody = "PM_INF_ACPB"
BREAK
CASE PM_D1_CREDITS_AND_LEGAL
IF g_sMPTunables.iCreditsAndLegalDisplayState = CREDITS_AND_LEGAL_SHOW_BOTH
sTitle = "UI_FLOW_OP_CL"
sBody = "UI_FLOW_OP_CL_D"
ELIF g_sMPTunables.iCreditsAndLegalDisplayState = CREDITS_AND_LEGAL_SHOW_CREDITS
sTitle = "UI_FLOW_OP_C"
sBody = "UI_FLOW_OP_C_D"
ELIF g_sMPTunables.iCreditsAndLegalDisplayState = CREDITS_AND_LEGAL_SHOW_LEGAL
sTitle = "UI_FLOW_OP_L"
sBody = "UI_FLOW_OP_L_D"
ENDIF
BREAK
#IF FEATURE_GTAO_MEMBERSHIP
CASE PM_D1_GTAO_MEMBERSHIP
IF (IS_GTAO_MEMBERSHIP_CONTENT_ENABLED() OR g_sMPTunables.bDISABLE_NON_MEMBERS_GENERIC_PAUSE_MENU_TEXT)
IF eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_LOADED
sLiteralTitle = newsstory.title
sLiteralBody = newsstory.content
IF g_sMPTunables.bDISABLE_FIX_FOR_GTAO_MEMBERSHIP_NEWS_PAUSE_MENU
sLiteralTextureName = newsstory.textureName
sLiteralTextureDict = newsstory.textureName
bUseliteralstring = TRUE
iColumnSpan = 2
iBackground = 0
ilayout = 3
ELSE
sLiteralTextureName = ""
sLiteralTextureDict = ""
bUseliteralstring = TRUE
ENDIF
ELIF eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_TIMED_OUT //fallback text only displayed if newsstory wasn't fetched for 5 sec
sTitle = "PM_INF_MEMB_T"
sBody = "PM_INF_MEMB_B2"
ENDIF
ELIF (NOT IS_GTAO_MEMBERSHIP_CONTENT_ENABLED() AND NOT g_sMPTunables.bDISABLE_NON_MEMBERS_GENERIC_PAUSE_MENU_TEXT)
sTitle = "PM_INF_MEMB_T"
sBody = "PM_INF_MEMB_B"
ENDIF
BREAK
#ENDIF
#IF NOT FEATURE_GEN9_STANDALONE
CASE PM_D1_ALL_JOBS
IF NETWORK_IS_GAME_IN_PROGRESS()
sTitle = "PM_INF_ALJT"
sBody = "PM_INF_ALJB"
ELSE
sTitle = "PM_INF_FRST"
sBody = "PM_INF_FRSB"
ENDIF
BREAK
CASE PM_D1_MIGRATE_CHAR
CASE PM_D1_MIGRATE_CHAR_MP
sTitle = "PM_MIGRATE"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_MIGRATE_P1"
ELSE
IF IS_SELECT_AVAILABLE() = 101
sBody = "HUD_ST_EBAN"
ELSE
sBody = "PM_MIGRATE_P"
ENDIF
ENDIF
BREAK
CASE PM_D1_FRIEND_SESS
sTitle = "PM_INF_FRST"
sBody = "PM_INF_FRSB"
BREAK
//**TWH - CMcM - 1425491 - Added Find Crew to the Online menu.
CASE PM_D1_CREW_SESS
sTitle = "PM_INF_CRST"
sBody = "PM_INF_CRSB"
BREAK
CASE PM_D1_MISSION_CREATOR
sTitle = "PM_INF_CTRT"
IF (g_sMPTunables.bToggleKingOfTheHillCreator AND g_sMPTunables.bToggleSurvivalCreator)
sBody = "PM_INF_CTRB"
ELIF (g_sMPTunables.bToggleKingOfTheHillCreator)
sBody = "PM_INF_CTRB_KO"
ELIF (g_sMPTunables.bToggleSurvivalCreator)
sBody = "PM_INF_CTRB_SU"
ELSE
sBody = "PM_INF_CTRB_N"
ENDIF
BREAK
CASE PM_D1_SWAP_CHARS
#IF FEATURE_GEN9_STANDALONE
sTitle = "UI_FLOW_OP_SWPCHAR_M"
sBody = "UI_FLOW_OP_SWPCHAR_D"
#ENDIF // FEATURE_GEN9_STANDALONE
#IF NOT FEATURE_GEN9_STANDALONE
sTitle = "PM_INF_SWCT"
sBody = "PM_INF_SWCB"
#ENDIF // NOT FEATURE_GEN9_STANDALONE
BREAK
CASE PM_D1_CHOOSE_CHAR
sTitle = "PM_INF_CHCT"
sBody = "PM_INF_CHCB"
BREAK
CASE PM_D1_EXIT_GAME
sTitle = "PM_EXIT_GAME"
sBody = "PM_INF_EXIT"
BREAK
// CASE PM_D1_FIND_NEW_SESS
// sTitle = "PM_FIND_SESS"
// sBody = "PM_INF_CHGB"
// BREAK
CASE PM_D1_FIND_NEW_SESS
IF NETWORK_IS_GAME_IN_PROGRESS()
sTitle = "UI_FLOW_OP_NEWSESH"
sBody = "UI_FLOW_OP_NEWSESH_D"
ELSE
sTitle = "UI_FLOW_SO_NEWSESH"
sBody = "UI_FLOW_SO_NEWSESH_D"
ENDIF
BREAK
CASE PM_D1_SHARK_CARDS
sTitle = "PM_INF_STORET"
IF IS_GAMBLING_APPROVED_REGION()
sBody = "PM_INF_STOREB"
ELSE
sBody = "PM_INF_STOREC" //Cash is king in this town. Solve your money problem and help get what you want across Los Santos and Blaine County with the occasional purchase of Shark Cards for Grand Theft Auto Online. All purchased cash is automatically deposited into your character's bank account. Spend wisely, cash therapy is fleeting. ~n~Please note: The Diamond Casino & Resort does not support the use of Shark Cards in your region. Only earned GTA$ can be used to purchase additional chips to use inside the casino.
ENDIF
BREAK
CASE PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK
IF NETWORK_IS_ACTIVITY_SESSION()
sBody = "PIM_DMAGM" //Unavailable while on a Job.
ELIF eSTART_PACK_STATE = STARTER_PACK_STATE_LOADED
sLiteralTitle = newsstory2.title
sLiteralBody = newsstory2.content
//sLiteralTextureName= newsstory.textureName
sLiteralTextureName = newsstory2.textureName
sLiteralTextureDict = newsstory2.textureName
bUseliteralstring = TRUE
ENDIF
iColumnSpan = 2
iBackground = 0
ilayout = 3
BREAK
#ENDIF
#IF FEATURE_GEN9_STANDALONE
CASE PM_D1_ALL_JOBS
IF NETWORK_IS_GAME_IN_PROGRESS()
sTitle = "UI_FLOW_OP_QJOB"
sBody = "UI_FLOW_OP_QJOB_D"
ELSE
sTitle = "PM_INF_FRST"
sBody = "PM_INF_FRSB"
ENDIF
BREAK
CASE PM_D1_MIGRATE_CHAR
CASE PM_D1_MIGRATE_CHAR_MP
sTitle = "UI_FLOW_OP_MIGRATE"
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
sBody = "PM_MIGRATE_P1"
ELSE
IF IS_SELECT_AVAILABLE() = 101
sBody = "HUD_ST_EBAN"
ELSE
sBody = "UI_FLOW_OP_MIGRATE_D"
ENDIF
ENDIF
BREAK
CASE PM_D1_FRIEND_SESS
IF NETWORK_IS_GAME_IN_PROGRESS()
sTitle = "UI_FLOW_OP_JOINFRND"
sBody = "UI_FLOW_OP_JOINFRND_D"
ELSE
sTitle = "UI_FLOW_SO_JOINFRND"
sBody = "UI_FLOW_SO_JOINFRND_D"
ENDIF
BREAK
CASE PM_D1_CREW_SESS
IF NETWORK_IS_GAME_IN_PROGRESS()
sTitle = "UI_FLOW_OP_JOINCRW"
sBody = "UI_FLOW_OP_JOINCRW_D"
ELSE
sTitle = "UI_FLOW_SO_JOINCRW"
sBody = "UI_FLOW_SO_JOINCRW_D"
ENDIF
BREAK
CASE PM_D1_MISSION_CREATOR
IF NETWORK_IS_GAME_IN_PROGRESS()
sTitle = "UI_FLOW_OP_CREATOR"
sBody = "UI_FLOW_OP_CREATOR_D"
ELSE
sTitle = "UI_FLOW_SO_CREATOR"
sBody = "UI_FLOW_SO_CREATOR_D"
ENDIF
BREAK
CASE PM_D1_SWAP_CHARS
sTitle = "UI_FLOW_OP_SWPCHAR"
sBody = "UI_FLOW_OP_SWPCHAR_D"
BREAK
CASE PM_D1_CHOOSE_CHAR
sTitle = "UI_FLOW_SO_CHARONLNE"
sBody = "UI_FLOW_SO_CHARONLNE_D"
BREAK
CASE PM_D1_EXIT_GAME
sTitle = "UI_FLOW_OP_QUITWIN"
sBody = "UI_FLOW_OP_QUITWIN_D"
BREAK
CASE PM_D1_FIND_NEW_SESS
IF NETWORK_IS_GAME_IN_PROGRESS()
sTitle = "UI_FLOW_OP_NEWSESH"
sBody = "UI_FLOW_OP_NEWSESH_D"
ELSE
sTitle = "UI_FLOW_SO_NEWSESH"
sBody = "UI_FLOW_SO_NEWSESH_D"
ENDIF
BREAK
CASE PM_D1_SHARK_CARDS
sTitle = "UI_FLOW_OP_SHRKCRDS"
IF IS_GAMBLING_APPROVED_REGION()
sBody = "UI_FLOW_OP_SHRKCRDS_D_GAM"
ELSE
sBody = "UI_FLOW_OP_SHRKCRDS_D"
ENDIF
BREAK
CASE PM_D1_QUIT_TO_MM
sTitle = "UI_FLOW_OP_QUITLP"
sBody = "UI_FLOW_OP_QUITLP_D"
BREAK
CASE PM_D1_QUIT_TO_SP
sTitle = "UI_FLOW_OP_QUITSM"
sBody = "UI_FLOW_OP_QUITSM_D"
BREAK
#ENDIF // FEATURE_GEN9_STANDALONE
ENDSWITCH
//PLAYLISTS
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR)
IF iPauseMenuDepth = 1
SWITCH INT_TO_ENUM( ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_QUALIFYING_PLAYLISTS
// IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
// AND IS_EVENT_PLAYLIST_ACTIVE_BY_TYPE(ciQUALIFING_TOURNAMENT_PLAYLIST)
// sTitle = "PM_INF_PLLT00"
// sBody = "PM_INF_PLLBW"
// ELSE
sTitle = "PM_INF_PLLT00"
sBody = "PM_INF_PLLB00"
// ENDIF
BREAK
CASE PM_D2_PLAYLISTS
// IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
// sTitle = "PM_INF_PLLT0"
// sBody = "PM_INF_PLLBW"
// ELSE
sTitle = "PM_INF_PLLT0"
sBody = "PM_INF_PLLB0"
// ENDIF
BREAK
CASE PM_D2_CREATE_PLAYLIST
// IF !RUN_NETWORK_CONTENT_CHECK()
// sTitle = "PM_PLAYLISTS"
// sBody = "CONT_ROCK"
// ELSE
sTitle = "PM_INF_PLLT1"
sBody = "PM_INF_PLLB1"
// ENDIF
BREAK
CASE PM_D2_DOWNLOADED_PLAYLISTS
// IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
// sTitle = "PM_INF_PLLT2"
// sBody = "PM_INF_PLLBW"
// ELSE
sTitle = "PM_INF_PLLT2"
sBody = "PM_INF_PLLB2"
// ENDIF
BREAK
CASE PM_D2_ROCKSTAR_PLAYLISTS
// IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
// sTitle = "PM_INF_PLLT4"
// sBody = "PM_INF_PLLBW"
// ELSE
sTitle = "PM_INF_PLLT4"
sBody = "PM_INF_PLLB4"
// ENDIF
BREAK
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
// IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
// sTitle = "PM_INF_PLLT3"
// sBody = "PM_INF_PLLBW"
// ELSE
sTitle = "PM_INF_PLLT3"
sBody = "PM_INF_PLLB3"
// ENDIF
BREAK
CASE PM_D2_CHALLENGES
IF GET_PLAYER_RANK(PLAYER_ID()) < 5 // Challenges unlock at Rank 5
sTitle = "PM_CLMN_WRNT5"
sBody = "PM_CLMN_WRNB53"
ELIF !IS_LOCAL_PLAYER_IN_ACTIVE_CLAN()
sTitle = "PM_CLMN_WRNT5"
sBody = "PM_CLMN_WRNB51"
ELIF !AM_I_ABLE_TO_PLAY_MORE_CHALLENGES_TODAY_PLEASE()
sTitle = "PM_CLMN_WRNT5"
sBody = "PM_CLMN_WRNB52"
ELIF g_sMPTunables.bdisable_challenges
sTitle = "PM_CLMN_WRNT5"
sBody = "PM_CLMN_WRNB54"
ELSE
// IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
// sTitle = "PM_INF_PLLT5"
// sBody = "PM_INF_PLLBW"
// ELSE
sTitle = "PM_INF_PLLT5"
sBody = "PM_INF_PLLB5"
// ENDIF
ENDIF
BREAK
CASE PM_D2_SHUFFLE_PLAYLIST
sTitle = "PM_INF_PLLT6"
sBody = "PM_INF_PLLB6"
BREAK
ENDSWITCH
ELIF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
IF HAVE_PLAYLISTS_LOADED()
IF NOT HAS_PLAYER_HIT_PLAYLIST_LIMIT()
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_STUNT_RACE
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_RACE] <= 0
sTitle = "PM_CLMN_WRN_SRT"
sBody = "PM_CLMN_WRN_SRB"
ELSE
sTitle = "PM_INF_SR_T"
sBody = "PM_INF_SR_B"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RACE
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_RACE] <= 0
sTitle = "PM_CLMN_WRNT6"
sBody = "PM_CLMN_WRNB6"
ELSE
sTitle = "PM_INF_CPLT0"
sBody = "PM_INF_CPLB0"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DEATHMATCH
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_DEATHMATCH] <= 0
sTitle = "PM_CLMN_WRNT7"
sBody = "PM_CLMN_WRNB7"
ELSE
sTitle = "PM_INF_CPLT1"
sBody = "PM_INF_CPLB1"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_SURVIVAL
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_SURVIVAL] <= 0
sTitle = "PM_CLMN_WRNT8"
sBody = "PM_CLMN_WRNB8"
ELSE
sTitle = "PM_INF_CPLT2"
sBody = "PM_INF_CPLB2"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_BASE_JUMP
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_BASE_JUMP] <= 0
sTitle = "PM_CLMN_WRNT9"
sBody = "PM_CLMN_WRNB9"
ELSE
sTitle = "PM_INF_CPLT3"
sBody = "PM_INF_CPLB3"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_CTF
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_CTF] <= 0
sTitle = "PM_CLMN_WRNT12A"
sBody = "PM_CLMN_WRNB10"
ELSE
sTitle = "PM_TCTF"
sBody = "PM_INF_CTF"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_LTS
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_LTS] <= 0
sTitle = "PM_CLMN_WRNT10"
sBody = "PM_CLMN_WRNB10"
ELSE
sTitle = "PM_TLTS"
sBody = "PM_INF_LTS"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MISSION
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION] <= 0
sTitle = "PM_CLMN_WRNT10"
sBody = "PM_CLMN_WRNB10"
ELSE
sTitle = "PM_INF_CPLT4"
sBody = "PM_INF_CPLB4"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_VS
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_VS] <= 0
sTitle = "PM_CLMN_WRNT13A"
sBody = "PM_CLMN_WRNB10V"
ELSE
sTitle = "PM_TVS"
sBody = "PM_INF_VS"
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_TARGET_ASSAULT
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_RACE] <= 0
sTitle = "PM_CLMN_WRN_TAR" // no races
sBody = "PM_CLMN_WRNTRA" //There are no Races available at the moment.~n~Please try again later.
ELSE
sTitle = "PM_INF_TAR_ADD" //Add race
sBody = "PM_INF_CPLB0B" //Shows a list of Rockstar Created and Rockstar Verified Races that can be added to your Playlist.~n~~n~Races are suitable for Head to Heads.
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_ARENA_WARS
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_RACE] <= 0
sTitle = "PM_CLMN_WRNT18" // no races
sBody = "PM_CLMN_WRNAWA" //There are no Races available at the moment.~n~Please try again later.
ELSE
sTitle = "PM_ARE_ADD" //Add race
sBody = "PM_INF_CPAWB" //Shows a list of Rockstar Created and Rockstar Verified Races that can be added to your Playlist.~n~~n~Races are suitable for Head to Heads.
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_DEATHMATCH] <= 0
sTitle = "PM_CLMN_WRNT19" // no races
sBody = "PM_CLMN_WRNKOTH" //There are no Races available at the moment.~n~Please try again later.
ELSE
sTitle = "PM_King_ADD" //Add race
sBody = "PM_INF_CPKOTH" //Shows a list of Rockstar Created and Rockstar Verified Races that can be added to your Playlist.~n~~n~Races are suitable for Head to Heads.
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED
IF HAVE_BOOKMARKED_JOBS_LOADED()
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions <= 0
sTitle = "PM_CLMN_WRNT11"
sBody = "PM_CLMN_WRNB11"
ELSE
sTitle = "PM_INF_CPLT6"
sBody = "PM_INF_CPLB6"
ENDIF
ELSE
EXIT
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION
IF HAVE_MY_JOBS_LOADED()
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions <= 0
sTitle = "PM_INF_CPLT5"
sBody = "PM_CLMN_WRNB13"
ELSE
sTitle = "PM_INF_CPLT5"
sBody = "PM_INF_CPLB5"
ENDIF
ELSE
//EXIT
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RECENT
IF HAVE_RECENTLY_PLAYED_JOBS_LOADED()
IF g_sRECENT_MISSION_HISTORY.iNumberOfMissions <= 0
sTitle = "PM_CLMN_WRNT12"
sBody = "PM_CLMN_WRNB12"
ELSE
sTitle = "PM_INF_CPLT7"
sBody = "PM_INF_CPLB7"
ENDIF
ELSE
EXIT
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_EDIT_PLAYLIST
sTitle = "PM_INF_CPLT8"
sBody = "PM_INF_CPLB8"
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_SAVE_PLAYLIST
sTitle = "PM_INF_CPLT9"
IF SCRIPT_IS_CLOUD_AVAILABLE()
sBody = "PM_INF_CPLB9"
ELSE
sBody = "PM_INF_CPLB9C"
ENDIF
ENDIF
ELSE
EXIT
ENDIF
ENDIF
ENDIF
ENDIF
//AVAILABLE JOBS
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF iPauseMenuDepth = 1
SWITCH INT_TO_ENUM(ePM_D2_JOBS, pauseMenuRoute[1])
CASE PM_D2_QUICK_JOBS
sTitle = "PM_INF_CJT0"
sBody = "PM_INF_CJB0"
BREAK
CASE PM_D2_AVAILABLE_JOBS
sTitle = "PM_INF_CJT1"
sBody = "PM_INF_CJB1"
BREAK
CASE PM_D2_REPORT_JOB
sTitle = "PM_INF_CJT2"
sBody = "PM_INF_CJB2"
BREAK
ENDSWITCH
ELIF iPauseMenuDepth = 2
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF NOT NETWORK_PLAYER_IS_CHEATER()
sTitle = "PM_INF_AJ2T0"
sBody = "PM_INF_AJ2B0"
ELSE
sTitle = "PM_INF_AJ2T0"
sBody = "PM_INF_AJ2B01"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sTitle = "PM_INF_AJ2T1"
sBody = "PM_INF_AJ2B1"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
sTitle = "PM_INF_AJ2T2"
sBody = "PM_INF_AJ2B2"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
sTitle = "PM_INF_AJ2T3"
sBody = "PM_INF_AJ2B3"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sTitle = "FMMC_RSTAR_COMP"
sBody = "PM_INF_AJ2B3"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CANDIDATE)
sTitle = "PM_INF_AJ2T4"
sBody = "PM_INF_AJ2B4"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sTitle = "PM_INF_AJ2T5"
sBody = "PM_INF_AJ2B5"
ENDIF
ELIF iPauseMenuDepth = 3
CPRINTLN(DEBUG_PAUSE_MENU, "IN HERE")
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
sTitle = "PM_CLMN_WRN_SRT"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
sBody = "PM_CLMN_WRNB6_H"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
sBody = "PM_CLMN_WRNB6_U"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sBody = "PM_CLMN_WRNB6_Ha"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB6_L"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRNB6_P"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB6R"
ENDIF
ELSE
sBody = "PM_CLMN_WRN_SRB"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_TARGET_ASSAULT)
sTitle = "PM_CLMN_WRN_TAR"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_INF_QMF59"
ELSE
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
sBody = "PM_CLMN_WRNB6_X" //There are no Rockstar Verified Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
sBody = "PM_CLMN_WRNB6_v" //There are no Rockstar Created Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sBody = "PM_CLMN_WRNB6_va" //There are no Rockstar Created Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB6_Y" //You have not Bookmarked any Stunt Races.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRNB6_Z" //You have not created any Stunt Races.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB6R" //You have not played any Races recently.
ENDIF
ENDIF
ELSE
sBody = "PM_CLMN_WRN_SRB"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)
sTitle = "PM_CLMN_WRNT18"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_INF_QMF66"
ELSE
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
sBody = "PM_CLMN_WRNB6_K" //There are no Rockstar Verified Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
sBody = "PM_CLMN_WRNB6_J" //There are no Rockstar Created Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sBody = "PM_CLMN_WRNB6_Ja" //There are no Rockstar Created Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB18B" //You have not Bookmarked any Stunt Races.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRN17I" //You have not created any Stunt Races.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB6GF" //You have not played any Races recently.
ENDIF
ENDIF
ELSE
sBody = "PM_CLMN_WRN_SRB"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
sTitle = "PM_CLMN_WRNT19"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEAD_DROP)
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_INF_QMF77"
ELSE
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
sBody = "PM_CLMN_WRNB7_K" //There are no Rockstar Verified Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sBody = "PM_CLMN_WRNB7_Ka" //There are no Community Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
sBody = "PM_CLMN_WRNB7_J" //There are no Rockstar Created Stunt Races available.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB19B" //You have not Bookmarked any Stunt Races.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRN18I" //You have not created any Stunt Races.
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB7GF" //You have not played any Races recently.
ENDIF
ENDIF
ELSE
sBody = "PM_CLMN_WRNAWA"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
sTitle = "PM_CLMN_WRNT6"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF currentlyShowingRaces = SHOWING_ALL_RACES
sBody = "PM_CLMN_WRNB6C"
ELIF currentlyShowingRaces = SHOWING_LAND_RACES
sBody = "PM_CLMN_WRNB6D"
ELIF currentlyShowingRaces = SHOWING_BIKE_RACES
sBody = "PM_CLMN_WRNB6E"
ELIF currentlyShowingRaces = SHOWING_WATER_RACES
sBody = "PM_CLMN_WRNB6F"
ELIF currentlyShowingRaces = SHOWING_AIR_RACES
sBody = "PM_CLMN_WRNB6G"
ELIF currentlyShowingRaces = SHOWING_STUNT_RACES
sBody = "PM_CLMN_WRNB6_H"
ELIF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
sBody = "PM_CLMN_WRNB6_X"
ELIF currentlyShowingRaces = SHOWING_ARENA_RACES
sBody = "PM_CLMN_WRNB6_K"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF currentlyShowingRaces = SHOWING_ALL_RACES
sBody = "PM_CLMN_WRNB6Ca"
ELIF currentlyShowingRaces = SHOWING_LAND_RACES
sBody = "PM_CLMN_WRNB6Da"
ELIF currentlyShowingRaces = SHOWING_BIKE_RACES
sBody = "PM_CLMN_WRNB6Ea"
ELIF currentlyShowingRaces = SHOWING_WATER_RACES
sBody = "PM_CLMN_WRNB6Fa"
ELIF currentlyShowingRaces = SHOWING_AIR_RACES
sBody = "PM_CLMN_WRNB6Ga"
ELIF currentlyShowingRaces = SHOWING_STUNT_RACES
sBody = "PM_CLMN_WRNB6_Ha"
ELIF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
sBody = "PM_CLMN_WRNB6_Xa"
ELIF currentlyShowingRaces = SHOWING_ARENA_RACES
sBody = "PM_CLMN_WRNB6_Ja"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
IF currentlyShowingRaces = SHOWING_ALL_RACES
sBody = "PM_CLMN_WRNB6P"
ELIF currentlyShowingRaces = SHOWING_LAND_RACES
sBody = "PM_CLMN_WRNB6Q"
ELIF currentlyShowingRaces = SHOWING_BIKE_RACES
sBody = "PM_CLMN_WRNB6BR"
ELIF currentlyShowingRaces = SHOWING_WATER_RACES
sBody = "PM_CLMN_WRNB6S"
ELIF currentlyShowingRaces = SHOWING_AIR_RACES
sBody = "PM_CLMN_WRNB6T"
ELIF currentlyShowingRaces = SHOWING_STUNT_RACES
sBody = "PM_CLMN_WRNB6_U"
ELIF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
sBody = "PM_CLMN_WRNB6_Z"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF currentlyShowingRaces = SHOWING_ALL_RACES
sBody = "PM_CLMN_WRNB6B"
ELIF currentlyShowingRaces = SHOWING_LAND_RACES
sBody = "PM_CLMN_WRNB6H"
ELIF currentlyShowingRaces = SHOWING_BIKE_RACES
sBody = "PM_CLMN_WRNB6I"
ELIF currentlyShowingRaces = SHOWING_WATER_RACES
sBody = "PM_CLMN_WRNB6J"
ELIF currentlyShowingRaces = SHOWING_AIR_RACES
sBody = "PM_CLMN_WRNB6K"
ELIF currentlyShowingRaces = SHOWING_STUNT_RACES
sBody = "PM_CLMN_WRNB6_L"
ELIF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
sBody = "PM_CLMN_WRNB6_Y"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF currentlyShowingRaces = SHOWING_ALL_RACES
sBody = "PM_CLMN_WRNB6A"
ELIF currentlyShowingRaces = SHOWING_LAND_RACES
sBody = "PM_CLMN_WRNB6L"
ELIF currentlyShowingRaces = SHOWING_BIKE_RACES
sBody = "PM_CLMN_WRNB6M"
ELIF currentlyShowingRaces = SHOWING_WATER_RACES
sBody = "PM_CLMN_WRNB6N"
ELIF currentlyShowingRaces = SHOWING_AIR_RACES
sBody = "PM_CLMN_WRNB6O"
ELIF currentlyShowingRaces = SHOWING_STUNT_RACES
sBody = "PM_CLMN_WRNB6_P"
ELIF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
sBody = "PM_CLMN_WRNB6_Z"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB6R"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB61"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
sTitle = "PM_CLMN_WRNT7"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRNB710"
ELSE
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF currentlyShowingDeathmatches = SHOWING_ALL_DEATHMATCHES
sBody = "PM_CLMN_WRNB7C"
ELIF currentlyShowingDeathmatches = SHOWING_DEATHMATCHES
sBody = "PM_CLMN_WRNB7C"
ELIF currentlyShowingDeathmatches = SHOWING_TEAM_DEATHMATCHES
sBody = "PM_CLMN_WRNB7F"
ELIF currentlyShowingDeathmatches = SHOWING_VEHICLE_DEATHMATCHES
sBody = "PM_CLMN_WRNB7G"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF currentlyShowingDeathmatches = SHOWING_ALL_DEATHMATCHES
sBody = "PM_CLMN_WRNB7W"
ELIF currentlyShowingDeathmatches = SHOWING_DEATHMATCHES
sBody = "PM_CLMN_WRNB7W"
ELIF currentlyShowingDeathmatches = SHOWING_TEAM_DEATHMATCHES
sBody = "PM_CLMN_WRNB9w"
ELIF currentlyShowingDeathmatches = SHOWING_VEHICLE_DEATHMATCHES
sBody = "PM_CLMN_WRNB10w"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF currentlyShowingDeathmatches = SHOWING_ALL_DEATHMATCHES
sBody = "PM_CLMN_WRNB7B"
ELIF currentlyShowingDeathmatches = SHOWING_DEATHMATCHES
sBody = "PM_CLMN_WRNB7B"
ELIF currentlyShowingDeathmatches = SHOWING_TEAM_DEATHMATCHES
sBody = "PM_CLMN_WRNB7D"
ELIF currentlyShowingDeathmatches = SHOWING_VEHICLE_DEATHMATCHES
sBody = "PM_CLMN_WRNB7E"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF currentlyShowingDeathmatches = SHOWING_ALL_DEATHMATCHES
sBody = "PM_CLMN_WRNB7A"
ELIF currentlyShowingDeathmatches = SHOWING_DEATHMATCHES
sBody = "PM_CLMN_WRNB7A"
ELIF currentlyShowingDeathmatches = SHOWING_TEAM_DEATHMATCHES
sBody = "PM_CLMN_WRNB7H"
ELIF currentlyShowingDeathmatches = SHOWING_VEHICLE_DEATHMATCHES
sBody = "PM_CLMN_WRNB7I"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB7R"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB71"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_SURVIVAL)
CPRINTLN(DEBUG_PAUSE_MENU, "PM_D4_JOBS_SURVIVAL PM_D4_JOBS_SURVIVAL PM_D4_JOBS_SURVIVAL PM_D4_JOBS_SURVIVAL PM_D4_JOBS_SURVIVAL")
sTitle = "PM_CLMN_WRNT8"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_SURVIVAL)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB8B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB8R"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRN19I"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
sBody = "PM_CLMN_WRNB8_K"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sBody = "PM_CLMN_WRNB8_W"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
sBody = "PM_CLMN_WRNB8_J"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB81"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)
CPRINTLN(DEBUG_PAUSE_MENU, "PM_D4_JOBS_ARENA_WARS PM_D4_JOBS_ARENA_WARS PM_D4_JOBS_ARENA_WARS PM_D4_JOBS_ARENA_WARS")
sTitle = "PM_CLMN_WRNT18"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_INF_QMF66"
ELSE
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB18B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB18R"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRN17I"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB181"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
CPRINTLN(DEBUG_PAUSE_MENU, "PM_D4_JOBS_KING_OF_THE_HILL PM_D4_JOBS_KING_OF_THE_HILL PM_D4_JOBS_KING_OF_THE_HILL PM_D4_JOBS_KING_OF_THE_HILL")
sTitle = "PM_CLMN_WRNT19"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_INF_QMF77"
ELSE
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB19B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB19R"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRN18I"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB191"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_BASE_JUMP)
sTitle = "PM_CLMN_WRNT9"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_BASE_JUMP)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB9B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB9R"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB91"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_MISSION)
sTitle = "PM_CLMN_WRNT10"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRB1010"
ELSE
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
sBody = "PM_CLMN_WRNB10"
ELSE
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB10B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB10R"
ENDIF
ENDIF
ELSE
sBody = "PM_CLMN_WRNB101"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_LTS)
sTitle = "PM_CLMN_WRNT11A"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRB1110"
ELSE
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
//IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_MISSION)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB11B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB11R"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRNB11M"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
sBody = "PM_CLMN_WRNB11V"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sBody = "PM_CLMN_WRNB11W"
ELSE
sBody = "PM_CLMN_WRNB11N"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB111"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_CTF)
sTitle = "PM_CLMN_WRNT12A"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRB1210"
ELSE
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF currentlyShowingCaptures = SHOWING_ALL_CAPTURES
sBody = "PM_CLMN_WRNB12B"
ELIF currentlyShowingCaptures = SHOWING_GTA_CAPTURES
sBody = "PM_CLMN_WRNB12C"
ELIF currentlyShowingCaptures = SHOWING_HOLD_CAPTURES
sBody = "PM_CLMN_WRNB12D"
ELIF currentlyShowingCaptures = SHOWING_RAID_CAPTURES
sBody = "PM_CLMN_WRNB12E"
ELIF currentlyShowingCaptures = SHOWING_CONTEND_CAPTURES
sBody = "PM_CLMN_WRNB12F"
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
sBody = "PM_CLMN_WRNB12G"
/*IF currentlyShowingCaptures = SHOWING_ALL_CAPTURES
sBody = "PM_CLMN_WRNB12G"
ELIF currentlyShowingCaptures = SHOWING_GTA_CAPTURES
sBody = "PM_CLMN_WRNB12H"
ELIF currentlyShowingCaptures = SHOWING_HOLD_CAPTURES
sBody = "PM_CLMN_WRNB12I"
ELIF currentlyShowingCaptures = SHOWING_RAID_CAPTURES
sBody = "PM_CLMN_WRNB12J"
ELIF currentlyShowingCaptures = SHOWING_CONTEND_CAPTURES
sBody = "PM_CLMN_WRNB12K"
ENDIF*/
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
/*IF currentlyShowingCaptures = SHOWING_ALL_CAPTURES
sBody = "PM_CLMN_WRNB12G"
ELIF currentlyShowingCaptures = SHOWING_GTA_CAPTURES
sBody = "PM_CLMN_WRNB12C"
ELIF currentlyShowingCaptures = SHOWING_HOLD_CAPTURES
sBody = "PM_CLMN_WRNB12D"
ELIF currentlyShowingCaptures = SHOWING_RAID_CAPTURES
sBody = "PM_CLMN_WRNB12E"
ELIF currentlyShowingCaptures = SHOWING_CONTEND_CAPTURES
sBody = "PM_CLMN_WRNB12F"
ENDIF*/
sBody = "PM_CLMN_WRNB12L"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
sBody = "PM_CLMN_WRNB12L"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB12R"
ELSE
sBody = "PM_CLMN_WRNB121"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB121"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_VS)
sTitle = "PM_CLMN_WRNT13A"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRB1310"
ELSE
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB13B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB13R"
ELSE
sBody = "PM_CLMN_WRNB13N"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB131"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_NEW_VS)
sTitle = "PM_CLMN_WRNT16A"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRB1610"
ELSE
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
sBody = "PM_CLMN_WRNB16B"
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
sBody = "PM_CLMN_WRNB16R"
ELSE
sBody = "PM_CLMN_WRNB16N"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB161"
ENDIF
ENDIF
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
// sTitle = "PM_CLMN_WRNT17A"
//
// IF IS_THIS_A_SOLO_SESSION()
// sBody = "PM_CLMN_WRB1710"
// ELSE
// IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
// IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
// sBody = "PM_CLMN_WRNB17B"
// ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
// sBody = "PM_CLMN_WRNB17R"
// ELSE
// sBody = "PM_CLMN_WRNB17N"
// ENDIF
// ELSE
// sBody = "PM_CLMN_WRNB171"
// ENDIF
// ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
//
// CPRINTLN(DEBUG_PAUSE_MENU, "PM_D4_JOBS_COOP PM_D4_JOBS_COOP PM_D4_JOBS_COOP PM_D4_JOBS_COOP PM_D4_JOBS_COOP")
// sTitle = "PM_CLMN_WRNT17" // no Co-Op
// IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_MISSION_COOP_TYPE_COUNT)
// IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
// sBody = "PM_CLMN_WRNB17B" //You have not Bookmarked any Co-Op Jobs.
// ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
// sBody = "PM_CLMN_WRNB17R" //You have not played any Co-Op Jobs recently.
// ENDIF
// ELSE
// sBody = "PM_CLMN_WRNB171" //Co-Op Jobs aren't available in a Solo Session.
// ENDIF
// #ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
sTitle = "PM_CLMN_WRNT6"
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
IF currentlyShowingRaces = SHOWING_ALL_RACES
sBody = "PM_CLMN_WRNB6A"
ELIF currentlyShowingRaces = SHOWING_LAND_RACES
sBody = "PM_CLMN_WRNB6L"
ELIF currentlyShowingRaces = SHOWING_BIKE_RACES
sBody = "PM_CLMN_WRNB6M"
ELIF currentlyShowingRaces = SHOWING_WATER_RACES
sBody = "PM_CLMN_WRNB6N"
ELIF currentlyShowingRaces = SHOWING_AIR_RACES
sBody = "PM_CLMN_WRNB6O"
ELIF currentlyShowingRaces = SHOWING_STUNT_RACES
sBody = "PM_CLMN_WRNB6_P"
ELIF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
sBody = "PM_CLMN_WRNB6_Z"
ELIF currentlyShowingRaces = SHOWING_ARENA_RACES
sBody = "PM_CLMN_WRN17I"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB61"
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
sTitle = "PM_CLMN_WRNT7"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRNB710"
ELSE
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)
IF currentlyShowingDeathmatches = SHOWING_ALL_DEATHMATCHES
sBody = "PM_CLMN_WRNB7A"
ELIF currentlyShowingDeathmatches = SHOWING_DEATHMATCHES
sBody = "PM_CLMN_WRNB7A"
ELIF currentlyShowingDeathmatches = SHOWING_TEAM_DEATHMATCHES
sBody = "PM_CLMN_WRNB7H"
ELIF currentlyShowingDeathmatches = SHOWING_VEHICLE_DEATHMATCHES
sBody = "PM_CLMN_WRNB7I"
ELIF currentlyShowingDeathmatches = SHOWING_ARENA_DEATHMATCHES
sBody = "PM_CLMN_WRN17I"
ENDIF
ELSE
sBody = "PM_CLMN_WRNB71"
ENDIF
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_CTF)
sTitle = "PM_CLMN_WRNT12A"
IF IS_THIS_A_SOLO_SESSION()
sBody = "PM_CLMN_WRB1210"
ELSE
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_MISSION_CTF)
sBody = "PM_CLMN_WRNB12G"
ELSE
sBody = "PM_CLMN_WRNB121"
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
//QUICK MATCH
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_QUICK_JOBS)
IF iPauseMenuDepth = 2
iSelectAvailable = IS_SELECT_AVAILABLE()
REORDER_JOIN_JOB_MENU()
IF pauseMenuRoute[2] = PM_D3_JOIN_RAND
sTitle = "PM_INF_QKMT6P"
sBody = "PM_INF_QKMB6"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_RACE
sTitle = "PM_INF_QKMT0"
sBody = "PM_INF_QKMB0"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_DM
sTitle = "PM_INF_QKMT1"
sBody = "PM_INF_QKMB1"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_CTF
sTitle = "PM_INF_QKMT7"
sBody = "PM_INF_QKMB7"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_LTS
sTitle = "PM_INF_QKMT9"
sBody = "PM_INF_QKMB9"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_MISSION
sTitle = "PM_INF_QKMT2"
sBody = "PM_INF_QKMB2"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_VS
sTitle = "PM_INF_QKMT8"
sBody = "PM_INF_QKMB8"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_NEW_VS
sTitle = "PM_INF_QKMT8B"
sBody = "PM_INF_QKMB8B"
// ELIF pauseMenuRoute[2] = PM_D3_JOIN_COOP
// sTitle = "PM_INF_QKMT10"
// sBody = "PM_INF_QKMB10"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_SURVIVAL
sTitle = "PM_INF_QKMT3"
sBody = "PM_INF_QKMB3"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_PARACHUTING
sTitle = "PM_INF_QKMT4"
sBody = "PM_INF_QKMB4"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_ARENA
sTitle = "PM_ARENA"
sBody = "PM_ARENA_DES"
ELIF pauseMenuRoute[2] = PM_D3_JOIN_PLAYLIST
sTitle = "PM_INF_QKMT5"
sBody = "PM_INF_QKMB5"
ENDIF
IF iSelectAvailable != 0
AND iSelectAvailable != 13
sBody = "PM_INF_QMF"
sBody += iSelectAvailable
ENDIF
ENDIF
ENDIF
//PLAY GTA ONLINE
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ENTER_MP)
IF iPauseMenuDepth = 1
SWITCH INT_TO_ENUM(ePM_D2_SESSION_TYPE, pauseMenuRoute[1])
CASE PM_D2_GO
sTitle = "PM_INF_PGOT0"
sBody = "PM_INF_PGOB0"
BREAK
CASE PM_D2_CREW_FM
sTitle = "PM_INF_PGOT1"
sBody = "PM_INF_PGOB1"
BREAK
CASE PM_D2_INVITE_ONLY_FM
sTitle = "PM_INF_PGOT5"
sBody = "PM_INF_PGOB5"
BREAK
CASE PM_D2_CLOSED_CREW_FM
sTitle = "PM_INF_PGOT2"
sBody = "PM_INF_PGOB2"
BREAK
CASE PM_D2_CLOSED_FRIEND_FM
sTitle = "PM_INF_PGOT3"
sBody = "PM_INF_PGOB3"
BREAK
CASE PM_D2_SOLO_FM
sTitle = "PM_INF_PGOT4"
sBody = "PM_INF_PGOB4"
BREAK
ENDSWITCH
ENDIF
//#IF FEATURE_GEN9_STANDALONE
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_FIND_NEW_SESS)
IF iPauseMenuDepth = 1
SWITCH INT_TO_ENUM(ePM_D2_SESSION_TYPE, pauseMenuRoute[1])
CASE PM_D2_PUBLIC_SESSION
sTitle = "UI_FLOW_SO_PBLCSESH"
sBody = "UI_FLOW_SO_PBLCSESH_D"
BREAK
CASE PM_D2_CREW_FM
sTitle = "UI_FLOW_SO_CRWSESH"
sBody = "UI_FLOW_SO_CRWSESH_D"
BREAK
CASE PM_D2_INVITE_ONLY_FM
sTitle = "UI_FLOW_SO_INVT"
sBody = "UI_FLOW_SO_INVT_D"
BREAK
CASE PM_D2_CLOSED_CREW_FM
sTitle = "UI_FLOW_SO_CLSDCRW"
sBody = "UI_FLOW_SO_CLSDCRW_D"
BREAK
CASE PM_D2_CLOSED_FRIEND_FM
sTitle = "UI_FLOW_SO_CLSDFRND"
sBody = "UI_FLOW_SO_CLSDFRND_D"
BREAK
CASE PM_D2_SOLO_FM
sTitle = "UI_FLOW_SO_SOLO"
sBody = "UI_FLOW_SO_SOLO_D"
BREAK
ENDSWITCH
ENDIF
//#ENDIF // FEATURE_GEN9_STANDALONE
ENDIF
ENDIF
//Setup and Start Message
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
IF bUseliteralstring
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, iColumnIndex, iColumnSpan, sLiteralBody, sLiteralTitle, iBackground, sLiteralTextureDict, sLiteralTextureName, DEFAULT, ilayout, bUseliteralstring)
ELSE
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, iColumnIndex, iColumnSpan, sBody, sTitle, iBackground, sTextureDict, sTextureName, DEFAULT, ilayout, bUseliteralstring)
ENDIF
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
//Hide Columns
SWITCH iColumnIndex
CASE FIRST_COLUMN
HIDE_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(FIRST_COLUMN)
IF iColumnSpan = 2
HIDE_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
ELIF iColumnSpan = 3
HIDE_PM_COLUMN(THIRD_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
ENDIF
BREAK
CASE SECOND_COLUMN
HIDE_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
IF iColumnSpan = 2
HIDE_PM_COLUMN(THIRD_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
ENDIF
BREAK
CASE THIRD_COLUMN
HIDE_PM_COLUMN(THIRD_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
BREAK
ENDSWITCH
ENDIF
//ACCEPT
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
// RSGDND-AT : url:bugstar:7071056 - PS5 TRC5061
// Show the UGC/Comms restriction dialog for restricted accounts, shouldn't affect the Social Club flow.
#IF FEATURE_GEN9_RELEASE
IF iPauseMenuDepth = 0
AND pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CREWS)
AND IS_PROSPERO_VERSION()
AND NOT IS_ACCOUNT_OVER_17_FOR_UGC()
PRINTLN("[JA@PAUSEMENU] PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE - NETWORK_SHOW_PSN_UGC_RESTRICTION")
NETWORK_SHOW_PSN_UGC_RESTRICTION()
ENDIF
#ENDIF
PRINTLN("[JA@PAUSEMENU] PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE - OPEN_SOCIAL_CLUB_MENU - AAA")
//Perform Action other than cleanup.
IF GET_PAUSE_MENU_MP_COLUMN_STATE() != PAUSE_MENU_COLUMN_STATE_NULL
AND !IS_CLOUD_DOWN_CLOUD_LOADER()
// IF NOT bCleanupJobCall
// SET_TRANSITION_SESSIONS_CLEAN_UP_ON_CALL_NOW_IF_NEEDED()
//
// bCleanupJobCall = TRUE
// ENDIF
PRINTLN("[JA@PAUSEMENU] PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE - OPEN_SOCIAL_CLUB_MENU - AA")
IF iPauseMenuDepth = 0
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CREWS)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MIGRATE_CHAR)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MIGRATE_CHAR_MP)
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
OR NOT NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE - OPEN_SOCIAL_CLUB_MENU - A")
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR)
SET_SOCIAL_CLUB_TOUR("Missions")
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CREWS)
SET_SOCIAL_CLUB_TOUR("General")
ENDIF
OPEN_SOCIAL_CLUB_MENU()
ENDIF
ENDIF
ELIF iPauseMenuDepth = 1
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
OR NOT NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE - OPEN_SOCIAL_CLUB_MENU - A2")
SET_SOCIAL_CLUB_TOUR("Playlists")
OPEN_SOCIAL_CLUB_MENU()
ENDIF
ENDIF
ENDIF
ELIF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF NOT NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
OR NOT NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE - OPEN_SOCIAL_CLUB_MENU - B")
SET_SOCIAL_CLUB_TOUR("Missions")
OPEN_SOCIAL_CLUB_MENU()
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
//MP_SET_COLUMN_WARNING_MESSAGE(FALSE, iColumnIndex, iColumnSpan, sBody, sTitle, iBackground, sTextureDict, sTextureName)
//IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
//AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
//CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE - Accept pressed")
//iPauseMenuDepth--
// PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
// PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
// PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
//SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
//ENDIF
SHOW_PM_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(SECOND_COLUMN)
//SHOW_PM_COLUMN(THIRD_COLUMN) //NOT NEEDED JUST NOW
RELEASE_CONTROL_OF_FRONTEND()
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ENDPROC
PROC DRAW_LOADING_DEBUG_SQUARES(INT iColour = -1)
IF iColour = 0 ENDIF
// IF iColour = 0
// BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER("SET_HEADER_TITLE")
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME("LOAD_MISSION_DATA")
// END_SCALEFORM_MOVIE_METHOD()
// ELIF iColour = 1
// BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER("SET_HEADER_TITLE")
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME("NOT IS_WARNING_MESSAGE_ACTIVE")
// END_SCALEFORM_MOVIE_METHOD()
// ELIF iColour = 2
// BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER("SET_HEADER_TITLE")
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME("pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)")
// END_SCALEFORM_MOVIE_METHOD()
// ELIF iColour = 3
// BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER("SET_HEADER_TITLE")
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME("GET_FM_UGC_HAS_FINISHED")
// END_SCALEFORM_MOVIE_METHOD()
// ELIF iColour = 4
// BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER("SET_HEADER_TITLE")
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME("NOT HAVE_PLAYLISTS_LOADED()")
// END_SCALEFORM_MOVIE_METHOD()
// ELIF iColour = 5
// BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND_HEADER("SET_HEADER_TITLE")
// SCALEFORM_MOVIE_METHOD_ADD_PARAM_PLAYER_NAME("HAVE_PLAYLISTS_LOADED()")
// END_SCALEFORM_MOVIE_METHOD()
// ENDIF
ENDPROC
/// PURPOSE:
/// Main method to load in all required data (called every frame)
///
PROC LOAD_MISSION_DATA()
STRING sErrorMessage
CONST_INT ciLoadingDepth 2
BOOL bPrintUGCError
DRAW_LOADING_DEBUG_SQUARES(0)
IF iRockstarPlaylistFailReason > -1
IF iRockstarPlaylistFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iRockstarPlaylistFailReason = 2
sErrorMessage = "CONT_NONE"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_contentRockstarPlaylist.eError)
CPRINTLN(DEBUG_PAUSE_MENU, "GET_UGC_FAIL_MESSAGE - iRockstarPlaylistFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_contentRockstarPlaylist.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF iVerifiedJobsFailReason > -1
IF iVerifiedJobsFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iVerifiedJobsFailReason = 2
sErrorMessage = "CONT_NONE"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_contentVerified.eError)
PRINTLN("GET_UGC_FAIL_MESSAGE - iVerifiedJobsFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_contentVerified.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF iMyPlaylistFailReason > -1
IF iMyPlaylistFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iMyPlaylistFailReason = 2
sErrorMessage = "CONT_NONE"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_content.eError)
CPRINTLN(DEBUG_PAUSE_MENU, "GET_UGC_FAIL_MESSAGE - iMyPlaylistFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_content.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF iBookmarkedPlaylistFailReason > -1
IF iBookmarkedPlaylistFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iBookmarkedPlaylistFailReason = 2
sErrorMessage = "CONT_NONE"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_contentBookmarkedPlaylist.eError)
CPRINTLN(DEBUG_PAUSE_MENU, "GET_UGC_FAIL_MESSAGE - iBookmarkedPlaylistFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_contentBookmarkedPlaylist.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF iRockstarVerifiedPlaylistFailReason > -1
IF iRockstarVerifiedPlaylistFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iRockstarVerifiedPlaylistFailReason = 2
sErrorMessage = "CONT_NONE"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_contentRockstarPlaylist.eError)
CPRINTLN(DEBUG_PAUSE_MENU, "GET_UGC_FAIL_MESSAGE - iRockstarVerifiedPlaylistFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_contentRockstarPlaylist.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF iRecentJobsFailReason > -1
IF iRecentJobsFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iRecentJobsFailReason = 2
sErrorMessage = "CONT_NONE"
ELIF iRecentJobsFailReason = 3
sErrorMessage = "PM_CLMN_WRNT12"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_contentRecent.eError)
CPRINTLN(DEBUG_PAUSE_MENU, "GET_UGC_FAIL_MESSAGE - iRecentJobsFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_contentRecent.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF iBookmarkedJobsFailReason > -1
IF iBookmarkedJobsFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iBookmarkedJobsFailReason = 2
sErrorMessage = "CONT_NONE"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_contentBookmarkedJobs.eError)
CPRINTLN(DEBUG_PAUSE_MENU, "GET_UGC_FAIL_MESSAGE - iBookmarkedJobsFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_contentBookmarkedJobs.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF iMyJobsFailReason > -1
IF iMyJobsFailReason = 1
sErrorMessage = "CONT_FRIEN"
ELIF iMyJobsFailReason = 2
sErrorMessage = "CONT_NONE"
ELIF iMyJobsFailReason = 4
sErrorMessage = "CONT_NONE"
ELSE
sErrorMessage = GET_UGC_FAIL_MESSAGE(sGetUGC_contentMyJobs.eError)
CPRINTLN(DEBUG_PAUSE_MENU, "GET_UGC_FAIL_MESSAGE - iMyJobsFailReason - GET_UGC_FAIL_MESSAGE = ", ENUM_TO_INT(sGetUGC_contentMyJobs.eError))
ENDIF
bPrintUGCError = TRUE
ENDIF
IF bPrintUGCError
IF ARE_STRINGS_EQUAL(sErrorMessage, "")
sErrorMessage = "UGC_FL_UNEX"
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "LOAD_MISSION_DATA - bPrintUGCError")
SET_WARNING_MESSAGE_WITH_HEADER("PCARD_SYNC_ERROR_TITLE", sErrorMessage, FE_WARNING_OK)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)
OR NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE()
CPRINTLN(DEBUG_PAUSE_MENU, "LOAD_MISSION_DATA - bPrintUGCError - IS_CONTROL_JUST_RELEASED")
IF iRecentJobsFailReason = 3 AND bReportLastJob
eReportUGCState = PAUSE_MENU_REPORT_UGC_INIT
ELSE
PM_MENU_SHIFT_DEPTH(-2)
iPauseMenuDepth--
ENDIF
CLEAR_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
PAUSE_MENU_SET_BUSY_SPINNER(FALSE)
iMyPlaylistFailReason = -1
iRockstarPlaylistFailReason = -1
iBookmarkedPlaylistFailReason = -1
iRockstarVerifiedPlaylistFailReason = -1
iRecentJobsFailReason = -1
iBookmarkedJobsFailReason = -1
iMyJobsFailReason = -1
iVerifiedJobsFailReason = -1
ENDIF
ENDIF
IF NOT IS_WARNING_MESSAGE_ACTIVE()
DRAW_LOADING_DEBUG_SQUARES(1)
IF HAS_NET_TIMER_EXPIRED(bookmarkRefreshTimer, g_sMPTunables.iBookmarkRefreshInterval, TRUE)
IF !(pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS) AND iPauseMenuDepth >= ciLoadingDepth)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, BOOKMARKED_PLAYLISTS_LOADED)
RESET_NET_TIMER(bookmarkRefreshTimer)
ENDIF
IF !(pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES) AND iPauseMenuDepth >= ciLoadingDepth)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, CHALLENGES_LOADED)
RESET_NET_TIMER(bookmarkRefreshTimer)
ENDIF
IF !(pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= ciLoadingDepth)
AND !(pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS) AND pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iPauseMenuDepth >= 3)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, BOOKMARKED_JOBS_LOADED)
RESET_NET_TIMER(bookmarkRefreshTimer)
ENDIF
ENDIF
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
DRAW_LOADING_DEBUG_SQUARES(2)
IF iPauseMenuDepth > 0
IF IS_CLOUD_DOWN_CLOUD_LOADER()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLOUD_WARNING_MESSAGE)
ENDIF
ENDIF
IF GET_FM_UGC_HAS_FINISHED()
DRAW_LOADING_DEBUG_SQUARES(3)
IF (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS) AND iPauseMenuDepth >= ciLoadingDepth)
OR (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= ciLoadingDepth)
//AND iMyPlaylistFailReason = -1
IF HAVE_PLAYLISTS_LOADED()
DRAW_LOADING_DEBUG_SQUARES(5)
ELSE
DRAW_LOADING_DEBUG_SQUARES(4)
IF NOT IS_BIT_SET(iBS_DataAvailable, PLAYLISTS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_content)
SET_BIT(iBS_DataAvailable, PLAYLISTS_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_USERS_PLAYLISTS - RESET_UGC_LOAD_VARS - B")
HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_USERS_PLAYLISTS(iMyPlaylistFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_USERS_PLAYLISTS")
IF HAVE_PLAYLISTS_LOADED()
iPauseMenuItemStored = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] LOAD_MISSION_DATA - g_sLoadedPlaylistDetails.iTotalPlaylists = ", g_sLoadedPlaylistDetails.iTotalPlaylists)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_USERS_PLAYLISTS - LOADED - DO INFO SCREEN UPDATE - C")
CLEAR_BIT(iBS_DataAvailable, PLAYLISTS_STARTED_LOADING)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_PLAYLISTS), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_PLAYLISTS), TRUE, "PM_MY_PLIST")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
IF (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
AND iPauseMenuDepth >= ciLoadingDepth)
//AND iRockstarPlaylistFailReason = -1
IF NOT HAVE_ROCKSTAR_PLAYLISTS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_PLAYLISTS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentRockstarPlaylist)
SET_BIT(iBS_DataAvailable, ROCKSTAR_PLAYLISTS_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_PLAYLISTS - RESET_UGC_LOAD_VARS - B")
HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_ROCKSTAR_PLAYLISTS(iRockstarPlaylistFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_PLAYLISTS")
IF HAVE_ROCKSTAR_PLAYLISTS_LOADED()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_PLAYLISTS - LOADED - DO INFO SCREEN UPDATE - C")
CLEAR_BIT(iBS_DataAvailable, ROCKSTAR_PLAYLISTS_STARTED_LOADING)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, ROCKSTAR_VERIFIED_PLAYLISTS_LOADED)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS), TRUE, "PM_R_PLIST")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ELSE
iRockstarPlaylistFailReason = -1
ENDIF
IF (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
AND iPauseMenuDepth >= ciLoadingDepth)
//AND iRockstarVerifiedPlaylistFailReason = -1
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_VERIFIED_PLAYLISTS")
IF NOT HAVE_ROCKSTAR_VERIFIED_PLAYLISTS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_VERIFIED_PLAYLISTS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentRockstarPlaylist)
SET_BIT(iBS_DataAvailable, ROCKSTAR_VERIFIED_PLAYLISTS_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_VERIFIED_PLAYLISTS - RESET_UGC_LOAD_VARS - B")
HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_ROCKSTAR_VERIFIED_PLAYLISTS(iRockstarVerifiedPlaylistFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_VERIFIED_PLAYLISTS")
IF HAVE_ROCKSTAR_VERIFIED_PLAYLISTS_LOADED()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_VERIFIED_PLAYLISTS - LOADED - DO INFO SCREEN UPDATE - C")
CLEAR_BIT(iBS_DataAvailable, ROCKSTAR_VERIFIED_PLAYLISTS_STARTED_LOADING)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, ROCKSTAR_PLAYLISTS_LOADED)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS), TRUE, "PM_R_V_PLIST")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
AND iPauseMenuDepth >= ciLoadingDepth
//AND iBookmarkedPlaylistFailReason = -1
IF NOT HAVE_BOOKMARKED_PLAYLISTS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_PLAYLISTS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentBookmarkedPlaylist)
SET_BIT(iBS_DataAvailable, BOOKMARKED_PLAYLISTS_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - HAVE_BOOKMARKED_PLAYLISTS_LOADED - RESET_UGC_LOAD_VARS - B")
HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_BOOKMARKED_PLAYLISTS(iBookmarkedPlaylistFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_PLAYLISTS")
IF HAVE_BOOKMARKED_PLAYLISTS_LOADED()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - HAVE_BOOKMARKED_PLAYLISTS_LOADED - LOADED - DO INFO SCREEN UPDATE - C")
CLEAR_BIT(iBS_DataAvailable, BOOKMARKED_PLAYLISTS_STARTED_LOADING)
RESET_NET_TIMER(bookmarkRefreshTimer)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS), TRUE, "PM_DLOAD_PLIST")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
IF (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RECENT AND iPauseMenuDepth >= ciLoadingDepth AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST))
IF NOT IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
AND NOT IS_BIT_SET(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
//AND iRecentJobsFailReason = -1
IF NOT HAVE_RECENTLY_PLAYED_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentRecent)
SET_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - RESET_UGC_LOAD_VARS - B")
//HIDE_PM_COLUMN(FIRST_COLUMN)
ELSE
LOAD_RECENTLY_PLAYED_JOBS(iRecentJobsFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS")
ENDIF
IF HAVE_RECENTLY_PLAYED_JOBS_LOADED()
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RECENT
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_LOADED)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
//PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ELSE
CLEAR_BIT(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
CLEAR_BIT(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
UGC_CANCEL_QUERY()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - UGC_CANCEL_QUERY()")
ENDIF
ENDIF
IF (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= ciLoadingDepth)
IF NOT IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
AND NOT IS_BIT_SET(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
//AND iBookmarkedJobsFailReason = -1
IF NOT HAVE_BOOKMARKED_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentBookmarkedJobs)
SET_BIT(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
UGC_CANCEL_QUERY()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_JOBS - RESET_UGC_LOAD_VARS - B")
//HIDE_PM_COLUMN(FIRST_COLUMN)
ELSE
LOAD_BOOKMARKED_JOBS(iBookmarkedJobsFailReason, iMyBookmarksPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_JOBS")
ENDIF
IF HAVE_BOOKMARKED_JOBS_LOADED()
AND iPauseMenuDepth = ciLoadingDepth
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_LOADED)
CLEAR_BIT(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
IF SHOULD_SHOW_NEXT_PAGE_OPTION(TRUE, iMyBookmarksPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyBookmarksPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
ENDIF
//PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
RESET_NET_TIMER(bookmarkRefreshTimer)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ELSE
CLEAR_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
CLEAR_BIT(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
IF NOT (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_REPORT_JOB) AND iPauseMenuDepth >= 1 AND bReportLastJob)
UGC_CANCEL_QUERY()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_JOBS - UGC_CANCEL_QUERY()")
ENDIF
ENDIF
ENDIF
IF (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= ciLoadingDepth)
IF NOT IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
AND NOT IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
//AND iMyJobsFailReason = -1
IF NOT HAVE_MY_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentMyJobs)
SET_BIT(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_MY_JOBS - RESET_UGC_LOAD_VARS - B")
UGC_CANCEL_QUERY()
//HIDE_PM_COLUMN(FIRST_COLUMN)
ELSE
LOAD_MY_JOBS(iMyJobsFailReason, iMyJobsPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_MY_JOBS")
ENDIF
IF HAVE_MY_JOBS_LOADED()
AND iPauseMenuDepth = ciLoadingDepth
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_MY_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_LOADED)
CLEAR_BIT(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
IF SHOULD_SHOW_NEXT_PAGE_OPTION(FALSE, iMyJobsPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyJobsPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
ENDIF
//PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
RESET_NET_TIMER(bookmarkRefreshTimer)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ELSE
CLEAR_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
CLEAR_BIT(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
UGC_CANCEL_QUERY()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_MY_JOBS - UGC_CANCEL_QUERY()")
ENDIF
ENDIF
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF iPauseMenuDepth >= 3
//AND iBookmarkedJobsFailReason = -1
IF NOT HAVE_BOOKMARKED_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentBookmarkedJobs)
SET_BIT(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_JOBS - RESET_UGC_LOAD_VARS - B")
HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_BOOKMARKED_JOBS(iBookmarkedJobsFailReason, iMyBookmarksPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_JOBS")
IF HAVE_BOOKMARKED_JOBS_LOADED()
AND iPauseMenuDepth >= 3
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_BOOKMARKED_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
IF SHOULD_SHOW_NEXT_PAGE_OPTION(TRUE, iMyBookmarksPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyBookmarksPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
ENDIF
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
RESET_NET_TIMER(bookmarkRefreshTimer)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF iPauseMenuDepth >= 3
//AND iMyJobsFailReason = -1
IF NOT HAVE_MY_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentMyJobs)
SET_BIT(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_MY_JOBS - RESET_UGC_LOAD_VARS - B")
HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_MY_JOBS(iMyJobsFailReason, iMyJobsPage)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_MY_JOBS")
IF HAVE_MY_JOBS_LOADED()
AND iPauseMenuDepth >= 3
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_MY_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_DataAvailable, MY_JOBS_STARTED_LOADING)
IF SHOULD_SHOW_NEXT_PAGE_OPTION(FALSE, iMyJobsPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyJobsPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 6")
ENDIF
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
IF iPauseMenuDepth >= 3
//AND iRecentJobsFailReason = -1
IF NOT HAVE_RECENTLY_PLAYED_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentRecent)
SET_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - RESET_UGC_LOAD_VARS - B")
//HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_RECENTLY_PLAYED_JOBS(iRecentJobsFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS")
IF HAVE_RECENTLY_PLAYED_JOBS_LOADED()
AND iPauseMenuDepth >= 3
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
//PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
//AND iVerifiedJobsFailReason = -1
IF iPauseMenuDepth >= 3
IF NOT HAVE_ROCKSTAR_VERIFIED_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
AND NOT IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
IF NOT IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_VERIFIED_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentVerified)
SET_BIT(iBS_DataAvailable, ROCKSTAR_VERIFIED_STARTED_LOADING)
PRINTLN("[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_VERIFIED_JOBS - RESET_UGC_LOAD_VARS - B")
//HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_ROCKSTAR_VERIFIED_JOBS(iVerifiedJobsFailReason)
PRINTLN("[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_VERIFIED_JOBS")
IF HAVE_ROCKSTAR_VERIFIED_JOBS_LOADED()
AND iPauseMenuDepth >= 3
PRINTLN("[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_ROCKSTAR_VERIFIED_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_DataAvailable, ROCKSTAR_VERIFIED_STARTED_LOADING)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
//PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
//AND iVerifiedJobsFailReason = -1
IF iPauseMenuDepth >= 3
IF NOT HAVE_COMMUNITY_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_STARTED_LOADING)
AND NOT IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
IF NOT IS_BIT_SET(iBS_DataAvailable2, COMMUNITY_JOBS_AVAILABLE)
RESET_UGC_LOAD_VARS(sGetUGC_contentVerified)
SET_BIT(iBS_DataAvailable2, COMMUNITY_JOBS_AVAILABLE)
PRINTLN("[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_COMMUNITY_JOBS - RESET_UGC_LOAD_VARS - B")
//HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_COMMUNITY_JOBS(iVerifiedJobsFailReason)
PRINTLN("[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_COMMUNITY_JOBS")
IF HAVE_COMMUNITY_JOBS_LOADED()
AND iPauseMenuDepth >= 3
PRINTLN("[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_COMMUNITY_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_DataAvailable2, COMMUNITY_JOBS_STARTED_LOADING)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
//PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_REPORT_JOB) AND iPauseMenuDepth >= 1 AND bReportLastJob)
//AND iRecentJobsFailReason = -1
IF NOT HAVE_RECENTLY_PLAYED_JOBS_LOADED()
IF NOT IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
RESET_UGC_LOAD_VARS(sGetUGC_contentRecent)
SET_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - RESET_UGC_LOAD_VARS - B")
//HIDE_PM_COLUMN(FIRST_COLUMN)
ENDIF
LOAD_RECENTLY_PLAYED_JOBS(iRecentJobsFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS")
IF HAVE_RECENTLY_PLAYED_JOBS_LOADED()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - LOADED - DO INFO SCREEN UPDATE - C")
//CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_DataAvailable, RECENTLY_PLAYED_STARTED_LOADING)
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_LOADED)
IF bReportLastJob
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - LOADED - bReportLastJob")
IF g_sRECENT_MISSION_HISTORY.iNumberOfMissions > 0
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] LOAD_MISSION_DATA - LOAD_RECENTLY_PLAYED_JOBS - LOADED - g_sRECENT_MISSION_HISTORY.iNumberOfMissions")
// CLEAR_PM_COLUMN(0)
// CLEAR_PM_COLUMN(1)
// CLEAR_PM_COLUMN(2)
// CLEAR_PM_COLUMN(3)
// CLEAR_PM_COLUMN(4)
// CLEAR_PM_COLUMN(5)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_REPORT_UGC)
bReportLastJob = FALSE
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] LOAD_MISSION_DATA - bReportLastJob - No recently played missions returned.")
iRecentJobsFailReason = 3
//SET_WARNING_MESSAGE_WITH_HEADER("PCARD_SYNC_ERROR_TITLE", "PM_CLMN_WRNT12", FE_WARNING_CANCEL)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDPROC
PROC PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE()
//Check if we should show warning
//IF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR))
BOOL bDoCleanup
//CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - pauseMenuRoute[0] = ", pauseMenuRoute[0], ", pauseMenuRoute[1] = ", pauseMenuRoute[1], ", pauseMenuRoute[2] = ", pauseMenuRoute[2])
//TOP LEVEL OF MENU
IF pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_OPTIONS)
AND (iPauseMenuDepth = 0 OR iPauseMenuDepth = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
OR DO_SOCIAL_CLUB_WARNING()
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
//PLAYLIST MENU
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
AND iPauseMenuDepth = 1
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
OR DO_SOCIAL_CLUB_WARNING()
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
AND iPauseMenuDepth = 2
IF HAVE_PLAYLISTS_LOADED()
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
OR DO_SOCIAL_CLUB_WARNING()
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ENDIF
//AVAILABLE JOBS MENU
ELIF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS))
IF iPauseMenuDepth = 2
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
OR DO_SOCIAL_CLUB_WARNING()
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - D")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ELSE
// bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
OR DO_SOCIAL_CLUB_WARNING()
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - E")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ELSE
// bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - ROCKSTAR_CREATED_AVAILABLE - PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE")
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - F")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ELSE
// bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - G")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ELSE
// bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - I")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ELSE
// bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CANDIDATE)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - H")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ELSE
// bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
// IF NOT IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_CANDIDATE_AVAILABLE)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - H")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ELSE
// bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF iPauseMenuDepth = 3
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - Ia")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - Ia")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - Ia")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - I")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - J")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - K")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - L")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - M")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
//CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - ABORT")
bDoCleanup = TRUE
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - NOT HAVE_JOBS_LOADED(pauseMenuRoute[2]")
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - NN")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - NN")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_VS OR pauseMenuRoute[3] = PM_D4_JOBS_NEW_VS
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - NN")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
IF IS_SELECT_AVAILABLE() != 0
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS) AND iRecentlyCommunityJobCount = -1)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - Ia")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
//
// IF HAVE_JOBS_LOADED(pauseMenuRoute[2])
// IF IS_SELECT_AVAILABLE() != 0
// OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iBookmarkedJobCount = -1)
// OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iMyJobCount = -1)
// OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED) AND iRockstarCreatedJobCount = -1)
// OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) AND iRockstarVerifiedJobCount = -1)
// OR (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED) AND iRecentlyPlayedJobCount = -1)
// IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PM_D4_JOBS_COOP PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - K")
// PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
// SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
// ENDIF
// ELSE
// bDoCleanup = TRUE
// ENDIF
// ELSE
// bDoCleanup = TRUE
// ENDIF
// #ENDIF
ELSE
bDoCleanup = TRUE
ENDIF
ELIF iPauseMenuDepth = 1
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - NNNG")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
ENDIF
//QUICK MATCH
ELIF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND iPauseMenuDepth > 0)
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - N")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
//PM_D2_QUALIFYING_PLAYLISTS
ELIF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_QUALIFYING_PLAYLISTS))
AND iPauseMenuDepth = 2
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - P")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
//PLAY GTA ONLINE
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ENTER_MP)
AND iPauseMenuDepth = 1
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - O")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
//#IF FEATURE_GEN9_STANDALONE
//FIND NEW SESSION
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_FIND_NEW_SESS)
AND iPauseMenuDepth = 1
IF NOT IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE - Q")
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
SET_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
ENDIF
//#ENDIF // FEATURE_GEN9_STANDALONE
//CLEANUP
ELSE
bDoCleanup = TRUE
ENDIF
IF bDoCleanup = TRUE
IF IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
SHOW_PM_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(SECOND_COLUMN)
//SHOW_PM_COLUMN(THIRD_COLUMN)
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE - Cancel - B")
ENDIF
ENDIF
ENDPROC
PROC PROCESS_PAUSE_MENU_EVENT_PLAYLIST_JOIN()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_EVENT_PLAYLIST_JOIN")
IF NETWORK_IS_GAME_IN_PROGRESS()
IF NOT bCleanupJobCall
SET_TRANSITION_SESSIONS_CLEAN_UP_ON_CALL_NOW_IF_NEEDED()
bCleanupJobCall = TRUE
ENDIF
IF NOT IS_SCREEN_FADED_OUT() //Added by Brenda 07/08/13
DO_SCREEN_FADE_OUT(0)
ENDIF
SET_FRONTEND_ACTIVE(FALSE)
g_bMissionCreatorPauseMenuActive = FALSE // May not be the place to reset this.
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLEANUP)
//Set that I need to warp to the start of the mission
SET_TRANSITION_SESSIONS_NEED_TO_WARP_TO_START_SKYCAM()
NET_SET_PLAYER_CONTROL(PLAYER_ID(), FALSE, NSPC_NO_COLLISION | NSPC_FREEZE_POSITION)
//Set freemode controller state
GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].iFmLauncherGameState = FMMC_LAUNCHER_STATE_LOAD_MISSION_FOR_TRANSITION_SESSION
NET_PRINT("BWW... SET_FM_LAUNCHER_PLAYER_GAME_STATE - FMMC_LAUNCHER_STATE_LOAD_MISSION_FOR_TRANSITION_SESSION - ciEVENT_COMMUNITY_PLAYLIST_LIVE") NET_NL()
CLEAR_MY_TRANSITION_SESSION_CONTENT_ID()
CLEAR_PAUSE_MENU_IS_USING_UGC()
SETUP_LAUNCHING_COMMUNITY_PLAYLIST_VARS(ciEVENT_COMMUNITY_PLAYLIST_LIVE, TRUE)
ENDIF
GRAB_PAUSEMENU_OWNERSHIP()
SET_SKYFREEZE_FROZEN()
// SET_SKYBLUR_BLURRY()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_QUALIFYING_PLAYLIST_JOIN - SET_SKYFREEZE_FROZEN")
//ENDIF
ENDPROC
PROC PROCESS_PAUSE_MENU_EVENT_MIGRATION_STATUS()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_EVENT_MIGRATION_STATUS")
SAVEMIGRATION_STATUS_CODES status = SAVEMIGRATION_STATUS_NONE
TEXT_LABEL_31 tlMsg
FE_WARNING_FLAGS tlMsgFlags
IF iPauseMigrationState = 0
SAVEMIGRATION_MP_REQUEST_ACCOUNTS()
iPauseMigrationState = 1
iPauseMigrationTimeStamp = GET_REAL_WORLD_TIME()
#IF FEATURE_GEN9_STANDALONE
PAUSE_MENU_SET_CLOUD_BUSY_SPINNER("UI_FLOW_OP_MIGRATE_C", TRUE, TRUE)
#ENDIF
ELIF iPauseMigrationState = 1
IF GET_REAL_WORLD_TIME() > iPauseMigrationTimeStamp+6
status = SAVEMIGRATION_MP_GET_ACCOUNTS_STATUS()
IF status != SAVEMIGRATION_STATUS_PENDING
IF status = SAVEMIGRATION_STATUS_INPROGRESS
iPauseMigrationState = 2 // A save migration is currently in progress. Please try again later.
ELIF status = SAVEMIGRATION_STATUS_ERROR
iPauseMigrationState = 3 // An error has occured trying to check the save available. Please try again later.
ELSE
INT iIter = 0
INT iAvailable = 0
INT iCount = SAVEMIGRATION_MP_NUM_ACCOUNTS() - 1
STRUCT_SAVEMIGRATION_ACCOUNT data
FOR iIter = 0 TO iCount
IF SAVEMIGRATION_MP_GET_ACCOUNT(iIter, data)
IF data.m_available
iAvailable += 1
ENDIF
ENDIF
ENDFOR
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_EVENT_MIGRATION_STATUS found accounts ", iAvailable, " of ", SAVEMIGRATION_MP_NUM_ACCOUNTS(), " avaliable.")
IF iAvailable > 0
iPauseMigrationState = 5 // You hava a save avaliable.
ELSE
iPauseMigrationState = 4 // You have no saves avaliable.
ENDIF
ENDIF
ENDIF
ENDIF
ELSE
SWITCH iPauseMigrationState
CASE 2
tlMsg = "UI_FLOW_OP_MIGRATE_E1"
tlMsgFlags = FE_WARNING_CANCEL
BREAK
CASE 3
tlMsg = "UI_FLOW_OP_MIGRATE_E2"
tlMsgFlags = FE_WARNING_CANCEL
BREAK
CASE 4
tlMsg = "UI_FLOW_OP_MIGRATE_E3"
tlMsgFlags = FE_WARNING_CANCEL
BREAK
CASE 5
tlMsg = "UI_FLOW_OP_MIGRATE_W"
tlMsgFlags = FE_WARNING_OKCANCEL
BREAK
DEFAULT
BREAK
ENDSWITCH
SET_WARNING_MESSAGE_WITH_HEADER("CWS_WARNING", tlMsg, tlMsgFlags)
if IS_WARNING_MESSAGE_READY_FOR_CONTROL()
#IF FEATURE_GEN9_STANDALONE
PAUSE_MENU_CLEAR_CLOUD_BUSY_SPINNER()
#ENDIF
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT) AND IS_BITMASK_ENUM_AS_ENUM_SET(tlMsgFlags, FE_WARNING_OK)
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_EVENT_MIGRATION_STATUS Accept pressed")
PRINTLN("PM - GET_CURRENT_STACK_SIZE = ", GET_CURRENT_STACK_SIZE())
RELEASE_CONTROL_OF_FRONTEND()
LAUNCH_PAUSE_MENU_TRANSITION()
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ENDIF
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL) AND IS_BITMASK_ENUM_AS_ENUM_SET(tlMsgFlags, FE_WARNING_CANCEL)
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_EVENT_MIGRATION_STATUS Cancel pressed")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
bSetCrewChallenge = FALSE // RESET ANY LAUNCH SETTINGS
bDoCrewHeadToHead = FALSE // RESET ANY LAUNCH SETTINGS
RELEASE_CONTROL_OF_FRONTEND()
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDPROC
PROC SET_UP_FIRST_COLUMN_ORDERING()
INT counter = 0
IF g_sMPTunables.bENABLE_AC_ASSAULT_RACE_CREATOR
PM_D4_JOBS_ARENA_WARS = counter
counter++
IF g_sMPTunables.bENABLE_TA_MENU
PM_D4_JOBS_TARGET_ASSAULT = counter
counter++
ELSE
PM_D4_JOBS_TARGET_ASSAULT = -1
ENDIF
PM_D4_JOBS_STUNT_RACE = counter
counter++
PM_D4_JOBS_RACE = counter
counter++
PM_D4_JOBS_DEATHMATCH = counter
counter++
PM_D4_JOBS_CTF = counter
counter++
PM_D4_JOBS_LTS = counter
counter++
IF g_sMPTunables.VC_ENABLE_KOTH
IF (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS))
AND NOT g_sMPTunables.bToggleKingOfTheHillCreator
PM_D4_JOBS_KING_OF_THE_HILL = -1
ELSE
PM_D4_JOBS_KING_OF_THE_HILL = counter
counter++
ENDIF
ELSE
PM_D4_JOBS_KING_OF_THE_HILL = -1
ENDIF
IF NOT g_sMPTunables.bToggleSurvivalCreator
AND (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS))
PM_D4_JOBS_SURVIVAL = -1
ELSE
PM_D4_JOBS_SURVIVAL = counter
counter++
ENDIF
PM_D4_JOBS_MISSION = counter
counter++
PM_D4_JOBS_VS = counter
counter++
PM_D4_JOBS_NEW_VS = counter
counter++
PM_D4_JOBS_BASE_JUMP = counter
counter++
ELIF pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
AND NOT g_sMPTunables.bENABLE_AC_ASSAULT_RACE_CREATOR
PM_D4_JOBS_ARENA_WARS = 0
PM_D4_JOBS_TARGET_ASSAULT = 1
PM_D4_JOBS_STUNT_RACE = 2
PM_D4_JOBS_RACE = 3
PM_D4_JOBS_DEATHMATCH = 4
PM_D4_JOBS_CTF = 5
PM_D4_JOBS_LTS = 6
IF g_sMPTunables.VC_ENABLE_KOTH
PM_D4_JOBS_KING_OF_THE_HILL = 7
PM_D4_JOBS_MISSION = 8
PM_D4_JOBS_VS = 9
PM_D4_JOBS_NEW_VS = 10
PM_D4_JOBS_BASE_JUMP = 11
IF NOT g_sMPTunables.bToggleSurvivalCreator
AND (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS))
PM_D4_JOBS_SURVIVAL = -1
ELSE
PM_D4_JOBS_SURVIVAL = 12
ENDIF
ELSE
PM_D4_JOBS_KING_OF_THE_HILL = -1
PM_D4_JOBS_MISSION = 7
PM_D4_JOBS_VS = 8
PM_D4_JOBS_NEW_VS = 9
PM_D4_JOBS_BASE_JUMP = 10
IF NOT g_sMPTunables.bToggleSurvivalCreator
AND (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS))
PM_D4_JOBS_SURVIVAL = -1
ELSE
PM_D4_JOBS_SURVIVAL = 11
ENDIF
ENDIF
ELSE
PM_D4_JOBS_ARENA_WARS = 0
PM_D4_JOBS_STUNT_RACE = 1
PM_D4_JOBS_RACE = 2
PM_D4_JOBS_DEATHMATCH = 3
PM_D4_JOBS_CTF = 4
PM_D4_JOBS_LTS = 5
counter = 6
IF g_sMPTunables.VC_ENABLE_KOTH
IF (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS))
AND NOT g_sMPTunables.bToggleKingOfTheHillCreator
PM_D4_JOBS_KING_OF_THE_HILL = -1
ELSE
PM_D4_JOBS_KING_OF_THE_HILL = counter
counter++
ENDIF
ELSE
PM_D4_JOBS_KING_OF_THE_HILL = -1
ENDIF
IF NOT g_sMPTunables.bToggleSurvivalCreator
AND (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS))
PM_D4_JOBS_SURVIVAL = -1
ELSE
PM_D4_JOBS_SURVIVAL = counter
counter++
ENDIF
PM_D4_JOBS_MISSION = counter
counter++
PM_D4_JOBS_VS = counter
counter++
PM_D4_JOBS_NEW_VS = counter
counter++
PM_D4_JOBS_BASE_JUMP = counter
counter++
PM_D4_JOBS_TARGET_ASSAULT = -1
ENDIF
ENDPROC
PROC PROCESS_PAUSE_MENU_QUALIFYING_PLAYLIST_JOIN()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_QUALIFYING_PLAYLIST_JOIN")
IF NETWORK_IS_GAME_IN_PROGRESS()
IF NOT bCleanupJobCall
SET_TRANSITION_SESSIONS_CLEAN_UP_ON_CALL_NOW_IF_NEEDED()
bCleanupJobCall = TRUE
ENDIF
IF NOT IS_SCREEN_FADED_OUT() //Added by Brenda 07/08/13
DO_SCREEN_FADE_OUT(0)
ENDIF
SET_FRONTEND_ACTIVE(FALSE)
g_bMissionCreatorPauseMenuActive = FALSE // May not be the place to reset this.
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLEANUP)
//Set that I need to warp to the start of the mission
SET_TRANSITION_SESSIONS_NEED_TO_WARP_TO_START_SKYCAM()
NET_SET_PLAYER_CONTROL(PLAYER_ID(), FALSE, NSPC_NO_COLLISION | NSPC_FREEZE_POSITION)
//Set freemode controller state
GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].iFmLauncherGameState = FMMC_LAUNCHER_STATE_LOAD_MISSION_FOR_TRANSITION_SESSION
NET_PRINT("BWW... SET_FM_LAUNCHER_PLAYER_GAME_STATE - FMMC_LAUNCHER_STATE_LOAD_MISSION_FOR_TRANSITION_SESSION") NET_NL()
CLEAR_MY_TRANSITION_SESSION_CONTENT_ID()
CLEAR_PAUSE_MENU_IS_USING_UGC()
SETUP_LAUNCHING_COMMUNITY_PLAYLIST_VARS(ciQUALIFING_TOURNAMENT_PLAYLIST, TRUE)
ENDIF
GRAB_PAUSEMENU_OWNERSHIP()
SET_SKYFREEZE_FROZEN()
// SET_SKYBLUR_BLURRY()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_QUALIFYING_PLAYLIST_JOIN - SET_SKYFREEZE_FROZEN")
//ENDIF
ENDPROC
// ************** QUICK PLAY JOIN ******************
PROC PROCESS_PAUSE_MENU_QUICK_PLAY_JOIN()
INT iType
INT iScriptTransactionIndex
IF pauseMenuRoute[2] = PM_D3_JOIN_RAND
iType = -1
ELIF pauseMenuRoute[2] = PM_D3_JOIN_RACE
iType = FMMC_TYPE_RACE
ELIF pauseMenuRoute[2] = PM_D3_JOIN_DM
iType = FMMC_TYPE_DEATHMATCH
ELIF pauseMenuRoute[2] = PM_D3_JOIN_CTF
iType = FMMC_TYPE_MISSION_CTF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_LTS
iType = FMMC_TYPE_MISSION_LTS
ELIF pauseMenuRoute[2] = PM_D3_JOIN_MISSION
iType = FMMC_TYPE_MISSION
ELIF pauseMenuRoute[2] = PM_D3_JOIN_VS
iType = FMMC_TYPE_MISSION_VS
ELIF pauseMenuRoute[2] = PM_D3_JOIN_NEW_VS
iType = FMMC_TYPE_MISSION_NEW_VS
// ELIF pauseMenuRoute[2] = PM_D3_JOIN_COOP
// iType = FMMC_TYPE_MISSION_COOP
ELIF pauseMenuRoute[2] = PM_D3_JOIN_SURVIVAL
iType = FMMC_TYPE_SURVIVAL
ELIF pauseMenuRoute[2] = PM_D3_JOIN_PARACHUTING
iType = FMMC_TYPE_BASE_JUMP
ELIF pauseMenuRoute[2] = PM_D3_JOIN_ARENA
iType = FMMC_TYPE_ARENA_SERIES
ELIF pauseMenuRoute[2] = PM_D3_JOIN_PLAYLIST
iType = FM_GAME_MODE_PLAYLIST
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_QUICK_PLAY_JOIN - iType = ", iType)
//PURPOSE: Find a transition session.
// If nActivityType is -1, we will find any open transition session (any activity)
// Otherwise, if nActivityID is 0, we will find any open transition of the type specified by nActivityType
// If matchmaking fails to find any results, we will host our own session if both nActivityType and nActivityID are valid.
//here
//IF NETWORK_DO_TRANSITION_QUICKMATCH(ENUM_TO_INT(GAMEMODE_FM), 0, iType, 0)
IF NOT bCleanupJobCall
SET_TRANSITION_SESSIONS_CLEAN_UP_ON_CALL_NOW_IF_NEEDED()
bCleanupJobCall = TRUE
ENDIF
IF NETWORK_IS_GAME_IN_PROGRESS()
IF NOT IS_SCREEN_FADED_OUT() //Added by Brenda 07/08/13
DO_SCREEN_FADE_OUT(0)
ENDIF
IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
IF IS_PLAYER_PLAYING(PLAYER_ID())
SET_PLAYER_WANTED_LEVEL(PLAYER_ID(), 0)
SET_PLAYER_WANTED_LEVEL_NOW(PLAYER_ID())
GAMER_HANDLE playerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
IF USE_SERVER_TRANSACTIONS()
TRIGGER_FIRE_AND_FORGET_SERVICE_TRANSACTION(SERVICE_SPEND_LOSE_WANTED_LEVEL, GET_CONTACT_REQUEST_COST(REQUEST_REMOVE_WANTED), iScriptTransactionIndex, DEFAULT, DEFAULT)
g_cashTransactionData[iScriptTransactionIndex].eExtraData.gamerHandle = playerHandle
ELSE
NETWORK_SPENT_BUY_WANTEDLEVEL(GET_CONTACT_REQUEST_COST(REQUEST_REMOVE_WANTED), playerHandle)
ENDIF
MPGlobalsAmbience.bBlockWantedLevelRP = TRUE
ENDIF
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_QUICK_PLAY_JOIN - DONE - MP - TYPE = ", iType)
SET_FRONTEND_ACTIVE(FALSE)
g_bMissionCreatorPauseMenuActive = FALSE // May not be the place to reset this.
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLEANUP)
NET_SET_PLAYER_CONTROL(PLAYER_ID(), FALSE, NSPC_NO_COLLISION | NSPC_FREEZE_POSITION)
CLEAR_MY_TRANSITION_SESSION_CONTENT_ID()
CLEAR_PAUSE_MENU_IS_USING_UGC()
SET_FM_JOB_ENTERY_TYPE(ciMISSION_ENTERY_TYPE_JOIN_PAUSE_MENU_MP)
CLEAR_TRANSITION_SESSIONS_PAUSE_MENU_QUICK_MATCH_TYPE()
PRINTLN("[TS] *****************************************************************")
PRINTLN("[TS] * Pause Menu - Selected Quickmatch - T - ", GET_CLOUD_TIME_AS_INT(), ", F - ", GET_FRAME_COUNT(), " *")
#IF USE_FINAL_PRINTS PRINTLN_FINAL("[TS] * Pause Menu - Selected Quickmatch - T - ", GET_CLOUD_TIME_AS_INT(), ", F - ", GET_FRAME_COUNT(), " *")#ENDIF
PRINTLN("[TS] *****************************************************************")
g_vInitialSpawnLocation = GET_ENTITY_COORDS(PLAYER_PED_ID(), FALSE)
PRINTLN("g_vInitialSpawnLocation = ", g_vInitialSpawnLocation)
//If we are waiting for on call to clean up then do this
IF SHOULD_TRANSITION_SESSIONS_CLEAN_UP_ON_CALL_NOW()
g_TransitionSessionNonResetVars.sTransVars.bCleanedUpAndWait = FALSE
PRINTLN("[TS] g_TransitionSessionNonResetVars.sTransVars.bCleanedUpAndWait = FALSE")
SET_TRANSITION_SESSIONS_PAUSE_MENU_QUICK_MATCH_TYPE(iType)
//If we are
ELSE
//Set the flag to say that I'm doing a quick match
SET_TRANSITION_SESSIONS_STARTING_QUICK_MATCH()
//Set the type of quick match
IF iType = -1
SET_TRANSITION_SESSIONS_QUICK_MATCH_TYPE_RANDOM()
ELIF iType = FM_GAME_MODE_PLAYLIST
SET_TRANSITION_SESSIONS_DOING_QUICK_MATCH_PLAYLIST()
ELSE
SET_TRANSITION_SESSIONS_QUICK_MATCH_TYPE(iType)
ENDIF
//Set that I need to warp to the start of the mission
SET_TRANSITION_SESSIONS_NEED_TO_WARP_TO_START_SKYCAM()
//Set freemode controller state
GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].iFmLauncherGameState = FMMC_LAUNCHER_STATE_LOAD_MISSION_FOR_TRANSITION_SESSION
NET_PRINT("BWW... SET_FM_LAUNCHER_PLAYER_GAME_STATE - FMMC_LAUNCHER_STATE_LOAD_MISSION_FOR_TRANSITION_SESSION") NET_NL()
SET_PLAYER_FORCING_OWN_INSTANCE_OF_CORONA()
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_QUICK_PLAY_JOIN - DONE - SP - TYPE = ", iType)
SET_PAUSE_MENU_REQUESTING_A_WARP()
SET_PAUSE_MENU_REQUESTING_A_NEW_SESSION()
SET_PAUSE_MENU_WARP_TO_MODE(GAMEMODE_FM)
SET_SOMETHING_QUITTING_MP(TRUE)
SET_CURRENT_TRANSITION_FM_MENU_CHOICE(FM_MENU_CHOICE_JOIN_NEW_SESSION)
SET_CURRENT_TRANSITION_FM_SESSION_MENU_CHOICE(FM_SESSION_MENU_CHOICE_JOIN_CLOSED_ME_ONLY)
SET_JOINING_GAMEMODE(GAMEMODE_FM)
HUD_CHANGE_STATE(HUD_STATE_LOADING)
TRANSITION_CHANGE_STATE(TRANSITION_STATE_LOOK_TO_JOIN_ANOTHER_SESSION_FM)
SET_FM_JOB_ENTERY_TYPE(ciMISSION_ENTERY_TYPE_JOIN_PAUSE_MENU_SP)
SET_FRONTEND_ACTIVE(FALSE)
g_bMissionCreatorPauseMenuActive = FALSE // May not be the place to reset this.
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLEANUP)
//Set the flag to say that I'm doing a quick match
SET_TRANSITION_SESSIONS_STARTING_QUICK_MATCH()
//Set the type of quick match
IF iType = -1
SET_TRANSITION_SESSIONS_QUICK_MATCH_TYPE_RANDOM()
ELIF iType = FM_GAME_MODE_PLAYLIST
SET_TRANSITION_SESSIONS_DOING_QUICK_MATCH_PLAYLIST()
ELSE
SET_TRANSITION_SESSIONS_QUICK_MATCH_TYPE(iType)
ENDIF
//Set that I need to warp to the start of the mission
SET_TRANSITION_SESSIONS_NEED_TO_WARP_TO_START()
//Clear old content ID
CLEAR_MY_TRANSITION_SESSION_CONTENT_ID()
//Set that I need to put the new freemode session back to max players
SET_TRANSITION_SESSION_NEEDS_TO_RESET_FM_PLAYER_SLOTS()
CLEAR_PAUSE_MENU_IS_USING_UGC()
g_FMMC_STRUCT.vStartPos = <<0.0, 0.0, 0.0>>
CPRINTLN(DEBUG_PAUSE_MENU, "g_FMMC_STRUCT.vStartPos = ", g_FMMC_STRUCT.vStartPos)
SET_PLAYER_FORCING_OWN_INSTANCE_OF_CORONA()
NET_SET_PLAYER_CONTROL(PLAYER_ID(), FALSE, NSPC_NO_COLLISION | NSPC_FREEZE_POSITION)
ENDIF
GRAB_PAUSEMENU_OWNERSHIP()
SET_SKYFREEZE_FROZEN()
// SET_SKYBLUR_BLURRY()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_QUICK_PLAY_JOIN - SET_SKYFREEZE_FROZEN")
//ENDIF
ENDPROC
// ****************************************************
BOOL bCanDisplayPlaylistMissionDetails = FALSE
PROC PROCESS_DEPTH_3()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_DEPTH_3")
IF iPauseMenuDepth = 3
BOOL bShowHelpText
BOOL bColumnOneUpdated = FALSE
BOOL bDataAvailable = FALSE
BOOL bActive = TRUE
BOOL bDrawJobMenu = TRUE
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_ALL_JOBS
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PROCESS_DEPTH_3 - PM_D1_ALL_JOBS")
SWITCH INT_TO_ENUM(ePM_D2_JOBS, pauseMenuRoute[1])
CASE PM_D2_AVAILABLE_JOBS
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PROCESS_DEPTH_3 - PM_D1_ALL_JOBS - PM_D2_AVAILABLE_JOBS")
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF HAVE_MY_JOBS_LOADED()
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions = 0
bDrawJobMenu = FALSE
SET_WARNING_MESSAGE_WITH_HEADER("PCARD_SYNC_ERROR_TITLE", "PM_NO_MJ_AL", FE_WARNING_CANCEL)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
OR NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE()
//IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
iPauseMenuDepth--
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
//ENDIF
ENDIF
ENDIF
ELSE
bDrawJobMenu = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF HAVE_BOOKMARKED_JOBS_LOADED()
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions = 0
//OR !RUN_NETWORK_CONTENT_CHECK()
bDrawJobMenu = FALSE
SET_WARNING_MESSAGE_WITH_HEADER("PCARD_SYNC_ERROR_TITLE", "PM_NO_BM_AL", FE_WARNING_CANCEL)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
OR NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE()
//IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
iPauseMenuDepth--
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
//ENDIF
ENDIF
ENDIF
ELSE
bDrawJobMenu = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
// bDrawJobMenu = FALSE
// bDataAvailable = TRUE
// bColumnOneUpdated = TRUE
IF HAVE_RECENTLY_PLAYED_JOBS_LOADED()
IF g_sRECENT_MISSION_HISTORY.iNumberOfMissions = 0
bDrawJobMenu = FALSE
SET_WARNING_MESSAGE_WITH_HEADER("PCARD_SYNC_ERROR_TITLE", "PM_NO_RP_AL", FE_WARNING_CANCEL)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
OR NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE()
//IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
iPauseMenuDepth--
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
//ENDIF
ENDIF
ENDIF
ELSE
bDrawJobMenu = FALSE
ENDIF
ENDIF
IF bDrawJobMenu
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PROCESS_DEPTH_3 - PM_D1_ALL_JOBS - PM_D2_AVAILABLE_JOBS - bColumnOneUpdated = TRUE")
CLEAR_PM_COLUMN(FIRST_COLUMN)
SET_UP_FIRST_COLUMN_ORDERING()
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_ARENA_WARS, CREATOR_MENU_ID, PM_D4_JOBS_ARENA_WARS, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE) AND NOT IS_THIS_A_SOLO_SESSION(), "PM_ARENA")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_STUNT_RACE, CREATOR_MENU_ID, PM_D4_JOBS_STUNT_RACE, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE), "PM_RC_STUNT")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_RACE, CREATOR_MENU_ID, PM_D4_JOBS_RACE, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE), "PM_TRACES")
IF g_sMPTunables.VC_ENABLE_KOTH
IF NOT g_sMPTunables.bToggleKingOfTheHillCreator
AND (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS))
//DONT ADD
ELSE
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_KING_OF_THE_HILL, CREATOR_MENU_ID, PM_D4_JOBS_KING_OF_THE_HILL, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)AND NOT IS_THIS_A_SOLO_SESSION(), "FMMC_RSTAR_KOT")
ENDIF
ENDIF
IF g_sMPTunables.bENABLE_TA_MENU
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_TARGET_ASSAULT, CREATOR_MENU_ID, PM_D4_JOBS_TARGET_ASSAULT, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE) AND NOT IS_THIS_A_SOLO_SESSION(), "RC_TARGASSAULT")
ENDIF
IF NOT IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)
OR IS_THIS_A_SOLO_SESSION()
bActive = FALSE
ELSE
bActive = TRUE
ENDIF
IF NOT g_sMPTunables.bToggleSurvivalCreator
AND (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED))
//DONT ADD
ELSE
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_SURVIVAL, CREATOR_MENU_ID, PM_D4_JOBS_SURVIVAL, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_SURVIVAL), "PM_TSURV")
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_DEATHMATCH, CREATOR_MENU_ID, PM_D4_JOBS_DEATHMATCH, bActive, "PM_TDMS")
IF pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
//**TWH - CMcM - #1429467 - Removed Survival, Parachuting and Mission from the Rockstar Verified section of Available Jobs.
AND pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
AND pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_BASE_JUMP, CREATOR_MENU_ID, PM_D4_JOBS_BASE_JUMP, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_BASE_JUMP) AND g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_BASE_JUMP] > 0, "PM_TBSJUMP")
ENDIF
//CAPTURE / CTF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_CTF, CREATOR_MENU_ID, PM_D4_JOBS_CTF, (HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID()) AND !IS_THIS_A_SOLO_SESSION()), "PM_TCTF")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_LTS, CREATOR_MENU_ID, PM_D4_JOBS_LTS, (HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID()) AND !IS_THIS_A_SOLO_SESSION()), "PM_TLTS")
IF pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
//**TWH - CMcM - #1429467 - Removed Survival, Parachuting and Mission from the Rockstar Verified section of Available Jobs.
AND pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
AND pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF NOT HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
OR IS_THIS_A_SOLO_SESSION()
bActive = FALSE
ELSE
bActive = TRUE
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_MISSION, CREATOR_MENU_ID, PM_D4_JOBS_MISSION, bActive, "PM_TMISSIONS")
IF NOT HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
OR IS_THIS_A_SOLO_SESSION()
OR g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_VS] <= 0
bActive = FALSE
ELSE
bActive = TRUE
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_VS, CREATOR_MENU_ID, PM_D4_JOBS_VS, bActive, "PM_TVS")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_NEW_VS, CREATOR_MENU_ID, PM_D4_JOBS_NEW_VS, bActive, "PM_TNEWVS")
//MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D4_JOBS_COOP, CREATOR_MENU_ID, PM_D4_JOBS_COOP, bActive, "PM_TBCOOP")
ENDIF
bDataAvailable = TRUE
bColumnOneUpdated = TRUE
ENDIF
BREAK
ENDSWITCH
BREAK
CASE PM_D1_PLAYLISTS
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_CREATE_PLAYLIST
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_STUNT_RACE
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_RACE, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RACE
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_RACE, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DEATHMATCH
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_DEATHMATCH, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_SURVIVAL
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_SURVIVAL, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_BASE_JUMP
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_BASE_JUMP, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_CTF
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_MISSION, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_LTS
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_MISSION, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MISSION
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_MISSION, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_VS
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_MISSION, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION
bColumnOneUpdated = UPDATE_YOUR_MISSIONS(bDataAvailable, FIRST_COLUMN)
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_TARGET_ASSAULT
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_RACE, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_ARENA_WARS
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(-1, bDataAvailable)
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL
bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_DEATHMATCH, bDataAvailable)
bCanDisplayPlaylistMissionDetails = bDataAvailable
// bColumnOneUpdated = UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_SURVIVAL_SERIES, bDataAvailable)
// bCanDisplayPlaylistMissionDetails = bDataAvailable
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED
bColumnOneUpdated = UPDATE_BOOKMARKED_JOBS(bDataAvailable, FIRST_COLUMN, -1, FALSE, TRUE)
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RECENT
bColumnOneUpdated = UPDATE_RECENTLY_PLAYED_MISSIONS(bDataAvailable)
ENDIF
BREAK
CASE PM_D2_PLAYLISTS
CLEAR_PM_COLUMN(SECOND_COLUMN)
bColumnOneUpdated = UPDATE_CHOSEN_PLAYLIST(bDataAvailable, sGetUGC_content, ENUM_TO_INT(PM_D2_PLAYLISTS))
BREAK
CASE PM_D2_DOWNLOADED_PLAYLISTS
CLEAR_PM_COLUMN(SECOND_COLUMN)
bColumnOneUpdated = UPDATE_CHOSEN_PLAYLIST(bDataAvailable, sGetUGC_contentBookmarkedPlaylist, ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS))
BREAK
CASE PM_D2_ROCKSTAR_PLAYLISTS
CLEAR_PM_COLUMN(SECOND_COLUMN)
bColumnOneUpdated = UPDATE_CHOSEN_PLAYLIST(bDataAvailable, sGetUGC_contentRockstarPlaylist, ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS))
BREAK
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
CLEAR_PM_COLUMN(SECOND_COLUMN)
bColumnOneUpdated = UPDATE_CHOSEN_PLAYLIST(bDataAvailable, sGetUGC_contentRockstarPlaylist, ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS))
BREAK
ENDSWITCH
BREAK
/*CASE PM_D1_JOBS
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D1_JOBS - CHECK A3")
bColumnOneUpdated = TRUE
BREAK*/
ENDSWITCH
IF bColumnOneUpdated
//...data loaded, clear columns
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_DEPTH_3 - CLEAR_PAUSE_MENU_BUSY_COLUMNS - A")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
SHOW_PM_COLUMN(FIRST_COLUMN)
IF bDataAvailable
IF NOT bDoUpdateOnly
PM_DISPLAY_DATA_SLOT(FIRST_COLUMN)
ENDIF
PAUSE_MENU_COLUMN_UPDATED(FIRST_COLUMN)
bDoUpdateOnly = FALSE
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU PROCESS_DEPTH_3 - bDoUpdateOnly = FALSE")
ELSE
IF !(pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST))
iPauseMenuDepth--
ELSE
ENDIF
ENDIF
ELSE
//...set column busy if not already
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(0)
HIDE_PM_COLUMN(FIRST_COLUMN)
HIDE_PM_COLUMN(SECOND_COLUMN)
IF bShowHelpText = FALSE
HIDE_PAUSE_MENU_HELP_TEXT()
ENDIF
PAUSE_MENU_SET_COLUMN_BUSY(1, TRUE)
CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
//CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY LOADING SPINNER - DEPTH 3")
ENDIF
ENDIF
ENDIF
ENDPROC
PROC PROCESS_DEPTH_2()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_DEPTH_2")
BOOL bInDebug = FALSE
#IF IS_DEBUG_BUILD
bInDebug = TRUE
#ENDIF
IF iPauseMenuDepth = 2
BOOL bColumnOneUpdated = FALSE
BOOL bColumnTwoBusy = FALSE
BOOL bDataAvailable = TRUE
BOOL bDrawCreateMenu = TRUE
// Find which node we are at and update our first column accordingly
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MISSION_CREATOR
SWITCH INT_TO_ENUM(ePM_D2_MISSIONS, pauseMenuRoute[1])
CASE PM_D2_CREATE_MISSIONS
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_MISSION), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_MISSION), TRUE, "PM_CREATE_MISS")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_DM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_DM), TRUE, "PM_CREATE_DM")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_TDM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_TDM), TRUE, "PM_CREATE_TDM")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_VDM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_VDM), TRUE, "PM_CREATE_VDM")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_TVDM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_TVDM), TRUE, "PM_CREATE_TVDM")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_LRACE), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_LRACE), TRUE, "PM_CREATE_LRACE")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_SRACE), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_SRACE), TRUE, "PM_CREATE_SRACE")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_ARACE), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_ARACE), TRUE, "PM_CREATE_ARACE")
IF IS_ROCKSTAR_DEV()
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_SURV), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_SURV), TRUE, "PM_CREATE_SURV")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_HIDE), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_HIDE), TRUE, "PM_CREATE_HIDE")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_SMUG), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_SMUG), TRUE, "PM_CREATE_SMUG")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_CREATE_BJUMP), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_CREATE_BJUMP), TRUE, "PM_CREATE_BJUMP")
ENDIF
bColumnOneUpdated = TRUE
BREAK
CASE PM_D2_EDIT_MISSIONS
// Need to update second / third columns
bColumnOneUpdated = TRUE
BREAK
CASE PM_D2_PUBLISH_MISSIONS
// Need to update second / third columns
bColumnOneUpdated = TRUE
BREAK
CASE PM_D2_CREATOR_TUTORIALS
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_MISSION_TUTORIAL), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_MISSION_TUTORIAL), TRUE, "PM_TUT_MISS")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_DM_TUTORIAL), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_DM_TUTORIAL), TRUE, "PM_TUT_DM")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D3_RACE_TUTORIAL), CREATOR_MENU_ID, ENUM_TO_INT(PM_D3_RACE_TUTORIAL), TRUE, "PM_TUT_RACE")
bColumnOneUpdated = TRUE
BREAK
ENDSWITCH
BREAK
CASE PM_D1_ALL_JOBS
//bColumnOneUpdated = TRUE
SWITCH INT_TO_ENUM(ePM_D2_JOBS, pauseMenuRoute[1])
CASE PM_D2_QUICK_JOBS
CLEAR_PM_COLUMN(FIRST_COLUMN)
//**TWH - CMcM - 1465210 - Revised active checks for Quick Match options.
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_RAND, CREATOR_MENU_ID, PM_D3_JOIN_RAND, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_RACE)=0 AND (DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_RACE) OR DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_DEATHMATCH)) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_RAND")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_RACE, CREATOR_MENU_ID, PM_D3_JOIN_RACE, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_RACE)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_RACE))AND !IS_THIS_A_SOLO_SESSION(), "PM_JOIN_RACE")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_DM, CREATOR_MENU_ID, PM_D3_JOIN_DM, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_DEATHMATCH)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_DEATHMATCH) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_DM")
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_CTF] > 0
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_CTF, CREATOR_MENU_ID, PM_D3_JOIN_CTF, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_MISSION)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_MISSION) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_CTF")
ENDIF
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_LTS] > 0
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_LTS, CREATOR_MENU_ID, PM_D3_JOIN_LTS, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_MISSION)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_MISSION) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_LTS")
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_MISSION, CREATOR_MENU_ID, PM_D3_JOIN_MISSION, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_MISSION)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_MISSION) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_MISS")
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_VS] > 0
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_VS, CREATOR_MENU_ID, PM_D3_JOIN_VS, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_MISSION)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_MISSION) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_VS")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_NEW_VS, CREATOR_MENU_ID, PM_D3_JOIN_NEW_VS, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_MISSION)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_MISSION) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_NEW_VS")
ENDIF
//MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_COOP, CREATOR_MENU_ID, PM_D3_JOIN_COOP, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_MISSION)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_MISSION) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_COOP")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_SURVIVAL, CREATOR_MENU_ID, PM_D3_JOIN_SURVIVAL, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_SURVIVAL)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_SURVIVAL) AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_SURV")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_PARACHUTING, CREATOR_MENU_ID, PM_D3_JOIN_PARACHUTING, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_BASE_JUMP)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_BASE_JUMP)), "PM_JOIN_PARA")
//**TWH - CMcM - 1464995 - Consolidated active checks for Quick Match playlist option.
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_ARENA, CREATOR_MENU_ID, PM_D3_JOIN_ARENA, (CAN_DO_QUICK_MATCH(iGarageCheck, FMMC_TYPE_RACE)=0 AND DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_RACE)AND !IS_THIS_A_SOLO_SESSION()), "PM_JOIN_AREN")
BOOL bAvailable
bAvailable = TRUE
IF NOT DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_RACE) //IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
OR NOT DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_DEATHMATCH) //IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)
OR NOT DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_MISSION) //IS_FM_TYPE_UNLOCKED(FMMC_TYPE_MISSION)
OR NOT DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_SURVIVAL) //IS_FM_TYPE_UNLOCKED(FMMC_TYPE_SURVIVAL)
OR NOT DONE_UNLOCK_PHONECALL_FOR_ACTIVITY(FMMC_TYPE_BASE_JUMP) //IS_FM_TYPE_UNLOCKED(FMMC_TYPE_BASE_JUMP)
OR IS_THIS_A_SOLO_SESSION()
bAvailable = FALSE
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOIN_PLAYLIST, CREATOR_MENU_ID, PM_D3_JOIN_PLAYLIST, bAvailable, "PM_JOIN_PLYL")
bColumnOneUpdated = TRUE
BREAK
CASE PM_D2_AVAILABLE_JOBS
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_MY_MISSIONS, CREATOR_MENU_ID, PM_D3_JOBS_MY_MISSIONS, !NETWORK_PLAYER_IS_CHEATER(), "PM_PUBLISHED")
//**TWH - CMcM - #1221645 - Added support for Bobby's commandline parameter and also a checkbox widget to toggle between final and candidate missions.
IF SHOULD_USE_ROCKSTAR_CANDIDATE_MISSIONS()
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_ROCKSTAR_CREATED, CREATOR_MENU_ID, PM_D3_JOBS_ROCKSTAR_CREATED, TRUE, "PM_R_CREATEDC")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_ROCKSTAR_VERIFIED, CREATOR_MENU_ID, PM_D3_JOBS_ROCKSTAR_VERIFIED, TRUE, "PM_R_VERIFIEDC")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_COMMUNITY_JOBS, CREATOR_MENU_ID, PM_D3_JOBS_COMMUNITY_JOBS, TRUE, "FMMC_RSTAR_COMPC")
ELSE
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_ROCKSTAR_CREATED, CREATOR_MENU_ID, PM_D3_JOBS_ROCKSTAR_CREATED, TRUE, "PM_R_CREATED")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_ROCKSTAR_VERIFIED, CREATOR_MENU_ID, PM_D3_JOBS_ROCKSTAR_VERIFIED, TRUE, "PM_R_VERIFIED")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_COMMUNITY_JOBS, CREATOR_MENU_ID, PM_D3_JOBS_COMMUNITY_JOBS, TRUE, "FMMC_RSTAR_COMP")
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_DOWNLOADED, CREATOR_MENU_ID, PM_D3_JOBS_DOWNLOADED, TRUE, "PM_DOWNLOADED")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_RECENTLY_PLAYED, CREATOR_MENU_ID, PM_D3_JOBS_RECENTLY_PLAYED, TRUE, "PM_INF_AJ2T5")
IF bInDebug
//MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_JOBS_ROCKSTAR_CANDIDATE, CREATOR_MENU_ID, PM_D3_JOBS_ROCKSTAR_CANDIDATE, TRUE, "PM_R_CANDIDATE")
ENDIF
bColumnOneUpdated = TRUE
BREAK
CASE PM_D2_REPORT_JOB
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
BREAK
ENDSWITCH
BREAK
CASE PM_D1_PLAYLISTS
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_CREATE_PLAYLIST
IF HAVE_PLAYLISTS_LOADED()
IF iPauseMenuItemStored != PM_D3_PLAYLIST_EDIT_PLAYLIST
IF HAS_PLAYER_HIT_PLAYLIST_LIMIT()
bDrawCreateMenu = FALSE
SET_WARNING_MESSAGE_WITH_HEADER("PCARD_SYNC_ERROR_TITLE", "PM_PL_LIMIT", FE_WARNING_CANCEL)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
OR NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE()
//IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
iPauseMenuDepth--
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
//ENDIF
ENDIF
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - iPauseMenuItemStored = PM_D3_PLAYLIST_EDIT_PLAYLIST")
ENDIF
ELSE
IF iMyPlaylistFailReason > -1
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
ENDIF
bDrawCreateMenu = FALSE
ENDIF
IF bDrawCreateMenu
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_STUNT_RACE, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_STUNT_RACE, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE), "PM_INF_SR_T")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_RACE, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_RACE, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE), "PM_ADD_RACES")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_DEATHMATCH, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_DEATHMATCH, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH), "PM_ADD_DMS")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_SURVIVAL, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_SURVIVAL, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_SURVIVAL), "PM_ADD_SURV")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_BASE_JUMP, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_BASE_JUMP, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_BASE_JUMP), "PM_ADD_BSJUMP")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_CTF, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_CTF, HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID()), "PM_ADD_CTF")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_LTS, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_LTS, HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID()), "PM_ADD_LTS")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_MISSION, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_MISSION, HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID()), "PM_ADD_MISSIONS")
IF g_sMPTunables.bENABLE_TA_MENU
AND g_sMPTunables.bENABLE_AC_ASSAULT_RACE_CREATOR
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_TARGET_ASSAULT, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_TARGET_ASSAULT, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE), "PM_INF_TAR_ADD")
ELIF g_sMPTunables.bENABLE_TA_MENU
AND pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
AND NOT g_sMPTunables.bENABLE_AC_ASSAULT_RACE_CREATOR
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_TARGET_ASSAULT, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_TARGET_ASSAULT, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE), "PM_INF_TAR_ADD")
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_ARENA_WARS, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_ARENA_WARS, TRUE, "PM_ARE_ADD")
IF g_sMPTunables.VC_ENABLE_KOTH
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL, TRUE, "PM_King_ADD")
ENDIF
//MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_VS, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_VS, IS_FM_TYPE_UNLOCKED(FMMC_TYPE_MISSION), "PM_ADD_VS")
// Removed for DLC
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_MY_MISSION, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_MY_MISSION, TRUE, "PM_ADD_MYMIS")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_DOWNLOADED, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_DOWNLOADED, TRUE, "PM_ADD_BOOKMARK")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_ADD_RECENT, CREATOR_MENU_ID, PM_D3_PLAYLIST_ADD_RECENT, TRUE, "PM_ADD_RECENT")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_EDIT_PLAYLIST, CREATOR_MENU_ID, PM_D3_PLAYLIST_EDIT_PLAYLIST, (g_sMenuPlayListDetails.iLength > 0), "PM_EDIT_PLIST")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D3_PLAYLIST_SAVE_PLAYLIST, CREATOR_MENU_ID, PM_D3_PLAYLIST_SAVE_PLAYLIST, (SCRIPT_IS_CLOUD_AVAILABLE() AND (g_sMenuPlayListDetails.iLength > 0)), "PM_SAVE_PLIST")
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
ENDIF
BREAK
CASE PM_D2_PLAYLISTS
bDataAvailable = bMyPlaylistDataAvailable
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PROCESS_DEPTH_2 - PM_D2_PLAYLISTS - bColumnOneUpdated = TRUE")
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
BREAK
CASE PM_D2_DOWNLOADED_PLAYLISTS
bDataAvailable = bBookmarkedPlaylistDataAvailable
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
BREAK
CASE PM_D2_ROCKSTAR_PLAYLISTS
bDataAvailable = bRockstarPlaylistDataAvailable
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
BREAK
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
bDataAvailable = bRockstarVerifiedPlaylistDataAvailable
bColumnOneUpdated = TRUE
bColumnTwoBusy = TRUE
BREAK
ENDSWITCH
BREAK
ENDSWITCH
IF bColumnOneUpdated
//...data loaded, clear columns
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - B")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
SHOW_PM_COLUMN(FIRST_COLUMN)
IF bColumnTwoBusy
SHOW_PM_COLUMN(SECOND_COLUMN)
ENDIF
IF bDataAvailable
PM_DISPLAY_DATA_SLOT(FIRST_COLUMN)
PAUSE_MENU_COLUMN_UPDATED(FIRST_COLUMN)
ELSE
CLEAR_PM_COLUMN(FIRST_COLUMN)
ENDIF
ELSE
IF bColumnTwoBusy
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(2)
HIDE_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_SET_COLUMN_BUSY(2, TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY LOADING SPINNER - COLUMN 2 - DEPTH 2 - A")
ENDIF
ELSE
//...set column busy if not already
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(1)
HIDE_PM_COLUMN(FIRST_COLUMN)
HIDE_PM_COLUMN(SECOND_COLUMN)
HIDE_PAUSE_MENU_HELP_TEXT()
PAUSE_MENU_SET_COLUMN_BUSY(1, TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY LOADING SPINNER - DEPTH 2")
ENDIF
ENDIF
ENDIF
ELSE
PROCESS_DEPTH_3()
ENDIF
ENDPROC
PROC PROCESS_DEPTH_1()
INT iPlaylistMenu
BOOL bActive = TRUE
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU PROCESS_DEPTH_1")
IF iPauseMenuDepth = 1
BOOL bColumnOneUpdated = FALSE
iPauseMenuItemStored = 0
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_ALL_JOBS
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_QUICK_JOBS), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_QUICK_JOBS), (CAN_DO_AVAILABLE_JOBS() = 0), "PM_QUICK_PLAY")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_AVAILABLE_JOBS), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_AVAILABLE_JOBS), (CAN_DO_AVAILABLE_JOBS() = 0), "PM_MISSIONS")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_REPORT_JOB), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_REPORT_JOB), (!PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("REPORT_DISABLED")) AND !IS_A_SPECTATOR_CAM_ACTIVE() AND !IS_PLAYER_BROWSING_ITEMS_IN_ANY_SHOP() #IF FEATURE_COPS_N_CROOKS AND GET_ARCADE_MODE() != ARC_COPS_CROOKS #ENDIF ) , "PM_REPORT")
bColumnOneUpdated = TRUE
BREAK
CASE PM_D1_PLAYLISTS
CLEAR_PM_COLUMN(FIRST_COLUMN)
iPlaylistMenu = 0
bActive = TRUE
IF CAN_DO_QUICK_MATCH(iGarageCheck) != 0
//OR IS_SELECT_AVAILABLE() != 0
OR IS_THIS_A_SOLO_SESSION()
bActive = FALSE
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, bActive, "PM_MY_PLIST") //PM_D2_PLAYLISTS //HAVE_PLAYLISTS_LOADED()
iPlaylistMenu++
MP_SET_DATA_SLOT(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, bActive, "PM_CREATE") //PM_D2_CREATE_PLAYLIST //!HAS_PLAYER_HIT_PLAYLIST_LIMIT()
iPlaylistMenu++
MP_SET_DATA_SLOT(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, bActive, "PM_DLOAD_PLIST")//PM_D2_DOWNLOADED_PLAYLISTS
iPlaylistMenu++
MP_SET_DATA_SLOT(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, bActive, "PM_R_PLIST")//PM_D2_ROCKSTAR_PLAYLISTS
iPlaylistMenu++
//Removed for DLC
// MP_SET_DATA_SLOT(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, bActive, "PM_R_V_PLIST")//PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
// iPlaylistMenu++
// bActive = TRUE
// IF !AM_I_ABLE_TO_PLAY_MORE_CHALLENGES_TODAY_PLEASE()
// OR CAN_DO_QUICK_MATCH(iGarageCheck) != 0
// OR IS_THIS_A_SOLO_SESSION()
// OR !IS_LOCAL_PLAYER_IN_ACTIVE_CLAN()
// OR GET_PLAYER_RANK(PLAYER_ID()) < 5
// OR g_sMPTunables.bdisable_challenges
// bActive = FALSE
// ENDIF
// MP_SET_DATA_SLOT(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, bActive, "PM_AVAIL_CHALL")//PM_D2_CHALLENGES
// iPlaylistMenu++
bActive = TRUE
IF CAN_DO_QUICK_MATCH(iGarageCheck) != 0
OR !IS_EVENT_PLAYLIST_ACTIVE_BY_TYPE(ciQUALIFING_TOURNAMENT_PLAYLIST)
OR IS_THIS_A_SOLO_SESSION()
bActive = FALSE
ENDIF
MP_SET_DATA_SLOT(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, bActive, "PM_QUAL_PLIST") // PM_D2_QUALIFYING_PLAYLISTS
iPlaylistMenu++
MP_SET_DATA_SLOT_SETTING(FIRST_COLUMN, iPlaylistMenu, CREATOR_MENU_ID, iPlaylistMenu, "PM_SHUFFLE", PICK_STRING(IS_SHUFFLE_PLAYLIST_OPTION_ON(), "PM_ON", "PM_OFF"))//PM_D2_SHUFFLE_PLAYLIST
bColumnOneUpdated = TRUE
BREAK
/*CASE PM_D1_UNLOCKS
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D2_GENERAL_UNLOCKS, CREATOR_MENU_ID, PM_D2_GENERAL_UNLOCKS, TRUE, "PM_UL_D0")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D2_PROGRESS_UNLOCKS, CREATOR_MENU_ID, PM_D2_PROGRESS_UNLOCKS, TRUE, "PM_UL_D1")
MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D2_CONTENT_UNLOCKS, CREATOR_MENU_ID, PM_D2_CONTENT_UNLOCKS, TRUE, "PM_UL_D2")
bColumnOneUpdated = TRUE
BREAK*/
CASE PM_D1_ENTER_MP
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_GO), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_GO), TRUE, "PM_GO")
//MP_SET_DATA_SLOT(FIRST_COLUMN, PM_D2_CREW_FM, CREATOR_MENU_ID, PM_D2_CREW_FM, TRUE, "PM_NCREW_FM")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_INVITE_ONLY_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_INVITE_ONLY_FM), TRUE, "PM_INVO_FM")
//**TWH - CMcM - #1416411 - Greyed out and disabled Crew options when the player didn’t have a crew. Had to update MP_SET_DATA_SLOT_SETTING_INT to allow inactive entries.
MP_SET_DATA_SLOT_SETTING_INT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_CREW_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_CREW_FM), "PM_NCREW_FM", GET_MP_SESSION_CREWS_NUM(), IS_LOCAL_PLAYER_IN_ACTIVE_CLAN())
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_CLOSED_CREW_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_CLOSED_CREW_FM), IS_LOCAL_PLAYER_IN_ACTIVE_CLAN(), "PM_CREW_FM")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_CLOSED_FRIEND_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_CLOSED_FRIEND_FM), TRUE, "PM_FRIEND_FM")
IF NOT g_sMPTunables.bdisable_solo_session
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_SOLO_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_SOLO_FM), TRUE, "PM_SOLO_FM")
ENDIF
IF IS_ROCKSTAR_DEV()
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_CLOSED_SCTV), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_CLOSED_SCTV), TRUE, "PM_CLOSED_SCTV")
ENDIF
bColumnOneUpdated = TRUE
BREAK
//#IF FEATURE_GEN9_STANDALONE
CASE PM_D1_FIND_NEW_SESS
CLEAR_PM_COLUMN(FIRST_COLUMN)
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_PUBLIC_SESSION), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_PUBLIC_SESSION), TRUE, "UI_FLOW_SO_PBLCSESH_M")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_INVITE_ONLY_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_INVITE_ONLY_FM), TRUE, "UI_FLOW_SO_INVT_M")
MP_SET_DATA_SLOT_SETTING_INT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_CREW_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_CREW_FM), "UI_FLOW_SO_CRWSESH_M", GET_MP_SESSION_CREWS_NUM(), IS_LOCAL_PLAYER_IN_ACTIVE_CLAN())
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_CLOSED_CREW_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_CLOSED_CREW_FM), IS_LOCAL_PLAYER_IN_ACTIVE_CLAN(), "UI_FLOW_SO_CLSDCRW_M")
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_CLOSED_FRIEND_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_CLOSED_FRIEND_FM), TRUE, "UI_FLOW_SO_CLSDFRND_M")
IF NOT g_sMPTunables.bdisable_solo_session
MP_SET_DATA_SLOT(FIRST_COLUMN, ENUM_TO_INT(PM_D2_SOLO_FM), CREATOR_MENU_ID, ENUM_TO_INT(PM_D2_SOLO_FM), TRUE, "UI_FLOW_SO_SOLO_M")
ENDIF
bColumnOneUpdated = TRUE
BREAK
//#ENDIF // FEATURE_GEN9_STANDALONE
ENDSWITCH
IF bColumnOneUpdated
/////iPauseMenuItemSelected = 0
PM_DISPLAY_DATA_SLOT(FIRST_COLUMN)
PAUSE_MENU_COLUMN_UPDATED(FIRST_COLUMN)
ENDIF
ELSE
PROCESS_DEPTH_2()
ENDIF
ENDPROC
/// PURPOSE: Returns TRUE when all user published missions have been displayed
FUNC BOOL UPDATE_PUBLISHED_MISSIONS(BOOL &bDataAvailable)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Updating second column to show user published missions")
CLEAR_MISSION_CREATOR_COLUMNS()
bDataAvailable = FALSE
// TODO: Should read in your published missions and display
RETURN TRUE
ENDFUNC
FUNC BOOL SHOULD_FLOW_MISSION_BE_AVALIABLE(INT iArray, INT iMissionType)
IF iMissionType != FMMC_TYPE_MISSION
RETURN FALSE
ENDIF
IF g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArray].iSubType = FMMC_MISSION_TYPE_FLOW_MISSION
CPRINTLN(DEBUG_PAUSE_MENU, "SHOULD_FLOW_MISSION_BE_AVALIABLE - g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArray].iSubType = FMMC_MISSION_TYPE_FLOW_MISSION, ", g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArray].tlMissionName)
IF FM_LOW_FLOW_HAS_BEEN_COMPLETED()
AND NOT FM_FLOW_IS_THIS_A_MISSION_A_MP_FLOW_MISSION_SECOND_PART(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iArray].iRootContentIdHash)
CPRINTLN(DEBUG_PAUSE_MENU, "SHOULD_FLOW_MISSION_BE_AVALIABLE - FM_LOW_FLOW_HAS_BEEN_COMPLETED")
CPRINTLN(DEBUG_PAUSE_MENU, "SHOULD_FLOW_MISSION_BE_AVALIABLE - GET_FM_STRAND_PROGRESS(ciFLOW_STRAND_LOW_RIDER) = ", GET_FM_STRAND_PROGRESS(ciFLOW_STRAND_LOW_RIDER))
CPRINTLN(DEBUG_PAUSE_MENU, "SHOULD_FLOW_MISSION_BE_AVALIABLE - GET_FM_STRAND_CALL_PROGRESS(ciFLOW_STRAND_LOW_RIDER) = ", GET_FM_STRAND_CALL_PROGRESS(ciFLOW_STRAND_LOW_RIDER))
CPRINTLN(DEBUG_PAUSE_MENU, "SHOULD_FLOW_MISSION_BE_AVALIABLE - HAS_FM_MISSION_FLOW_STRAND_BEEN_COMPLEATED(ciFLOW_STRAND_LOW_RIDER) = ", HAS_FM_MISSION_FLOW_STRAND_BEEN_COMPLEATED(ciFLOW_STRAND_LOW_RIDER))
IF GET_FM_STRAND_PROGRESS(ciFLOW_STRAND_LOW_RIDER) = 0
AND GET_FM_STRAND_CALL_PROGRESS(ciFLOW_STRAND_LOW_RIDER) = 0
OR HAS_FM_MISSION_FLOW_STRAND_BEEN_COMPLEATED(ciFLOW_STRAND_LOW_RIDER, TRUE)
RETURN TRUE
ENDIF
ENDIF
ENDIF
RETURN (g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArray].iType != FMMC_TYPE_MISSION AND g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArray].iSubType != FMMC_MISSION_TYPE_FLOW_MISSION)
ENDFUNC
FUNC BOOL IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION(INT iArrayPos)
IF GET_PLAYER_RANK(PLAYER_ID()) >= g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArrayPos].iRank
RETURN TRUE
ENDIF
IF IS_THIS_ROOT_CONTENT_ID_A_FIXER_SHORT_TRIP(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iArrayPos].iRootContentIdHash)
AND g_sMPTunables.bENABLE_FIXER_COOP_PAUSEMENU
PRINTLN("IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION True. This is a Short trip and g_sMPTunables.bENABLE_FIXER_COOP_PAUSEMENU = ", g_sMPTunables.bENABLE_FIXER_COOP_PAUSEMENU)
//IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArrayPos].iBitSet, ciROCKSTAR_CREATED_MISSION_IN_USE)
g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArrayPos].iRank = 0
PRINTLN("IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION FIX_FOR_7522269 applied.g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iMissionDecHash = ", g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iArrayPos].iRootContentIdHash)
//ENDIF
RETURN TRUE
ENDIF
IF IS_THIS_ROOT_CONTENT_ID_A_ULP_MISSION(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iArrayPos].iRootContentIdHash)
IF HAS_LOCAL_PLAYER_COMPLETED_ALL_ULP_MISSIONS_AS_LEADER()
g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArrayPos].iRank = 0
RETURN TRUE
ENDIF
ENDIF
#IF FEATURE_DLC_2_2022
IF IS_THIS_ROOT_CONTENT_ID_A_XMAS22_STORY_PART_ONE_MISSION(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iArrayPos].iRootContentIdHash)
AND IS_XMAS22_STORY_MISSION_PART_ONE_ENABLED()
AND HAS_LOCAL_PLAYER_COMPLETED_ALL_XMAS22_STORY_PART_ONE_MISSIONS_AS_LEADER()
g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArrayPos].iRank = 0
RETURN TRUE
ENDIF
IF IS_THIS_ROOT_CONTENT_ID_A_XMAS22_STORY_PART_TWO_MISSION(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iArrayPos].iRootContentIdHash)
AND IS_XMAS22_STORY_MISSION_PART_TWO_ENABLED()
AND HAS_LOCAL_PLAYER_COMPLETED_ALL_XMAS22_STORY_MISSIONS_AS_LEADER()
g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iArrayPos].iRank = 0
RETURN TRUE
ENDIF
#ENDIF
RETURN FALSE
ENDFUNC
FUNC BOOL SHOULD_ROCKSTAR_CREATED_JOB_BE_HIDDEN_FROM_PAUSE_MENU_JOB_LIST(INT iRootContentIDHash)
IF CV2_IS_THIS_ROOT_CONTENT_A_CORONA_FLOW_PROFESSIONAL_JOB(iRootContentIDHash)
OR SVM_FLOW_IS_MISSION_SVM_FLOW_FROM_ROOT_ID(iRootContentIDHash)
OR WVM_FLOW_IS_MISSION_WVM_FLOW_FROM_ROOT_ID(iRootContentIDHash)
OR GANGOPS_FLOW_IS_A_GANGOPS_MISSION_FROM_ROOT_ID(iRootContentIDHash)
OR IS_THIS_MISSION_A_CASINO_HEIST_MISSION(iRootContentIDHash)
OR IS_THIS_MISSION_A_HEIST_ISLAND_MISSION(iRootContentIDHash)
OR IS_THIS_MISSION_A_TUNER_ROBBERY_FINALE(iRootContentIDHash)
OR IS_THIS_ROOT_CONTENT_ID_A_FIXER_STORY_MISSION(iRootContentIDHash)
RETURN TRUE
ENDIF
IF VCM_FLOW_IS_THIS_MISSION_VCM_FLOW(iRootContentIDHash)
AND NOT HAS_LOCAL_PLAYER_UNLOCKED_VCM_REPLAY()
RETURN TRUE
ENDIF
IF IS_THIS_ROOT_CONTENT_ID_A_YACHT_MISSION(iRootContentIDHash)
AND NOT HAS_LOCAL_PLAYER_COMPLETED_ALL_YACHT_MISSIONS_AS_LEADER()
RETURN TRUE
ENDIF
IF IS_THIS_ROOT_CONTENT_ID_A_FIXER_SHORT_TRIP(iRootContentIDHash)
AND NOT g_sMPTunables.bENABLE_FIXER_COOP_PAUSEMENU
RETURN TRUE
ENDIF
IF CV2_IS_THIS_ROOT_CONTENT_A_CORONA_FLOW_PURSUIT_SERIES(iRootContentIDHash)
OR CV2_IS_THIS_ROOT_CONTENT_A_CORONA_FLOW_STREET_RACE_SERIES(iRootContentIDHash)
IF IS_THIS_A_SOLO_SESSION()
RETURN TRUE
ENDIF
ENDIF
#IF FEATURE_DLC_1_2022
IF IS_THIS_ROOT_CONTENT_ID_A_ULP_MISSION(iRootContentIDHash)
AND NOT HAS_LOCAL_PLAYER_COMPLETED_ALL_ULP_MISSIONS_AS_LEADER()
RETURN TRUE
ENDIF
#ENDIF
#IF FEATURE_DLC_2_2022
IF IS_THIS_ROOT_CONTENT_ID_A_XMAS22_STORY_PART_ONE_MISSION(iRootContentIDHash)
AND (NOT IS_XMAS22_STORY_MISSION_PART_ONE_ENABLED() OR NOT HAS_LOCAL_PLAYER_COMPLETED_ALL_XMAS22_STORY_PART_ONE_MISSIONS_AS_LEADER())
RETURN TRUE
ENDIF
IF IS_THIS_ROOT_CONTENT_ID_A_XMAS22_STORY_PART_TWO_MISSION(iRootContentIDHash)
AND (NOT IS_XMAS22_STORY_MISSION_PART_TWO_ENABLED() OR NOT HAS_LOCAL_PLAYER_COMPLETED_ALL_XMAS22_STORY_MISSIONS_AS_LEADER())
RETURN TRUE
ENDIF
#ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE: Returns TRUE when all R* created missions have been displayed
FUNC BOOL UPDATE_ROCKSTAR_CREATED(BOOL &bDataAvailable, INT iColumn = SECOND_COLUMN, INT iMissionType = -1, BOOL bIsFocusColumn = TRUE, BOOL bIsLTSMission = FALSE, BOOL bIsCTFMission = FALSE, BOOL bIsVSMission = FALSE, BOOL bIsNewVSMission = FALSE, BOOL bIsCoOpMission = FALSE, BOOL bIsStuntRace = FALSE, BOOL bIsArenaWar = FALSE, BOOL bIsKingOfTheHill = FALSE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Updating second column to show Rockstar Created missions")
IF iColumn = FIRST_COLUMN
CLEAR_PM_COLUMN(FIRST_COLUMN)
ELSE
CLEAR_MISSION_CREATOR_COLUMNS()
ENDIF
// IF bActiveCharacters
BOOL bAddColumnTitle
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
bAddColumnTitle = TRUE
ENDIF
ENDIF
INT i
iRockstarCreatedJobCount = 0
BOOL bPassesFlow
FOR i = 0 TO (FMMC_MAX_AT_ONCE_ROCKSTAR_CREATED_TO_DOWNLOAD - 1)
//IF g_FMMC_ROCKSTAR_CREATED.bInUse[i]
IF bIsLTSMission
ELSE
ENDIF
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciROCKSTAR_CREATED_MISSION_IN_USE)
AND (g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iRank < 9999 OR SKIP_RANK_CHECK_PAUSE_MENU_MISSIONS(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[i].iRootContentIdHash))
IF iMissionType = -1
OR (g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType = iMissionType AND ! IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType) AND !IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType))
IF IS_FM_TYPE_UNLOCKED(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType)
AND (HAS_THIS_ROCKSTAR_CREATED_MISSION_BEEN_PLAYED_BEFORE(i) OR IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION(i))
AND NOT SHOULD_ROCKSTAR_CREATED_JOB_BE_HIDDEN_FROM_PAUSE_MENU_JOB_LIST(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[i].iRootContentIdHash)
//OR SHOULD_FLOW_MISSION_BE_AVALIABLE(i)
bPassesFlow = SHOULD_FLOW_MISSION_BE_AVALIABLE(i, iMissionType)
IF g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iContactCharEnum = 0
OR CV2_IS_THIS_ROOT_CONTENT_A_CORONA_FLOW_ARENA_SERIES(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[i].iRootContentIdHash)
OR CV2_IS_THIS_ROOT_CONTENT_A_CORONA_FLOW_CAYO_PERICO_SERIES(g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[i].iRootContentIdHash)
OR (IS_THIS_ROCKSTAR_CREATED_MISSION_A_CONTACT_MISSION(i) AND (HAS_THIS_ROCKSTAR_CREATED_MISSION_BEEN_PLAYED_BEFORE(i) OR IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION(i) ))
OR bPassesFlow
// Added checks for LTS, CTF & VS missions to separate them out from other missions
IF IS_THIS_ROCKSTAR_CREATED_MISSION_A_CONTACT_MISSION(i)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] >>>>>>>> IS_THIS_ROCKSTAR_CREATED_MISSION_A_CONTACT_MISSION = ", g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].tlMissionName)
IF HAS_THIS_ROCKSTAR_CREATED_MISSION_BEEN_PLAYED_BEFORE(i)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] >>>>>>>> HAS_THIS_ROCKSTAR_CREATED_MISSION_BEEN_PLAYED_BEFORE = ", g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].tlMissionName)
ENDIF
IF IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION(i)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] >>>>>>>> IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION = ", g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].tlMissionName)
ENDIF
// ELSE
// CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] !!!!!!!! IS_THIS_ROCKSTAR_CREATED_MISSION_A_CONTACT_MISSION is FALSE for ", g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].tlMissionName)
ENDIF
IF iMissionType = FMMC_TYPE_MISSION_COOP
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] iMissionType = FMMC_TYPE_MISSION_COOP")
ENDIF
IF (iMissionType != FMMC_TYPE_MISSION AND !bIsArenaWar AND !bIsKingOfTheHill )
OR (bIsLTSMission AND IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS))
OR (bIsCTFMission AND IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_CTF))
OR (bIsVSMission AND IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_RANDOM_VERSUS) AND !IS_NEW_VERSUS_MISSION(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSetTwo, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType))
OR (bIsNewVSMission AND IS_NEW_VERSUS_MISSION(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSetTwo, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType))
OR (bIsCoOpMission AND IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_COOP))
OR (bIsStuntRace AND g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType = FMMC_TYPE_RACE AND (g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_STUNT OR g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_STUNT_P2P OR g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_TARGET OR g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_TARGET_P2P) )
OR (bIsArenaWar AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType))
OR (bIsKingOfTheHill AND IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType))
OR (!bIsStuntRace AND !bIsCoOpMission AND !bIsNewVSMission AND !bIsArenaWar AND !bIsCTFMission AND !bIsVSMission AND !bIsKingOfTheHill
AND !bIsLTSMission AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_RANDOM_VERSUS) AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_CTF) AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS) AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_COOP))
IF DOES_JOB_SUBTYPE_MATCH_FILTER(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSetTwo, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType)
OR bPassesFlow
IF (bIsLTSMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be LTS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be LTS but it's bit isn't set.")
ENDIF
ELIF (bIsCTFMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_CTF)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be CTF and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be CTF but it's bit isn't set.")
ENDIF
ELIF (bIsVSMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_RANDOM_VERSUS)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS but it's bit isn't set.")
ENDIF
ELIF (bIsNewVSMission)
IF IS_NEW_VERSUS_MISSION(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSetTwo, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be New VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be New VS but it's bit isn't set.")
ENDIF
ELIF (bIsCoOpMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_COOP)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be COOP and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be COOP but it's bit isn't set.")
ENDIF
ELIF (bIsArenaWar)
IF IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be Arena and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be Arena but it's bit isn't set.")
ENDIF
ELIF (bIsKingOfTheHill)
IF IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be King Of The HIll and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be King Of The HIll but it's bit isn't set.")
ENDIF
ELSE
IF (!bIsCoOpMission AND !bIsNewVSMission AND !bIsCTFMission AND !bIsVSMission AND !bIsLTSMission AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_RANDOM_VERSUS) AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_CTF) AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS) AND! bIsArenaWar AND! bIsKingOfTheHill)
IF IS_THIS_ROCKSTAR_CREATED_MISSION_A_CONTACT_MISSION(i)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission is a contact mission")
IF IS_PLAYER_SUFFICIENT_RANK_TO_PLAY_THIS_CONTACT_MISSION(i)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission is a contact mission. Rank is sufficient.")
ENDIF
IF HAS_THIS_ROCKSTAR_CREATED_MISSION_BEEN_PLAYED_BEFORE(i)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission is a contact mission. Played before.")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission is just a mission")
ENDIF
ENDIF
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType = ", g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType)
MP_SET_DATA_SLOT_WITH_STRING(#IF IS_DEBUG_BUILD g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iLesRating,#ENDIF iColumn, iRockstarCreatedJobCount, CREATOR_LIST_ID, i, TRUE, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].tlMissionName, TRUE, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType, IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciROCKSTAR_CREATED_MISSION_HAS_BEEN_PLAYED), DEFAULT, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType) // First i, may need to be a count. Whereas second i should be index in array
IF iRockstarCreatedJobCount = 0
AND bIsFocusColumn
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] M - SET iPauseMenuItemSelected to ", i, " from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = i
SET_PM_HIGHLIGHT(SECOND_COLUMN)
ENDIF
iRockstarCreatedJobCount++
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_CREATED - Doesn't pass DOES_JOB_SUBTYPE_MATCH_FILTER")
ENDIF
ELSE
IF (bIsLTSMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be LTS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be LTS but it's bit isn't set.")
ENDIF
ELIF (bIsCTFMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_CTF)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be CTF and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be CTF but it's bit isn't set.")
ENDIF
ELIF (bIsVSMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_RANDOM_VERSUS)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be VS but it's bit isn't set.")
ENDIF
ELIF (bIsNewVSMission)
IF IS_NEW_VERSUS_MISSION(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSetTwo, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be New VS and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be New VS but it's bit isn't set.")
ENDIF
ELIF (bIsCoOpMission)
IF IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_COOP)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be COOP and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be COOP but it's bit isn't set.")
ENDIF
ELIF (bIsArenaWar)
IF IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iAdversaryModeType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be Arena and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be Arena but it's bit isn't set.")
ENDIF
ELIF (bIsKingOfTheHIll)
IF IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iSubType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be King Of The HIll and it is!!!!! Success!")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission should be King Of The HIll but it's bit isn't set.")
ENDIF
ELSE
IF (!bIsCoOpMission AND! bIsArenaWar AND !bIsNewVSMission AND !bIsCTFMission AND !bIsVSMission AND !bIsLTSMission AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_RANDOM_VERSUS) AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_CTF) AND !IS_BIT_SET(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[i].iBitSet, ciMISSION_OPTION_BS_LTS))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] Mission is just a mission")
ELIF iMissionType = FMMC_TYPE_MISSION
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] iMissionType = FMMC_TYPE_MISSION")
ENDIF
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_CREATED - Doesn't pass subtype checks")
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDFOR
IF iRockstarCreatedJobCount > 0
IF bAddColumnTitle
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_CREATED - ADD_JOB_COLUMN_TITLE")
ADD_JOB_COLUMN_TITLE()
ENDIF
bDataAvailable = TRUE
SET_BIT(iBS_DataAvailable, ROCKSTAR_CREATED_AVAILABLE)
DISPLAY_PAUSE_MENU_COLUMN(SECOND_COLUMN)
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_CREATED - iRockstarCreatedJobCount = 0")
iRockstarCreatedJobCount = -1
ADD_JOB_CONTEXTS()
ENDIF
RETURN TRUE
RETURN FALSE
ENDFUNC
/// PURPOSE: Returns TRUE when all Candidate R* missions have been displayed
FUNC BOOL UPDATE_ROCKSTAR_CANDIDATES(BOOL &bDataAvailable)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Updating second column to show Rockstar Candidate missions")
CLEAR_MISSION_CREATOR_COLUMNS()
bDataAvailable = FALSE
// TODO: Should read in all Rockstar Candidate missions
RETURN TRUE
ENDFUNC
/// PURPOSE: Returns TRUE when all R* Verified missions have been displayed
FUNC BOOL UPDATE_ROCKSTAR_VERIFIED(BOOL &bDataAvailable, INT iColumn = SECOND_COLUMN, INT iMissionType = -1, BOOL bIsCTFMission = FALSE, BOOL bIsLTSMission = FALSE, BOOL bIsStuntRace = FALSE, BOOL bIsArenaWar = FALSE, BOOL BisKingOfTheHill = FALSE, BOOL bIscommunity_job = FALSE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Updating second column to display Rockstar Verified missions")
IF iColumn = FIRST_COLUMN
CLEAR_PM_COLUMN(FIRST_COLUMN)
ELSE
CLEAR_MISSION_CREATOR_COLUMNS()
ENDIF
BOOL bAddColumnTitle
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
bAddColumnTitle = TRUE
ENDIF
ENDIF
INT i
iRockstarVerifiedJobCount = 0
iRecentlyCommunityJobCount = 0
FOR i = 0 TO (FMMC_MAX_AT_ONCE_ROCKSTAR_VERIFIED - 1)
//IF g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.bInUse[i]
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - Mission = ", g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].tlMissionName)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - iType = ", g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - iSubType = ", g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - PASSED IN TYPE - iMissionType = ", iMissionType)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - PASSED IN TYPE - nCategory = ", ENUM_TO_INT(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].nCategory))
IF IS_BIT_SET(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iBitSet, ciROCKSTAR_CREATED_MISSION_IN_USE)
IF (bIscommunity_job AND (g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].nCategory = UGC_CATEGORY_ROCKSTAR_COMMUNITY OR g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].nCategory = UGC_CATEGORY_ROCKSTAR_COMMUNITY_CANDIDATE))
OR (bIscommunity_job = FALSE AND (g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].nCategory = UGC_CATEGORY_ROCKSTAR_VERIFIED OR g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].nCategory = UGC_CATEGORY_ROCKSTAR_VERIFIED_CANDIDATE))
IF (iMissionType = -1 AND !IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iAdversaryModeType) AND !IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType))
OR (g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType = iMissionType AND !bIsArenaWar AND !bISKINGOFTHEHILL)
OR (bIsCTFMission AND g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_CTF AND g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType = FMMC_TYPE_MISSION)
OR (bIsLTSMission AND g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType = FMMC_MISSION_TYPE_LTS AND g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType = FMMC_TYPE_MISSION)
OR (bIsStuntRace AND g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType = FMMC_TYPE_RACE AND (g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_STUNT OR g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_STUNT_P2P OR g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_TARGET_P2P OR g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType = FMMC_RACE_TYPE_TARGET_P2P))
OR (bIsArenaWar AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iAdversaryModeType))
OR (BisKingOfTheHill AND IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType))
IF IS_FM_TYPE_UNLOCKED(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType)
OR (bIsArenaWar AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iAdversaryModeType))
OR (BisKingOfTheHill AND IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType))
IF DOES_JOB_SUBTYPE_MATCH_FILTER(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iBitSet, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iBitSetTwo, 0)
OR (bIsArenaWar AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iAdversaryModeType) )
OR (BisKingOfTheHill AND IS_CONTENT_KING_OF_THE_HILL(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType))
IF (bIsArenaWar AND iMissionType = -1 AND IS_THIS_AN_ARENA_WAR_ACTIVITY(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iAdversaryModeType))
PRINTLN(" UPDATE_ROCKSTAR_VERIFIED bIsArenaWar and IS_THIS_AN_ARENA_WAR_ACTIVITY TRUE")
ENDIF
IF bIscommunity_job
MP_SET_DATA_SLOT_WITH_STRING(#IF IS_DEBUG_BUILD g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iLesRating,#ENDIF iColumn, iRecentlyCommunityJobCount, CREATOR_LIST_ID, i, TRUE, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].tlMissionName, FALSE, (g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType), g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, IS_BIT_SET(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iBitSet, ciROCKSTAR_CREATED_MISSION_HAS_BEEN_PLAYED), TRUE,g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iAdversaryModeType ) // First i, may need to be a count. Whereas second i should be index in array
IF iRecentlyCommunityJobCount = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] iRecentlyCommunityJobCount O - SET iPauseMenuItemSelected to ", i, " from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = i
ENDIF
iRecentlyCommunityJobCount++
ELSE
MP_SET_DATA_SLOT_WITH_STRING(#IF IS_DEBUG_BUILD g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iLesRating,#ENDIF iColumn, iRockstarVerifiedJobCount, CREATOR_LIST_ID, i, TRUE, g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].tlMissionName, FALSE, (g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iType), g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iSubType, IS_BIT_SET(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iBitSet, ciROCKSTAR_CREATED_MISSION_HAS_BEEN_PLAYED), TRUE,g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[i].iAdversaryModeType ) // First i, may need to be a count. Whereas second i should be index in array
IF iRockstarVerifiedJobCount = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] iRockstarVerifiedJobCount O - SET iPauseMenuItemSelected to ", i, " from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = i
ENDIF
iRockstarVerifiedJobCount++
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDFOR
IF NOT bIscommunity_job
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - iRockstarVerifiedJobCount = ", iRockstarVerifiedJobCount)
IF iRockstarVerifiedJobCount > 0
IF bAddColumnTitle
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - ADD_JOB_COLUMN_TITLE")
ADD_JOB_COLUMN_TITLE()
ENDIF
bDataAvailable = TRUE
SET_BIT(iBS_DataAvailable, ROCKSTAR_VERIFIED_AVAILABLE)
DISPLAY_PAUSE_MENU_COLUMN(SECOND_COLUMN)
ELSE
iRockstarVerifiedJobCount = -1
ADD_JOB_CONTEXTS()
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - iRecentlyCommunityJobCount = ", iRecentlyCommunityJobCount)
IF iRecentlyCommunityJobCount > 0
IF bAddColumnTitle
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] UPDATE_ROCKSTAR_VERIFIED - ADD_JOB_COLUMN_TITLE")
ADD_JOB_COLUMN_TITLE()
ENDIF
bDataAvailable = TRUE
SET_BIT(iBS_DataAvailable2, COMMUNITY_JOBS_AVAILABLE)
DISPLAY_PAUSE_MENU_COLUMN(SECOND_COLUMN)
ELSE
iRecentlyCommunityJobCount = -1
ADD_JOB_CONTEXTS()
ENDIF
ENDIF
RETURN TRUE
ENDFUNC
/// PURPOSE: Updates pause menu with loaded data in second column
FUNC BOOL POPULATE_PAUSE_MENU_SECOND_COLUMN(BOOL &bDataAvailable)
BOOL bReturn
ADD_SCALEFORMXML_SET_COLUMN_SCROLL(SETTING_COLUMN, 0, 0, DEFAULT, TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - POPULATE_PAUSE_MENU_SECOND_COLUMN, pauseMenuRoute[0] = ", pauseMenuRoute[0], ", pauseMenuRoute[1] = ", pauseMenuRoute[1], ", pauseMenuRoute[2] = ", pauseMenuRoute[2], ", pauseMenuRoute[3] = ", pauseMenuRoute[3])
// Update the second column based on node with list of missions
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MISSION_CREATOR
SWITCH INT_TO_ENUM(ePM_D2_MISSIONS, pauseMenuRoute[1])
CASE PM_D2_EDIT_MISSIONS
CASE PM_D2_PUBLISH_MISSIONS
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable)
ENDSWITCH
BREAK
CASE PM_D1_ALL_JOBS
IF iPauseMenuDepth >= 3
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, DEFAULT)
ELSE
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE)
ELSE
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_DEATHMATCH)
ELSE
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION)
ELSE
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION)
ELSE
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, DEFAULT)
ELSE
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)
IF IS_SELECT_AVAILABLE() = 0
PRINTLN("PM_D4_JOBS_ARENA_WARS IS_SELECT_AVAILABLE TRUE ")
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, -1, DEFAULT,TRUE)
ELSE
PRINTLN("PM_D4_JOBS_ARENA_WARS IS_SELECT_AVAILABLE FALSE ")
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
IF IS_SELECT_AVAILABLE() = 0
PRINTLN("PM_D4_JOBS_KING_OF_THE_HILL IS_SELECT_AVAILABLE TRUE ")
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, -1, DEFAULT,FALSE, TRUE)
ELSE
PRINTLN("PM_D4_JOBS_KING_OF_THE_HILL IS_SELECT_AVAILABLE FALSE ")
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF IS_SELECT_AVAILABLE() = 0
PRINTLN("PM_D4_JOBS_SURVIVAL IS_SELECT_AVAILABLE TRUE ")
RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, -1, DEFAULT,DEFAULT,DEFAULT,TRUE)
ELSE
PRINTLN("PM_D4_JOBS_SURVIVAL IS_SELECT_AVAILABLE FALSE ")
SET_COLUMN_AS_BUSY(1, FALSE)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ADD_JOB_CONTEXTS()
RETURN FALSE
ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
//
// IF IS_SELECT_AVAILABLE() = 0
// RETURN UPDATE_YOUR_MISSIONS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION)
// ELSE
// SET_COLUMN_AS_BUSY(1, FALSE)
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
// ADD_JOB_CONTEXTS()
// RETURN FALSE
// ENDIF
// #ENDIF
ENDIF
RETURN FALSE
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_DEATHMATCH)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_SURVIVAL)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_BASE_JUMP)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_VS
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_NEW_VS
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_ARENA_WARS
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_KING_OF_THE_HILL
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
//
// IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
// RETURN UPDATE_BOOKMARKED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
// ENDIF
// #ENDIF
ENDIF
RETURN FALSE
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_DEATHMATCH)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_SURVIVAL)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_BASE_JUMP)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_VS
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_NEW_VS
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_ARENA_WARS)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
// IF NOT IS_PAUSE_MENU_COLUMN_BUSY(SECOND_COLUMN)
// RETURN UPDATE_RECENTLY_PLAYED_JOBS(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
// ENDIF
// #ENDIF
ENDIF
RETURN FALSE
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_DEATHMATCH, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_SURVIVAL, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_BASE_JUMP, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE, FALSE, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_VS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE, FALSE, FALSE, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_NEW_VS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE, FALSE, FALSE, FALSE, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_ARENA_WARS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, -1, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ELSE
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_KING_OF_THE_HILL)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, -1, TRUE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, TRUE)
ELSE
RETURN FALSE
ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
// IF IS_SELECT_AVAILABLE() = 0
// RETURN UPDATE_ROCKSTAR_CREATED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE, FALSE, FALSE, FALSE, FALSE, TRUE)
// ELSE
// RETURN FALSE
// ENDIF
// #ENDIF
ENDIF
RETURN FALSE
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CANDIDATE)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
RETURN UPDATE_ROCKSTAR_CANDIDATES(bDataAvailable)//, SECOND_COLUMN, FMMC_TYPE_RACE) //UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_RACE, bDataAvailable, SECOND_COLUMN, TRUE, FALSE)
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
RETURN UPDATE_ROCKSTAR_CANDIDATES(bDataAvailable)//, SECOND_COLUMN, FMMC_TYPE_DEATHMATCH) //UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_DEATHMATCH, bDataAvailable, SECOND_COLUMN, TRUE, FALSE)
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
RETURN UPDATE_ROCKSTAR_CANDIDATES(bDataAvailable)//, SECOND_COLUMN, FMMC_TYPE_SURVIVAL) //UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_SURVIVAL, bDataAvailable, SECOND_COLUMN, TRUE, FALSE)
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
RETURN UPDATE_ROCKSTAR_CANDIDATES(bDataAvailable)//, SECOND_COLUMN, FMMC_TYPE_BASE_JUMP) //UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_BASE_JUMP, bDataAvailable, SECOND_COLUMN, TRUE, FALSE)
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
RETURN UPDATE_ROCKSTAR_CANDIDATES(bDataAvailable)//, SECOND_COLUMN, FMMC_TYPE_MISSION) //UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_MISSION, bDataAvailable, SECOND_COLUMN, TRUE, FALSE)
ELIF pauseMenuRoute[3] = PM_D4_JOBS_ARENA_WARS
RETURN UPDATE_ROCKSTAR_CANDIDATES(bDataAvailable)//, SECOND_COLUMN, FMMC_TYPE_MISSION) //UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_MISSION, bDataAvailable, SECOND_COLUMN, TRUE, FALSE)
ELIF pauseMenuRoute[3] = PM_D4_JOBS_KING_OF_THE_HILL
RETURN UPDATE_ROCKSTAR_CANDIDATES(bDataAvailable)//, SECOND_COLUMN, FMMC_TYPE_MISSION) //UPDATE_ALL_MISSIONS_OF_TYPE(FMMC_TYPE_MISSION, bDataAvailable, SECOND_COLUMN, TRUE, FALSE)
ENDIF
RETURN FALSE
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_DEATHMATCH)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_SURVIVAL)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_BASE_JUMP)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_ARENA_WARS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_KING_OF_THE_HILL
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE,FALSE, TRUE)
ENDIF
ENDIF
RETURN FALSE
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE, TRUE, DEFAULT,DEFAULT, TRUE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_DEATHMATCH, DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_SURVIVAL, DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_BASE_JUMP, DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, DEFAULT,DEFAULT,DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, TRUE,DEFAULT,DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_MISSION, FALSE, TRUE, DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, FMMC_TYPE_RACE, FALSE, FALSE, DEFAULT,DEFAULT,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_ARENA_WARS
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE,TRUE,DEFAULT,TRUE)
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_KING_OF_THE_HILL
IF IS_SELECT_AVAILABLE() = 0
RETURN UPDATE_ROCKSTAR_VERIFIED(bDataAvailable, SECOND_COLUMN, -1, FALSE, FALSE, FALSE,FALSE, TRUE, TRUE)
ENDIF
ENDIF
RETURN FALSE
ENDIF
ENDIF
BREAK
CASE PM_D1_OPTIONS
RETURN SET_MULTIPLAYER_SETTINGS(bDataAvailable)
CASE PM_D1_PLAYLISTS
IF HAS_NET_TIMER_EXPIRED(playlistLoadTimer, g_sMPTunables.idelay_loading_playlist, TRUE)
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_PLAYLISTS
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - POPULATE_PAUSE_MENU_SECOND_COLUMN - PM_D2_PLAYLISTS")
IF iPauseMenuDepth = 2
bMyPlaylistDataAvailable = FALSE
bZeroLengthPlaylist = FALSE
bReturn = UPDATE_PLAYER_PLAYLISTS(bDataAvailable, g_sLoadedPlaylistDetails)
bMyPlaylistDataAvailable = bDataAvailable
RETURN bReturn
ENDIF
BREAK
CASE PM_D2_DOWNLOADED_PLAYLISTS
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - POPULATE_PAUSE_MENU_SECOND_COLUMN - PM_D2_DOWNLOADED_PLAYLISTS")
IF iPauseMenuDepth = 2
bBookmarkedPlaylistDataAvailable = FALSE
bReturn = UPDATE_PLAYER_PLAYLISTS(bDataAvailable, g_sLoadedBookMarkedPlaylistDetails)
bBookmarkedPlaylistDataAvailable = bDataAvailable
RETURN bReturn
ENDIF
BREAK
CASE PM_D2_ROCKSTAR_PLAYLISTS
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - POPULATE_PAUSE_MENU_SECOND_COLUMN - PM_D2_ROCKSTAR_PLAYLISTS")
IF iPauseMenuDepth = 2
bReturn = UPDATE_PLAYER_PLAYLISTS_ROCKSTAR(bDataAvailable, g_sLoadedRockstarPlaylistDetails)
bRockstarPlaylistDataAvailable = bDataAvailable
RETURN bReturn
ENDIF
BREAK
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - POPULATE_PAUSE_MENU_SECOND_COLUMN - PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS")
IF iPauseMenuDepth = 2
bReturn = UPDATE_PLAYER_PLAYLISTS_ROCKSTAR(bDataAvailable, g_sLoadedRockstarPlaylistDetails)
bRockstarVerifiedPlaylistDataAvailable = bDataAvailable
RETURN bReturn
ENDIF
BREAK
ENDSWITCH
ELSE
bMyPlaylistDataAvailable = FALSE
bBookmarkedPlaylistDataAvailable = FALSE
HIDE_PM_COLUMN(SECOND_COLUMN)
bDataAvailable = FALSE
RETURN FALSE
ENDIF
BREAK
ENDSWITCH
RETURN TRUE
ENDFUNC
FUNC BOOL SHOULD_BLOCK_STARTER_PACK_BROWSER_IN_PROPERTY()
IF IS_PLAYER_IN_MP_PROPERTY(PLAYER_ID(),FALSE)
IF IS_NET_PLAYER_OK(PLAYER_ID())
IF IS_PED_IN_ANY_VEHICLE(PLAYER_PED_ID())
RETURN TRUE
ENDIF
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
FUNC BOOL SHOULD_ALLOW_ACCESS_TO_STARTER_PACK_BROWSER()
IF IS_BIT_SET(GlobalPlayerBD[NATIVE_TO_INT(PLAYER_ID())].iOrbitalCannonBS, ORBITAL_CANNON_GLOBAL_BS_USING_CANNON)
OR IS_PLAYER_TRIGGERED_ENTER_TO_BASE_FROM_AIRCRAFT_WITH_VEH(PLAYER_ID())
OR IS_PLAYER_BROWSING_ITEMS_IN_ANY_SHOP()
OR IS_LOCAL_PLAYER_USING_DRONE()
OR IS_LOCAL_PLAYER_USING_RCBANDITO()
OR IS_LOCAL_PLAYER_USING_VEHICLE_WEAPON()
OR IS_BIT_SET(g_SimpleInteriorData.iFifthBS, BS5_SIMPLE_INTERIOR_USING_DEFUNCT_BASE_STRIKE_TEAM_SPECTATE)
OR IS_CUTSCENE_ACTIVE()
OR GET_LOCAL_PLAYER_USING_OFFICE_SEATID() != -1
OR IS_PLAYER_SPECTATING(PLAYER_ID())
OR IS_PLAYER_IN_ARENA_GARAGE_THEY_OWN(player_ID())
OR IS_BIT_SET(GlobalplayerBD_FM[NATIVE_TO_INT(PLAYER_ID())].boolReplacementBS,GlobalPlayerBroadcastDataFM_BS_g_bUsingFerrisWheel)
OR IS_PLAYER_AN_ANIMAL(PLAYER_ID())
OR IS_PLAYER_NEAR_OFFICE_ASSISTANT()
OR IS_BIT_SET(g_SimpleInteriorData.iSeventhBS, BS7_SIMPLE_INTERIOR_BLOCK_CESP_FOR_ACTIVITY)
OR g_bPlayerInActivityArea
OR GlobalPlayerBD_FM_3[NATIVE_TO_INT(PLAYER_ID())].iClubhouseMGID != -1
OR g_bUsingShootingRange
OR IS_LOCAL_PLAYER_USING_JUKEBOX()
OR IS_PLAYER_ENTERING_OR_EXITING_PROPERTY(PLAYER_ID())
OR NETWORK_IS_IN_MP_CUTSCENE()
OR IS_PLAYER_USING_BED_ACTIVITY()
OR g_OfficeHeliDockData.bDoingCutscene
#IF FEATURE_FREEMODE_ARCADE
#IF FEATURE_COPS_N_CROOKS
OR (IS_FREEMODE_ARCADE() AND (GET_ARCADE_MODE() = ARC_COPS_CROOKS))
#ENDIF // FEATURE_COPS_N_CROOKS
#ENDIF // FEATURE_FREEMODE_ARCADE
OR SHOULD_BLOCK_STARTER_PACK_BROWSER_IN_PROPERTY()
#IF FEATURE_HEIST_ISLAND
OR g_sNetHeistPlanningGenericClientData.sStateData.bInteract
OR IS_BIT_SET(GlobalplayerBD[NATIVE_TO_INT(PLAYER_ID())].SimpleInteriorBD.iBSFive, BS_SIMPLE_INTERIOR_GLOBAL_BS_FIVE_USING_BAR)
#ENDIF
RETURN FALSE
ENDIF
RETURN TRUE
ENDFUNC
PROC MAINTAIN_PAUSE_MENU_COLUMN_ONE()
IF IS_BIT_SET(iBS_ColumnsToUpdate, FIRST_COLUMN)
//AND GET_PROFILE_SETTING(PROLOGUE_COMPLETE) = 1
IF iPauseMenuDepth = 0
CLEAR_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
CLEAR_PM_COLUMN(SETTING_COLUMN)
HIDE_PM_COLUMN(SETTING_COLUMN)
INT i, iUniqueId, iMenuId
INT iIndex = 0
STRING strCat = ""
BOOL bActive = TRUE
REPEAT PM_D1_TOTAL_CATEGORIES i
IF IS_PAUSE_MENU_CATEGORY_ACTIVE(INT_TO_ENUM(ePM_D1_CATEGORIES ,i))
iTopCategoryLookup[i] = iIndex
strCat = GET_PAUSE_MENU_CATEGORY_TITLE(i)
iMenuId = GET_PAUSE_MENU_CATEGORY_MENU_ID(i)
iUniqueId = GET_PAUSE_MENU_CATEGORY_UNIQUE_ID(i)
//Disable Creator option if player is in a Creator
bActive = TRUE
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, i)
CASE PM_D1_FRIEND_SESS
IF IS_CLOUD_DOWN_CLOUD_LOADER()
OR !IS_ANY_FRIEND_ONLINE_AND_IN_TITLE()
OR (!IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 0)
AND !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 1)
AND !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 2))
#IF FEATURE_GEN9_EXCLUSIVE
OR IS_PLAYER_ON_MP_INTRO()
#ENDIF
bActive = FALSE
ENDIF
BREAK
#IF FEATURE_COPS_N_CROOKS
CASE PM_D1_GOTO_CNC
IF g_sMPTunables.bDISABLE_CNC_ENTRY_FROM_FREEMODE
bActive = FALSE
ENDIF
BREAK
#ENDIF
#IF FEATURE_GTAO_MEMBERSHIP
CASE PM_D1_GTAO_MEMBERSHIP
IF g_sMPTunables.bMEMBERSHIP_KILLSWITCH_MENU_ONLINETAB
bActive = FALSE
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_CREATOR
bActive = FALSE
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_SP
bActive = FALSE
#IF FEATURE_GEN9_EXCLUSIVE
ELIF IS_PLAYER_ON_MP_INTRO()
bActive = FALSE
#ENDIF
ELIF IS_TRANSITION_ACTIVE()
bActive = FALSE
ELIF IS_ANY_TRANSITION_SESSION_INVITE_BEING_ACTIONED()
bActive = FALSE
ENDIF
BREAK
#ENDIF
#IF NOT FEATURE_GEN9_STANDALONE
CASE PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK
IF g_sMPTunables.BdisableStarterPackBrowser
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] BdisableStarterPackBrowser = FALSE - bActive = FALSE")
bActive = FALSE
ELIF NOT SHOULD_ALLOW_ACCESS_TO_STARTER_PACK_BROWSER()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SHOULD_ALLOW_ACCESS_TO_STARTER_PACK_BROWSER = FALSE - bActive = FALSE")
bActive = FALSE
ELIF NOT HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL = FALSE - bActive = FALSE")
bActive = FALSE
ELIF NOT HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS()CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS = FALSE")
IF NOT IS_USER_OLD_ENOUGH_TO_ACCESS_STORE()
OR NOT IS_STORE_AVAILABLE_TO_USER()
OR g_sMPTunables.bDISABLE_STORE_PROMPT_ONLINE
OR NOT NETWORK_IS_GAME_IN_PROGRESS()
OR GET_CURRENT_GAMEMODE() = GAMEMODE_CREATOR
OR NETWORK_IS_ACTIVITY_SESSION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS = FALSE - bActive = FALSE")
bActive = FALSE
ENDIF
ELIF IS_PLAYER_NEAR_OFFICE_ASSISTANT()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK IS_PLAYER_NEAR_OFFICE_ASSISTANT = TRUE - bActive = FALSE")
bActive = FALSE
ELIF NETWORK_IS_ACTIVITY_SESSION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK NETWORK_IS_ACTIVITY_SESSION = TRUE - bActive = FALSE")
bActive = FALSE
ENDIF
BREAK
#ENDIF
CASE PM_D1_ALL_JOBS
IF IS_IMPROMPTU_DM_REQUEST_PENDING()
OR IS_BOSSVBOSS_DM_REQUEST_PENDING()
OR IS_PLAYER_CRITICAL_TO_ANY_EVENT(PLAYER_ID())
OR IS_PLAYER_USING_OFFICE_SEATID_VALID()
OR IS_PLAYER_USING_BED_ACTIVITY()
OR (IS_PLAYER_IN_CAR_MEET_PROPERTY(PLAYER_ID()) AND GET_INTERIOR_FLOOR_INDEX() = ciCAR_MEET_FLOOR_SANDBOX)
#IF FEATURE_GEN9_EXCLUSIVE
OR IS_PLAYER_ON_MP_INTRO()
#ENDIF
bActive = FALSE
ENDIF
BREAK
CASE PM_D1_MIGRATE_CHAR
BREAK
CASE PM_D1_MIGRATE_CHAR_MP
BREAK
//**TWH - CMcM - 1425491 - Added Find Crew to the Online menu.
CASE PM_D1_CREW_SESS
IF (NETWORK_IS_SIGNED_ONLINE() AND !IS_LOCAL_PLAYER_IN_ACTIVE_CLAN())
OR GET_MP_SESSION_CREWS_NUM() < 2
OR IS_CLOUD_DOWN_CLOUD_LOADER()
OR (!IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 0)
#IF FEATURE_GEN9_EXCLUSIVE
OR IS_PLAYER_ON_MP_INTRO()
#ENDIF
AND !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 1)
AND !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 2))
bActive = FALSE
ENDIF
BREAK
CASE PM_D1_CREWS
IF IS_CLOUD_DOWN_CLOUD_LOADER()
OR IS_PLAYER_ON_ANY_FM_MISSION(PLAYER_ID(), TRUE)
OR DO_SOCIAL_CLUB_WARNING()
#IF FEATURE_GEN9_EXCLUSIVE
OR IS_PLAYER_ON_MP_INTRO()
#ENDIF
bActive = FALSE
ENDIF
BREAK
CASE PM_D1_MISSION_CREATOR
IF IS_CLOUD_DOWN_CLOUD_LOADER()
OR GET_CURRENT_GAMEMODE() = GAMEMODE_CREATOR
OR (!IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 0)
AND !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 1)
AND !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_FM_INTRO_CAN_ACCEPT_INVITES, 2))
OR !NETWORK_HAVE_ROS_SOCIAL_CLUB_PRIV()
OR (!IS_XBOX_PLATFORM() AND !IS_PLAYSTATION_PLATFORM() AND !RUN_NETWORK_CONTENT_CHECK() AND !NETWORK_CHECK_USER_CONTENT_PRIVILEGES(PC_FRIENDS, GAMER_INDEX_ANYONE, TRUE))
OR (IS_XBOX_PLATFORM() AND !NETWORK_HAS_ROS_PRIVILEGE(RLROS_PRIVILEGEID_CREATORS))
OR (!IS_ACCOUNT_OVER_17_FOR_UGC() AND IS_PLAYSTATION_PLATFORM())
OR NETWORK_PLAYER_IS_CHEATER()
OR IS_REPEAT_PLAY_ACTIVE()
OR !CAN_WE_ENTER_THAT_CREATOR()
#IF IS_DEBUG_BUILD
OR g_bDeleteAllCharsQuick
#ENDIF
#IF FEATURE_GEN9_EXCLUSIVE
OR IS_PLAYER_ON_MP_INTRO()
#ENDIF
bActive = FALSE
ENDIF
BREAK
CASE PM_D1_PLAYLISTS
IF NOT HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
OR NOT HAS_PLAYER_COMPLETED_INITIAL_AMBIENT_TUTORIALS(PLAYER_ID())
OR NETWORK_PLAYER_IS_CHEATER()
OR IS_CLOUD_DOWN_CLOUD_LOADER()
OR IS_PLAYER_ON_A_PLAYLIST(PLAYER_ID())
OR NOT Can_I_Afford_To_Clear_Wanted_Level()
OR IS_PLAYER_CRITICAL_TO_ANY_EVENT(PLAYER_ID())
OR IS_PLAYER_USING_OFFICE_SEATID_VALID()
OR IS_PLAYER_USING_BED_ACTIVITY()
OR (IS_PLAYER_IN_CAR_MEET_PROPERTY(PLAYER_ID()) AND GET_INTERIOR_FLOOR_INDEX() = ciCAR_MEET_FLOOR_SANDBOX)
#IF FEATURE_GEN9_EXCLUSIVE
OR IS_PLAYER_ON_MP_INTRO()
#ENDIF
bActive = FALSE
ENDIF
BREAK
CASE PM_D1_CHOOSE_CHAR
//IF NOT PRIVALEGES_OKAY_FOR_MP()
#IF IS_DEBUG_BUILD
IF g_bDeleteAllCharsQuick = TRUE
bActive = FALSE
ENDIF
#ENDIF
BREAK
//Disable Play GTA:O option if required
CASE PM_D1_ENTER_MP
//IF NOT PRIVALEGES_OKAY_FOR_MP()
IF GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
//OR (GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_ROCKSTARONLY AND IS_PLAYSTATION_PLATFORM())
bActive = FALSE
ENDIF
IF !NETWORK_CHECK_ONLINE_PRIVILEGES()
bActive = FALSE
ENDIF
#IF IS_DEBUG_BUILD
IF g_bDeleteAllCharsQuick = TRUE
bActive = FALSE
ENDIF
#ENDIF
BREAK
//#IF FEATURE_GEN9_EXCLUSIVE
CASE PM_D1_FIND_NEW_SESS
IF IS_PLAYER_ON_MP_INTRO()
bActive = FALSE
ENDIF
BREAK
//#ENDIF
ENDSWITCH
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - MAINTAIN_PAUSE_MENU_COLUMN_ONE - menuItem ", i, " has this bActive status ", bActive)
MP_SET_DATA_SLOT(FIRST_COLUMN, iIndex, iMenuId, iUniqueId, bActive, strCat)
iIndex++
ELSE
iTopCategoryLookup[i] = -1
ENDIF
ENDREPEAT
// Initialise our depth based on mode
/*IF NETWORK_IS_GAME_IN_PROGRESS()
pauseMenuRoute[0] = PM_D1_PLAYERS
ELSE
pauseMenuRoute[0] = PM_D1_QUICK_PLAY
ENDIF*/
PM_DISPLAY_DATA_SLOT(FIRST_COLUMN)
PAUSE_MENU_COLUMN_UPDATED(FIRST_COLUMN)
ELSE
// handle the next depth
PROCESS_DEPTH_1()
ENDIF
ENDIF
//PROCESS RIGHT-HAND COLUMN INFO
IF iPauseMenuDepth = 0
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND iPauseMenuDepth = 1)
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND iPauseMenuDepth = 2 AND iPauseMenuItemStored != PM_D3_PLAYLIST_EDIT_PLAYLIST)
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND iPauseMenuDepth = 2 AND g_sMenuPlayListDetails.iLength = 0)
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND iPauseMenuDepth = 2)
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND iPauseMenuDepth = 3)
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND iPauseMenuDepth = 1)
OR (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_QUALIFYING_PLAYLISTS) AND iPauseMenuDepth = 1)
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ENTER_MP) AND iPauseMenuDepth = 1)
// #IF FEATURE_GEN9_STANDALONE
OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_FIND_NEW_SESS) AND iPauseMenuDepth = 1)
// #ENDIF // FEATURE_GEN9_STANDALONE
PROCESS_PAUSE_MENU_SIDE_COLUMN_WARNING_MESSAGE()
ELSE
IF IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
SHOW_PM_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(THIRD_COLUMN)
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE - Cancel - A")
ENDIF
ENDIF
ENDPROC
PROC REACTIVATE_SELECT_PROMPT_WHILE_CREATING_PLAYLIST()
BOOL bShowButton
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RACE
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DEATHMATCH
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_SURVIVAL
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_SURVIVAL)
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_COOP
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_MISSION_COOP_TYPE_COUNT)
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_BASE_JUMP
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_BASE_JUMP)
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_CTF
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_LTS
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MISSION
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_VS
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_ARENA_WARS
IF IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL
IF HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION
IF HAVE_MY_JOBS_LOADED()
IF iMyJobCount > 0
bShowButton = TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED
IF HAVE_BOOKMARKED_JOBS_LOADED()
IF iBookmarkedJobCount > 0
bShowButton = TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RECENT
IF HAVE_RECENTLY_PLAYED_JOBS_LOADED()
IF g_sRECENT_MISSION_HISTORY.iNumberOfMissions > 0
bShowButton = TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_EDIT_PLAYLIST
IF (g_sMenuPlayListDetails.iLength > 0)
bShowButton = TRUE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_SAVE_PLAYLIST
IF (g_sMenuPlayListDetails.iLength > 0)
AND SCRIPT_IS_CLOUD_AVAILABLE()
bShowButton = TRUE
ENDIF
ENDIF
IF bShowButton
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] REACTIVATE_SELECT_PROMPT_WHILE_CREATING_PLAYLIST() = TRUE")
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] REACTIVATE_SELECT_PROMPT_WHILE_CREATING_PLAYLIST() = FALSE")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PAUSE_MENU_ACTIVATE_CONTEXT SupressSelectPM 8")
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
ENDIF
ENDPROC
PROC MAINTAIN_PAUSE_MENU_COLUMN_TWO()
IF IS_BIT_SET(iBS_ColumnsToUpdate, SECOND_COLUMN)
BOOL bShowHelpText = TRUE
PAUSE_MENU_HELP_TEXT helpTextType = PAUSE_MENU_HELP_DEFAULT
INT iWidth = 2
IF iPauseMenuDepth = 0 // HANDLE HELP TEXT AT TOP LEVEL
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_OPTIONS
DISPLAY_PAUSE_MENU_HELP_TEXT(iWidth, FALSE, helpTextType)
bShowHelpText = FALSE
BREAK
ENDSWITCH
ELSE
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MISSION_CREATOR
SWITCH INT_TO_ENUM(ePM_D2_MISSIONS, pauseMenuRoute[1])
CASE PM_D2_EDIT_MISSIONS
CASE PM_D2_PUBLISH_MISSIONS
bShowHelpText = FALSE
BREAK
ENDSWITCH
BREAK
CASE PM_D1_ALL_JOBS
SWITCH INT_TO_ENUM(ePM_D2_JOBS, pauseMenuRoute[1])
CASE PM_D2_AVAILABLE_JOBS
IF iPauseMenuDepth >= 2
bShowHelpText = FALSE
//PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
ELSE
bShowHelpText = TRUE
ENDIF
BREAK
ENDSWITCH
BREAK
CASE PM_D1_PLAYLISTS
IF iPauseMenuDepth > 1
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_CREATE_PLAYLIST
bShowHelpText = FALSE
IF iPauseMenuDepth > 2
UPDATE_PLAYLIST_COLUMN()
HIDE_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Exit early if creating a playlist as second column is static")
HIDE_PAUSE_MENU_HELP_TEXT()
PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
EXIT // EXIT from this function as we don't want to update anything (clean up handling of this)
ENDIF
BREAK
CASE PM_D2_PLAYLISTS
IF iPauseMenuDepth = 2
bShowHelpText = FALSE
ELIF iPauseMenuDepth = 3
bShowHelpText = FALSE
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - B GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(), GET_MISSION_BITSET_TWO_PM_STAT(), GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), DEFAULT, DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
ENDIF
ENDIF
BREAK
CASE PM_D2_DOWNLOADED_PLAYLISTS
IF iPauseMenuDepth = 2
bShowHelpText = FALSE
ELIF iPauseMenuDepth = 3
bShowHelpText = FALSE
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - B GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(), GET_MISSION_BITSET_TWO_PM_STAT(), GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), DEFAULT, DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
ENDIF
ENDIF
BREAK
CASE PM_D2_ROCKSTAR_PLAYLISTS
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
IF iPauseMenuDepth = 2
bShowHelpText = FALSE
ELIF iPauseMenuDepth = 3
bShowHelpText = FALSE
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - B GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(), GET_MISSION_BITSET_TWO_PM_STAT(), GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), DEFAULT, DEFAULT, DEFAULT, DEFAULT , GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
ENDIF
ENDIF
BREAK
CASE PM_D2_CHALLENGES
bShowHelpText = FALSE
IF HAVE_CHALLENGES_LOADED()
IF bChallengeDataAvailable
IF iPauseMenuDepth = 2
DISPLAY_CHALLENGE_DETAILS(pauseMenuRoute[2], FALSE)
ELIF iPauseMenuDepth = 3
IF bChosenChallengeDataAvailable
DISPLAY_CHALLENGE_DETAILS(pauseMenuRoute[2], TRUE, TRUE)
ENDIF
ENDIF
ENDIF
ENDIF
BREAK
ENDSWITCH
//
// PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
// EXIT
//
ENDIF
iWidth = 2
BREAK
ENDSWITCH
ENDIF
// Do we only have help text to show for this category
IF bShowHelpText
//...yes, display help text. Stop updating
DISPLAY_PAUSE_MENU_HELP_TEXT(iWidth, FALSE, helpTextType)
PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
ELSE
BOOL bDataAvailable
//...no, populate the second column
IF POPULATE_PAUSE_MENU_SECOND_COLUMN(bDataAvailable)
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(0)
//...data loaded, clear columns
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - Cb")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
SHOW_PM_COLUMN(SECOND_COLUMN)
HIDE_PM_COLUMN(THIRD_COLUMN)
REACTIVATE_SELECT_PROMPT_WHILE_CREATING_PLAYLIST()
ENDIF
//...display data if available, else error message
IF bShowHelpText
IF bDataAvailable
DISPLAY_PAUSE_MENU_HELP_TEXT(1)
ELSE
DISPLAY_PAUSE_MENU_HELP_TEXT(2, TRUE)
ENDIF
ELSE
HIDE_PAUSE_MENU_HELP_TEXT()
ENDIF
PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
ELSE
//...set column busy if not already
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(1)
HIDE_PM_COLUMN(SECOND_COLUMN)
IF IS_SELECT_AVAILABLE()=0
PAUSE_MENU_SET_COLUMN_BUSY(1, TRUE)
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY LOADING SPINNER - COLUMN 2 - DEPTH 2 - B")
CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SetCrewChallenge"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("StartHeadToHead"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("DeletePlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RScrollUpDown"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - PAUSE_MENU_ACTIVATE_CONTEXT SupressSelectPM 9")
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
ENDIF
ENDIF
ENDPROC
/// PURPOSE: Returns TRUE when third column mission details have been loaded
FUNC BOOL PAUSE_MENU_DISPLAY_YOUR_MISSIONS()
BOOL bTypeAvailable = FALSE
IF iPauseMenuDepth = 3
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_STUNT_RACE)
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_RACE)
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE)
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_RACE)
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH)
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_DEATHMATCH)
AND !IS_THIS_A_SOLO_SESSION()
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_SURVIVAL)
bTypeAvailable = TRUE
ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
// IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_MISSION_COOP_TYPE_COUNT)
// bTypeAvailable = TRUE
// ENDIF
// #ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_BASE_JUMP)
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_MISSION)
AND !IS_THIS_A_SOLO_SESSION()
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_MISSION, TRUE)
AND !IS_THIS_A_SOLO_SESSION()
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_MISSION, FALSE, TRUE)
AND !IS_THIS_A_SOLO_SESSION()
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_VS OR pauseMenuRoute[3] = PM_D4_JOBS_NEW_VS
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_MISSION, FALSE, FALSE, TRUE)
AND !IS_THIS_A_SOLO_SESSION()
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_RACE)
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_ARENA_WARS
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_RACE)
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_KING_OF_THE_HILL
IF ARE_JOBS_OF_TYPE_AVAILABLE(pauseMenuRoute[2], FMMC_TYPE_DEATHMATCH)
bTypeAvailable = TRUE
ENDIF
ENDIF
ENDIF
IF bTypeAvailable
IF IS_IT_SAFE_TO_RETRIEVE_MISSION_DETAILS()
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - E GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.sMyMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(), GET_MISSION_BITSET_TWO_PM_STAT(),
GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), DEFAULT, DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())// g_FMMC_STRUCT.sMeta.bVerified)
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
RETURN TRUE
ENDIF
ENDIF
ENDIF
RETURN FALSE
ENDFUNC
FUNC BOOL PAUSE_MENU_DISPLAY_MISSION_DETAILS()
BOOL bTypeAvailable = FALSE
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_ALL_JOBS
SWITCH INT_TO_ENUM(ePM_D2_JOBS, pauseMenuRoute[1])
CASE PM_D2_AVAILABLE_JOBS
IF iPauseMenuDepth = 3
IF pauseMenuRoute[3] = PM_D4_JOBS_STUNT_RACE
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_RACE
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_DEATHMATCH
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_SURVIVAL
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_BASE_JUMP
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_MISSION
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_LTS
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_CTF
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_VS OR pauseMenuRoute[3] = PM_D4_JOBS_NEW_VS
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_TARGET_ASSAULT
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_ARENA_WARS
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
ELIF pauseMenuRoute[3] = PM_D4_JOBS_KING_OF_THE_HILL
IF IS_SELECT_AVAILABLE() = 0
bTypeAvailable = TRUE
ENDIF
// #IF FEATURE_GUNRUNNING
// ELIF pauseMenuRoute[3] = PM_D4_JOBS_COOP
// IF IS_SELECT_AVAILABLE() = 0
// bTypeAvailable = TRUE
// ENDIF
// #ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF bTypeAvailable
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - z GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(),GET_MISSION_BITSET_TWO_PM_STAT(),
GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), GET_MISSION_CREATOR_USES_SC_NICK() , DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
RETURN TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
IF bTypeAvailable
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_sRECENT_MISSION_HISTORY.sRecentMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - x GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_sRECENT_MISSION_HISTORY.sRecentMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(),GET_MISSION_BITSET_TWO_PM_STAT(),
GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), GET_MISSION_CREATOR_USES_SC_NICK(), DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_sRECENT_MISSION_HISTORY.bBookmarked[iPauseMenuItemSelected]
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("BookmarkJob"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("BookmarkJob"))
ENDIF
ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
RETURN TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
IF bTypeAvailable
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - x GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_FMMC_ROCKSTAR_CREATED.sMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(),GET_MISSION_BITSET_TWO_PM_STAT(),
GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), DEFAULT, DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("BookmarkJob"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("BookmarkJob"))
ENDIF
ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
RETURN TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF bTypeAvailable
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - y GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(),GET_MISSION_BITSET_TWO_PM_STAT(),
GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), GET_MISSION_CREATOR_USES_SC_NICK(), DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("BookmarkJob"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("BookmarkJob"))
ENDIF
ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
RETURN TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF bTypeAvailable
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D3_JOBS_COMMUNITY_JOBS DISPLAY_MISSION_DETAILS - y GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sMissionHeaderVars[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(),GET_MISSION_BITSET_TWO_PM_STAT(),
GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), GET_MISSION_CREATOR_USES_SC_NICK(), DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("BookmarkJob"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("BookmarkJob"))
ENDIF
ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
RETURN TRUE
ENDIF
ENDIF
ENDIF
BREAK
ENDSWITCH
BREAK
CASE PM_D1_PLAYLISTS
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_CREATE_PLAYLIST
IF iPauseMenuDepth > 2
RETURN DISPLAY_MISSION_DETAILS_FOR_PLAYLIST(bCanDisplayPlaylistMissionDetails)
ENDIF
BREAK
CASE PM_D2_PLAYLISTS
CASE PM_D2_ROCKSTAR_PLAYLISTS
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
CASE PM_D2_DOWNLOADED_PLAYLISTS
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - A GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(), GET_MISSION_BITSET_TWO_PM_STAT(), GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), DEFAULT, DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
RETURN TRUE
ENDIF
BREAK
CASE PM_D2_CHALLENGES
IF REQUEST_AND_LOAD_CACHED_DESCRIPTION(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, sCMDLvars)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY_MISSION_DETAILS - CH A GET_MISSION_TYPE_PM_STAT = ", GET_MISSION_TYPE_PM_STAT(), ", GET_MISSION_SUBTYPE_PM_STAT = ", GET_MISSION_SUBTYPE_PM_STAT())
DISPLAY_MISSION_DETAILS(THIRD_COLUMN, CREATOR_STAT_ID,
GET_MISSION_AREA_PM_STAT(), GET_MISSION_RATING_PM_STAT(),
GET_MISSION_CREATOR_PM_STAT(), GET_MISSION_NAME_PM_STAT(), UGC_GET_CACHED_DESCRIPTION_WITH_NO_TRANSLATION_CHECK(g_sMenuPlayListDetails.sLoadedMissionDetails[iPauseMenuItemSelected].iMissionDecHash, 500),
GET_MISSION_RANK_PM_STAT(), GET_MISSION_MIN_PLAYERS_PM_STAT(),
GET_MISSION_MAX_PLAYERS_PM_STAT(), GET_MISSION_TYPE_PM_STAT(), GET_MISSION_SUBTYPE_PM_STAT(), GET_MISSION_BITSET_PM_STAT(), GET_MISSION_BITSET_TWO_PM_STAT(),GET_MISSION_VERIFIED_PM_STAT(), GET_MISSION_FILENAME_PM_STAT(), DLPhotoData,
HAS_MISSION_GOT_PHOTO(), GET_MISSION_ROCKSTAR_CREATED_PM_STAT(), GET_MISSION_MAX_TEAMS_PM_STAT(), DEFAULT, DEFAULT,DEFAULT, DEFAULT, GET_MISSION_ADVERSARY_MODE_TYPE())
UGC_RELEASE_CACHED_DESCRIPTION(sCMDLvars.nHashOld)
RETURN TRUE
ENDIF
BREAK
ENDSWITCH
BREAK
ENDSWITCH
RETURN FALSE
ENDFUNC
PROC MAINTAIN_PAUSE_MENU_COLUMN_THREE()
IF IS_BIT_SET(iBS_ColumnsToUpdate, THIRD_COLUMN)
BOOL bShowHelpText
BOOL bColumnUpdated
BOOL bDisplayWarningMessage
BOOL bDoNothing
PAUSE_MENU_HELP_TEXT helpTextType = PAUSE_MENU_HELP_DEFAULT
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MISSION_CREATOR
SWITCH INT_TO_ENUM(ePM_D2_MISSIONS, pauseMenuRoute[1])
CASE PM_D2_EDIT_MISSIONS
bColumnUpdated = PAUSE_MENU_DISPLAY_YOUR_MISSIONS()
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - F")
BREAK
CASE PM_D2_PUBLISH_MISSIONS
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
CPRINTLN(DEBUG_PAUSE_MENU, "SOCIAL CLUB ACCOUNT - ALLOWED TO PUBLISH")
bColumnUpdated = PAUSE_MENU_DISPLAY_YOUR_MISSIONS()
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "NO SOCIAL CLUB ACCOUNT - CAN@T PUBLISH MISSIONS")
bColumnUpdated = TRUE
bDisplayWarningMessage = TRUE
helpTextType = PAUSE_MENU_HELP_PUBLISH
ENDIF
BREAK
ENDSWITCH
BREAK
CASE PM_D1_ALL_JOBS
IF iPauseMenuDepth >= 3
//CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D1_ALL_JOBS - CHECK B333")
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF IS_BIT_SET(iBS_DataAvailable, MY_JOBS_AVAILABLE)
AND iMyJobCount > 0
IF RUN_NETWORK_CONTENT_CHECK()
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - E")
bColumnUpdated = PAUSE_MENU_DISPLAY_YOUR_MISSIONS()
ELSE
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - C")
bColumnUpdated = TRUE
bDisplayWarningMessage = TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_AVAILABLE)
AND iBookmarkedJobCount > 0
IF RUN_NETWORK_CONTENT_CHECK()
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - D")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
ELSE
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - C")
bColumnUpdated = TRUE
bDisplayWarningMessage = TRUE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
IF IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_CREATED_AVAILABLE)
AND iRockstarCreatedJobCount > 0
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - D")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CANDIDATE)
IF IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_CANDIDATE_AVAILABLE)
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - D")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_VERIFIED_AVAILABLE)
AND iRockstarVerifiedJobCount > 0
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - D")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF IS_BIT_SET(iBS_DataAvailable2, COMMUNITY_JOBS_AVAILABLE)
AND iRecentlyCommunityJobCount > 0
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - D")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
IF IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_AVAILABLE)
AND iRecentlyPlayedJobCount > 0
IF RUN_NETWORK_CONTENT_CHECK()
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - D")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
ELSE
//CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - C")
bColumnUpdated = TRUE
bDisplayWarningMessage = TRUE
ENDIF
ENDIF
ENDIF
// ELSE
// bDoNothing = TRUE
ENDIF
BREAK
CASE PM_D1_PLAYLISTS
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_CREATE_PLAYLIST
IF iPauseMenuDepth > 2
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - B")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DEATHMATCH
bShowHelpText = TRUE
ENDIF
ELSE
bDoNothing = TRUE
ENDIF
BREAK
CASE PM_D2_PLAYLISTS
CASE PM_D2_DOWNLOADED_PLAYLISTS
CASE PM_D2_ROCKSTAR_PLAYLISTS
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
IF iPauseMenuDepth > 2
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - bColumnUpdated - A")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
ELSE
bDoNothing = TRUE
ENDIF
BREAK
CASE PM_D2_CHALLENGES
IF iPauseMenuDepth > 2
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - PM_D2_CHALLENGES - PAUSE_MENU_DISPLAY_MISSION_DETAILS")
bColumnUpdated = PAUSE_MENU_DISPLAY_MISSION_DETAILS()
bShowHelpText = FALSE
ELSE
bDoNothing = TRUE
ENDIF
BREAK
ENDSWITCH
BREAK
ENDSWITCH
IF bDoNothing
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MAINTAIN_PAUSE_MENU_COLUMN_THREE - DO NOTHING - A")
PAUSE_MENU_COLUMN_UPDATED(THIRD_COLUMN)
ELIF bColumnUpdated
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - D")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
IF bDisplayWarningMessage
DISPLAY_PAUSE_MENU_HELP_TEXT(1, FALSE, helpTextType)
ELSE
IF bShowHelpText = FALSE
HIDE_PAUSE_MENU_HELP_TEXT()
ENDIF
SHOW_PM_COLUMN(THIRD_COLUMN)
ENDIF
PAUSE_MENU_COLUMN_UPDATED(THIRD_COLUMN)
ELSE
IF NOT IS_PAUSE_MENU_COLUMN_BUSY(4)
HIDE_PAUSE_MENU_HELP_TEXT()
// PAUSE_MENU_SET_COLUMN_BUSY(4, TRUE)
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] DISPLAY LOADING SPINNER - DEPTH 3 - B")
ENDIF
ENDIF
ENDIF
ENDPROC
/// PURPOSE: Will force an update of data in second column
PROC UPDATE_PAUSE_MENU_SECOND_COLUMN()
IF NOT IS_BIT_SET(iBS_ColumnsToUpdate, SECOND_COLUMN)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() != PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - E")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
//...no, update second column
LOCK_PM_COLUMN(FIRST_COLUMN, FALSE)
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN)
PM_MENU_SHIFT_DEPTH(1)
//SET_FRONTEND_COLUMN_FOCUS(SECOND_COLUMN, TRUE)
//...request details for third column
CLEAR_PM_COLUMN(THIRD_COLUMN)
LOCK_PM_COLUMN(SECOND_COLUMN, TRUE)
PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF iPauseMenuDepth = 3
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("DeletePlaylist"))
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDPROC
FUNC BOOL CAN_PLAYLIST_LAUNCH_IN_SOLO_SESSION()
IF IS_THIS_A_SOLO_SESSION()
IF IS_BIT_SET(g_sLoadedPlaylistDetails.iChallengeCompatableBitSet, iPauseMenuItemSelected)
RETURN TRUE
ENDIF
ELSE
RETURN TRUE
ENDIF
RETURN FALSE
ENDFUNC
/// PURPOSE: Process end of a depth on left hand column
PROC PROCESS_PAUSE_MENU_SELECTION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_SELECTION")
// Top level menu
sLastFileName = ""
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MIGRATE_CHAR
CASE PM_D1_MIGRATE_CHAR_MP
IF NETWORK_HAVE_ROS_SOCIAL_CLUB_PRIV()
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
// IF ARE_SAVES_AVAILABLE_TO_TRANSFER_EXTERNAL()
// IF !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_PLAYER_FINISHED_TRANSFER_SAVES, 0)
// AND !IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_PLAYER_FINISHED_TRANSFER_SAVES, 1)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_SELECTION - PM_D1_MIGRATE_CHAR ")
#IF NOT FEATURE_GEN9_STANDALONE
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
#ENDIF
#IF FEATURE_GEN9_STANDALONE
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_MIGRATION_STATUS)
#ENDIF
// ENDIF
// ENDIF
ENDIF
ENDIF
BREAK
CASE PM_D1_FRIEND_SESS
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_SELECTION - PM_D1_FRIEND_SESS ")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
BREAK
//**TWH - CMcM - 1425491 - Added Find Crew to the Online menu.
CASE PM_D1_CREW_SESS
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_SELECTION - PM_D1_CREW_SESS ")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
BREAK
CASE PM_D1_CREWS
BREAK
CASE PM_D1_ALL_JOBS
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_SELECTION - PM_D1_ALL_JOBS - pauseMenuRoute[1] = ", pauseMenuRoute[1])
IF GET_PAUSE_MENU_MP_COLUMN_STATE() != PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
SWITCH INT_TO_ENUM(ePM_D2_JOBS, pauseMenuRoute[1])
CASE PM_D2_QUICK_JOBS
IF iPauseMenuDepth > 1
IF pauseMenuRoute[2] = PM_D3_JOIN_RAND
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_RAND = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_RACE
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_RACE = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_DM
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_DM = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_MISSION
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_MISSION = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_CTF
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_CTF = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_LTS
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_LTS = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_VS
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_VS = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_NEW_VS
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_NEW_VS = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
// ELIF pauseMenuRoute[2] = PM_D3_JOIN_COOP
// IF IS_SELECT_AVAILABLE() = 0
// IF NETWORK_IS_GAME_IN_PROGRESS()
// SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
// ENDIF
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_COOP = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
// SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
// ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_SURVIVAL
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_SURVIVAL = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_PARACHUTING
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_PARACHUTING = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_ARENA
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_ARENA = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_JOIN_PLAYLIST
IF IS_SELECT_AVAILABLE() = 0
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) - PM_D3_JOIN_PLAYLIST = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE) //PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ENDIF
ENDIF
BREAK
CASE PM_D2_AVAILABLE_JOBS
IF iPauseMenuDepth >= 3
AND IS_SELECT_AVAILABLE() = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D1_ALL_JOBS - CHECK C3 - pauseMenuRoute[2] = ", pauseMenuRoute[2])
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
IF IS_BIT_SET(iBS_DataAvailable, MY_JOBS_AVAILABLE)
AND NOT IS_CLOUD_DOWN_CLOUD_LOADER()
AND iMyJobCount > 0
UPDATE_PAUSE_MENU_SECOND_COLUMN()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF IS_BIT_SET(iBS_DataAvailable, BOOKMARKED_JOBS_AVAILABLE)
AND NOT IS_CLOUD_DOWN_CLOUD_LOADER()
AND iBookmarkedJobCount > 0
UPDATE_PAUSE_MENU_SECOND_COLUMN()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
IF IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_CREATED_AVAILABLE)
UPDATE_PAUSE_MENU_SECOND_COLUMN()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_VERIFIED_AVAILABLE)
UPDATE_PAUSE_MENU_SECOND_COLUMN()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF IS_BIT_SET(iBS_DataAvailable2, COMMUNITY_JOBS_AVAILABLE)
UPDATE_PAUSE_MENU_SECOND_COLUMN()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CANDIDATE)
IF IS_BIT_SET(iBS_DataAvailable, ROCKSTAR_CANDIDATE_AVAILABLE)
UPDATE_PAUSE_MENU_SECOND_COLUMN()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
IF IS_BIT_SET(iBS_DataAvailable, RECENTLY_PLAYED_AVAILABLE)
UPDATE_PAUSE_MENU_SECOND_COLUMN()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
ENDIF
ENDIF
BREAK
CASE PM_D2_REPORT_JOB
//IF iPauseMenuDepth = 2
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PM_D2_REPORT_JOB - bReportLastJob = TRUE")
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, RECENTLY_PLAYED_LOADED)
bReportLastJob = TRUE
//ENDIF
BREAK
ENDSWITCH
BREAK
CASE PM_D1_MISSION_CREATOR
// #IF IS_FINAL_BUILD
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Creator not active in final.")
// PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
// #ENDIF
//
//
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
#IF IS_DEBUG_BUILD
AND GET_COMMANDLINE_PARAM_EXISTS("sc_disableCreators") = FALSE
#ENDIF
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Creator selected but no social club account. No movement.")
PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
ENDIF
//
BREAK
CASE PM_D1_PLAYLISTS
IF IS_PLAYER_ON_A_PLAYLIST(PLAYER_ID())
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_SELECTION - PM_D1_PLAYLISTS ")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
ELSE
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_QUALIFYING_PLAYLISTS
IF iPauseMenuDepth = 1
IF IS_SELECT_AVAILABLE() = 0
AND CAN_PLAYLIST_LAUNCH_IN_SOLO_SESSION()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
//SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_QUALIFYING_PLAYLIST_JOIN)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
ENDIF
ENDIF
BREAK
CASE PM_D2_CREATE_PLAYLIST
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
AND NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
AND IS_SELECT_AVAILABLE() = 0
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RACE
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DEATHMATCH
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_SURVIVAL
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_BASE_JUMP
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_CTF
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_LTS
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MISSION
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_VS
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RECENT
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_TARGET_ASSAULT
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_ARENA_WARS
OR pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL
IF iPauseMenuDepth != 2
SAVE_SELECTED_MISSION_TO_PLAYLIST()
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_EDIT_PLAYLIST
IF g_sMenuPlayListDetails.iLength > 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST) - A")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
IF !ARE_STRINGS_EQUAL("", g_sMenuPlayListDetails.tl31PlaylistName)
sPublishPlaylistVars.bUpdate = TRUE
ENDIF
sPublishPlaylistVars.tl23SelectedPlaylist = g_sMenuPlayListDetails.tl31szContentID
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_SAVE_PLAYLIST
IF SCRIPT_IS_CLOUD_AVAILABLE()
AND (g_sMenuPlayListDetails.iLength > 0)
PAUSE_MENU_SET_COLUMN_BUSY(1, FALSE)
CLEAR_CURRENT_MISSION_DESCRIPTION()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_SAVE_PLAYLIST)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
ELSE
SAVE_SELECTED_MISSION_TO_PLAYLIST()
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Playlist selected but no social club account. No movement.")
PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
ENDIF
BREAK
CASE PM_D2_SHUFFLE_PLAYLIST
EXIT // X is not valid for this (only left / right)
BREAK
CASE PM_D2_PLAYLISTS
IF bMyPlaylistDataAvailable
AND NOT bZeroLengthPlaylist
AND CAN_PLAYLIST_LAUNCH_IN_SOLO_SESSION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE - PLAYLISTS - A")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
BREAK
CASE PM_D2_DOWNLOADED_PLAYLISTS
IF bBookmarkedPlaylistDataAvailable
AND CAN_PLAYLIST_LAUNCH_IN_SOLO_SESSION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE - PLAYLISTS - A")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
BREAK
CASE PM_D2_ROCKSTAR_PLAYLISTS
IF bRockstarPlaylistDataAvailable
AND CAN_PLAYLIST_LAUNCH_IN_SOLO_SESSION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE - ROCKSTAR PLAYLISTS - A")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
BREAK
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
IF bRockstarVerifiedPlaylistDataAvailable
AND CAN_PLAYLIST_LAUNCH_IN_SOLO_SESSION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE - ROCKSTAR PLAYLISTS - A")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
BREAK
CASE PM_D2_CHALLENGES
IF g_sLoadedChallengeDetails.iTotalPlaylists > 0 //IS_BIT_SET(iBS_DataAvailable, CHALLENGES_AVAILABLE)
AND IS_LOCAL_PLAYER_IN_ACTIVE_CLAN()
AND HAVE_CHALLENGES_LOADED()
AND NETWORK_MONEY_CAN_BET(g_sMenuPlayListDetails.iCashBet, FALSE, TRUE)
AND AM_I_ABLE_TO_PLAY_MORE_CHALLENGES_TODAY_PLEASE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE - CHALLENGES - A")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
BREAK
ENDSWITCH
ENDIF
BREAK
CASE PM_D1_SWAP_CHARS
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
CASE PM_D1_ACCOUNT_PICKER
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_ACCOUNT_PICKER)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
CASE PM_D1_QUIT_MP
/*IF IS_ON_BASEJUMP_GLOBAL_SET()
OR IS_ON_DEATHMATCH_GLOBAL_SET()
OR IS_ON_RACE_GLOBAL_SET()
OR IS_ON_RALLY_RACE_GLOBAL_SET()
OR IS_ON_TRIATHLON_GLOBAL_SET()
OR g_bFM_ON_TEAM_MISSION
OR IS_PLAYER_ON_MP_AMBIENT_SCRIPT(PLAYER_ID(), MPAM_TYPE_GANGHIDEOUT)*/
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
/*ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D1_QUIT_MP - LAUNCH TRANSITION WITH NO WARNING")
LAUNCH_PAUSE_MENU_TRANSITION()
ENDIF*/
BREAK
CASE PM_D1_EXIT_GAME
NETWORK_QUIT_MP_TO_DESKTOP()
SET_FRONTEND_ACTIVE(FALSE)
g_bMissionCreatorPauseMenuActive = FALSE // May not be the place to reset this.
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLEANUP)
BREAK
// #IF FEATURE_GEN9_STANDALONE
CASE PM_D1_FIND_NEW_SESS
SWITCH INT_TO_ENUM( ePM_D2_SESSION_TYPE, pauseMenuRoute[1])
CASE PM_D2_PUBLIC_SESSION
CASE PM_D2_INVITE_ONLY_FM
CASE PM_D2_CLOSED_FRIEND_FM
CASE PM_D2_SOLO_FM
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
CASE PM_D2_CREW_FM
CASE PM_D2_CLOSED_CREW_FM
IF IS_LOCAL_PLAYER_IN_ACTIVE_CLAN()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
BREAK
ENDSWITCH
BREAK
// #ENDIF // FEATURE_GEN9_STANDALONE
// #IF NOT FEATURE_GEN9_STANDALONE
// CASE PM_D1_FIND_NEW_SESS
// SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
// PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
// BREAK
// #ENDIF // NOT FEATURE_GEN9_STANDALONE
#IF FEATURE_COPS_N_CROOKS
CASE PM_D1_GOTO_CNC
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
#ENDIF
CASE PM_D1_CHOOSE_CHAR
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
CASE PM_D1_ENTER_MP
SWITCH INT_TO_ENUM(ePM_D2_SESSION_TYPE, pauseMenuRoute[1])
CASE PM_D2_GO
CASE PM_D2_INVITE_ONLY_FM
CASE PM_D2_CLOSED_FRIEND_FM
CASE PM_D2_SOLO_FM
CASE PM_D2_CLOSED_SCTV
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
//**TWH - CMcM - #1416411 - Greyed out and disabled Crew options when the player didn’t have a crew. Had to update MP_SET_DATA_SLOT_SETTING_INT to allow inactive entries.
CASE PM_D2_CREW_FM
CASE PM_D2_CLOSED_CREW_FM
IF IS_LOCAL_PLAYER_IN_ACTIVE_CLAN()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
BREAK
ENDSWITCH
BREAK
CASE PM_D1_OPTIONS
// Move us into correct column
PAUSE_MENU_SHIFT_SETTINGS(1)
// Make sure state of pause menu is consisten
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN)
// No longer update second column
PAUSE_MENU_COLUMN_UPDATED(SECOND_COLUMN)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
CASE PM_D1_SHARK_CARDS
IF NOT IS_COMMERCE_STORE_OPEN()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] OPEN_COMMERCE_STORE - PM_D1_SHARK_CARDS")
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
OPEN_COMMERCE_STORE("", "", SPL_ONLINE_TAB)
CLEAR_BIT(iStoreTrigger, ciSTORE_STARTER_PACK)
SET_BIT(iStoreTrigger, ciSTORE_SHARK_CARD)
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] OPEN_COMMERCE_STORE - PM_D1_SHARK_CARDS *BLOCKED*")
ENDIF
BREAK
#IF FEATURE_GTAO_MEMBERSHIP
CASE PM_D1_GTAO_MEMBERSHIP
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
LAUNCH_MEMBERSHIP_PAGE_BROWSER(TRUE)
BREAK
#ENDIF
#IF NOT FEATURE_GEN9_STANDALONE
CASE PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK
//IF NOT HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS()
// IF NOT IS_COMMERCE_STORE_OPEN()
// TAKE_CONTROL_OF_FRONTEND()
// SET_PM_HIGHLIGHT(FIRST_COLUMN, iTopCategoryLookup[PM_D1_ALL_JOBS], TRUE, TRUE)
// SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, TRUE)
// RELEASE_CONTROL_OF_FRONTEND()
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] OPEN_COMMERCE_STORE - PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK")
// PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
// OPEN_COMMERCE_STORE("starterpack", "Packs", SPL_STARTER_PACK)
// SET_BIT(iStoreTrigger, ciSTORE_STARTER_PACK)
// CLEAR_BIT(iStoreTrigger, ciSTORE_SHARK_CARD)
// ELSE
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] OPEN_COMMERCE_STORE - PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK *BLOCKED*")
// ENDIF
// ELSE
LAUNCH_CRIMINAL_STARTER_PACK_BROWSER(TRUE)
//ENDIF
BREAK
#ENDIF
#IF FEATURE_GEN9_STANDALONE
CASE PM_D1_QUIT_TO_MM
CASE PM_D1_QUIT_TO_SP
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
#ENDIF // FEATURE_GEN9_STANDALONE
ENDSWITCH
ENDPROC
// If publishing switch to Bobby's functionality
PROC PROCESS_LIST_ITEM_SELECTED()
SWITCH INT_TO_ENUM (ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MISSION_CREATOR
SWITCH INT_TO_ENUM(ePM_D2_MISSIONS, pauseMenuRoute[1])
CASE PM_D2_PUBLISH_MISSIONS
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_PUBLISH_MISSION)
ENDIF
EXIT
BREAK
ENDSWITCH
BREAK
ENDSWITCH
#IF NOT FEATURE_GEN9_STANDALONE
IF pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
ENDIF
#ENDIF
#IF FEATURE_GEN9_STANDALONE
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
#ENDIF
ENDPROC
INT iPublishInt
INT iPublishStage
BOOL bPublish
// Called every frame while a misson is published
PROC PROCESS_PAUSE_MENU_MISSION_PUBLISH()
BOOL bStatus
IF DEAL_WITH_PLAYER_SELECTING_PUBLISH(iPublishInt, iPublishStage, bStatus, bPublish, iBS_ButtonPressed, g_FMMC_HEADER_STRUCT.sMyMissionHeaderVars[iPauseMenuItemSelected].tlName, szFilePaths, tl23ReturnedContexID)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_MISSION_PUBLISH - mission publishing finished")
iPublishInt = 0
iPublishStage = 0
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
RELEASE_CONTROL_OF_FRONTEND()
ENDIF
IF IS_CLOUD_DOWN_CLOUD_LOADER()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLOUD_WARNING_MESSAGE)
ENDIF
ENDPROC
FUNC BOOL IS_PAUSE_MENU_DEPTH_AVAILABLE()
SWITCH INT_TO_ENUM(ePM_D1_CATEGORIES, pauseMenuRoute[0])
CASE PM_D1_MIGRATE_CHAR
CASE PM_D1_MIGRATE_CHAR_MP
RETURN FALSE
CASE PM_D1_FRIEND_SESS
RETURN FALSE
//**TWH - CMcM - 1425491 - Added Find Crew to the Online menu.
CASE PM_D1_CREW_SESS
RETURN FALSE
CASE PM_D1_PLAYERS
RETURN FALSE // THIS SHOULD BE TRUE AND TRIGGER CODE PLAYERS SCREEN
CASE PM_D1_PARTY
RETURN FALSE // THIS SHOULD BE TRUE AND TRIGGER CODE PLAYERS SCREEN
CASE PM_D1_MISSION_CREATOR
RETURN FALSE
CASE PM_D1_ALL_JOBS
IF iPauseMenuDepth > 0
SWITCH INT_TO_ENUM(ePM_D2_JOBS, pauseMenuRoute[1])
CASE PM_D2_QUICK_JOBS
IF iPauseMenuDepth > 1 //0
OR CAN_DO_AVAILABLE_JOBS() != 0
RETURN FALSE
ENDIF
BREAK
CASE PM_D2_AVAILABLE_JOBS
IF iPauseMenuDepth > 2 //0
OR CAN_DO_AVAILABLE_JOBS() != 0
RETURN FALSE
ENDIF
BREAK
CASE PM_D2_REPORT_JOB
IF iPauseMenuDepth > 0 //0
RETURN FALSE
ENDIF
BREAK
ENDSWITCH
ENDIF
BREAK
CASE PM_D1_ENTER_MP
IF iPauseMenuDepth > 0
RETURN FALSE
ENDIF
BREAK
CASE PM_D1_PLAYLISTS
IF IS_PLAYER_ON_A_PLAYLIST(PLAYER_ID())
OR NOT HAS_PLAYER_COMPLETED_INITIAL_AMBIENT_TUTORIALS(PLAYER_ID())
RETURN FALSE
ENDIF
IF iPauseMenuDepth > 0
SWITCH INT_TO_ENUM(ePM_D2_PLAYLIST_TYPE, pauseMenuRoute[1])
CASE PM_D2_CREATE_PLAYLIST
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
AND NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
// If we are at depth 2, check if we are selecting SAVE
IF iPauseMenuDepth = 2
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RACE
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_RACE] <= 0
OR !IS_FM_TYPE_UNLOCKED(FMMC_TYPE_RACE)
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DEATHMATCH
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_DEATHMATCH] <= 0
OR !IS_FM_TYPE_UNLOCKED(FMMC_TYPE_DEATHMATCH)
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_SURVIVAL
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_SURVIVAL] <= 0
OR !IS_FM_TYPE_UNLOCKED(FMMC_TYPE_SURVIVAL)
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_BASE_JUMP
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_BASE_JUMP] <= 0
OR !IS_FM_TYPE_UNLOCKED(FMMC_TYPE_BASE_JUMP)
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_CTF
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_CTF] <= 0
OR !HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_LTS
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_LTS] <= 0
OR !HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MISSION
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION] <= 0
OR !HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_VS
IF g_FMMC_ROCKSTAR_CREATED.iTypeCount[FMMC_TYPE_MISSION_VS] <= 0
OR !HAS_PLAYER_COMPLETED_RACE_AND_DM_TUTORIAL(PLAYER_ID())
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_MY_MISSIONS.iTotalNumberOfMissions <= 0
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED
IF g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.iTotalNumberOfMissions <= 0
RETURN FALSE
ENDIF
ELIF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RECENT
IF g_sRECENT_MISSION_HISTORY.iNumberOfMissions <= 0
AND HAVE_RECENTLY_PLAYED_JOBS_LOADED()
RETURN FALSE
ENDIF
ELIF (pauseMenuRoute[2] = PM_D3_PLAYLIST_EDIT_PLAYLIST OR pauseMenuRoute[2] = PM_D3_PLAYLIST_SAVE_PLAYLIST)
RETURN FALSE
ENDIF
IF g_sMenuPlayListDetails.iLength > 0
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
AND NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
AND IS_GAME_LINKED_TO_SOCIAL_CLUB()
IF HAVE_PLAYLISTS_LOADED()
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("EditPlaylist"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] EditPlaylist - CHECK X")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] EditPlaylist - CHECK X 2")
ENDIF
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylist"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] EditPlaylist - CHECK ZZ")
ENDIF
ELSE
IF iPauseMenuDepth > 2
RETURN FALSE
ENDIF
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PLAYLIST - No social club account")
RETURN FALSE
ENDIF
BREAK
CASE PM_D2_SHUFFLE_PLAYLIST
RETURN FALSE
CASE PM_D2_PLAYLISTS
IF (IS_SELECT_AVAILABLE() != 0
OR iPauseMenuDepth > 1)
RETURN FALSE
ENDIF
BREAK
CASE PM_D2_DOWNLOADED_PLAYLISTS
IF (IS_SELECT_AVAILABLE() != 0
OR iPauseMenuDepth > 1)
RETURN FALSE
ENDIF
BREAK
CASE PM_D2_ROCKSTAR_PLAYLISTS
CASE PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS
IF IS_SELECT_AVAILABLE() != 0
OR iPauseMenuDepth > 1
RETURN FALSE
ENDIF
BREAK
CASE PM_D2_QUALIFYING_PLAYLISTS
IF IS_SELECT_AVAILABLE() != 0
OR iPauseMenuDepth > 0
RETURN FALSE
ENDIF
BREAK
CASE PM_D2_CHALLENGES
IF IS_SELECT_AVAILABLE() != 0
OR iPauseMenuDepth > 2
RETURN FALSE
ENDIF
BREAK
ENDSWITCH
ENDIF
BREAK
CASE PM_D1_ACCOUNT_PICKER
RETURN FALSE
CASE PM_D1_SWAP_CHARS
RETURN FALSE
CASE PM_D1_QUIT_MP
RETURN FALSE
// #IF FEATURE_GEN9_STANDALONE
CASE PM_D1_FIND_NEW_SESS
IF iPauseMenuDepth > 0
RETURN FALSE
ENDIF
BREAK
// #ENDIF // FEATURE_GEN9_STANDALONE
// #IF NOT FEATURE_GEN9_STANDALONE
// CASE PM_D1_FIND_NEW_SESS
// RETURN FALSE
// #ENDIF // NOT FEATURE_GEN9_STANDALONE
CASE PM_D1_OPTIONS
RETURN FALSE
CASE PM_D1_CHOOSE_CHAR
RETURN FALSE
CASE PM_D1_EXIT_GAME
RETURN FALSE
#IF NOT FEATURE_GEN9_STANDALONE
CASE PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK
RETURN FALSE
#ENDIF
#IF FEATURE_GTAO_MEMBERSHIP
CASE PM_D1_GTAO_MEMBERSHIP
RETURN FALSE
#ENDIF
CASE PM_D1_SHARK_CARDS
RETURN FALSE
#IF FEATURE_COPS_N_CROOKS
CASE PM_D1_GOTO_CNC
RETURN FALSE
#ENDIF
#IF FEATURE_GEN9_STANDALONE
CASE PM_D1_QUIT_TO_MM
RETURN FALSE
CASE PM_D1_QUIT_TO_SP
RETURN FALSE
#ENDIF // FEATURE_GEN9_STANDALONE
CASE PM_D1_CREDITS_AND_LEGAL
RETURN FALSE
ENDSWITCH
RETURN TRUE
ENDFUNC
PROC HANDLE_TRIGGER( FRONTEND_MENU_SCREEN iTriggerID, INT iMenuID)
IF IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE - Cancel - D")
ENDIF
SWITCH iTriggerID
CASE MENU_UNIQUE_ID_MISSION_CREATOR
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - J")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
// Always be moving into menu.
LOCK_PM_COLUMN(FIRST_COLUMN, TRUE)
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
IF NOT IS_BIT_SET(iBS_General, biDISABLE_FIRST_SOUND)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ELSE
CLEAR_BIT(iBS_General, biDISABLE_FIRST_SOUND)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR BIT biDISABLE_FIRST_SOUND")
ENDIF
BREAK
CASE MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY
// Is there a further depth to move to?
IF IS_PAUSE_MENU_DEPTH_AVAILABLE()
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY pauseMenuRoute[0] = ", pauseMenuRoute[0] )
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] != ENUM_TO_INT(PM_D2_QUALIFYING_PLAYLISTS)
IF iPauseMenuDepth = 1
/****/RESET_PLAYLIST_MIN_AND_MAX()
/****/RESET_LOADED_PLAYLIST_VARS(g_sMenuPlayListDetails)
/****/CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] RESET_LOADED_PLAYLIST_VARS - A")
ELIF iPauseMenuDepth = 2
IF IS_PAUSE_MENU_COLUMN_BUSY(1)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY - EXIT - STILL LOADING PLAYLIST")
EXIT
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY iPauseMenuDepth = ", iPauseMenuDepth)
ENDIF
ENDIF
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - K")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
//...yes, move to depth and update
iPauseMenuDepth++
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] A - SET iPauseMenuItemSelected to 0 from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = 0
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ELSE
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] != ENUM_TO_INT(PM_D2_QUALIFYING_PLAYLISTS)
IF iPauseMenuDepth = 2
IF IS_PAUSE_MENU_COLUMN_BUSY(1)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY - EXIT - STILL LOADING PLAYLIST")
EXIT
ENDIF
ENDIF
ENDIF
ENDIF
PROCESS_PAUSE_MENU_SELECTION()
ENDIF
BREAK
CASE MENU_UNIQUE_ID_MISSION_CREATOR_LISTITEM
PROCESS_LIST_ITEM_SELECTED()
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
BREAK
CASE MENU_UNIQUE_ID_SETTINGS_LIST
UPDATE_PAUSE_MENU_SETTING_HELP_TEXT() // B*2184969 - The settings item description is now set here, instead of when iTriggerID = MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY.
PROCESS_SETTINGS_SELECTION(iMenuID)
BREAK
ENDSWITCH
ENDPROC
/// PURPOSE:
/// Initialise the multiplayer screen as player moves to tabs for first time
PROC INIT_PAUSE_MENU_MULTIPLAYER_SCREEN()
IF CODE_WANTS_SCRIPT_TO_TAKE_CONTROL()
FRONTEND_MENU_SCREEN screenToTakeControl
screenToTakeControl = GET_SCREEN_CODE_WANTS_SCRIPT_TO_CONTROL()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] INIT_PAUSE_MENU_MULTIPLAYER_SCREEN(): Screen: ", GET_SCREEN_STRING_VALUE(screenToTakeControl))
iPauseMigrationState = 0
// This is the default screen to take control of.
IF screenToTakeControl = MENU_UNIQUE_ID_MISSION_CREATOR
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Initialising first column, script taking control for first time")
// Take control
TAKE_CONTROL_OF_FRONTEND()
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
#IF NOT FEATURE_GEN9_STANDALONE
IF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK) AND NOT HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS())
AND IS_PAUSE_MENU_CATEGORY_ACTIVE(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
AND NOT IS_COMMERCE_STORE_OPEN()
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_ACTIVATE_CONTEXT PurchaseAvailable1")
//PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
//PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PurchaseAvailable"))
ENDIF
#ENDIF
SET_PAUSE_MENU_IS_USING_UGC()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_IS_USING_UGC - CALLED")
// Fill out our top level of rows
IF g_MenuceptionPrevious != MENU_UNIQUE_ID_INVALID
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
MAINTAIN_PAUSE_MENU_COLUMN_ONE()
ENDIF
IF GET_PAUSE_MENU_WARP_FROM_GAMEMODE() = GAMEMODE_CREATOR
AND GET_PAUSE_MENU_WARP_TO_GAMEMODE() = GAMEMODE_FM
bTransitionFromCreators = TRUE
PM_MENU_SHIFT_DEPTH(1)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PM_HIGHLIGHT - B")
IF IS_XBOX360_VERSION()
SET_PM_HIGHLIGHT(FIRST_COLUMN, 7, FALSE, TRUE) // Highlight CREATOR
ELSE
SET_PM_HIGHLIGHT(FIRST_COLUMN, 6, FALSE, TRUE) // Highlight CREATOR
ENDIF
pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR)
CLEAN_UP_PAUSE_MENU_MISSION_CREATOR_DATA()
ELIF g_MenuceptionPrevious != MENU_UNIQUE_ID_INVALID
// if we're returning from menuception, we need to force the highlight back after we draw it
//CPRINTLN(DEBUG_PAUSE_MENU, "MENUCEPTION IS: ", g_MenuceptionPrevious)
INT iIndex
REPEAT PM_D1_TOTAL_CATEGORIES iIndex
IF ENUM_TO_INT(g_MenuceptionPrevious) = GET_PAUSE_MENU_CATEGORY_UNIQUE_ID(iIndex)
//CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Script listener for BACK - CHECK D - INDEX = ", GET_PAUSE_MENU_CATEGORY_INDEX(iIndex))
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PM_HIGHLIGHT - C")
SET_PM_HIGHLIGHT( FIRST_COLUMN, GET_PAUSE_MENU_CATEGORY_INDEX(iIndex), FALSE, TRUE)
pauseMenuRoute[0] = GET_PAUSE_MENU_CATEGORY_INDEX(iIndex)
HANDLE_TRIGGER(MENU_UNIQUE_ID_MISSION_CREATOR, 0)
// break the loop
iIndex = ENUM_TO_INT(PM_D1_TOTAL_CATEGORIES)
ENDIF
ENDREPEAT
ELSE
IF IS_NAVIGATING_MENU_CONTENT()
SET_PM_HIGHLIGHT( FIRST_COLUMN, 0, FALSE, TRUE)
ENDIF
IF NETWORK_IS_GAME_IN_PROGRESS()
// IF IS_PAUSE_MENU_CATEGORY_ACTIVE(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
// pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
// ELSE
#IF FEATURE_COPS_N_CROOKS
IF g_sMPTunables.bDISABLE_CNC_ENTRY_FROM_FREEMODE
#ENDIF
pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)//PM_D1_ALL_JOBS
SET_PM_HIGHLIGHT( FIRST_COLUMN, ENUM_TO_INT(PM_D1_ALL_JOBS), FALSE, TRUE)
#IF FEATURE_COPS_N_CROOKS
ELSE
pauseMenuRoute[0] = 0//PM_D1_ALL_JOBS
SET_PM_HIGHLIGHT( FIRST_COLUMN, 0, FALSE, TRUE)
ENDIF
#ENDIF
// ENDIF
ELSE
IF g_sMPTunables.bDisableSaveTransfers
OR IS_REPEAT_PLAY_ACTIVE()
pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_FRIEND_SESS)
ELSE
pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MIGRATE_CHAR)
ENDIF
ENDIF
ENDIF
// Fill out our top level of rows (again, maybe)
IF g_MenuceptionPrevious = MENU_UNIQUE_ID_INVALID
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
MAINTAIN_PAUSE_MENU_COLUMN_ONE()
ENDIF
PM_D3_JOBS_MY_MISSIONS = 0 // Removed for DLC
PM_D3_JOBS_DOWNLOADED = 1
PM_D3_JOBS_RECENTLY_PLAYED = 2
PM_D3_JOBS_ROCKSTAR_CREATED = 3
IF g_sMPTunables.bSU22_ENABLE_COMMUNITY_JOBS_PAUSEMENU
PM_D3_JOBS_COMMUNITY_JOBS = 4
PM_D3_JOBS_ROCKSTAR_VERIFIED = 5 // Removed for DLC
PM_D3_JOBS_ROCKSTAR_CANDIDATE = 6 // Removed for DLC
ELSE
PM_D3_JOBS_ROCKSTAR_VERIFIED = 4 // Removed for DLC
PM_D3_JOBS_ROCKSTAR_CANDIDATE = 5 // Removed for DLC
PM_D3_JOBS_COMMUNITY_JOBS = -1
ENDIF
IF g_sMPTunables.bENABLE_TA_MENU
AND g_sMPTunables.bENABLE_AC_ASSAULT_RACE_CREATOR
PM_D3_PLAYLIST_ADD_TARGET_ASSAULT = 0
PM_D3_PLAYLIST_ADD_STUNT_RACE = 1
PM_D3_PLAYLIST_ADD_RACE = 2
PM_D3_PLAYLIST_ADD_DEATHMATCH = 3
PM_D3_PLAYLIST_ADD_SURVIVAL = 4
PM_D3_PLAYLIST_ADD_BASE_JUMP = 5
PM_D3_PLAYLIST_ADD_CTF = 6
PM_D3_PLAYLIST_ADD_LTS = 7
PM_D3_PLAYLIST_ADD_MISSION = 8
PM_D3_PLAYLIST_ADD_ARENA_WARS = 9
IF g_sMPTunables.VC_ENABLE_KOTH
PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL = 10
PM_D3_PLAYLIST_ADD_MY_MISSION = 11// Removed for DLC
PM_D3_PLAYLIST_ADD_DOWNLOADED = 12
PM_D3_PLAYLIST_ADD_RECENT = 13
PM_D3_PLAYLIST_EDIT_PLAYLIST = 14
PM_D3_PLAYLIST_SAVE_PLAYLIST = 15
PM_D3_PLAYLIST_ADD_VS = 16
ELSE
PM_D3_PLAYLIST_ADD_MY_MISSION = 10// Removed for DLC
PM_D3_PLAYLIST_ADD_DOWNLOADED = 11
PM_D3_PLAYLIST_ADD_RECENT = 12
PM_D3_PLAYLIST_EDIT_PLAYLIST = 13
PM_D3_PLAYLIST_SAVE_PLAYLIST = 14
PM_D3_PLAYLIST_ADD_VS = 15
PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL = -1
ENDIF
ELIF g_sMPTunables.bENABLE_TA_MENU
AND pauseMenuRoute[2] != ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS)
AND NOT g_sMPTunables.bENABLE_AC_ASSAULT_RACE_CREATOR
PM_D3_PLAYLIST_ADD_TARGET_ASSAULT = 0
PM_D3_PLAYLIST_ADD_STUNT_RACE = 1
PM_D3_PLAYLIST_ADD_RACE = 2
PM_D3_PLAYLIST_ADD_DEATHMATCH = 3
PM_D3_PLAYLIST_ADD_SURVIVAL = 4
PM_D3_PLAYLIST_ADD_BASE_JUMP = 5
PM_D3_PLAYLIST_ADD_CTF = 6
PM_D3_PLAYLIST_ADD_LTS = 7
PM_D3_PLAYLIST_ADD_MISSION = 8
PM_D3_PLAYLIST_ADD_ARENA_WARS = 9
IF g_sMPTunables.VC_ENABLE_KOTH
PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL = 10
PM_D3_PLAYLIST_ADD_MY_MISSION = 11// Removed for DLC
PM_D3_PLAYLIST_ADD_DOWNLOADED = 12
PM_D3_PLAYLIST_ADD_RECENT = 13
PM_D3_PLAYLIST_EDIT_PLAYLIST = 14
PM_D3_PLAYLIST_SAVE_PLAYLIST = 15
PM_D3_PLAYLIST_ADD_VS = 16
ELSE
PM_D3_PLAYLIST_ADD_MY_MISSION = 10// Removed for DLC
PM_D3_PLAYLIST_ADD_DOWNLOADED = 11
PM_D3_PLAYLIST_ADD_RECENT = 12
PM_D3_PLAYLIST_EDIT_PLAYLIST = 13
PM_D3_PLAYLIST_SAVE_PLAYLIST = 14
PM_D3_PLAYLIST_ADD_VS = 15
PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL = -1
ENDIF
ELSE
PM_D3_PLAYLIST_ADD_STUNT_RACE = 0
PM_D3_PLAYLIST_ADD_RACE = 1
PM_D3_PLAYLIST_ADD_DEATHMATCH = 2
PM_D3_PLAYLIST_ADD_SURVIVAL = 3
PM_D3_PLAYLIST_ADD_BASE_JUMP = 4
PM_D3_PLAYLIST_ADD_CTF = 5
PM_D3_PLAYLIST_ADD_LTS = 6
PM_D3_PLAYLIST_ADD_MISSION = 7
PM_D3_PLAYLIST_ADD_ARENA_WARS = 8
PM_D3_PLAYLIST_ADD_KING_OF_THE_HILL = 9
PM_D3_PLAYLIST_ADD_MY_MISSION = 10// Removed for DLC
PM_D3_PLAYLIST_ADD_DOWNLOADED = 11
PM_D3_PLAYLIST_ADD_RECENT = 12
PM_D3_PLAYLIST_EDIT_PLAYLIST = 13
PM_D3_PLAYLIST_SAVE_PLAYLIST = 14
PM_D3_PLAYLIST_ADD_VS = 15
PM_D3_PLAYLIST_ADD_TARGET_ASSAULT = -1
ENDIF
REORDER_JOIN_JOB_MENU()
// Move to displaying state
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
RELEASE_CONTROL_OF_FRONTEND()
ENDIF
ENDIF
ENDPROC
//
//PROC PROCESS_STARTER_PACK_NEWS()
//
//
//
//ENDPROC
#IF NOT FEATURE_GEN9_STANDALONE
PROC RESET_STARTER_PACK_NEWS_FEED_INFO()
IF g_sMPTunables.BdisableStarterPackBrowser
EXIT
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] [PMFEED] - RESET_STARTER_PACK_NEWS_FEED_INFO")
eSTART_PACK_STATE = STARTER_PACK_STATE_INITIATE
#IF FEATURE_GTAO_MEMBERSHIP
eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_INITIATE
#ENDIF
SC_PAUSE_NEWS_SHUTDOWN()
ENDPROC
#ENDIF
/// PURPOSE:
/// Maintain the multiplayer pause menu screen
PROC PROCESS_PAUSE_MENU_MULTIPLAYER_SCREEN()
BOOL bIsDebug
FRONTEND_MENU_SCREEN iPreviousId
FRONTEND_MENU_SCREEN iNextId
INT iMenuIndex
#IF IS_DEBUG_BUILD
bIsDebug = TRUE
#ENDIF
#IF FEATURE_GTAO_MEMBERSHIP
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_GTAO_MEMBERSHIP) //only process this when membership tile is selected
IF NOT g_sMPTunables.bMEMBERSHIP_KILLSWITCH_MENU_ONLINETAB
AND (IS_GTAO_MEMBERSHIP_CONTENT_ENABLED() OR g_sMPTunables.bDISABLE_NON_MEMBERS_GENERIC_PAUSE_MENU_TEXT) //only get newsstory for gta+ members
SWITCH eMEMBERSHIP_PAGE_STATE
CASE MEMBERSHIP_PAGE_STATE_CLEANUP
RESET_NET_TIMER(newsstoryTimeout)
START_NET_TIMER(newsstoryTimeout)
SC_PAUSE_NEWS_SHUTDOWN()
eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_INITIATE
BREAK
CASE MEMBERSHIP_PAGE_STATE_INITIATE
IF NOT IS_COMMERCE_STORE_OPEN()
IF SC_PAUSE_NEWS_INIT_STORY_TYPE(store, FALSE)
eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_LOAD_PENDING
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] [PMFEED] - PROCESS_PAUSE_MENU_MEMBERSHIP_SCREEN - Update feed INIT")
ENDIF
ENDIF
IF HAS_NET_TIMER_EXPIRED(newsstoryTimeout, 5000)
eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_TIMED_OUT
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
RESET_NET_TIMER(newsstoryTimeout)
ENDIF
BREAK
CASE MEMBERSHIP_PAGE_STATE_LOAD_PENDING
IF SC_PAUSE_NEWS_GET_PENDING_STORY(newsstory)
CPRINTLN(DEBUG_PAUSE_MENU,
"[CMcM@PAUSEMENU] [PMFEED] - PROCESS_PAUSE_MENU_MEMBERSHIP_SCREEN - Update feed. Title: ", newsstory.title, " Body: ", newsstory.content)
eMEMBERSHIP_PAGE_STATE =MEMBERSHIP_PAGE_STATE_LOADED
RESET_NET_TIMER(newsstoryTimeout)
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] [PMFEED] - PROCESS_PAUSE_MENU_MEMBERSHIP_SCREEN - get Pending FALSE")
ENDIF
IF HAS_NET_TIMER_EXPIRED(newsstoryTimeout, 5000)
eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_TIMED_OUT
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
RESET_NET_TIMER(newsstoryTimeout)
ENDIF
BREAK
ENDSWITCH
ENDIF
ELSE
IF NOT g_sMPTunables.bMEMBERSHIP_KILLSWITCH_MENU_ONLINETAB
AND (IS_GTAO_MEMBERSHIP_CONTENT_ENABLED() OR g_sMPTunables.bDISABLE_NON_MEMBERS_GENERIC_PAUSE_MENU_TEXT) //only get newsstory for gta+ members
IF eMEMBERSHIP_PAGE_STATE>MEMBERSHIP_PAGE_STATE_CLEANUP
eMEMBERSHIP_PAGE_STATE = MEMBERSHIP_PAGE_STATE_CLEANUP
ENDIF
ENDIF
ENDIF
#ENDIF
#IF NOT FEATURE_GEN9_STANDALONE
IF NOT g_sMPTunables.BdisableStarterPackBrowser
SWITCH eSTART_PACK_STATE
CASE STARTER_PACK_STATE_INITIATE
IF NOT IS_COMMERCE_STORE_OPEN()
IF SC_PAUSE_NEWS_INIT_STARTER_PACK(HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS())
eSTART_PACK_STATE = STARTER_PACK_STATE_LOAD_PENDING
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] [PMFEED] - PROCESS_PAUSE_MENU_MULTIPLAYER_SCREEN - Update feed INIT")
ENDIF
ENDIF
BREAK
CASE STARTER_PACK_STATE_LOAD_PENDING
IF SC_PAUSE_NEWS_GET_PENDING_STORY(newsstory2)
CPRINTLN(DEBUG_PAUSE_MENU,
"[CMcM@PAUSEMENU] [PMFEED] - PROCESS_PAUSE_MENU_MULTIPLAYER_SCREEN - Update feed. Title: ", newsstory2.title, " Body: ", newsstory2.content)
eSTART_PACK_STATE = STARTER_PACK_STATE_LOADED
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] [PMFEED] - PROCESS_PAUSE_MENU_MULTIPLAYER_SCREEN - get Pending FALSE")
ENDIF
BREAK
ENDSWITCH
ENDIF
#ENDIF
IF iStoreTrigger != 0
IF IS_COMMERCE_STORE_OPEN()
IF !bRevert
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] IS_COMMERCE_STORE_OPEN - bRevert = TRUE - iTopCategoryLookup[PM_D1_SHARK_CARDS] = ", iTopCategoryLookup[PM_D1_SHARK_CARDS])
bRevert = TRUE
ENDIF
TAKE_CONTROL_OF_FRONTEND()
IF IS_BIT_SET(iStoreTrigger, ciSTORE_SHARK_CARD)
SET_PM_HIGHLIGHT(FIRST_COLUMN, iTopCategoryLookup[PM_D1_SHARK_CARDS], TRUE, TRUE)
SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, TRUE)
#IF NOT FEATURE_GEN9_STANDALONE
ELIF IS_BIT_SET(iStoreTrigger, ciSTORE_STARTER_PACK)
SET_PM_HIGHLIGHT(FIRST_COLUMN, iTopCategoryLookup[PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK], TRUE, TRUE)
SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, TRUE)
#ENDIF
ENDIF
RELEASE_CONTROL_OF_FRONTEND()
IF NOT g_SkipPauseMenuDisable
DISABLE_CONTROL_ACTION(FRONTEND_CONTROL, INPUT_FRONTEND_LB)
DISABLE_CONTROL_ACTION(FRONTEND_CONTROL, INPUT_FRONTEND_RB)
DISABLE_CONTROL_ACTION(FRONTEND_CONTROL, INPUT_FRONTEND_LT)
DISABLE_CONTROL_ACTION(FRONTEND_CONTROL, INPUT_FRONTEND_RT)
ENDIF
ELIF bRevert
bRevert = FALSE
TAKE_CONTROL_OF_FRONTEND()
IF IS_BIT_SET(iStoreTrigger, ciSTORE_SHARK_CARD)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] IS_COMMERCE_STORE_OPEN - bRevert = FALSE - iTopCategoryLookup[PM_D1_SHARK_CARDS] = ", iTopCategoryLookup[PM_D1_SHARK_CARDS])
SET_PM_HIGHLIGHT(FIRST_COLUMN, iTopCategoryLookup[PM_D1_SHARK_CARDS], TRUE, TRUE)
SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, TRUE)
#IF NOT FEATURE_GEN9_STANDALONE
ELIF IS_BIT_SET(iStoreTrigger, ciSTORE_STARTER_PACK)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] IS_COMMERCE_STORE_OPEN - bRevert = FALSE - iTopCategoryLookup[PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK] = ", iTopCategoryLookup[PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK])
SET_PM_HIGHLIGHT(FIRST_COLUMN, iTopCategoryLookup[PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK], TRUE, TRUE)
SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, TRUE)
#ENDIF
ENDIF
RELEASE_CONTROL_OF_FRONTEND()
#IF NOT FEATURE_GEN9_STANDALONE
RESET_STARTER_PACK_NEWS_FEED_INFO()
CLEAR_BIT(iStoreTrigger, ciSTORE_STARTER_PACK)
#ENDIF
CLEAR_BIT(iStoreTrigger, ciSTORE_SHARK_CARD)
ENDIF
ENDIF
// **************************
// Script listener for DPAD RIGHT
// **************************
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_RIGHT)
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_RIGHT)
IF (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iPauseMenuDepth >= 3)
OR (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= 2)
IF HAVE_MY_JOBS_LOADED()
IF SHOULD_SHOW_NEXT_PAGE_OPTION(FALSE, iMyJobsPage)
iMyJobsPage++
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED iMyJobsPage = ", iMyJobsPage)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_RIGHT)
PLAY_SOUND_FRONTEND(-1, "NAV_UP_DOWN", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, MY_JOBS_LOADED)
CLEAR_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
//PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 7")
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyJobsPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED HAVE_MY_JOBS_LOADED = 0")
ENDIF
ENDIF
IF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS) AND pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iPauseMenuDepth >= 3)
OR (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= 2)
IF HAVE_BOOKMARKED_JOBS_LOADED()
IF SHOULD_SHOW_NEXT_PAGE_OPTION(TRUE, iMyBookmarksPage)
iMyBookmarksPage++
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED iMyBookmarksPage = ", iMyBookmarksPage)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_RIGHT)
PLAY_SOUND_FRONTEND(-1, "NAV_UP_DOWN", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, BOOKMARKED_JOBS_LOADED)
CLEAR_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 7")
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyBookmarksPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 8")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED HAVE_MY_JOBS_LOADED = 0")
ENDIF
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED Bit is set")
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_RIGHT)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_RIGHT)
ENDIF
ENDIF
// **************************
// Script listener for DPAD LEFT
// **************************
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_LEFT)
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_LEFT)
IF (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iPauseMenuDepth >= 3)
OR (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= 2)
IF HAVE_MY_JOBS_LOADED()
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyJobsPage)
iMyJobsPage--
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED iMyJobsPage = ", iMyJobsPage)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_RIGHT)
PLAY_SOUND_FRONTEND(-1, "NAV_UP_DOWN", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, MY_JOBS_LOADED)
CLEAR_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
//PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 9")
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
ENDIF
IF SHOULD_SHOW_NEXT_PAGE_OPTION(FALSE, iMyJobsPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 10")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED HAVE_MY_JOBS_LOADED = 0")
ENDIF
ENDIF
IF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS) AND pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED) AND iPauseMenuDepth >= 3)
OR (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DOWNLOADED AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= 2)
IF HAVE_BOOKMARKED_JOBS_LOADED()
IF SHOULD_SHOW_NEXT_PAGE_OPTION(TRUE, iMyBookmarksPage)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageRight"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 7")
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
ENDIF
IF SHOULD_SHOW_PREVIOUS_PAGE_OPTION(iMyBookmarksPage)
iMyBookmarksPage--
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED iMyBookmarksPage = ", iMyBookmarksPage)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_RIGHT)
PLAY_SOUND_FRONTEND(-1, "NAV_UP_DOWN", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, MY_JOBS_LOADED)
CLEAR_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PageLeft"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_DEACTIVATE_CONTEXT Pages removed 8")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED HAVE_BOOKMARKED_JOBS_LOADED = 0")
ENDIF
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU - IS_CONTROL_JUST_RELEASED Bit is set")
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_LEFT)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_DPAD_LEFT)
ENDIF
ENDIF
// **************************
// Script listener for RIGHTSHOCK
// **************************
IF NOT g_sMPTunables.bToggleHeadtoheadoff
OR bIsDebug
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_RS)
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_RIGHTSHOCK)
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF iPauseMenuDepth = 2
bDoCrewHeadToHead = FALSE
IF (IS_LOCAL_PLAYER_IN_ACTIVE_CLAN() AND !IS_THIS_A_SOLO_SESSION())
IF CAN_DO_QUICK_MATCH(iQuickMatchTimer) = 0
IF NETWORK_MONEY_CAN_BET(1000, FALSE, TRUE)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
IF bMyPlaylistDataAvailable
IF IS_BIT_SET(g_sLoadedPlaylistDetails.iHead2HeadCompatableBitSet, pauseMenuRoute[2])
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PM_D2_PLAYLISTS - Player is setting a Head2Head on an available playlist")
bDoCrewHeadToHead = TRUE
bSetCrewChallenge = FALSE
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
IF bRockstarPlaylistDataAvailable
IF IS_BIT_SET(g_sLoadedRockstarPlaylistDetails.iHead2HeadCompatableBitSet, pauseMenuRoute[2])
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PM_D2_ROCKSTAR_PLAYLISTS - Player is setting a Head2Head on an available playlist")
bDoCrewHeadToHead = TRUE
bSetCrewChallenge = FALSE
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
IF bRockstarVerifiedPlaylistDataAvailable
IF IS_BIT_SET(g_sLoadedRockstarPlaylistDetails.iHead2HeadCompatableBitSet, pauseMenuRoute[2])
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PM_D2_ROCKSTAR_PLAYLISTS - Player is setting a Head2Head on an available playlist")
bDoCrewHeadToHead = TRUE
bSetCrewChallenge = FALSE
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
IF bBookmarkedPlaylistDataAvailable
IF IS_BIT_SET(g_sLoadedBookMarkedPlaylistDetails.iHead2HeadCompatableBitSet, pauseMenuRoute[2])
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PM_D2_DOWNLOADED_PLAYLISTS - Player is setting a Head2Head on an available playlist")
bDoCrewHeadToHead = TRUE
bSetCrewChallenge = FALSE
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF bDoCrewHeadToHead
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_RIGHTSHOCK)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
ENDIF
ENDIF
ENDIF
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_RIGHTSHOCK)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_RIGHTSHOCK)
ENDIF
ENDIF
ENDIF
// **************************
// Script listener for LEFTSHOCK
// **************************
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_LS)
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_LEFTSHOCK)
// Cycle Challenge Types
IF NOT IS_WARNING_MESSAGE_ACTIVE()
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES) AND iPauseMenuDepth = 2
HIDE_PM_COLUMN(FIRST_COLUMN)
HIDE_PM_COLUMN(SECOND_COLUMN)
SET_COLUMN_AS_BUSY(SECOND_COLUMN, TRUE)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, CHALLENGES_LOADED)
ENDIF
ENDIF
IF NOT IS_WARNING_MESSAGE_ACTIVE()
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[1] != ENUM_TO_INT(PM_D2_CHALLENGES)
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_DEATHMATCH) AND iPauseMenuDepth = 3
HIDE_PM_COLUMN(SECOND_COLUMN)
SET_COLUMN_AS_BUSY(SECOND_COLUMN, TRUE)
IF currentlyShowingDeathmatches = 3
currentlyShowingDeathmatches = 0
ELSE
currentlyShowingDeathmatches++
ENDIF
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - LEFTSHOCK - currentlyShowingDeathmatches++")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
IF pauseMenuRoute[3] = ENUM_TO_INT(PM_D4_JOBS_RACE) AND iPauseMenuDepth = 3
HIDE_PM_COLUMN(SECOND_COLUMN)
SET_COLUMN_AS_BUSY(SECOND_COLUMN, TRUE)
IF !g_sMPTunables.bEnableStuntRaces
OR !bLocalEnableStuntRaceToggle
IF currentlyShowingRaces+1 = SHOWING_TARGET_ASSAULT_RACES
currentlyShowingRaces = 0
ELSE
currentlyShowingRaces++
ENDIF
ELSE
IF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
currentlyShowingRaces = 0
ELSE
currentlyShowingRaces++
ENDIF
ENDIF
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - LEFTSHOCK - currentlyShowingRaces++")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
IF pauseMenuRoute[3] = PM_D4_JOBS_CTF AND iPauseMenuDepth = 3
HIDE_PM_COLUMN(SECOND_COLUMN)
SET_COLUMN_AS_BUSY(SECOND_COLUMN, TRUE)
IF currentlyShowingCaptures = 4
currentlyShowingCaptures = 0
ELSE
currentlyShowingCaptures++
ENDIF
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - LEFTSHOCK - currentlyShowingCaptures++")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_DEATHMATCH AND iPauseMenuDepth = 3
HIDE_PM_COLUMN(FIRST_COLUMN)
SET_COLUMN_AS_BUSY(FIRST_COLUMN, TRUE)
IF currentlyShowingDeathmatches = 3
currentlyShowingDeathmatches = 0
ELSE
currentlyShowingDeathmatches++
ENDIF
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - LEFTSHOCK - currentlyShowingDeathmatches++")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RACE AND iPauseMenuDepth = 3
HIDE_PM_COLUMN(FIRST_COLUMN)
SET_COLUMN_AS_BUSY(FIRST_COLUMN, TRUE)
IF !g_sMPTunables.bEnableStuntRaces
OR !bLocalEnableStuntRaceToggle
IF currentlyShowingRaces+1 = SHOWING_TARGET_ASSAULT_RACES
currentlyShowingRaces = 0
ELSE
currentlyShowingRaces++
ENDIF
ELSE
IF currentlyShowingRaces = SHOWING_TARGET_ASSAULT_RACES
currentlyShowingRaces = 0
ELSE
currentlyShowingRaces++
ENDIF
ENDIF
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - LEFTSHOCK - currentlyShowingRaces++")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
IF pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_CTF AND iPauseMenuDepth = 3
HIDE_PM_COLUMN(FIRST_COLUMN)
SET_COLUMN_AS_BUSY(FIRST_COLUMN, TRUE)
IF currentlyShowingCaptures = 4
currentlyShowingCaptures = 0
ELSE
currentlyShowingCaptures++
ENDIF
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - LEFTSHOCK - currentlyShowingCaptures++")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ENDIF
ENDIF
ENDIF
PLAY_SOUND_FRONTEND(-1, "NAV_UP_DOWN", "HUD_FRONTEND_DEFAULT_SOUNDSET")
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_LEFTSHOCK)
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_LEFTSHOCK)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_LEFTSHOCK)
ENDIF
ENDIF
// **************************
// Script listener for DELETE
// **************************
BOOL bBackIsAvailable = TRUE
IF !IS_WARNING_MESSAGE_ACTIVE()
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_X)
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_X)
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
IF NOT HAVE_PLAYLISTS_LOADED()
OR NOT bMyPlaylistDataAvailable
bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
IF NOT HAVE_ROCKSTAR_PLAYLISTS_LOADED()
bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
IF NOT HAVE_ROCKSTAR_VERIFIED_PLAYLISTS_LOADED()
bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
IF NOT HAVE_BOOKMARKED_PLAYLISTS_LOADED()
OR NOT bBookmarkedPlaylistDataAvailable
bBackIsAvailable = FALSE
ENDIF
ENDIF
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF iPauseMenuDepth = 3
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
IF NOT HAVE_BOOKMARKED_JOBS_LOADED()
bBackIsAvailable = FALSE
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
IF NOT HAVE_RECENTLY_PLAYED_JOBS_LOADED()
bBackIsAvailable = FALSE
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
IF bBackIsAvailable
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_X)")
CPRINTLN(DEBUG_PAUSE_MENU, "pauseMenuRoute[0] = ", pauseMenuRoute[0])
CPRINTLN(DEBUG_PAUSE_MENU, "pauseMenuRoute[1] = ", pauseMenuRoute[1])
CPRINTLN(DEBUG_PAUSE_MENU, "iPauseMenuDepth = ",iPauseMenuDepth)
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
IF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is deleteing an available playlist")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DELETE_PLAYLIST)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is deleteing an available playlist bookmark")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DELETE_PLAYLIST_BOOKMARK)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ElIF iPauseMenuDepth > 2
// IF g_sMenuPlayListDetails.bChallengeCompatable
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is setting a challenge on an available playlist")
// bSetCrewChallenge = TRUE
// SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
//
// SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
// ENDIF
ENDIF
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF iPauseMenuDepth = 3
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is deleting a bookmarked job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DELETE_BOOKMARK)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_RECENTLY_PLAYED)
//IF UGC_SET_BOOKMARKED(g_FMMC_HEADER_STRUCT_PAUSE_MENU_BOOKMARKS.sMyMissionHeaderVars[iPauseMenuItemSelected].tlName, TRUE, GET_UGC_TYPE_STRING(UGC_TYPE_GTA5_MISSION))
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_sRECENT_MISSION_HISTORY.bBookmarked[iPauseMenuItemSelected]
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is deleting a bookmarked job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DELETE_BOOKMARK)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ELSE
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is bookmarking a job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_ADD_BOOKMARK)
g_sRECENT_MISSION_HISTORY.bBookmarked[iPauseMenuItemSelected] = TRUE
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is deleting a bookmarked job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DELETE_BOOKMARK)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ELSE
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is bookmarking a job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_ADD_BOOKMARK)
g_FMMC_ROCKSTAR_CREATED.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked = TRUE
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is deleting a bookmarked job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DELETE_BOOKMARK)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ELSE
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is bookmarking a job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_ADD_BOOKMARK)
g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked = TRUE
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ENDIF
ENDIF
ELIF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF IS_GAME_LINKED_TO_SOCIAL_CLUB(FALSE, TRUE)
IF g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is deleting a bookmarked job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DELETE_BOOKMARK)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ELSE
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is bookmarking a job.")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_ADD_BOOKMARK)
g_FMMC_ROCKSTAR_VERIFIED_PAUSE_MENU.sDefaultCoronaOptions[iPauseMenuItemSelected].bBookMarked = TRUE
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_X)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ENDIF
ENDIF
// **************************
// Script listener for TRIANGLE
// **************************
bBackIsAvailable = TRUE
IF !IS_WARNING_MESSAGE_ACTIVE()
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_Y)
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_Y)
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
IF NOT HAVE_PLAYLISTS_LOADED()
IF NOT bMyPlaylistDataAvailable
bBackIsAvailable = FALSE
ENDIF
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
IF NOT HAVE_ROCKSTAR_PLAYLISTS_LOADED()
bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
IF NOT HAVE_ROCKSTAR_VERIFIED_PLAYLISTS_LOADED()
bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
IF NOT HAVE_BOOKMARKED_PLAYLISTS_LOADED()
bBackIsAvailable = FALSE
ENDIF
ENDIF
ENDIF
// #IF FEATURE_GTAO_MEMBERSHIP
// ELIF pauseMenuRoute[0] = PM_D1_GTAO_MEMBERSHIP
// MEMBERSHIP_TELEMETRY_MARK_MEMBERSHIP_PAGE_AS_SEEN(MEMBERSHIP_PAGES_STORE)
// CHECKOUT_COMMERCE_PRODUCT("GTAOPlus", SPL_MEMBERSHIP_INGAME)
// #ENDIF
ENDIF
IF bBackIsAvailable
IF IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE - Cancel - F")
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_Y)")
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
IF iPauseMenuDepth = 3
IF HAVE_PLAYLISTS_LOADED()
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST) - B")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST)
CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
SET_TEMP_PASSIVE_MODE()
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
IF !ARE_STRINGS_EQUAL("", g_sMenuPlayListDetails.tl31PlaylistName)
sPublishPlaylistVars.bUpdate = TRUE
ENDIF
sPublishPlaylistVars.tl23SelectedPlaylist = g_sMenuPlayListDetails.tl31szContentID
ENDIF
ENDIF
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
IF iPauseMenuDepth = 2
IF NETWORK_HAS_SOCIAL_CLUB_ACCOUNT()
AND NETWORK_ARE_SOCIAL_CLUB_POLICIES_CURRENT()
AND IS_GAME_LINKED_TO_SOCIAL_CLUB()
IF HAVE_PLAYLISTS_LOADED()
IF bMyPlaylistDataAvailable
PLAY_SOUND_FRONTEND(-1, "SELECT", "HUD_FRONTEND_DEFAULT_SOUNDSET")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST) - Q")
IF !ARE_STRINGS_EQUAL("", g_sMenuPlayListDetails.tl31PlaylistName)
sPublishPlaylistVars.bUpdate = TRUE
ENDIF
sPublishPlaylistVars.tl23SelectedPlaylist = g_sMenuPlayListDetails.tl31szContentID
pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) //PM_D2_PLAYLISTS
pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_RACE//PM_D3_PLAYLIST_EDIT_PLAYLIST
iPauseMenuDepth = 3
iPauseMenuItemStored = PM_D3_PLAYLIST_EDIT_PLAYLIST
SET_TEMP_PASSIVE_MODE()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
ENDIF
ENDIF
ENDIF
ELIF iPauseMenuDepth > 2
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Player is viewing an available playlist")
// bDoCrewHeadToHead = TRUE
// SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_X)
// SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_Y)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_Y)
ENDIF
ENDIF
ENDIF
// timer to handle gaining menu focus (switching from code input to script)
// so we don't act on something that'd be ignored later
IF IS_NAVIGATING_MENU_CONTENT()
IF iTimeSinceStartedNavigating > 0
--iTimeSinceStartedNavigating
ENDIF
ELSE
iTimeSinceStartedNavigating = 3
ENDIF
bBackIsAvailable = TRUE
// if we don't have to process the bit, or the warning message isn't up
//IF (!IS_BIT_SET(iBS_General, biWARN_ON_TAB_CHANGE_SET) AND iPauseMenuDepth != 1 AND iPauseMenuDepth != 2) AND
IF !IS_WARNING_MESSAGE_ACTIVE()
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
// **************************
// Script listener for BACK
// **************************
IF iTimeSinceStartedNavigating != 3
AND (IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL) OR IS_CONTROL_JUST_RELEASED( FRONTEND_CONTROL, INPUT_CURSOR_CANCEL))
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)")
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
IF NOT HAVE_PLAYLISTS_LOADED()
RESET_UGC_LOAD_VARS(sGetUGC_content)
UGC_CANCEL_QUERY()
//bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES)
IF NOT HAVE_CHALLENGES_LOADED()
RESET_UGC_LOAD_VARS(sGetUGC_contentChallenges)
UGC_CANCEL_QUERY()
//bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
IF NOT HAVE_PLAYLISTS_LOADED()
RESET_UGC_LOAD_VARS(sGetUGC_content)
UGC_CANCEL_QUERY()
//bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
IF NOT HAVE_ROCKSTAR_PLAYLISTS_LOADED()
RESET_UGC_LOAD_VARS(sGetUGC_contentRockstarPlaylist)
UGC_CANCEL_QUERY()
//bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
IF NOT HAVE_ROCKSTAR_VERIFIED_PLAYLISTS_LOADED()
RESET_UGC_LOAD_VARS(sGetUGC_contentRockstarPlaylist)
UGC_CANCEL_QUERY()
//bBackIsAvailable = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
IF NOT HAVE_BOOKMARKED_PLAYLISTS_LOADED()
RESET_UGC_LOAD_VARS(sGetUGC_contentBookmarkedPlaylist)
UGC_CANCEL_QUERY()
//bBackIsAvailable = FALSE
ENDIF
ENDIF
ENDIF
ENDIF
IF bBackIsAvailable
IF IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE - Cancel - E")
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - F")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
SWITCH GET_PAUSE_MENU_MP_COLUMN_STATE()
CASE PAUSE_MENU_COLUMN_STATE_NULL
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
//PM_MENU_SHIFT_DEPTH(-1)
//HIDE_PM_COLUMN(FIRST_COLUMN)
HIDE_PM_COLUMN(SECOND_COLUMN)
HIDE_PM_COLUMN(THIRD_COLUMN)
/*SHOW_PM_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(THIRD_COLUMN)*/
//SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_CLEANUP)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEANUP - X")
BREAK
CASE PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN
IF iPauseMenuDepth = 0
// Unlock our column
LOCK_PM_COLUMN(FIRST_COLUMN, FALSE)
// Remove help text
HIDE_PAUSE_MENU_HELP_TEXT()
// Shift our depth out of menu
PM_MENU_SHIFT_DEPTH(-1)
//SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, FALSE, FALSE)
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_NULL)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PurchaseAvailable"))
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Script listener for BACK - CHECK A")
ELSE
HIDE_PM_COLUMN(THIRD_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Script listener for BACK - CHECK B")
IF IS_PLAYER_CREATING_PLAYLIST()
IF GET_PAUSE_MENU_MP_GLOBAL_STATE() != PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CANCEL - CHECK A")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE)
ELSE
CLEANUP_TEMP_PASSIVE_MODE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CANCEL - CHECK B")
ENDIF
ELSE
IF IS_BIT_SET(iBS_General, biMY_PLAYLISTS_LOADED)
CLEAR_PM_COLUMN(SECOND_COLUMN)
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_LOADED)
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_CANCEL_QUERY)
RESET_UGC_LOAD_VARS(sGetUGC_content)
UGC_CANCEL_QUERY()
//UGC_CLEAR_QUERY_RESULTS()
//CLEANUP_DATA_FILE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] biMY_PLAYLISTS_LOADED - CLEARED - A")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] biMY_PLAYLISTS_CANCEL_QUERY - CLEARED - A")
ENDIF
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
IF iPauseMenuDepth = 3
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylist"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] EditPlaylist - CHECK B")
ENDIF
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES)
CLEAR_PM_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(FIRST_COLUMN)
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Script listener for BACK - CHECK C")
iPauseMenuDepth--
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
ENDIF
ENDIF
BREAK
CASE PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_OPTIONS)
//OR pauseMenuRoute[0] = PM_D1_UNLOCKS
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PM_D1_OPTIONS - PAUSE_MENU_SHIFT_SETTINGS(-1)")
PAUSE_MENU_SHIFT_SETTINGS(-1)
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN)
ELSE
LOCK_PM_COLUMN(SECOND_COLUMN, FALSE)
PM_MENU_SHIFT_DEPTH(-1)
//SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, FALSE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - G")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
UPDATE_PAUSE_MENU_SECOND_COLUMN()
PAUSE_MENU_COLUMN_UPDATED(THIRD_COLUMN)
ENDIF
BREAK
ENDSWITCH
ADD_SCALEFORMXML_SET_COLUMN_SCROLL(-1, -1, -1)
// Always reset buttons
CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
CLEAR_ALL_DEATHMATCH_BUTTON_CONTEXTS()
CLEAR_ALL_RACE_BUTTON_CONTEXTS()
CLEAR_ALL_CAPTURE_BUTTON_CONTEXTS()
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SetCrewChallenge"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("StartHeadToHead"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("DeletePlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RScrollUpDown"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
PROCESS_PAUSE_MENU_SETTINGS_CONTROL()
ENDIF
IF NOT PAUSE_MENU_IS_COLUMN_UPDATING(FIRST_COLUMN)
// ***************************
// UP/DOWN changes from code
// ***************************
IF HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED()
//bUpdatedStarterPack = FALSE
GET_MENU_LAYOUT_CHANGED_EVENT_DETAILS(iPreviousId, iNextId, iMenuIndex)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED(): Previous Screen: ", GET_SCREEN_STRING_VALUE(iPreviousId),
" Next Screen: ", GET_SCREEN_STRING_VALUE(iNextId), " Unique Menu ID: ", iMenuIndex, " g_MenuceptionPrevious = ", GET_SCREEN_STRING_VALUE(g_MenuceptionPrevious))
//IF IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_INF_PLLT01", "PM_DOPROT", 0, "", "")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE - Cancel - C")
//ENDIF
RESET_NET_TIMER(playlistLoadTimer)
RESET_NET_TIMER(iDisplayMissionDetails)
// due to the way the layout changes work, we'll get the wrong value back for our first Layout Change after a Menuception
// this tracks this phenomenon
IF g_MenuceptionPrevious != MENU_UNIQUE_ID_INVALID
CPRINTLN(DEBUG_PAUSE_MENU, "CMcM@PAUSEMENU - HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED, g_MenuceptionPrevious = ", ENUM_TO_INT(g_MenuceptionPrevious))
IF !NETWORK_IS_GAME_IN_PROGRESS()
IF g_MenuceptionPrevious = MENU_UNIQUE_ID_START
g_MenuceptionPrevious = MENU_UNIQUE_ID_INFO
ENDIF
ENDIF
iNextId = MENU_UNIQUE_ID_INCEPT_TRIGGER
iMenuIndex = ENUM_TO_INT(g_MenuceptionPrevious)
g_MenuceptionPrevious = MENU_UNIQUE_ID_INVALID
ENDIF
// but first, adjust for menuception triggers
// convert MenuIndex to its proper Category
IF iNextId = MENU_UNIQUE_ID_INCEPT_TRIGGER
INT iCat = 0
BOOL bFound = FALSE
WHILE iCat < ENUM_TO_INT(PM_D1_TOTAL_CATEGORIES) AND NOT bFound
IF GET_PAUSE_MENU_CATEGORY_UNIQUE_ID(iCat) = iMenuIndex
CPRINTLN(DEBUG_PAUSE_MENU, "[JT@PAUSEMENU] Matched Menuception index: ", iMenuIndex, " with ", iCat )
iNextId = MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY
iMenuIndex = iCat
bFound = TRUE
ENDIF
iCat++
ENDWHILE
IF NOT bFound
CPRINTLN(DEBUG_PAUSE_MENU, "[JT@PAUSEMENU] Unable to find a match for Menuception index: ", iMenuIndex)
ENDIF
ENDIF
IF bTransitionFromCreators
bTransitionFromCreators = FALSE
ELSE
IF iMenuIndex > -1
IF !NETWORK_IS_GAME_IN_PROGRESS()
// IF iMenuIndex = 0
// IF ENUM_TO_INT(iPreviousId) = 59 // Crew Mine
// OR ENUM_TO_INT(iPreviousId) = 60 // Crew Mine
// OR ENUM_TO_INT(iPreviousId) = 61 // Crew Mine
// OR ENUM_TO_INT(iPreviousId) = 62 // Crew Mine
// OR ENUM_TO_INT(iPreviousId) = 63 // Crew Mine
// OR ENUM_TO_INT(iPreviousId) = 122 // Crew Mine
// OR ENUM_TO_INT(iPreviousId) = 120 // Crew Mine
// iMenuIndex = 8
// SET_PM_HIGHLIGHT( FIRST_COLUMN, 2, FALSE, TRUE)
// pauseMenuRoute[0] = 2
// ELSE
// iMenuIndex = 1
// ENDIF
// ENDIF
ENDIF
// IF iPauseMenuItemSelected = 0
// AND iMenuIndex = 15
// iMenuIndex = 16
// ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] X1 - SET iPauseMenuItemSelected to ", iMenuIndex, " from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = iMenuIndex
ELSE
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] X2 - SET iPauseMenuItemSelected to ", 0, " from ", iPauseMenuItemSelected)
// iPauseMenuItemSelected = 0
// iMenuIndex = 0
ENDIF
ENDIF
IF IS_BIT_SET(iBS_General, biMY_PLAYLISTS_LOADED)
//CLEAR_PM_COLUMN(SECOND_COLUMN)
//CLEAR_BIT(iBS_General, biMY_PLAYLISTS_LOADED)
//UGC_CLEAR_QUERY_RESULTS()
//CLEANUP_DATA_FILE()
//CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] biMY_PLAYLISTS_LOADED - CLEARED - B")
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_CANCEL_QUERY)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] biMY_PLAYLISTS_CANCEL_QUERY - CLEARED - B")
ENDIF
SWITCH GET_PAUSE_MENU_MP_COLUMN_STATE()
CASE PAUSE_MENU_COLUMN_STATE_NULL
// emergency backup for if you press B and Dpad at the same time, you'll end up in a weird state
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN)
FALLTHRU
CASE PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN
IF HAS_NET_TIMER_EXPIRED(playlistLoadTimer, 500, TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - H")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
ENDIF
// Always clear settings column
CLEAR_PM_COLUMN(SETTING_COLUMN)
HIDE_PM_COLUMN(SETTING_COLUMN)
// All our valid states are positive index
IF iMenuIndex >= 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - udpate our route. Depth: ", iPauseMenuDepth, " and index ", iMenuIndex)
pauseMenuRoute[iPauseMenuDepth] = iMenuIndex
RESET_PAUSE_MENU_DEPTHS()
ENDIF
#IF NOT FEATURE_GEN9_STANDALONE
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
#IF FEATURE_GTAO_MEMBERSHIP
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_GTAO_MEMBERSHIP)
#ENDIF
AND NOT IS_COMMERCE_STORE_OPEN()
RESET_STARTER_PACK_NEWS_FEED_INFO()
ENDIF
#ENDIF
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
AND iPauseMenuDepth = 3
iStoredIndex = iPauseMenuItemSelected
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - iStoredIndex = ", iStoredIndex)
ENDIF
IF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND iPauseMenuDepth = 2)
AND (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS) OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS) OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS))
CLEAR_PM_COLUMN(SECOND_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - PM_D1_PLAYLISTS - CLEAR_PM_COLUMN(SECOND_COLUMN)")
ENDIF
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES)
AND iPauseMenuDepth = 3
PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - PM_D2_CHALLENGES - PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)")
ENDIF
BREAK
CASE PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
SWITCH iNextID
CASE MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY
LOCK_PM_COLUMN(FIRST_COLUMN, TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - I")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
CLEAR_PM_COLUMN(THIRD_COLUMN)
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
// B*2184969 - If shifting from second to first column, and also changing first column item...
IF (iPauseMenuDepth >= 0 AND pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_OPTIONS))
OR (iPauseMenuDepth >= 3 AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS))
IF pauseMenuRoute[iPauseMenuDepth] != iMenuIndex
// Run the same code that would be used to handle a layout change within the first column (taken from above)
IF HAS_NET_TIMER_EXPIRED(playlistLoadTimer, 500, TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_BUSY_COLUMNS - H")
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
ENDIF
// Always clear settings column
CLEAR_PM_COLUMN(SETTING_COLUMN)
HIDE_PM_COLUMN(SETTING_COLUMN)
// All our valid states are positive index
IF iMenuIndex >= 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - udpate our route. Depth: ", iPauseMenuDepth, " and index ", iMenuIndex)
pauseMenuRoute[iPauseMenuDepth] = iMenuIndex
RESET_PAUSE_MENU_DEPTHS()
ENDIF
// IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
// AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
// AND iPauseMenuDepth = 3
// iStoredIndex = iPauseMenuItemSelected
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - iStoredIndex = ", iStoredIndex)
// ENDIF
// IF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS) AND iPauseMenuDepth = 2)
// AND (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS) OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS) OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS))
// CLEAR_PM_COLUMN(SECOND_COLUMN)
// CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - PM_D1_PLAYLISTS - CLEAR_PM_COLUMN(SECOND_COLUMN)")
// ENDIF
// PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
// IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
// AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES)
// AND iPauseMenuDepth = 3
// PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
// CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] HAS_MENU_LAYOUT_CHANGED_EVENT_OCCURRED() - PM_D2_CHALLENGES - PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)")
// ENDIF
ENDIF
ENDIF
BREAK
CASE MENU_UNIQUE_ID_MISSION_CREATOR_LISTITEM
HIDE_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
BREAK
CASE MENU_UNIQUE_ID_SETTINGS_LIST
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_OPTIONS)
UPDATE_PAUSE_MENU_SETTING_HELP_TEXT()
#IF NOT FEATURE_GEN9_STANDALONE
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
UPDATE_PAUSE_MENU_PREMIUM_HELP_TEXT()
#ENDIF
ENDIF
BREAK
ENDSWITCH
BREAK
ENDSWITCH
IF iPauseMenuDepth = 0
iRefreshCounter = 0
ENDIF
BOOL bClearContexts = TRUE
IF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
bClearContexts = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF iPauseMenuDepth = 3
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
bClearContexts = FALSE
ENDIF
ENDIF
ENDIF
ENDIF
IF (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iPauseMenuDepth >= 3)
OR (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= 2)
bClearContexts = FALSE
ENDIF
IF bClearContexts
// Always reset buttons
CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SetCrewChallenge"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("StartHeadToHead"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("DeletePlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RScrollUpDown"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("BookmarkJob"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RemoveBookmark"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PurchaseAvailable"))
ENDIF
IF IS_SELECT_AVAILABLE() != 0 AND (pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_MIGRATE_CHAR)) AND (pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_MIGRATE_CHAR_MP))
OR (iPauseMenuItemSelected = ENUM_TO_INT(MP_SETTING_MP_VERSION) AND pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_OPTIONS))
OR (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES) AND iPauseMenuDepth = 3)
//OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK) AND NOT HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS())
//OR (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK) AND pauseMenuRoute[1] = PM_D2_CRIMINAL_ENTERPRISE_STARTER_PACK_ALL AND iPauseMenuDepth = 1)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_ACTIVATE_CONTEXT SupressSelectPM 10")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ELSE
#IF FEATURE_GTAO_MEMBERSHIP
IF (pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_GTAO_MEMBERSHIP))
IF PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("GtaMembershipMoreInfo"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("GtaMembershipMoreInfo"))
ENDIF
ENDIF
#ENDIF
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
#IF NOT FEATURE_GEN9_STANDALONE
IF (pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK) AND NOT HAS_MP_CRIMINAL_ENTERPRISE_PREMIUM_OR_STARTER_ACCESS())
AND IS_PAUSE_MENU_CATEGORY_ACTIVE(PM_D1_CRIMINAL_ENTERPRISE_STARTER_PACK)
AND NOT IS_COMMERCE_STORE_OPEN()
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_ACTIVATE_CONTEXT PurchaseAvailable")
// PAUSE_MENU_ACTIVATE_CONTEXT(HASH("PurchaseAvailable"))
ENDIF
#ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
// **************************
// X button press from code
// **************************
// TODO: SHOULD BE CHECKING PAUSE_MENU_IS_COLUMN_UPDATING()
IF HAS_MENU_TRIGGER_EVENT_OCCURRED()
FRONTEND_MENU_SCREEN iTriggerID
INT iMenuID
GET_MENU_TRIGGER_EVENT_DETAILS(iTriggerID, iMenuID)
IF NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_TRIGGER_EVENT_OCCURRED(): Screen: ", GET_SCREEN_STRING_VALUE(iTriggerID), " Unique Menu ID: ", iMenuID)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_NULL
OR IS_SELECT_AVAILABLE() = 0
HANDLE_TRIGGER(iTriggerID, iMenuID)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_TRIGGER_EVENT_OCCURRED(): - HANDLE_TRIGGER() ")
ELSE
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
IF NETWORK_IS_GAME_IN_PROGRESS()
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR)
IF IS_XBOX360_VERSION()
iStoredHighlight = 7
ELSE
iStoredHighlight = 6
ENDIF
ENDIF
ELSE
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MISSION_CREATOR)
iStoredHighlight = 3
ENDIF
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] HAS_MENU_TRIGGER_EVENT_OCCURRED(): - IS_SELECT_AVAILABLE = ", IS_SELECT_AVAILABLE())
ENDIF
ENDIF
ENDIF
// B*2184969 - If user has clicked in an unhighlighted column, force shift depth and set item ID, generating events that can be handled by the normal routines
INT iClickIndex
INT iClickMenuID
INT iClickUniqueID
IF PAUSE_MENU_GET_MOUSE_CLICK_EVENT(iClickIndex, iClickMenuID, iClickUniqueID)
AND NOT IS_COMMERCE_STORE_OPEN()
AND NOT IS_CRIMINAL_STARTER_PACK_BROWSER_ACTIVE()
AND NOT IS_MEMBERSHIP_PAGE_BROWSER_ACTIVE()
FRONTEND_MENU_SCREEN eClickMenu = INT_TO_ENUM(FRONTEND_MENU_SCREEN, iClickMenuID-1000)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GET_MOUSE_CLICK_EVENT(): Index: ", iClickIndex, " menuID: ", GET_SCREEN_STRING_VALUE(eClickMenu), " uniqueID: ", iClickUniqueID)
IF (iPauseMenuDepth >= 0 AND pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_OPTIONS))
SWITCH GET_PAUSE_MENU_MP_COLUMN_STATE()
CASE PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN
IF eClickMenu = MENU_UNIQUE_ID_SETTINGS_LIST
// Move into settings column, and set the item within it
// Generates a trigger_event (for the column change), and a layout_event (for the item change)
LOCK_PM_COLUMN(FIRST_COLUMN, FALSE)
PM_MENU_SHIFT_DEPTH(4)
SET_PM_HIGHLIGHT(SETTING_COLUMN, iClickIndex, TRUE, TRUE)
LOCK_PM_COLUMN(FIRST_COLUMN, TRUE)
ENDIF
BREAK
CASE PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
IF eClickMenu = MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY
OR eClickMenu = MENU_UNIQUE_ID_INCEPT_TRIGGER
// Move into first column, and set the item within it
// Generates a single layout_changed event (for the column change, which includes info on the item change) - that's why the item must be set before the column, so it gets included in the layout event
LOCK_PM_COLUMN(SETTING_COLUMN, FALSE)
SET_PM_HIGHLIGHT(FIRST_COLUMN, iClickIndex, TRUE, TRUE)
SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, TRUE)
LOCK_PM_COLUMN(SETTING_COLUMN, TRUE)
ENDIF
BREAK
ENDSWITCH
// ELIF (iPauseMenuDepth >= 1 AND pauseMenuRoute[1] = PM_D2_CRIMINAL_ENTERPRISE_STARTER_PACK_ALL)
ELIF (iPauseMenuDepth >= 3 AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS))
SWITCH GET_PAUSE_MENU_MP_COLUMN_STATE()
CASE PAUSE_MENU_COLUMN_STATE_FIRST_COLUMN
IF eClickMenu = MENU_UNIQUE_ID_MISSION_CREATOR_LISTITEM
// Handle trigger event (note calling this function actually generates it's own TRIGGER_EVENT - the stuff for changing selection within the menu is handled below, copied from layout change)
HANDLE_TRIGGER(MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY, iPauseMenuItemSelected)
// Move scaleform highlight
SET_PM_HIGHLIGHT(SECOND_COLUMN, iClickIndex, TRUE, TRUE)
// Handle layout changed event
RESET_NET_TIMER(playlistLoadTimer)
RESET_NET_TIMER(iDisplayMissionDetails)
IF bTransitionFromCreators
bTransitionFromCreators = FALSE
ELSE
IF iClickUniqueID > -1
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] X1 - SET iPauseMenuItemSelected to ", iClickUniqueID, " from ", iPauseMenuItemSelected)
iPauseMenuItemSelected = iClickUniqueID
ENDIF
ENDIF
IF IS_BIT_SET(iBS_General, biMY_PLAYLISTS_LOADED)
//CLEAR_PM_COLUMN(SECOND_COLUMN)
//CLEAR_BIT(iBS_General, biMY_PLAYLISTS_LOADED)
//UGC_CLEAR_QUERY_RESULTS()
//CLEANUP_DATA_FILE()
//CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] biMY_PLAYLISTS_LOADED - CLEARED - B")
CLEAR_BIT(iBS_General, biMY_PLAYLISTS_CANCEL_QUERY)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] biMY_PLAYLISTS_CANCEL_QUERY - CLEARED - B")
ENDIF
HIDE_PM_COLUMN(THIRD_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
IF iPauseMenuDepth = 0
iRefreshCounter = 0
ENDIF
BOOL bClearContexts
bClearContexts = TRUE
IF iPauseMenuDepth = 2
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
bClearContexts = FALSE
ENDIF
ENDIF
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF iPauseMenuDepth = 3
IF pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_DOWNLOADED)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_CREATED)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_ROCKSTAR_VERIFIED)
OR pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_COMMUNITY_JOBS)
IF GET_PAUSE_MENU_MP_COLUMN_STATE() = PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
bClearContexts = FALSE
ENDIF
ENDIF
ENDIF
ENDIF
IF (pauseMenuRoute[2] = ENUM_TO_INT(PM_D3_JOBS_MY_MISSIONS) AND iPauseMenuDepth >= 3)
OR (pauseMenuRoute[2] = PM_D3_PLAYLIST_ADD_MY_MISSION AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST) AND iPauseMenuDepth >= 2)
bClearContexts = FALSE
ENDIF
IF bClearContexts
// Always reset buttons
CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SetCrewChallenge"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("StartHeadToHead"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("DeletePlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RScrollUpDown"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("BookmarkJob"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RemoveBookmark"))
ENDIF
IF IS_SELECT_AVAILABLE() != 0 AND (pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_MIGRATE_CHAR)) AND (pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_MIGRATE_CHAR_MP))
OR (iPauseMenuItemSelected = ENUM_TO_INT(MP_SETTING_MP_VERSION) AND pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_OPTIONS))
OR (pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES) AND iPauseMenuDepth = 3)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_ACTIVATE_CONTEXT SupressSelectPM 10")
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ELSE
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
ENDIF
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
BREAK
CASE PAUSE_MENU_COLUMN_STATE_SECOND_COLUMN
IF eClickMenu = MENU_UNIQUE_ID_MISSION_CREATOR_CATEGORY
// OR eClickMenu = MENU_UNIQUE_ID_INCEPT_TRIGGER
// Move into first column, and set the item within it
// Generates a single layout_changed event (for the column change, which includes info on the item change) - that's why the item must be set before the column, so it gets included in the layout event
LOCK_PM_COLUMN(SECOND_COLUMN, FALSE)
SET_PM_HIGHLIGHT(FIRST_COLUMN, iClickIndex, TRUE, TRUE)
SET_FRONTEND_COLUMN_FOCUS(FIRST_COLUMN, TRUE, TRUE)
LOCK_PM_COLUMN(SECOND_COLUMN, TRUE)
ENDIF
BREAK
ENDSWITCH
ENDIF
ENDIF
ENDIF
// Maintain columns in case anything is loading etc.
MAINTAIN_PAUSE_MENU_COLUMN_ONE()
MAINTAIN_PAUSE_MENU_COLUMN_TWO()
MAINTAIN_PAUSE_MENU_COLUMN_THREE()
// Force column-to-column on when it gets this far into jobs menu
IF iPauseMenuDepth >= 3
AND pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
IF NOT bJobMenuColumnToColumnEnabled
CPRINTLN(DEBUG_PAUSE_MENU, "-- Enable column-to-column --")
PM_ALLOW_CLICK_FROM_COLUMN(SECOND_COLUMN, TRUE)
bJobMenuColumnToColumnEnabled = TRUE
ENDIF
ELSE
IF bJobMenuColumnToColumnEnabled
CPRINTLN(DEBUG_PAUSE_MENU, "-- Disable column-to-column --")
PM_ALLOW_CLICK_FROM_COLUMN(SECOND_COLUMN, FALSE)
bJobMenuColumnToColumnEnabled = FALSE
ENDIF
ENDIF
ENDPROC
PROC PROCESS_PAUSE_MENU_CLOUD_WARNING_MESSAGE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_CLOUD_WARNING_MESSAGE ")
IF NOT LOBBY_AUTO_MULTIPLAYER_FREEMODE()
AND NOT GET_IS_LAUNCH_FROM_LIVE_AREA()
AND NOT GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT()
AND NOT IS_PLAYER_KICKED_TO_GO_OFFLINE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_CLOUD_WARNING_MESSAGE PCARD_SYNC_ERROR")
SET_WARNING_MESSAGE_WITH_HEADER("PCARD_SYNC_ERROR_TITLE", "PCARD_SYNC_ERROR", FE_WARNING_OK)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)
OR NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE()
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_CLOUD_WARNING_MESSAGE IS_CONTROL_JUST_RELEASED")
PM_MENU_SHIFT_DEPTH(-iPauseMenuDepth, TRUE)
iPauseMenuDepth=0
CLEAR_PAUSE_MENU_BUSY_COLUMNS()
CLEAR_PM_COLUMN(FIRST_COLUMN)
CLEAR_PM_COLUMN(SECOND_COLUMN)
CLEAR_PM_COLUMN(THIRD_COLUMN)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(THIRD_COLUMN)
HIDE_PM_COLUMN(THIRD_COLUMN)
ENDIF
ENDIF
ENDIF
ENDPROC
PROC DEAL_WITH_LOOSING_WANTED_LEVEL_FOR_PLAYLIST()
INT iCost = GET_CONTACT_REQUEST_COST(REQUEST_REMOVE_WANTED)
GAMER_HANDLE gamerHandle
gamerHandle = GET_GAMER_HANDLE_PLAYER(PLAYER_ID())
INT iDifference
IF NOT NETWORK_CAN_SPEND_MONEY2(iCost, FALSE, TRUE, FALSE, iDifference)
iCost -= iDifference
ENDIF
IF iCost > 0
GIVE_LOCAL_PLAYER_FM_CASH(-iCost, 1, TRUE, 0)
IF USE_SERVER_TRANSACTIONS()
INT iTransactionID
TRIGGER_FIRE_AND_FORGET_SERVICE_TRANSACTION(SERVICE_SPEND_LOSE_WANTED_LEVEL, iCost, iTransactionID, FALSE, TRUE)
ELSE
NETWORK_SPENT_BUY_WANTEDLEVEL(iCost, gamerHandle, FALSE, TRUE)
ENDIF
ENDIF
ENDPROC
PROC SET_LAUNCH_WARNING_MESSAGE()
TEXT_LABEL_15 tlMsg1
tlMsg1 = "PM_QUIT_WARN"
TEXT_LABEL_23 tlMsg2
tlMsg2 = "PM_QUIT_WARN3"
TEXT_LABEL_23 tlMsg3
tlMsg3 = "PM_QUIT_WARN11"
IF GET_CURRENT_GAMEMODE() = GAMEMODE_FM
IF WILL_MP_AUTOSAVE_BE_SKIPPED()
tlMsg3 = "PM_QUIT_WARN5"
ENDIF
IF g_b_WasSavingDown
tlMsg3 = "PM_QUIT_WARN16"
ENDIF
IF IS_PLAYER_PLAYING_OR_PLANNING_HEIST(PLAYER_ID())
tlMsg3 = "HEIST_QUITWARNING"
ENDIF
IF FM_EVENT_IS_PLAYER_LEAVING_EVENT_SEVERE()
tlMsg2 = "FMEVNT_SUREQUIT" //Are you sure you want to quit during this event?
ENDIF
IF FM_EVENT_IS_PLAYER_LEAVING_EVENT_SUPER_SEVERE()
tlMsg2 = "FMEVNT_SUREQUIT" //Are you sure you want to quit during this event?
tlMsg3 = "FMEVNT_QUITWARNING" //If you quit now, the event will fail for everyone.
ENDIF
ELSE
IF GET_IS_AUTO_SAVE_OFF()
tlMsg3 = "PM_QUIT_WARN5"
ENDIF
ENDIF
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF IS_PLAYER_ON_A_PLAYLIST(PLAYER_ID())
tlMsg1 = "HUD_CONNPROB"
tlMsg2 = "PM_QUIT_WARN10"
tlMsg3 = " "
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
tlMsg2 = "PM_QUIT_WARN6"
tlMsg3 = " "
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_DOWNLOADED_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_PLAYLISTS)
OR pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_ROCKSTAR_VERIFIED_PLAYLISTS)
tlMsg1 = "PM_QUIT_K1"
IF bSetCrewChallenge
tlMsg2 = "PM_QUIT_WARN13"
ELIF bDoCrewHeadToHead
tlMsg2 = "PM_QUIT_WARN14"
ELSE
tlMsg2 = "PM_QUIT_WARN8"
ENDIF
tlMsg3 = " "
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_QUALIFYING_PLAYLISTS)
tlMsg1 = "PM_QUIT_K1"
IF bSetCrewChallenge
tlMsg2 = "PM_QUIT_WARN13"
ELIF bDoCrewHeadToHead
tlMsg2 = "PM_QUIT_WARN14"
ELSE
tlMsg2 = "PM_QUIT_WARN17"
ENDIF
tlMsg3 = " "
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CHALLENGES) //#2058287
tlMsg1 = "PM_QUIT_K1"
tlMsg2 = "PM_QUIT_WARN18"
tlMsg3 = " "
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
IF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_AVAILABLE_JOBS)
tlMsg1 = "PM_QUIT_K1"
tlMsg2 = "PM_QUIT_WARN7"
tlMsg3 = " "
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_QUICK_JOBS)
tlMsg1 = "PM_QUIT_K1"
tlMsg2 = "PM_QUIT_WARN12"
tlMsg3 = " "
IF GET_CURRENT_GAMEMODE() = GAMEMODE_CREATOR
tlMsg3 = "PM_QUIT_WARN5"
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_SP
OR GET_CURRENT_GAMEMODE() = GAMEMODE_EMPTY
tlMsg3 = "PM_QUIT_WARN11"
IF GET_IS_AUTO_SAVE_OFF()
tlMsg3 = "PM_QUIT_WARN5"
ENDIF
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_FM
tlMsg3 = "PM_QUIT_WARN11"
IF WILL_MP_AUTOSAVE_BE_SKIPPED()
tlMsg3 = "PM_QUIT_WARN5"
ENDIF
IF g_b_WasSavingDown
tlMsg3 = "PM_QUIT_WARN16"
ENDIF
ENDIF
ENDIF
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_MIGRATE_CHAR_MP)
tlMsg3 = "PM_QUIT_WARN5"
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_EXIT_GAME)
tlMsg2 = "PM_QUIT_GAME"
tlMsg3 = " "
#IF FEATURE_GEN9_STANDALONE
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_QUIT_TO_MM)
tlMsg2 = "UI_FLOW_OP_QUITLP_W"
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_QUIT_TO_SP)
// If the player is not entitled to Story mode, show the platform store prompt instead
IF GET_PLAYER_HAS_STORY_MODE_ENTITLEMENT()
tlMsg2 = "UI_FLOW_OP_QUITSM_W"
ELSE
tlMsg2 = "UI_ALERT_ENTRSTORE"
ENDIF
#ENDIF
ELSE
IF GET_CURRENT_GAMEMODE() = GAMEMODE_CREATOR
tlMsg2 = "PM_QUIT_WARN4"
tlMsg3 = "PM_QUIT_WARN5"
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_SP
tlMsg2 = "PM_QUIT_WARN2"
tlMsg3 = "PM_QUIT_WARN5"
ELIF GET_CURRENT_GAMEMODE() = GAMEMODE_EMPTY
tlMsg2 = "PM_QUIT_WARN2"
tlMsg3 = "PM_QUIT_WARN5"
ENDIF
ENDIF
//**TWH - CMcM - #1414794 - Added something to ensure there's no attempt to add an empty string to the screen.
PRINTLN("SET_WARNING_MESSAGE_WITH_HEADER: [", tlMsg1, ", ", tlMsg2, ", ", FE_WARNING_OKCANCEL, ", ", tlMsg3, "]")
IF ARE_STRINGS_EQUAL(tlMsg3, " ")
SET_WARNING_MESSAGE_WITH_HEADER(tlMsg1, tlMsg2, FE_WARNING_OKCANCEL)
ELSE
SET_WARNING_MESSAGE_WITH_HEADER(tlMsg1, tlMsg2, FE_WARNING_OKCANCEL, tlMsg3)
ENDIF
ENDPROC
/// PURPOSE: Displays a warning message every frame
PROC PROCESS_PAUSE_MENU_WARNING_MESSAGE()
SET_LAUNCH_WARNING_MESSAGE()
PRINTLN("PM - GET_CURRENT_STACK_SIZE = ", GET_CURRENT_STACK_SIZE())
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
RELEASE_CONTROL_OF_FRONTEND()
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)
OR pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF NOT bCleanupJobCall
SET_TRANSITION_SESSIONS_CLEAN_UP_ON_CALL_NOW_IF_NEEDED()
bCleanupJobCall = TRUE
ENDIF
ENDIF
IF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_PLAYLISTS)
IF IS_PLAYER_ON_A_PLAYLIST(PLAYER_ID())
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_WARNING_MESSAGE Accept pressed - Player leaves current Playlist to enter Playlist Tab")
SET_PLAYER_ON_A_PLAYLIST(FALSE)
iPauseMenuDepth++
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
PRINTLN("PM - GET_CURRENT_STACK_SIZE = ", GET_CURRENT_STACK_SIZE())
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_CREATE_PLAYLIST)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_WARNING_MESSAGE Accept pressed - Player leaves Playlist Creator")
PAUSE_MENU_CLEAR_CREATED_PLAYLIST()
PRINTLN("PM - GET_CURRENT_STACK_SIZE = ", GET_CURRENT_STACK_SIZE())
iPauseMenuDepth--
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
CLEANUP_TEMP_PASSIVE_MODE()
ELIF pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_QUALIFYING_PLAYLISTS)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_QUALIFYING_PLAYLIST_JOIN)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_WARNING_MESSAGE Accept pressed - Launch Tournament Qualifying Playlist")
ELSE
IF ARE_STRINGS_EQUAL(g_sScComunityPlaylist.sPlayListVars[ciEVENT_COMMUNITY_PLAYLIST_LIVE].tl23PlaylistContentID, g_sMenuPlayListDetails.tl31szContentID)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_EVENT_PLAYLIST_JOIN)
ELSE
IF NETWORK_IS_GAME_IN_PROGRESS()
SET_PLAYER_LEAVING_CORONA_VECTOR(GET_PLAYER_PERCEIVED_COORDS(PLAYER_ID()))
ENDIF
IF GET_PLAYER_WANTED_LEVEL(PLAYER_ID()) > 0
IF Can_I_Afford_To_Clear_Wanted_Level()
DEAL_WITH_LOOSING_WANTED_LEVEL_FOR_PLAYLIST()
ENDIF
ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_WARNING_MESSAGE Accept pressed - launch the selected Playlist")
LAUNCH_PAUSE_MENU_TRANSITION()
ENDIF
ENDIF
// ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_OPTIONS)
// PROCESS_KILL_YOURSELF()
ELIF pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS) AND pauseMenuRoute[1] = ENUM_TO_INT(PM_D2_QUICK_JOBS)
IF IS_SELECT_AVAILABLE() = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN) - TYPE = ", pauseMenuRoute[2]) //iPauseMenuItemSelected)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN)
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_WARNING_MESSAGE Accept pressed - launch the selected item")
PRINTLN("PM - GET_CURRENT_STACK_SIZE = ", GET_CURRENT_STACK_SIZE())
LAUNCH_PAUSE_MENU_TRANSITION()
ENDIF
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ENDIF
// Only check for cancel if we have not received an accept (2244658)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
OR NETWORK_SESSION_IS_AWAITING_INVITE_RESPONSE()
//OR IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_UP)
//OR IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_DOWN)
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PROCESS_PAUSE_MENU_WARNING_MESSAGE Cancel pressed")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
bSetCrewChallenge = FALSE // RESET ANY LAUNCH SETTINGS
bDoCrewHeadToHead = FALSE // RESET ANY LAUNCH SETTINGS
RELEASE_CONTROL_OF_FRONTEND()
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
ENDIF
ENDIF
ENDIF
ENDPROC
FUNC INT DAYS_UNTIL_RELEASE()
INT iReleaseTime = g_sMPTunables.iMpCountDownTimer
INT iCurrentTime = GET_CLOUD_TIME_AS_INT()
INT iTimeDifference = (iReleaseTime-iCurrentTime)
INT iDays
IF iTimeDifference > 0
// DAYS
IF (iTimeDifference/86400) > 0
iDays = (iTimeDifference/86400)
iTimeDifference -= (iDays*86400)
ENDIF
ENDIF
RETURN iDays
ENDFUNC
PROC DISPLAY_NETWORK_ACCESS_WARNING()
// Commented out as code not yet available in DEV_NETWORK
MULTIPLAYER_ACCESS_CODE accessFailReason
IF IS_PLAYSTATION_PLATFORM() AND !NETWORK_IS_NP_AVAILABLE() AND NETWORK_GET_NP_UNAVAILABLE_REASON() = REASON_AGE
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_PROFILECHNG", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ELIF IS_PLAYSTATION_PLATFORM() AND !NETWORK_IS_NP_AVAILABLE() AND NETWORK_GET_NP_UNAVAILABLE_REASON() = REASON_GAME_UPDATE
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_GAMEUPD", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ELIF IS_PLAYSTATION_PLATFORM() AND !NETWORK_IS_NP_AVAILABLE() AND NETWORK_GET_NP_UNAVAILABLE_REASON() = REASON_SYSTEM_UPDATE
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_SYSTUPD", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ELIF IS_PLAYSTATION_PLATFORM() AND !NETWORK_IS_NP_AVAILABLE() AND NETWORK_GET_NP_UNAVAILABLE_REASON() = REASON_CONNECTION
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_DISCON", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ELIF NOT NETWORK_IS_SIGNED_ONLINE()
IF IS_PLAYSTATION_PLATFORM()
AND NETWORK_IS_CABLE_CONNECTED() = FALSE
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_PLUGPU", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ELSE
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SupressSelectPM"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_CONNT", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
ENDIF
ENDIF
ELIF NOT IS_GTA_ONLINE_AVAILABLE()
IF GET_PROFILE_SETTING(PROLOGUE_COMPLETE) = 1
IF NOT SCRIPT_NETWORK_CAN_ACCESS_MULTIPLAYER(accessFailReason)
IF accessFailReason = ACCESS_DENIED_INVALID_PROFILE_SETTINGS
//IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "PM_SIGNING_IN", "PM_SIGNING_IN_TITLE", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
//ENDIF
ELIF accessFailReason = ACCESS_DENIED_NETWORK_LOCKED
//IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "PM_LAUNCH", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
//ENDIF
ELIF accessFailReason = ACCESS_DENIED_MULTIPLAYER_DISABLED
//IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
IF HAS_SCRIPT_BLOCKED_MULTIPLAYER_ACCESS()
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_LOADSCR_D", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ELSE
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_LOADMAIN", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
//ENDIF
ELSE
//IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "PM_DOPROB", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
//ENDIF
ENDIF
ELSE
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "PM_DOPROB", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
ENDIF
ELSE
IF NOT SCRIPT_NETWORK_CAN_ACCESS_MULTIPLAYER(accessFailReason)
CPRINTLN(DEBUG_PAUSE_MENU, "accessFailReason = ", accessFailReason)
IF accessFailReason = ACCESS_DENIED_NETWORK_LOCKED
//IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_LOADSCR_D", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
//ENDIF
ELIF accessFailReason = ACCESS_DENIED_MULTIPLAYER_DISABLED
//IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
IF HAS_SCRIPT_BLOCKED_MULTIPLAYER_ACCESS()
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_LOADMAIN", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ELSE
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "HUD_LOADMAIN", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
//ENDIF
ELSE
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "PM_DOPROB", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
ELSE
//IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, "PM_DOPROB", "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
ENDIF
ELIF GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
IF NOT IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
STRING anErrorString = GET_PAUSE_MENU_PERMISSION_ERROR_MESSAGE(GET_ACCOUNT_PERMISSION_SETUP())
MP_SET_COLUMN_WARNING_MESSAGE(TRUE, FIRST_COLUMN, 3, anErrorString, "PM_DOPROT", 0, "", "")
SET_BIT(iBS_General, biSHOW_COLUMN_WARNING)
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("SupressSelectPM"))
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] PAUSE_MENU_ACTIVATE_CONTEXT SupressSelectPM 11")
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDIF
IF !PAUSE_MENU_IS_CONTEXT_ACTIVE(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_ACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_REDRAW_INSTRUCTIONAL_BUTTONS()
ENDIF
ENDPROC
PROC CLEAR_LOADING_BITSETS()
iPauseMenuDepth = 0
#IF FEATURE_COPS_N_CROOKS
IF g_sMPTunables.bDISABLE_CNC_ENTRY_FROM_FREEMODE
#ENDIF
pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)//PM_D1_ALL_JOBS
SET_PM_HIGHLIGHT( FIRST_COLUMN, ENUM_TO_INT(PM_D1_ALL_JOBS), FALSE, TRUE)
#IF FEATURE_COPS_N_CROOKS
ELSE
pauseMenuRoute[0] = 0//PM_D1_ALL_JOBS
SET_PM_HIGHLIGHT( FIRST_COLUMN, 0, FALSE, TRUE)
ENDIF
#ENDIF
pauseMenuRoute[1] = 0
pauseMenuRoute[2] = 0
pauseMenuRoute[3] = 0
iPauseMenuItemSelected = 0
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_INIT)
//g_MenuceptionPrevious = MENU_UNIQUE_ID_INVALID
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, PLAYLISTS_LOADED)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, BOOKMARKED_PLAYLISTS_LOADED)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, ROCKSTAR_PLAYLISTS_LOADED)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, ROCKSTAR_VERIFIED_PLAYLISTS_LOADED)
CLEAR_BIT(g_iMpPauseMenuBS_LoadedMissions, CHALLENGES_LOADED)
ENDPROC
#IF IS_DEBUG_BUILD
INT DEBUGpauseMenuGlobalState
PROC CREATE_PAUSE_MENU_WIDGETS()
START_WIDGET_GROUP("Multiplayer PauseMenu")
ADD_WIDGET_INT_READ_ONLY("Current Depth: ", iPauseMenuDepth)
ADD_WIDGET_INT_READ_ONLY("Depth 0: ", pauseMenuRoute[0])
ADD_WIDGET_INT_READ_ONLY("Depth 1: ", pauseMenuRoute[1])
ADD_WIDGET_INT_READ_ONLY("Depth 2: ", pauseMenuRoute[2])
ADD_WIDGET_INT_READ_ONLY("Depth 3: ", pauseMenuRoute[3])
ADD_WIDGET_INT_READ_ONLY("iPauseMenuItemSelected", iPauseMenuItemSelected)
ADD_WIDGET_INT_READ_ONLY("iBS_ColumnBusy", iBS_ColumnBusy)
ADD_WIDGET_INT_READ_ONLY("iBS_ColumnsToUpdate", iBS_ColumnsToUpdate)
ADD_WIDGET_INT_READ_ONLY("pauseMenuGlobalState", DEBUGpauseMenuGlobalState)
//**TWH - CMcM - #1221645 - Added support for Bobby's commandline parameter and also a checkbox widget to toggle between final and candidate missions.
ADD_WIDGET_BOOL("Toggle between Candidate and final jobs", bToggleCandidateMissions)
ADD_WIDGET_BOOL("HAVE_PLAYLISTS_LOADED", bPlaylistsLoaded)
ADD_WIDGET_BOOL("HAVE_BOOKMARKED_PLAYLISTS_LOADED", bBookmarkedPlaylistsLoaded)
ADD_WIDGET_BOOL("HAVE_ROCKSTAR_PLAYLISTS_LOADED", bRockstarPlaylistsLoaded)
ADD_WIDGET_BOOL("HAVE_CHALLENGES_LOADED", bChallengesLoaded)
ADD_WIDGET_BOOL("bBlockNetworkContent", bBlockNetworkContent)
ADD_WIDGET_BOOL("bMyPlaylistDataAvailable", bMyPlaylistDataAvailable)
ADD_WIDGET_BOOL("bBookmarkedPlaylistDataAvailable", bBookmarkedPlaylistDataAvailable)
ADD_WIDGET_BOOL("bRockstarPlaylistDataAvailable", bRockstarPlaylistDataAvailable)
ADD_WIDGET_BOOL("bRockstarVerifiedPlaylistDataAvailable", bRockstarVerifiedPlaylistDataAvailable)
// GET_PAUSE_MENU_MP_GLOBAL_STATE()
STOP_WIDGET_GROUP()
ENDPROC
#ENDIF
// *****************************************************************
// SCRIPT
// *****************************************************************
SCRIPT( PAUSE_MENU_LAUNCH_DATA args )
CPRINTLN(DEBUG_PAUSE_MENU, "sGetUGC_content.bInPauseMenu = TRUE")
#IF IS_DEBUG_BUILD
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] Multiplayer Pause Menu Launched with args: ", args.operation, ", Menu: ", args.MenuScreenId, ", Prev:", args.PreviousId, ", Unique: ", args.UniqueIdentifier)
#ENDIF
IF g_blaunch_criminal_starter_menu
//bMoveMenuToStarterPack = TRUE
//LAUNCH_CRIMINAL_STARTER_PACK_MENU(FALSE)
//SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
ENDIF
LAUNCH_CRIMINAL_STARTER_PACK_BROWSER(FALSE)
#IF FEATURE_GTAO_MEMBERSHIP
LAUNCH_MEMBERSHIP_PAGE_BROWSER(FALSE)
#ENDIF
IF HAS_FORCE_CLEANUP_OCCURRED(FORCE_CLEANUP_PAUSE_MENU_TERMINATED)
IF GET_PAUSE_MENU_MP_GLOBAL_STATE() != PAUSE_MENU_GLOBAL_STATE_CLEANUP
SET_PLAYER_LEAVING_CORONA_VECTOR(<<0,0,0>>)
ENDIF
//LAUNCH_CRIMINAL_STARTER_PACK_BROWSER(FALSE)
PM_MENU_SHIFT_DEPTH(-1)
HIDE_PM_COLUMN(FIRST_COLUMN)
HIDE_PM_COLUMN(SECOND_COLUMN)
HIDE_PM_COLUMN(THIRD_COLUMN)
CLEAR_PAUSE_MENU_IS_USING_UGC()
#IF FEATURE_GTAO_MEMBERSHIP
//send telemetry data about membership pages (only if membership page is not open)
IF NOT SHOULD_LAUNCH_MEMBERSHIP_PAGE_BROWSER()
MEMBERSHIP_TELEMETRY_SEND_RESULTS(MEMBERSHIP_PAGES_LEAVE_REASON_CLOSED_PAUSE_MENU)
ENDIF
#ENDIF
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] FORCE_CLEANUP_PAUSE_MENU_TERMINATED")
CLEAR_ALL_CHALLENGE_BUTTON_CONTEXTS()
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("MembershipMoreInfo"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylistPick"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylistDrop"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("DeletePlaylist"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("EditPlaylist"))
// PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("SetCrewChallenge"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("StartHeadToHead"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("RScrollUpDown"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("IS_NAVIGATING_UPDOWN"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("IS_NAVIGATING_ALL"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("HIDE_ACCEPTBUTTON"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageLeft"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PageRight"))
PAUSE_MENU_DEACTIVATE_CONTEXT(HASH("PurchaseAvailable"))
CLEAR_BIT(iBS_General, biWARN_ON_TAB_CHANGE_SET)
IF IS_WARNING_MESSAGE_ACTIVE()
IF BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND("SHOW_WARNING_MESSAGE")
SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(FALSE)
END_SCALEFORM_MOVIE_METHOD()
ENDIF
ENDIF
IF GET_PAUSE_MENU_MP_GLOBAL_STATE() = PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST
CLEANUP_TEMP_PASSIVE_MODE()
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] CLEANUP_TEMP_PASSIVE_MODE()")
ENDIF
g_bMissionCreatorPauseMenuActive = FALSE
IF iPhotoTextureDownloadHandle > 0
TEXTURE_DOWNLOAD_RELEASE(iPhotoTextureDownloadHandle)
ENDIF
SC_PAUSE_NEWS_SHUTDOWN()
#IF NOT FEATURE_GEN9_STANDALONE
RESET_STARTER_PACK_NEWS_FEED_INFO()
#ENDIF
TERMINATE_THIS_THREAD()
ENDIF
g_MenuceptionPrevious = INT_TO_ENUM(FRONTEND_MENU_SCREEN, args.PreviousId)
IF args.PreviousId != -1
SET_BIT(iBS_General, biDISABLE_FIRST_SOUND)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] SET BIT biDISABLE_FIRST_SOUND")
ENDIF
// Set script as safe for mp
NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME()
// Set up global to notify other systems data is loading
g_bMissionCreatorPauseMenuActive = TRUE
g_bV2CoronaMapBlipIsPremiumRace = FALSE
RESET_PAUSE_MENU_WARP_REQUESTS()
#IF IS_DEBUG_BUILD
//**TWH - CMcM - #1221645 - Added support for Bobby's commandline parameter and also a checkbox widget to toggle between final and candidate missions.
// IF GET_COMMANDLINE_PARAM_EXISTS("sc_UseRockstarCandidateMissions")
// SET_SHOULD_USE_ROCKSTAR_CANDIDATE_MISSIONS()
// ENDIF
CREATE_PAUSE_MENU_WIDGETS()
#ENDIF
CLEAR_LOADING_BITSETS()
// Listen for XML arguments
SWITCH args.operation
CASE kUpdate
WHILE(TRUE)
WAIT(0) // One and only wait in MP script.
DRAW_LOADING_DEBUG_SQUARES(0)
#IF IS_DEBUG_BUILD
//**TWH - CMcM - #1221645 - Added support for Bobby's commandline parameter and also a checkbox widget to toggle between final and candidate missions.
bPlaylistsLoaded = HAVE_PLAYLISTS_LOADED()
bBookmarkedPlaylistsLoaded = HAVE_BOOKMARKED_PLAYLISTS_LOADED()
bRockstarPlaylistsLoaded = HAVE_ROCKSTAR_PLAYLISTS_LOADED()
bChallengesLoaded = HAVE_CHALLENGES_LOADED()
IF bToggleCandidateMissions
// IF IS_BIT_SET(MPSpecGlobals.iBitSet, GLOBAL_SPEC_BS_ACTIVE)
// CLEAR_BIT(MPSpecGlobals.iBitSet, GLOBAL_SPEC_BS_ACTIVE)
// ELSE
// SET_BIT(MPSpecGlobals.iBitSet, GLOBAL_SPEC_BS_ACTIVE)
// ENDIF
IF SHOULD_USE_ROCKSTAR_CANDIDATE_MISSIONS()
CLEAR_SHOULD_USE_ROCKSTAR_CANDIDATE_MISSIONS()
ELSE
SET_SHOULD_USE_ROCKSTAR_CANDIDATE_MISSIONS()
ENDIF
bToggleCandidateMissions = FALSE
ENDIF
DEBUGpauseMenuGlobalState = ENUM_TO_INT(GET_PAUSE_MENU_MP_GLOBAL_STATE())
#ENDIF
IF GET_PAUSE_MENU_MP_COLUMN_STATE() != PAUSE_MENU_COLUMN_STATE_NULL
IF NETWORK_IS_GAME_IN_PROGRESS()
//**TWH - CMcM - 1454465 - Added IS_LOCAL_PLAYER_RUNNING_ACTIVITY_TUTORIAL to block downloading two things at once.
IF NOT IS_LOCAL_PLAYER_RUNNING_ACTIVITY_TUTORIAL()
// Constantly try and grab the users string for mission rating
LOAD_MISSION_RATING_USER()
// Will gradually load all data required for each screen (begins with USER MISSIONS)
LOAD_MISSION_DATA()
// Checks our MP character slots to see if they are active
//CHECK_CHARACTER_SLOTS()
ENDIF
ENDIF
ENDIF
// Wait until code is ready for us to take control
IF IS_FRONTEND_READY_FOR_CONTROL()
AND !IS_STORE_PENDING_NETWORK_SHUTDOWN_TO_OPEN()
IF NOT NETWORK_IS_SIGNED_ONLINE()
OR GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
//OR NOT NETWORK_IS_CLOUD_AVAILABLE()
IF GET_PAUSE_MENU_MP_GLOBAL_STATE() != PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE
AND GET_PAUSE_MENU_MP_GLOBAL_STATE() > PAUSE_MENU_GLOBAL_STATE_INIT
//IF !IS_PLAYSTATION_PLATFORM()
TAKE_CONTROL_OF_FRONTEND()
iPauseMenuDepth = 0
CLEAR_MISSION_CREATOR_COLUMNS()
RESET_PAUSE_MENU_DEPTHS()
CLEAR_PM_COLUMN(0)
CLEAR_PM_COLUMN(1)
CLEAR_PM_COLUMN(2)
CLEAR_PM_COLUMN(3)
PM_MENU_SHIFT_DEPTH(-4)
LOCK_PM_COLUMN(FIRST_COLUMN, TRUE)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
MAINTAIN_PAUSE_MENU_COLUMN_ONE()
IF GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
DISPLAY_PAUSE_MENU_ERROR_TEXT(iErrorTimer)
ELSE
DISPLAY_PAUSE_MENU_ERROR_TEXT_SIGNING_IN(iErrorTimer)
ENDIF
//Check for sign in prompt
IF !IS_PLAYSTATION_PLATFORM()
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)
IF NOT IS_SYSTEM_UI_BEING_DISPLAYED()
DISPLAY_SYSTEM_SIGNIN_UI(TRUE)
PRINTLN("[JA@PAUSEMENU] DISPLAY_SYSTEM_SIGNIN_UI - CALLED")
ENDIF
ENDIF
ENDIF
RELEASE_CONTROL_OF_FRONTEND()
PRINTLN("[JA@PAUSEMENU] NOT SIGNED IN ONLINE")
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE)
//ENDIF
ENDIF
//Check player has done SP Prologue
ELIF NOT NETWORK_IS_GAME_IN_PROGRESS()
#IF IS_DEBUG_BUILD
AND g_ShouldShiftingTutorialsBeSkipped = FALSE
AND GET_COMMANDLINE_PARAM_EXISTS("sc_noPrologueCheckForMP") = FALSE
#ENDIF
IF NOT IS_GTA_ONLINE_AVAILABLE()
OR GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
//OR #IF IS_DEBUG_BUILD ( #ENDIF g_savedGlobals.sFlow.missionSavedData[SP_MISSION_PROLOGUE].completed = FALSE #IF IS_DEBUG_BUILD AND g_ShouldShiftingTutorialsBeSkipped = FALSE) #ENDIF
IF GET_PAUSE_MENU_MP_GLOBAL_STATE() != PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE
AND GET_PAUSE_MENU_MP_GLOBAL_STATE() > PAUSE_MENU_GLOBAL_STATE_INIT //BC: Removed the >= as the initial stage should always complete. Fixes 1918325
iPauseMenuDepth = 0
CLEAR_MISSION_CREATOR_COLUMNS()
LOCK_PM_COLUMN(FIRST_COLUMN, TRUE)
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
MAINTAIN_PAUSE_MENU_COLUMN_ONE()
HIDE_PM_COLUMN(FIRST_COLUMN)
HIDE_PM_COLUMN(SECOND_COLUMN)
HIDE_PM_COLUMN(THIRD_COLUMN)
DISPLAY_NETWORK_ACCESS_WARNING()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] IS_GTA_ONLINE_AVAILABLE = FALSE")
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE)
ENDIF
ENDIF
ENDIF
SWITCH GET_PAUSE_MENU_MP_GLOBAL_STATE()
CASE PAUSE_MENU_GLOBAL_STATE_INIT
// Process initialisation of pause menu
INIT_PAUSE_MENU_MULTIPLAYER_SCREEN()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_DISPLAYING
TAKE_CONTROL_OF_FRONTEND()
//CPRINTLN(DEBUG_PAUSE_MENU, " [JA@PAUSEMENU] - TAKE_CONTROL_OF_FRONTEND")
IF iPauseMenuDepth = 0
AND pauseMenuRoute[0] != ENUM_TO_INT(PM_D1_OPTIONS)
iRefreshCounter++
IF iRefreshCounter > 50
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
iRefreshCounter=0
ENDIF
ELSE
iRefreshCounter = 0
ENDIF
PROCESS_PAUSE_MENU_MULTIPLAYER_SCREEN()
//PROCESS_PAUSE_MENU_MEMBERSHIP_SCREEN()
IF NOT PAUSE_MENU_IS_COLUMN_UPDATING(FIRST_COLUMN)
RELEASE_CONTROL_OF_FRONTEND()
//CPRINTLN(DEBUG_PAUSE_MENU, " [JA@PAUSEMENU] - RELEASE_CONTROL_OF_FRONTEND")
ENDIF
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_LOAD_PLAYLIST_FOR_EDIT
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_PLAYLIST_EDIT()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_SAVE_PLAYLIST
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_PLAYLIST_SAVE()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_DELETE_PLAYLIST
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_PLAYLIST_DELETE()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_DELETE_PLAYLIST_BOOKMARK
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_PLAYLIST_DELETE_BOOKMARK()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_ADD_BOOKMARK
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_BOOKMARK_ADD()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_DELETE_BOOKMARK
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_BOOKMARK_DELETE()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_PUBLISH_MISSION
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_MISSION_PUBLISH()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_WARNING_MESSAGE
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_WARNING_MESSAGE()
BREAK
// CASE PAUSE_MENU_RUNNING_STARTER_PACK_BROWSER
// TAKE_CONTROL_OF_FRONTEND()
//
// //PROCESS_PAUSE_MENU_WARNING_MESSAGE()
// BREAK
//
CASE PAUSE_MENU_GLOBAL_STATE_CLOUD_WARNING_MESSAGE
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_CLOUD_WARNING_MESSAGE()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_COLUMN_WARNING_MESSAGE
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_COLUMN_WARNING_MESSAGE()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_COLUMN_NAME_CHALLENGE
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_PLAYLIST_NAME_CHALLENGE()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_REPORT_UGC
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_REPORT_UGC()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_ACCOUNT_PICKER
TAKE_CONTROL_OF_FRONTEND()
SHOW_ACCOUNT_PICKER()
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_QUICK_PLAY_JOIN
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_QUICK_PLAY_JOIN()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_QUALIFYING_PLAYLIST_JOIN
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_QUALIFYING_PLAYLIST_JOIN()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_EVENT_PLAYLIST_JOIN
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_EVENT_PLAYLIST_JOIN()
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE
IF (!NETWORK_IS_SIGNED_ONLINE())
OR GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
//IF !IS_PLAYSTATION_PLATFORM()
//CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] IF NOT NETWORK_IS_SIGNED_ONLINE()")
IF IS_PLAYSTATION_PLATFORM()
DISPLAY_PAUSE_MENU_ERROR_TEXT(iErrorTimer)
ELSE
DISPLAY_PAUSE_MENU_ERROR_TEXT_SIGNING_IN(iErrorTimer)
ENDIF
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_CANCEL)")
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] >>>>>>>>>>>>>>>>>>>>>>>>>>>>> FOCUS_CONTENT 1")
LOCK_PM_COLUMN(FIRST_COLUMN, FALSE)
// Remove help text
HIDE_PAUSE_MENU_HELP_TEXT()
// Shift our depth out of menu
PM_MENU_SHIFT_DEPTH(-4)
IF BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND("FOCUS_CONTENT")
SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(TRUE)
END_SCALEFORM_MOVIE_METHOD()
ENDIF
SET_PAUSE_MENU_MP_COLUMN_STATE(PAUSE_MENU_COLUMN_STATE_NULL)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
ENDIF
ELSE
IF IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_CANCEL)
ENDIF
ENDIF
IF NOT IS_BIT_SET(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
IF IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
IF IS_PLAYSTATION_PLATFORM()
IF GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE ACCOUNT_PERMS_BLOCKED")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
IF NETWORK_IS_NP_AVAILABLE()
//// AND NETWORK_GET_NP_UNAVAILABLE_REASON() != REASON_AGE
// AND NETWORK_GET_NP_UNAVAILABLE_REASON() != REASON_GAME_UPDATE
//// AND NETWORK_GET_NP_UNAVAILABLE_REASON() != REASON_SYSTEM_UPDATE
IF !NETWORK_HAVE_PLATFORM_SUBSCRIPTION()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE NETWORK_SHOW_ACCOUNT_UPGRADE_UI")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
//DISPLAY_SYSTEM_SIGNIN_UI(TRUE)
NETWORK_SHOW_ACCOUNT_UPGRADE_UI()
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE NETWORK_HAVE_PLATFORM_SUBSCRIPTION")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
ENDIF
// ELSE
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE NETWORK_IS_NP_AVAILABLE")
// CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED ORBIS")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
ENDIF
ELIF IS_XBOX_PLATFORM()
IF GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED
IF !DOES_PLAYER_HAVE_XBOX_PERMISSIONS(TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE DOES_PLAYER_HAVE_XBOX_PERMISSIONS")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ELIF !DOES_PLAYER_HAVE_XBOX_GOLD_MEMBERSHIP(TRUE)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE DOES_PLAYER_HAVE_XBOX_GOLD_MEMBERSHIP")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE GET_ACCOUNT_PERMISSION_SETUP() = ACCOUNT_PERMS_BLOCKED XBOX")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
ENDIF
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE IS_CONTROL_JUST_RELEASED(FRONTEND_CONTROL, INPUT_FRONTEND_ACCEPT)")
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] PAUSE_MENU_GLOBAL_STATE_NOT_AVAILABLE")
DISPLAY_SYSTEM_SIGNIN_UI(TRUE)
SET_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ENDIF
ENDIF
ELSE
CLEAR_BIT(iBS_ButtonPressed, PAUSE_MENU_MP_SELECT)
ENDIF
//ENDIF
//SP Prologue not Done Check
ELIF NOT NETWORK_IS_GAME_IN_PROGRESS()
#IF IS_DEBUG_BUILD
AND g_ShouldShiftingTutorialsBeSkipped = FALSE
AND GET_COMMANDLINE_PARAM_EXISTS("sc_noPrologueCheckForMP") = FALSE
#ENDIF
IF NOT IS_GTA_ONLINE_AVAILABLE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] NOT IS_GTA_ONLINE_AVAILABLE()")
DISPLAY_NETWORK_ACCESS_WARNING()
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] NOT BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND()")
IF IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
OR IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
PRINTLN("[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE or biSHOW_COLUMN_WARNING - Cancel")
ENDIF
#IF FEATURE_COPS_N_CROOKS
IF g_sMPTunables.bDISABLE_CNC_ENTRY_FROM_FREEMODE
#ENDIF
pauseMenuRoute[0] = ENUM_TO_INT(PM_D1_ALL_JOBS)//PM_D1_ALL_JOBS
SET_PM_HIGHLIGHT( FIRST_COLUMN, ENUM_TO_INT(PM_D1_ALL_JOBS), FALSE, TRUE)
#IF FEATURE_COPS_N_CROOKS
ELSE
pauseMenuRoute[0] = 0//PM_D1_ALL_JOBS
SET_PM_HIGHLIGHT( FIRST_COLUMN, 0, FALSE, TRUE)
ENDIF
#ENDIF
pauseMenuRoute[1] = 0
iPauseMenuDepth = 0
SHOW_PM_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(THIRD_COLUMN)
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] >>>>>>>>>>>>>>>>>>>>>>>>>>>>> FOCUS_CONTENT 2")
PM_MENU_SHIFT_DEPTH(-4)
LOCK_PM_COLUMN(FIRST_COLUMN, TRUE)
IF BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND("FOCUS_CONTENT")
SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(TRUE)
END_SCALEFORM_MOVIE_METHOD()
ENDIF
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
ENDIF
//Okay to Go In
// ELIF NOT IS_ACCOUNT_OVER_17()
// DISPLAY_PAUSE_MENU_ERROR_TEXT()
ELSE
//IF NETWORK_IS_SIGNED_ONLINE()
iErrorTimer++
IF !IS_CLOUD_DOWN_CLOUD_LOADER()
OR iErrorTimer > 200
iErrorTimer = 0
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] ELSE")
NETWORK_REQUEST_CLOUD_TUNABLES()
IF IS_BIT_SET(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
OR IS_BIT_SET(iBS_General, biSHOW_COLUMN_WARNING)
MP_SET_COLUMN_WARNING_MESSAGE(FALSE, SECOND_COLUMN, 2, "PM_SOC_PLY", "PM_SOC_SGN", 0, "", "")
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] MP_SET_COLUMN_WARNING_MESSAGE or biSHOW_COLUMN_WARNING - Cancel")
ENDIF
SHOW_PM_COLUMN(FIRST_COLUMN)
SHOW_PM_COLUMN(SECOND_COLUMN)
SHOW_PM_COLUMN(THIRD_COLUMN)
CLEAR_BIT(iBS_General, biSHOW_COLUMN_WARNING)
CLEAR_BIT(iBS_General, biSHOW_SIDE_COLUMN_WARNING)
PM_MENU_SHIFT_DEPTH(-4, TRUE)
LOCK_PM_COLUMN(FIRST_COLUMN, TRUE)
IF BEGIN_SCALEFORM_MOVIE_METHOD_ON_FRONTEND("FOCUS_CONTENT")
SCALEFORM_MOVIE_METHOD_ADD_PARAM_BOOL(TRUE)
END_SCALEFORM_MOVIE_METHOD()
ENDIF
PRINTLN("[CMcM@PAUSEMENU] >>>>>>>>>>>>>>>>>>>>>>>>>>>>> FOCUS_CONTENT 3")
MAINTAIN_PAUSE_MENU_COLUMN_ONE()
PAUSE_MENU_UPDATE_COLUMN(FIRST_COLUMN)
PAUSE_MENU_UPDATE_COLUMN(SECOND_COLUMN)
SET_PAUSE_MENU_MP_GLOBAL_STATE(PAUSE_MENU_GLOBAL_STATE_DISPLAYING)
ENDIF
ENDIF
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_CLEANUP
// Do nothing since we are leaving
BREAK
CASE PAUSE_MENU_GLOBAL_STATE_MIGRATION_STATUS
TAKE_CONTROL_OF_FRONTEND()
PROCESS_PAUSE_MENU_EVENT_MIGRATION_STATUS()
BREAK
ENDSWITCH
CONTROL_MISSION_PHOTO_DISPLAY(iPhotoTextureDownloadHandle)
/*IF NETWORK_IS_CLOUD_AVAILABLE()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] NETWORK_IS_CLOUD_AVAILABLE - TRUE")
ELSE
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] NETWORK_IS_CLOUD_AVAILABLE - FALSE")
ENDIF*/
ENDIF
ENDWHILE
BREAK
ENDSWITCH
CLEAR_PAUSE_MENU_IS_USING_UGC()
CPRINTLN(DEBUG_PAUSE_MENU, "[JA@PAUSEMENU] CLEAR_PAUSE_MENU_IS_USING_UGC - CALLED")
CLEAR_BIT(iBS_General, biWARN_ON_TAB_CHANGE_SET)
IF GET_PAUSE_MENU_MP_GLOBAL_STATE() = PAUSE_MENU_GLOBAL_STATE_EDIT_PLAYLIST
CLEANUP_TEMP_PASSIVE_MODE()
CPRINTLN(DEBUG_PAUSE_MENU, "[CMcM@PAUSEMENU] CLEANUP_TEMP_PASSIVE_MODE() 2")
ENDIF
g_bMissionCreatorPauseMenuActive = FALSE
#IF FEATURE_GEN9_EXCLUSIVE
bDisplayXboxPrompt = FALSE
#ENDIF
IF iPhotoTextureDownloadHandle > 0
TEXTURE_DOWNLOAD_RELEASE(iPhotoTextureDownloadHandle)
ENDIF
//LAUNCH_CRIMINAL_STARTER_PACK_BROWSER(FALSE)
SC_PAUSE_NEWS_SHUTDOWN()
#IF NOT FEATURE_GEN9_STANDALONE
RESET_STARTER_PACK_NEWS_FEED_INFO()
#ENDIF
TERMINATE_THIS_THREAD()
ENDSCRIPT