1782 lines
69 KiB
Python
Executable File
1782 lines
69 KiB
Python
Executable File
|
|
USING "net_include.sch"
|
|
USING "net_stat_generator.sch"
|
|
|
|
USING "Transition_Joining.sch"
|
|
USING "Transition_Hud.sch"
|
|
//USING "Transition_Hud_SF.sch"
|
|
USING "Net_hud_activating.sch"
|
|
USING "leader_board_common.sch"
|
|
using "vehicle_public.sch"
|
|
USING "FM_Community_Playlists.sch"
|
|
USING "savegame_private.sch"
|
|
USING "title_update_globals.sch"
|
|
USING "MPHud_CharacterController.sch"
|
|
USING "script_misc.sch"
|
|
USING "net_heists_common.sch"
|
|
|
|
MPHUD_PLACEMENT_TOOLS MpHud_Details
|
|
MPHUD_GTA_ONLINE_CHARACTER_DATA MpHud_GTAOnlineCharacterData
|
|
|
|
//BOOL bScreenFadeInChange
|
|
//BOOL bContextChange
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
INT iMaxInstructionsCalled2
|
|
|
|
//FLOAT fYPosLoadingIconAboveButton_lastFrame
|
|
|
|
PROC RUN_QUICKLAUNCH()
|
|
|
|
BOOL shouldSkip = FALSE
|
|
|
|
SWITCH GET_QUICKLAUNCH_STATE()
|
|
|
|
CASE QUICKLAUNCH_SP
|
|
IGNORE_INVITE()
|
|
NET_NL()NET_PRINT("RUN_QUICKLAUNCH: SET_JOINING_GAMEMODE(QUICKLAUNCH_SP) ")
|
|
REQUEST_TRANSITION(GET_CURRENT_TRANSITION_STATE(), GAMEMODE_SP, GET_CURRENT_HUD_STATE())
|
|
BREAK
|
|
CASE QUICKLAUNCH_FREEMODE
|
|
NET_NL()NET_PRINT("RUN_QUICKLAUNCH: SET_JOINING_GAMEMODE(GAMEMODE_FM) ")
|
|
SET_JOINING_GAMEMODE(GAMEMODE_FM)
|
|
shouldSkip = TRUE
|
|
SET_SRL_TUTORIAL_ACTIVE(FALSE)
|
|
BREAK
|
|
CASE QUICKLAUNCH_FREEMODE_SPECTATOR
|
|
NET_NL()NET_PRINT("RUN_QUICKLAUNCH: SET_JOINING_GAMEMODE(GAMEMODE_FM) QUICKLAUNCH_FREEMODE_SPECTATOR ")
|
|
SET_JOINING_GAMEMODE(GAMEMODE_FM)
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
INT iSlot = GET_ACTIVE_CHARACTER_SLOT()
|
|
|
|
AUTOCOMPLETE_TUTORIALS_TRANSITION(shouldSkip, GET_JOINING_GAMEMODE(), iSlot)
|
|
PRINTLN("BWW - RUN_QUICKLAUNCH - g_ShouldShiftingTutorialsBeSkipped = FALSE")
|
|
|
|
ENDPROC
|
|
#ENDIF // IS_DEBUG_BUILD
|
|
|
|
PROC DO_BAIL_CLEANUP()
|
|
|
|
IF IS_PAUSE_MENU_ACTIVE()
|
|
SET_FRONTEND_ACTIVE(FALSE)
|
|
ENDIF
|
|
|
|
IF GET_CURRENT_HUD_STATE() = HUD_STATE_BOTH_SAVE_TRANSFER
|
|
REMOVE_WARNING_MESSAGE_OPTION_ITEMS()
|
|
SET_SAVE_TRANSFER_BOTH_STAGE(MIGRATION_MAIN_NONE)
|
|
NET_NL()NET_PRINT("[SAVETRANS] ****** BAIL HAPPENED WHILE PROCESSING SAVE TRANSFER, RESET OPERATION *******")
|
|
ENDIF
|
|
|
|
TRIGGER_TRANSITION_MENU_ACTIVE(FALSE)
|
|
TRIGGER_TRANSITION_TELL_CREATOR_TO_CLEANUP(TRUE)
|
|
|
|
g_bKillFMMC_SignedOut = TRUE
|
|
PLAYER_LEAVING_CLEANUP(TRUE)
|
|
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
SET_ENTITY_VISIBLE(PLAYER_PED_ID(), TRUE)
|
|
ENDIF
|
|
|
|
IF (g_StreamingIsPaused)
|
|
SET_STREAMING(TRUE)
|
|
g_StreamingIsPaused = FALSE
|
|
PRINTLN("[DLC_INTRO_BINK] DO_BAIL_CLEANUP - happened during casino bink video, turning back on streaming.")
|
|
ENDIF
|
|
IF IS_AUDIO_SCENE_ACTIVE(DLCIntroBinkAudioScene())
|
|
STOP_AUDIO_SCENE(DLCIntroBinkAudioScene())
|
|
ENDIF
|
|
|
|
IF GET_CURRENT_HUD_STATE() = HUD_STATE_SELECT_CHARACTER_FM
|
|
OR GET_CURRENT_HUD_STATE() = HUD_STATE_CREATE_FACE
|
|
OR GET_CURRENT_HUD_STATE() = HUD_STATE_CONFIRM_NEW_CHARACTER
|
|
NET_NL()NET_PRINT("DO_BAIL_CLEANUP(): Fading out on bail cleanup due to being in character creator state.\n")
|
|
DEBUG_PRINTCALLSTACK()
|
|
DO_SCREEN_FADE_OUT(0)
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC RESET_MENU_MEMORY()
|
|
INT I
|
|
FOR I = 0 TO HUD_MENU_ITEMS-1
|
|
g_iMenuSelection[I] = 0
|
|
ENDFOR
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_PROCESSING_A_BAIL_EVENT()
|
|
|
|
IF GET_CURRENT_TRANSITION_STATE() != TRANSITION_STATE_RETURN_TO_SINGLEPLAYER
|
|
AND GET_CURRENT_TRANSITION_STATE() != TRANSITION_STATE_WAIT_FOR_SINGLEPLAYER_TO_START
|
|
AND GET_CURRENT_TRANSITION_STATE() != TRANSITION_STATE_TERMINATE_MAINTRANSITION
|
|
AND GET_CURRENT_TRANSITION_STATE() != TRANSITION_STATE_SP_SWOOP_DOWN
|
|
AND GET_CURRENT_TRANSITION_STATE() != TRANSITION_STATE_FM_SWOOP_DOWN
|
|
AND (ARE_ONLINE_POLICIES_UP_TO_DATE() OR SCRIPT_IS_CLOUD_AVAILABLE() = FALSE OR IS_LIVETILE_LAUNCHING())
|
|
AND IS_ONLINE_POLICIES_MENU_ACTIVE() = FALSE
|
|
|
|
MULTIPLAYER_ACCESS_CODE nAccessCode
|
|
SCRIPT_NETWORK_CAN_ACCESS_MULTIPLAYER(nAccessCode)
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
IF IS_PLAYER_KICKED_TO_GO_OFFLINE_UNTIL_REBOOT()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: IS_PLAYER_KICKED_TO_GO_OFFLINE_UNTIL_REBOOT \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_REBOOT_REQUIRED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_TERMINATE_SESSION)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_REBOOT_REQUIRED)
|
|
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
IF IS_SKYSWOOP_IN_SKY()
|
|
IF IS_MOD_INSTALLED()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: IS_MOD_INSTALLED \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_MOD_INSTALLED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_MOD_INSTALLED)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
IF nAccessCode = ACCESS_DENIED_NETWORK_LOCKED
|
|
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: ACCESS_DENIED_NETWORK_LOCKED \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_MAINTENANCE)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_MAINTENANCE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_PS3_VERSION()
|
|
OR IS_XBOX360_VERSION()
|
|
OR IS_PLAYSTATION_PLATFORM()
|
|
OR IS_XBOX_PLATFORM()
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
IF NOT NETWORK_IS_CABLE_CONNECTED()
|
|
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_IS_CABLE_CONNECTED() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_NOT_ONLINE)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_NOT_CONNECTED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
SET_QUICKLAUNCH_STATE(QUICKLAUNCH_EMPTY)
|
|
#ENDIF
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT - RETURN TRUE 0 ")
|
|
RETURN TRUE
|
|
|
|
|
|
ELIF (IS_PLAYSTATION_PLATFORM() AND NETWORK_IS_NP_AVAILABLE() = FALSE AND NETWORK_GET_NP_UNAVAILABLE_REASON() != REASON_INVALID AND NETWORK_GET_NP_UNAVAILABLE_REASON() != REASON_SIGNED_OUT)
|
|
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_GET_NP_UNAVAILABLE_REASON = ")NET_PRINT(GET_NP_CONNECTION_STRING(NETWORK_GET_NP_UNAVAILABLE_REASON()))
|
|
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
// NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_GET_NP_UNAVAILABLE_REASON() != REASON_INVALID AND != REASON_SIGNED_OUT\n")
|
|
HUD_CHANGE_STATE(HUD_STATE_NP_UNAVAILABLE)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_NP_UNAVAILABLE)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_TERMINATE_SESSION)
|
|
|
|
ELIF NOT NETWORK_IS_SIGNED_ONLINE()
|
|
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_IS_SIGNED_ONLINE() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_NOT_ONLINE)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_NOT_CONNECTED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
SET_QUICKLAUNCH_STATE(QUICKLAUNCH_EMPTY)
|
|
#ENDIF
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT - RETURN TRUE 1 ")
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
|
|
IF NOT NETWORK_IS_SIGNED_IN()
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_IS_SIGNED_IN() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_NOT_ONLINE)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_NOT_CONNECTED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
#IF IS_DEBUG_BUILD
|
|
SET_QUICKLAUNCH_STATE(QUICKLAUNCH_EMPTY)
|
|
#ENDIF
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT - RETURN TRUE 2 ")
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
IF DID_A_BAIL_HAPPEN() = FALSE //If the PSPlus expires, it also classes as PRIVALEGES_OKAY_FOR_MP = FALSE
|
|
IF NOT PRIVALEGES_OKAY_FOR_MP()
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: PRIVALEGES_OKAY_FOR_MP() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_PERMISSION_ERROR)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_PERMISSION_ERROR)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
#IF IS_DEBUG_BUILD
|
|
SET_QUICKLAUNCH_STATE(QUICKLAUNCH_EMPTY)
|
|
#ENDIF
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT - RETURN TRUE 4 ")
|
|
RETURN TRUE
|
|
|
|
ENDIF
|
|
ELSE
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT - Skip checking PRIVALEGES_OKAY_FOR_MP as a bail is being processed. ")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
//Banned
|
|
IF NETWORK_HAVE_ROS_MULTIPLAYER_PRIV() = FALSE
|
|
DO_BAIL_CLEANUP()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_HAVE_ROS_MULTIPLAYER_PRIV() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_BANNED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_PERMISSION_ERROR)
|
|
ENDIF
|
|
|
|
IF NETWORK_HAVE_ROS_CREATE_TICKET_PRIV() = FALSE
|
|
DO_BAIL_CLEANUP()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_HAVE_ROS_CREATE_TICKET_PRIV() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_BANNED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_PERMISSION_ERROR)
|
|
ENDIF
|
|
|
|
IF NETWORK_HAVE_ROS_BANNED_PRIV()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_HAVE_ROS_BANNED_PRIV() = TRUE \n")
|
|
DO_BAIL_CLEANUP()
|
|
HUD_CHANGE_STATE(HUD_STATE_BANNED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_PERMISSION_ERROR)
|
|
ENDIF
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
IF NETWORK_IS_MULTIPLAYER_DISABLED()
|
|
OR nAccessCode = ACCESS_DENIED_MULTIPLAYER_DISABLED
|
|
OR nAccessCode = ACCESS_DENIED_NETWORK_LOCKED
|
|
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_IS_MULTIPLAYER_DISABLED() = TRUE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_MAINTENANCE)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_MAINTENANCE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
IF ARE_PROFILE_SETTINGS_VALID()
|
|
#IF NOT FEATURE_GEN9_STANDALONE
|
|
IF IS_SP_PROLOGUE_FINISHED() = FALSE
|
|
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: IS_SP_PROLOGUE_FINISHED() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_SP_PROLOGUE_NOT_DONE)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_SP_PROLOGUE_NOT_DONE)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
|
|
|
|
ENDIF
|
|
#ENDIF
|
|
ENDIF
|
|
|
|
|
|
|
|
ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
IF NETWORK_IS_REFRESHING_ROS_CREDENTIALS() = FALSE
|
|
IF NETWORK_HAS_VALID_ROS_CREDENTIALS() = FALSE
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_HAS_VALID_ROS_CREDENTIALS() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_PERMISSION_ERROR)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_PERMISSION_ERROR)
|
|
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
IF (SCRIPT_IS_CLOUD_AVAILABLE() = FALSE
|
|
//[R4034] If the player disconnects the uplink cable while trying to transfer a character the game will not recognise internet connection has been lost
|
|
OR (IS_PLAYSTATION_PLATFORM() AND (NETWORK_IS_CONNETED_TO_NP_PRESENCE() = FALSE)))
|
|
AND GET_CURRENT_HUD_STATE() = HUD_STATE_BOTH_SAVE_TRANSFER
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: SCRIPT_IS_CLOUD_AVAILABLE() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_CLOUD_FAIL)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_NOT_CONNECTED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
IF DLC_CHECK_CLOUD_DATA_CORRECT() = FALSE
|
|
AND SCRIPT_IS_CLOUD_AVAILABLE()
|
|
|
|
INT iCompatFailReason = GET_EXTRACONTENT_CLOUD_RESULT()
|
|
|
|
SWITCH iCompatFailReason
|
|
CASE 0 //DLCRESULT_OK
|
|
|
|
BREAK
|
|
|
|
CASE 1 //DLCRESULT_CONNECTION_ERROR
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: DLC_CHECK_CLOUD_DATA_CORRECT() = FALSE & GET_EXTRACONTENT_CLOUD_RESULT = 1 (DLCRESULT_CONNECTION_ERROR) \n")
|
|
|
|
HUD_CHANGE_STATE(HUD_STATE_COMPAT_CLOUD_FAILED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_DLC_COMPAT_PACK_CLOUD_FAIL)
|
|
BREAK
|
|
|
|
CASE 2 //DLCRESULT_TIMEOUT
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: DLC_CHECK_CLOUD_DATA_CORRECT() = FALSE & GET_EXTRACONTENT_CLOUD_RESULT = 2 (DLCRESULT_TIMEOUT) \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_COMPAT_CLOUD_FAILED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_DLC_COMPAT_PACK_CONFIGURATION)
|
|
BREAK
|
|
|
|
|
|
|
|
ENDSWITCH
|
|
|
|
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: DLC_CHECK_CLOUD_DATA_CORRECT() = TRUE \n")
|
|
// #ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
// IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
// IF GET_EVER_HAD_BAD_PACK_ORDER()
|
|
// HUD_CHANGE_STATE(HUD_STATE_BAD_PACK_ORDER)
|
|
// TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
//
|
|
// SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_BAD_PACK_ORDER)
|
|
// ENDIF
|
|
// ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
|
|
IF NETWORK_IS_TUNABLE_CLOUD_REQUEST_PENDING() = FALSE
|
|
AND NETWORK_IS_CLOUD_BACKGROUND_SCRIPT_REQUEST_PENDING() = FALSE
|
|
|
|
IF nAccessCode = ACCESS_DENIED_NO_TUNABLES
|
|
OR nAccessCode = ACCESS_DENIED_NO_BACKGROUND_SCRIPT
|
|
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF nAccessCode = ACCESS_DENIED_NO_TUNABLES
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: ACCESS_DENIED_NO_TUNABLES() = TRUE \n")
|
|
ENDIF
|
|
IF nAccessCode = ACCESS_DENIED_NO_BACKGROUND_SCRIPT
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: ACCESS_DENIED_NO_BACKGROUND_SCRIPT() = TRUE \n")
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
HUD_CHANGE_STATE(HUD_STATE_SERVER_FILES_MISSING)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_SERVER_FILES_MISSING)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
BOOL HasFailed
|
|
IF CHECK_HAS_CLOUD_REQUESTS_FINISHED(HasFailed)
|
|
IF HasFailed = TRUE
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: CHECK_HAS_CLOUD_REQUESTS_FINISHED() = TRUE & HasFailed = TRUE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_COMPAT_DOWLOAD_TIME_OUT)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_DLC_COMPAT_PACK_DOWLOAD_TIME_OUT)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
IF DLC_CHECK_COMPAT_PACK_CONFIGURATION() = FALSE
|
|
#IF IS_DEBUG_BUILD
|
|
OR GET_COMMANDLINE_PARAM_EXISTS("sc_Compatfailed_MainTransition")
|
|
OR g_b_MakeCompatPackCheckFail_Maintransition
|
|
#ENDIF
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: DLC_CHECK_COMPAT_PACK_CONFIGURATION() = FALSE \n")
|
|
|
|
HUD_CHANGE_STATE(HUD_STATE_COMPAT_FAILED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_DLC_COMPAT_PACK_CLOUD_FAIL)
|
|
// #IF IS_DEBUG_BUILD
|
|
// ELSE
|
|
// NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: DLC_CHECK_COMPAT_PACK_CONFIGURATION() = TRUE \n")
|
|
// #ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
// IF GET_COMMANDLINE_PARAM_EXISTS("StraightIntoFreemode")
|
|
// SCRIPT_ASSERT("Please remove the arg -StraightIntoFreemode as it will cause random game behaviour. ")
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
BOOL bRunContrainedBoot = FALSE
|
|
#IF IS_DEBUG_BUILD
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_NoBailOnConstrain")
|
|
bRunContrainedBoot = FALSE
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF bRunContrainedBoot
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
IF NOT HAS_KICKED_CONSTRAINED_TRANSITION()
|
|
AND NOT HAS_KICKED_IDLING_TRANSITION()
|
|
IF PLM_IS_IN_CONSTRAINED_MODE()
|
|
|
|
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: PLM_IS_IN_CONSTRAINED_MODE() = TRUE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_CONSTRAINED)
|
|
SET_HAS_KICKED_CONSTRAINED_TRANSITION(TRUE)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_TERMINATE_SESSION)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_CONSTRAINED)
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
//Commented out for bug 1023108 as you can get a bail if invited (Cheater invited into a non cheater session)
|
|
// IF DID_A_BAIL_HAPPEN() AND GET_CONFIRM_INVITE_INTO_GAME_STATE() = TRUE
|
|
// NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT - CANCELLING AN INVITED BAIL ")
|
|
// SET_BAIL_STILL_VALID(FALSE)
|
|
// TELL_TRANSITION_BAIL_HAPPENED(FALSE)
|
|
// ENDIF
|
|
|
|
IF DID_A_BAIL_HAPPEN()
|
|
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
|
|
IF NOT NETWORK_IS_SIGNED_IN()
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: NETWORK_IS_SIGNED_IN() = FALSE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_NOT_ONLINE)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_NOT_CONNECTED)
|
|
|
|
|
|
ELSE
|
|
//Generic Bail
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
DO_BAIL_CLEANUP()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: GENERIC BAIL HAPPENED \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_BAIL)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_BAILED)
|
|
ENDIF
|
|
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
IF DID_TRANSITION_SESSIONS_JIP_FAIL()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: DID_A_BAIL_HAPPEN **DID_TRANSITION_SESSIONS_JIP_FAIL()** ")
|
|
ENDIF
|
|
|
|
SET_QUICKLAUNCH_STATE(QUICKLAUNCH_EMPTY)
|
|
#ENDIF
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT - RETURN TRUE 5 ")
|
|
RETURN TRUE
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
|
|
IF HAVE_ANY_TRANSITION_BAILS_HAPPENED() = FALSE
|
|
|
|
|
|
IF IS_BAILED_HAPPENED_SOMEHOW()
|
|
DO_BAIL_CLEANUP()
|
|
HUD_CHANGE_STATE(HUD_STATE_GENERAL_ERROR)
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
|
|
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_GENERAL_ERROR)
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: GENERIC END SESSION HAPPENED SOMEHOW IS_BAILED_HAPPENED_SOMEHOW = TRUE \n")
|
|
#IF IS_DEBUG_BUILD
|
|
SET_QUICKLAUNCH_STATE(QUICKLAUNCH_EMPTY)
|
|
#ENDIF
|
|
SET_BAILED_HAPPENED_SOMEHOW(FALSE)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ELSE
|
|
#IF IS_DEBUG_BUILD
|
|
IF GET_FRAME_COUNT() % 100 = 0
|
|
IF (ARE_ONLINE_POLICIES_UP_TO_DATE() OR SCRIPT_IS_CLOUD_AVAILABLE() = FALSE) = FALSE
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: ARE_ONLINE_POLICIES_UP_TO_DATE = FALSE don't do bail checks.")
|
|
ENDIF
|
|
IF IS_ONLINE_POLICIES_MENU_ACTIVE()
|
|
NET_NL()NET_PRINT("IS_PROCESSING_A_BAIL_EVENT: IS_ONLINE_POLICIES_MENU_ACTIVE = TRUE don't do bail checks.")
|
|
ENDIF
|
|
ENDIF
|
|
#ENDIF
|
|
IF IS_ONLINE_POLICIES_MENU_ACTIVE()
|
|
OR ARE_ONLINE_POLICIES_UP_TO_DATE() = FALSE
|
|
MpHud_Details.bWasCloudAvailableAtTransitionStartForScreenListener = SCRIPT_IS_CLOUD_AVAILABLE()
|
|
ENDIF
|
|
|
|
ENDIF
|
|
RETURN FALSE
|
|
|
|
ENDFUNC
|
|
|
|
FUNC BOOL SHOULD_REPOSITION_PLAYER()
|
|
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
IF NOT (IS_PLAYER_READY_FOR_CUTSCENE(PLAYER_ID()))
|
|
NET_NL()NET_PRINT("SHOULD_REPOSITION_PLAYER - IS_PLAYER_READY_FOR_CUTSCENE(PLAYER_ID()) = FALSE ")
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
IF NOT (CAN_PLAYER_START_MISSION(PLAYER_ID()))
|
|
NET_NL()NET_PRINT("SHOULD_REPOSITION_PLAYER - CAN_PLAYER_START_MISSION(PLAYER_ID()) = FALSE ")
|
|
|
|
RETURN TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
|
|
|
|
PROC RUN_CLOUD_STATUS_CHANGE(MPHUD_PLACEMENT_TOOLS& Placement)
|
|
|
|
|
|
IF Placement.bWasCloudAvailableAtTransitionStartForScreenListener = FALSE
|
|
|
|
IF SCRIPT_IS_CLOUD_AVAILABLE()
|
|
WARNING_SCREEN_RETURN aResult = RUN_WARNINGSCREEN_TRANSITION_CLOUD_UP()
|
|
|
|
IF GET_CURRENT_HUD_STATE() != HUD_STATE_LOADING
|
|
NET_NL()NET_PRINT("RUN_CLOUD_STATUS_CHANGE:RUN_WARNINGSCREEN_TRANSITION_CLOUD_UP - Move to a blank background. ")
|
|
HUD_CHANGE_STATE(HUD_STATE_LOADING)
|
|
MpHud_Details.bShouldDisplayCloudChangeScreen = TRUE
|
|
ENDIF
|
|
|
|
IF aResult = WARNING_SCREEN_RETURN_ACCEPT
|
|
//Retry
|
|
SET_ENTERED_REDUCED_PERMISSIONS_DISPLAYED(FALSE)
|
|
SET_ENTERED_GAME_WITH_REDUCED_CONTENT_DUE_TO_CLOUD(FALSE)
|
|
NET_NL()NET_PRINT("RUN_CLOUD_STATUS_CHANGE:RUN_WARNINGSCREEN_TRANSITION_CLOUD_UP - WARNING_SCREEN_RETURN_ACCEPT ")
|
|
Placement.bWasCloudAvailableAtTransitionStartForScreenListener = TRUE
|
|
RUN_RETRY(Placement)
|
|
MpHud_Details.bShouldDisplayCloudChangeScreen = FALSE
|
|
ELIF aResult = WARNING_SCREEN_RETURN_CANCEL
|
|
NET_NL()NET_PRINT("RUN_CLOUD_STATUS_CHANGE:RUN_WARNINGSCREEN_TRANSITION_CLOUD_UP - WARNING_SCREEN_RETURN_CANCEL ")
|
|
//Carry on with no Saving.
|
|
// Placement.bWasCloudAvailableAtTransitionStartForScreenListener = TRUE
|
|
|
|
MpHud_Details.bShouldDisplayCloudChangeScreen = FALSE
|
|
REQUEST_TRANSITION(TRANSITION_STATE_RETURN_TO_SINGLEPLAYER, GAMEMODE_SP, HUD_STATE_LOADING)
|
|
|
|
ENDIF
|
|
ELSE
|
|
IF MpHud_Details.bShouldDisplayCloudChangeScreen = TRUE
|
|
//Reset everything as we're on the loading screen with nothing just now. bug 2008465
|
|
//Retry
|
|
SET_ENTERED_REDUCED_PERMISSIONS_DISPLAYED(FALSE)
|
|
SET_ENTERED_GAME_WITH_REDUCED_CONTENT_DUE_TO_CLOUD(FALSE)
|
|
NET_NL()NET_PRINT("RUN_CLOUD_STATUS_CHANGE:RUN_WARNINGSCREEN_TRANSITION_CLOUD_UP - SCRIPT_IS_CLOUD_AVAILABLE = FALSE again ")
|
|
Placement.bWasCloudAvailableAtTransitionStartForScreenListener = TRUE
|
|
RUN_RETRY(Placement)
|
|
MpHud_Details.bShouldDisplayCloudChangeScreen = FALSE
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ELSE
|
|
|
|
IF SCRIPT_IS_CLOUD_AVAILABLE() = FALSE
|
|
IF HAS_ENTERED_GAME_WITH_REDUCED_CONTENT_DUE_TO_CLOUD() = FALSE
|
|
WARNING_SCREEN_RETURN aResult = RUN_WARNINGSCREEN_TRANSITION_CLOUD_DOWN()
|
|
IF aResult = WARNING_SCREEN_RETURN_ACCEPT
|
|
NET_NL()NET_PRINT("RUN_CLOUD_STATUS_CHANGE:RUN_WARNINGSCREEN_TRANSITION_CLOUD_DOWN - WARNING_SCREEN_RETURN_ACCEPT ")
|
|
//Return to SP
|
|
Placement.bWasCloudAvailableAtTransitionStartForScreenListener = FALSE
|
|
CANCEL_MP_JOIN(TRUE)
|
|
RESET_PAUSE_MENU_WARP_REQUESTS()
|
|
UNLOAD_PEDHEADSHOT(Placement.ScaleformAlertScreenStruct.HeadshotPic)
|
|
UGC_CLEAR_QUERY_RESULTS_BY_OFFLINE_STATUS()
|
|
// IF GET_CONFIRM_INVITE_INTO_GAME_STATE()
|
|
// HUD_CHANGE_STATE(HUD_STATE_IGNORE_INVITE)
|
|
// TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
// ELSE
|
|
REQUEST_TRANSITION(TRANSITION_STATE_RETURN_TO_SINGLEPLAYER, GET_CURRENT_GAMEMODE(), HUD_STATE_LOADING)
|
|
// ENDIF
|
|
|
|
ENDIF
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
PROC MAINTAIN_SETUP_PS4_LIVE_STREAM()
|
|
//If this is the orbis version the get the content ID that we chould be loading
|
|
IF IS_PLAYSTATION_PLATFORM()
|
|
//If we've not done initial set up
|
|
IF NOT HAVE_DONE_INITIAL_PS4_LIVE_STREAM_SETUP()
|
|
AND (IS_PLAYER_HIGH_ENOUGH_RANK_AND_HAVE_STATS_LOADED(FALSE) OR PASSED_SC_PLAYLIST_RANK_CHECK())
|
|
//If we're not launchin an event as that will supersead this.
|
|
IF NOT IS_ANY_EVENT_PLAYLIST_LAUNCHING()
|
|
//And we're not already launching one
|
|
AND NOT IS_PS4_LIVE_STREAM_LAUNCH_ACTIVE()
|
|
SETUP_PS4_LIVE_STREAM()
|
|
ELSE
|
|
PRINTLN("[TS][LSPS4] - IS_ANY_EVENT_PLAYLIST_LAUNCHING = TRUE - not launching the content ID - ", GET_CONTENT_TO_LOAD())
|
|
//Clear it
|
|
CLEAR_SERVICE_EVENT_ARGUMENTS()
|
|
PRINTLN("[TS][LSPS4] - IS_ANY_EVENT_PLAYLIST_LAUNCHING - calling CLEAR_SERVICE_EVENT_ARGUMENTS")
|
|
ENDIF
|
|
SET_HAVE_DONE_INITIAL_PS4_LIVE_STREAM_SETUP()
|
|
ENDIF
|
|
// #IF IS_DEBUG_BUILD
|
|
// ELSE
|
|
// PRINTLN("[LSPS4] - IS_ORBIS_VERSION = FALSE")
|
|
// #ENDIF
|
|
ENDIF
|
|
ENDPROC
|
|
|
|
|
|
|
|
|
|
PROC MarkAllNearbyVehiclesAsSinglePlayer()
|
|
|
|
IF NETWORK_IS_GAME_IN_PROGRESS()
|
|
CPRINTLN(DEBUG_CLEANUP_SP, "MarkAllNearbyVehiclesAsSinglePlayer - network game in progress")
|
|
ELSE
|
|
|
|
|
|
CPRINTLN(DEBUG_CLEANUP_SP, "MarkAllNearbyVehiclesAsSinglePlayer called...")
|
|
|
|
INT iNumVehicles
|
|
INT i
|
|
INT iDecor
|
|
|
|
iNumVehicles = GET_ALL_VEHICLES(g_PoolVehicles)
|
|
|
|
CPRINTLN(DEBUG_CLEANUP_SP, "MarkAllNearbyVehiclesAsSinglePlayer, iNumVehicles = ", iNumVehicles)
|
|
REPEAT iNumVehicles i
|
|
IF DOES_ENTITY_EXIST(g_PoolVehicles[i])
|
|
|
|
IF NOT (GET_ENTITY_POPULATION_TYPE(g_PoolVehicles[i]) = PT_RANDOM_PERMANENT) // so we don't delete trains etc. see 1984133
|
|
|
|
IF NOT IS_ENTITY_A_MISSION_ENTITY(g_PoolVehicles[i])
|
|
OR NOT DOES_ENTITY_BELONG_TO_THIS_SCRIPT(g_PoolVehicles[i], FALSE)
|
|
SET_ENTITY_AS_MISSION_ENTITY(g_PoolVehicles[i], TRUE, TRUE)
|
|
ENDIF
|
|
|
|
IF DECOR_IS_REGISTERED_AS_TYPE("MPBitset", DECOR_TYPE_INT)
|
|
iDecor = 0
|
|
IF DECOR_EXIST_ON(g_PoolVehicles[i], "MPBitset")
|
|
iDecor = DECOR_GET_INT(g_PoolVehicles[i], "MPBitset")
|
|
ENDIF
|
|
IF NOT IS_BIT_SET(iDecor, MP_DECORATOR_BS_SINGLE_PLAYER_VEHICLE)
|
|
SET_BIT(iDecor, MP_DECORATOR_BS_SINGLE_PLAYER_VEHICLE)
|
|
DECOR_SET_INT(g_PoolVehicles[i], "MPBitset", iDecor)
|
|
#IF IS_DEBUG_BUILD
|
|
CPRINTLN(DEBUG_CLEANUP_SP, "MarkAllNearbyVehiclesAsSinglePlayer, marking single player vehicle")
|
|
VECTOR vCoords
|
|
MODEL_NAMES ModelName
|
|
vCoords = GET_ENTITY_COORDS(g_PoolVehicles[i], FALSE)
|
|
ModelName = GET_ENTITY_MODEL(g_PoolVehicles[i])
|
|
CPRINTLN(DEBUG_CLEANUP_SP, "MarkAllNearbyVehiclesAsSinglePlayer, vehicle[", i, "] at coords ", vCoords, " model enum ", ENUM_TO_INT(ModelName))
|
|
#ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
|
|
// was originally added for url:bugstar:4429676 but it is causing issues so commenting out. see url:bugstar:5605379
|
|
// #IF IS_DEBUG_BUILD
|
|
// CPRINTLN(DEBUG_CLEANUP_SP, "MarkAllNearbyVehiclesAsSinglePlayer, setting as no longer needed.")
|
|
// #ENDIF
|
|
// SET_VEHICLE_AS_NO_LONGER_NEEDED(g_PoolVehicles[i])
|
|
|
|
ENDIF
|
|
ENDIF
|
|
ENDREPEAT
|
|
|
|
ENDIF
|
|
|
|
ENDPROC
|
|
|
|
|
|
SCRIPT
|
|
|
|
NET_NL()NET_PRINT("\n\n >>>>> Starting MainTransition, hiya >>>> \n\n")
|
|
|
|
#IF USE_FINAL_PRINTS
|
|
PRINTLN_FINAL("\n\n >>>>> Starting MainTransition, hiya >>>> \n\n")
|
|
#ENDIF
|
|
|
|
NETWORK_SET_SCRIPT_IS_SAFE_FOR_NETWORK_GAME()
|
|
|
|
INIT_STATS()
|
|
|
|
IF GET_CURRENT_GAMEMODE() != GAMEMODE_CREATOR
|
|
g_B_DisplayOnlineSplash = FALSE
|
|
ENDIF
|
|
|
|
SET_BIGMAP_ACTIVE(FALSE)
|
|
|
|
RUN_TRANSITION_SFX_MENU_SCENE(TRUE)
|
|
|
|
MarkAllNearbyVehiclesAsSinglePlayer()
|
|
|
|
IF IS_EMERGENCY_SKYCAM_UP_RUNNING() = FALSE
|
|
AND IS_SP_SELECTOR_SKYCAM_UP() = FALSE
|
|
AND IS_PAUSE_MENU_REQUESTING_TRANSITION() = FALSE
|
|
SET_SKYFREEZE_FROZEN()
|
|
ENDIF
|
|
|
|
IF g_sMPTUNABLES.bDisableSaveTransfers = TRUE
|
|
SET_HAS_ENTERED_GTAO_THIS_BOOT(TRUE)
|
|
ELSE
|
|
IF ARE_SAVES_AVAILABLE_TO_TRANSFER(MpHud_Details) = FALSE
|
|
SET_HAS_ENTERED_GTAO_THIS_BOOT(TRUE)
|
|
ELSE
|
|
NET_NL()NET_PRINT("BC: ARE_SAVES_AVAILABLE_TO_TRANSFER = TRUE so skip stats loading. ")
|
|
ENDIF
|
|
ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
//Set that we should use Rockstar Candidate missions
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_UseRockstarCandidateMissions")
|
|
SET_SHOULD_USE_ROCKSTAR_CANDIDATE_MISSIONS(FALSE)
|
|
ELSE
|
|
CLEAR_SHOULD_USE_ROCKSTAR_CANDIDATE_MISSIONS(FALSE)
|
|
ENDIF
|
|
//Set that we should use off line content
|
|
IF GET_COMMANDLINE_PARAM_EXISTS("sc_UseOfflineUGC")
|
|
SET_SHOULD_USE_OFFLINE_UGC_CONTENT()
|
|
//ELSE
|
|
//CLEAR_SHOULD_USE_OFFLINE_UGC_CONTENT()
|
|
ENDIF
|
|
|
|
CREATE_CHARACTER_CREATOR_WIDGETS(MpHud_GTAOnlineCharacterData)
|
|
|
|
#ENDIF
|
|
|
|
INT I
|
|
#IF IS_DEBUG_BUILD
|
|
NET_NL()NET_PRINT(" <<< LOBBY_AUTO_MULTIPLAYER_FREEMODE = ")NET_PRINT_BOOL(LOBBY_AUTO_MULTIPLAYER_FREEMODE())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< GET_IS_LAUNCH_FROM_LIVE_AREA = ")NET_PRINT_BOOL(GET_IS_LAUNCH_FROM_LIVE_AREA())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT = ")NET_PRINT_BOOL(GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_IS_CLOUD_AVAILABLE = ")NET_PRINT_BOOL(NETWORK_IS_CLOUD_AVAILABLE())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_EVERYONE) = ")NET_PRINT_BOOL(NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_EVERYONE))NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_FRIENDS) = ")NET_PRINT_BOOL(NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_FRIENDS))NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_IS_SIGNED_ONLINE() = ")NET_PRINT_BOOL(NETWORK_IS_SIGNED_ONLINE())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_IS_SIGNED_IN() = ")NET_PRINT_BOOL(NETWORK_IS_SIGNED_IN())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_IS_MULTIPLAYER_DISABLED() = ")NET_PRINT_BOOL(NETWORK_IS_MULTIPLAYER_DISABLED())NET_PRINT(" >>>")
|
|
|
|
IF NETWORK_IS_SIGNED_ONLINE()
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_ONLINE_PRIVILEGES = ")NET_PRINT_BOOL(NETWORK_HAVE_ONLINE_PRIVILEGES())NET_PRINT(" >>>")
|
|
ENDIF
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_EVERYONE) = ")NET_PRINT_BOOL(NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_EVERYONE))NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_FRIENDS) = ")NET_PRINT_BOOL(NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_FRIENDS))NET_PRINT(" >>>")
|
|
FOR I = 0 TO MAX_NUM_CHARACTER_SLOTS-1
|
|
NET_NL()NET_PRINT(" <<< HAS_SLOT_BEEN_IGNORED_SCRIPT(")NET_PRINT_INT(I)NET_PRINT(") = ")NET_PRINT_BOOL(HAS_SLOT_BEEN_IGNORED_SCRIPT(I))NET_PRINT(" >>>")
|
|
ENDFOR
|
|
NET_NL()NET_PRINT(" <<< IS_ACCOUNT_OVER_17() = ")NET_PRINT_BOOL(IS_ACCOUNT_OVER_17())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< IS_ACCOUNT_OVER_17_FOR_UGC() = ")NET_PRINT_BOOL(IS_ACCOUNT_OVER_17_FOR_UGC())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< IS_ACCOUNT_OVER_17_FOR_CHAT(PLAYER_ID()) = ")NET_PRINT_BOOL(IS_ACCOUNT_OVER_17_FOR_CHAT(PLAYER_ID()))NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< ALLOWED_TO_GET_FRIEND_CONTENT() = ")NET_PRINT_BOOL(ALLOWED_TO_GET_FRIEND_CONTENT())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< ALLOWED_TO_GET_FRIEND_CONTENT(TRUE) = ")NET_PRINT_BOOL(ALLOWED_TO_GET_FRIEND_CONTENT(TRUE))NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< ALLOWED_TO_GET_ROCKSTAR_CONTENT() = ")NET_PRINT_BOOL(ALLOWED_TO_GET_ROCKSTAR_CONTENT())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< ALLOWED_TO_GET_PERSONAL_CONTENT() = ")NET_PRINT_BOOL(ALLOWED_TO_GET_PERSONAL_CONTENT())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< ALLOWED_TO_GET_DISC_CONTENT() = ")NET_PRINT_BOOL(ALLOWED_TO_GET_DISC_CONTENT())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< IS_PLAYER_KICKED_TO_GO_OFFLINE() = ")NET_PRINT_BOOL(IS_PLAYER_KICKED_TO_GO_OFFLINE())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< SCRIPT_IS_CLOUD_AVAILABLE() = ")NET_PRINT_BOOL(SCRIPT_IS_CLOUD_AVAILABLE())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< IS_SAVING_HAVING_TROUBLE() = ")NET_PRINT_BOOL(IS_SAVING_HAVING_TROUBLE())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< HAS_IMPORTANT_STATS_LOADED() = ")NET_PRINT_BOOL(HAS_IMPORTANT_STATS_LOADED())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< IS_ROCKSTAR_DEV() = ")NET_PRINT_BOOL(IS_ROCKSTAR_DEV())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< GET_EVER_HAD_BAD_PACK_ORDER() = ")NET_PRINT_BOOL(GET_EVER_HAD_BAD_PACK_ORDER())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< ARE_SAVES_AVAILABLE_TO_TRANSFER() = ")NET_PRINT_BOOL(ARE_SAVES_AVAILABLE_TO_TRANSFER(MpHud_Details))NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_PLATFORM_SUBSCRIPTION() = ")NET_PRINT_BOOL(NETWORK_HAVE_PLATFORM_SUBSCRIPTION())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAS_AGE_RESTRICTIONS() = ")NET_PRINT_BOOL(NETWORK_HAS_AGE_RESTRICTIONS())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_IS_CABLE_CONNECTED() = ")NET_PRINT_BOOL(NETWORK_IS_CABLE_CONNECTED())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< PRIVALEGES_OKAY_FOR_MP() = ")NET_PRINT_BOOL(PRIVALEGES_OKAY_FOR_MP())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< HAS_ONLINE_PRIVILAGES() = ")NET_PRINT_BOOL(HAS_ONLINE_PRIVILAGES())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< IS_LIVETILE_LAUNCHING() = ")NET_PRINT_BOOL(IS_LIVETILE_LAUNCHING())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< ARE_SAVES_AND_HEIST_PROGRESS_IN_TROUBLE() = ")NET_PRINT_BOOL(ARE_SAVES_AND_HEIST_PROGRESS_IN_TROUBLE())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAS_VALID_ROS_CREDENTIALS() = ")NET_PRINT_BOOL(NETWORK_HAS_VALID_ROS_CREDENTIALS())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_IS_REFRESHING_ROS_CREDENTIALS() = ")NET_PRINT_BOOL(NETWORK_IS_REFRESHING_ROS_CREDENTIALS())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_ROS_BANNED_PRIV() = ")NET_PRINT_BOOL(NETWORK_HAVE_ROS_BANNED_PRIV())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_ROS_MULTIPLAYER_PRIV() = ")NET_PRINT_BOOL(NETWORK_HAVE_ROS_MULTIPLAYER_PRIV())NET_PRINT(" >>>")
|
|
NET_NL()NET_PRINT(" <<< NETWORK_HAVE_ROS_CREATE_TICKET_PRIV() = ")NET_PRINT_BOOL(NETWORK_HAVE_ROS_CREATE_TICKET_PRIV())NET_PRINT(" >>>")
|
|
//NET_NL()NET_PRINT(" <<< DOES_PLAYER_HAVE_XBOX_GOLD_MEMBERSHIP() = ")NET_PRINT_BOOL(DOES_PLAYER_HAVE_XBOX_GOLD_MEMBERSHIP(FALSE))NET_PRINT(" >>>")
|
|
|
|
#ENDIF
|
|
|
|
#IF USE_FINAL_PRINTS
|
|
PRINTLN_FINAL(" <<< LOBBY_AUTO_MULTIPLAYER_FREEMODE = ", LOBBY_AUTO_MULTIPLAYER_FREEMODE(), " >>>")
|
|
PRINTLN_FINAL(" <<< GET_IS_LAUNCH_FROM_LIVE_AREA = ", GET_IS_LAUNCH_FROM_LIVE_AREA(), " >>>")
|
|
PRINTLN_FINAL(" <<< GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT = ", GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT(), " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_IS_CLOUD_AVAILABLE = ", NETWORK_IS_CLOUD_AVAILABLE() , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_EVERYONE) = " , NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_EVERYONE) , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_FRIENDS) = " , NETWORK_HAVE_USER_CONTENT_PRIVILEGES(PC_FRIENDS) , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_IS_SIGNED_ONLINE() = " , NETWORK_IS_SIGNED_ONLINE() , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_IS_SIGNED_IN() = " , NETWORK_IS_SIGNED_IN() , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_IS_MULTIPLAYER_DISABLED() = " , NETWORK_IS_MULTIPLAYER_DISABLED() , " >>>")
|
|
|
|
IF NETWORK_IS_SIGNED_ONLINE()
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_ONLINE_PRIVILEGES = " , NETWORK_HAVE_ONLINE_PRIVILEGES() , " >>>")
|
|
ENDIF
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_EVERYONE) = " , NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_EVERYONE) , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_FRIENDS) = " , NETWORK_HAVE_COMMUNICATION_PRIVILEGES(PC_FRIENDS) , " >>>")
|
|
FOR I = 0 TO MAX_NUM_CHARACTER_SLOTS-1
|
|
PRINTLN_FINAL(" <<< HAS_SLOT_BEEN_IGNORED_SCRIPT(", I, ") = ", HAS_SLOT_BEEN_IGNORED_SCRIPT(I), " >>>")
|
|
ENDFOR
|
|
PRINTLN_FINAL(" <<< IS_ACCOUNT_OVER_17() = " , IS_ACCOUNT_OVER_17() , " >>>")
|
|
PRINTLN_FINAL(" <<< IS_ACCOUNT_OVER_17_FOR_UGC() = " , IS_ACCOUNT_OVER_17_FOR_UGC() , " >>>")
|
|
PRINTLN_FINAL(" <<< IS_ACCOUNT_OVER_17_FOR_CHAT(PLAYER_ID()) = " , IS_ACCOUNT_OVER_17_FOR_CHAT(PLAYER_ID()) , " >>>")
|
|
PRINTLN_FINAL(" <<< ALLOWED_TO_GET_FRIEND_CONTENT() = " , ALLOWED_TO_GET_FRIEND_CONTENT() , " >>>")
|
|
PRINTLN_FINAL(" <<< ALLOWED_TO_GET_FRIEND_CONTENT(TRUE) = " , ALLOWED_TO_GET_FRIEND_CONTENT(TRUE) , " >>>")
|
|
PRINTLN_FINAL(" <<< ALLOWED_TO_GET_ROCKSTAR_CONTENT() = " , ALLOWED_TO_GET_ROCKSTAR_CONTENT() , " >>>")
|
|
PRINTLN_FINAL(" <<< ALLOWED_TO_GET_PERSONAL_CONTENT() = " , ALLOWED_TO_GET_PERSONAL_CONTENT() , " >>>")
|
|
PRINTLN_FINAL(" <<< ALLOWED_TO_GET_DISC_CONTENT() = " , ALLOWED_TO_GET_DISC_CONTENT() , " >>>")
|
|
PRINTLN_FINAL(" <<< IS_PLAYER_KICKED_TO_GO_OFFLINE() = " , IS_PLAYER_KICKED_TO_GO_OFFLINE() , " >>>")
|
|
PRINTLN_FINAL(" <<< SCRIPT_IS_CLOUD_AVAILABLE() = " , SCRIPT_IS_CLOUD_AVAILABLE() , " >>>")
|
|
PRINTLN_FINAL(" <<< IS_SAVING_HAVING_TROUBLE() = " , IS_SAVING_HAVING_TROUBLE() , " >>>")
|
|
PRINTLN_FINAL(" <<< HAS_IMPORTANT_STATS_LOADED() = " , HAS_IMPORTANT_STATS_LOADED() , " >>>")
|
|
PRINTLN_FINAL(" <<< IS_ROCKSTAR_DEV() = " , IS_ROCKSTAR_DEV() , " >>>")
|
|
PRINTLN_FINAL(" <<< GET_EVER_HAD_BAD_PACK_ORDER() = " , GET_EVER_HAD_BAD_PACK_ORDER() , " >>>")
|
|
PRINTLN_FINAL(" <<< ARE_SAVES_AVAILABLE_TO_TRANSFER() = " , ARE_SAVES_AVAILABLE_TO_TRANSFER(MpHud_Details) , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_PLATFORM_SUBSCRIPTION() = " , NETWORK_HAVE_PLATFORM_SUBSCRIPTION() , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAS_AGE_RESTRICTIONS() = " , NETWORK_HAS_AGE_RESTRICTIONS() , " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_IS_CABLE_CONNECTED() = " , NETWORK_IS_CABLE_CONNECTED() , " >>>")
|
|
PRINTLN_FINAL(" <<< PRIVALEGES_OKAY_FOR_MP() = " , PRIVALEGES_OKAY_FOR_MP() , " >>>")
|
|
PRINTLN_FINAL(" <<< HAS_ONLINE_PRIVILAGES() = " , HAS_ONLINE_PRIVILAGES() , " >>>")
|
|
PRINTLN_FINAL(" <<< IS_LIVETILE_LAUNCHING() = " , IS_LIVETILE_LAUNCHING() , " >>>")
|
|
PRINTLN_FINAL(" <<< ARE_SAVES_AND_HEIST_PROGRESS_IN_TROUBLE() = ", ARE_SAVES_AND_HEIST_PROGRESS_IN_TROUBLE(), " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAS_VALID_ROS_CREDENTIALS() = ", NETWORK_HAS_VALID_ROS_CREDENTIALS(), " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_IS_REFRESHING_ROS_CREDENTIALS() = ", NETWORK_IS_REFRESHING_ROS_CREDENTIALS(), " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_ROS_BANNED_PRIV() = ", NETWORK_HAVE_ROS_BANNED_PRIV(), " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_ROS_MULTIPLAYER_PRIV() = ", NETWORK_HAVE_ROS_MULTIPLAYER_PRIV(), " >>>")
|
|
PRINTLN_FINAL(" <<< NETWORK_HAVE_ROS_CREATE_TICKET_PRIV() = ", NETWORK_HAVE_ROS_CREATE_TICKET_PRIV(), " >>>")
|
|
//PRINTLN_FINAL(" <<< DOES_PLAYER_HAVE_XBOX_GOLD_MEMBERSHIP() = ", DOES_PLAYER_HAVE_XBOX_GOLD_MEMBERSHIP(FALSE)," >>>")
|
|
|
|
#ENDIF
|
|
|
|
|
|
|
|
|
|
MpHud_Details.bWasCloudAvailableAtTransitionStartForScreenListener = SCRIPT_IS_CLOUD_AVAILABLE()
|
|
|
|
|
|
SET_PLAYER_HAVE_PRIVILEGES(HAS_ONLINE_PRIVILAGES())
|
|
|
|
INITIALISE_PLAYERS_SELECTED_CHARACTER_TEAM()
|
|
INITIALISE_JOINING_CHARACTER()
|
|
DISABLE_ALL_MP_HUD()
|
|
|
|
SET_THIS_SCRIPT_CAN_BE_PAUSED(FALSE)
|
|
|
|
|
|
|
|
IF IS_PLAYER_A_SP_CHARACTER() = FALSE
|
|
AND GET_IS_PLAYER_IN_ANIMAL_FORM() = FALSE
|
|
AND GET_NUMBER_OF_THREADS_RUNNING_THE_SCRIPT_WITH_THIS_HASH(HASH("main")) = 0
|
|
SET_TRANSITION_STARTED_IN_MP(TRUE)
|
|
ELSE
|
|
SET_TRANSITION_STARTED_IN_MP(FALSE)
|
|
ENDIF
|
|
|
|
|
|
|
|
SET_QUIT_CURRENT_GAME(FALSE)
|
|
|
|
IF IS_TRANSITION_STARTED_IN_MP() = FALSE
|
|
//NET_SET_PLAYER_CONTROL(PLAYER_ID(), FALSE, NSPC_FREEZE_POSITION, TRUE)
|
|
SET_PLAYER_CONTROL(PLAYER_ID(), FALSE)
|
|
FREEZE_ENTITY_POSITION(PLAYER_PED_ID(), TRUE)
|
|
ELSE
|
|
IF IS_NET_PLAYER_OK(PLAYER_ID())
|
|
|
|
IF PLAYER_IS_THE_DRIVER_IN_A_CAR()
|
|
|
|
VEHICLE_INDEX PlayerVehicle
|
|
PlayerVehicle = GET_VEHICLE_PED_IS_IN(PLAYER_PED_ID())
|
|
IF NETWORK_HAS_CONTROL_OF_ENTITY(PlayerVehicle)
|
|
SET_VEHICLE_STOP_INSTANTLY_WHEN_PLAYER_INACTIVE(PlayerVehicle, FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
SET_PLAYER_CONTROL(PLAYER_ID(), FALSE, SPC_ALLOW_PLAYER_DAMAGE)
|
|
SET_EVERYONE_IGNORE_PLAYER(PLAYER_ID(), FALSE)
|
|
ENDIF
|
|
ENDIF
|
|
|
|
|
|
MpHud_Details.SaveSpinnerPos = GET_HUD_COMPONENT_POSITION(NEW_HUD_SAVING_GAME)
|
|
|
|
NET_NL()NET_PRINT("MpHud_Details.SaveSpinnerPos.x = ")NET_PRINT_FLOAT(MpHud_Details.SaveSpinnerPos.x)
|
|
NET_NL()NET_PRINT("MpHud_Details.SaveSpinnerPos.y = ")NET_PRINT_FLOAT(MpHud_Details.SaveSpinnerPos.y)
|
|
|
|
|
|
|
|
//Setting this to false as it's not only user input that can bring the hud back up after quitting it.
|
|
TRIGGER_TRANSITION_MENU_ACTIVE(FALSE)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_EMPTY)
|
|
|
|
DISPLAYING_SCRIPT_HUD(HUDPART_TRANSITIONHUD, TRUE)
|
|
|
|
SET_DPADDOWN_ACTIVATION_STATE(DPADDOWN_NONE)
|
|
DPADDOWN_ONE_TIME_ACTIVE(FALSE)
|
|
HIDE_CELLPHONE_SIGNIFIERS_FOR_CUTSCENE (TRUE)
|
|
g_PlayerBlipsData.bBigMapIsActive = TRUE
|
|
|
|
FOR I = 0 TO MAX_NUM_CHARACTER_SLOTS-1
|
|
g_DressedPed_CrewTshirt[I] = FALSE
|
|
ENDFOR
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
RUN_QUICKLAUNCH()
|
|
#ENDIF
|
|
|
|
CLEANUP_LEADERBOARD_CAM(TRUE, TRUE, TRUE, FALSE, FALSE)
|
|
SET_CORONA_TO_CLEANUP(TRUE)
|
|
|
|
IF NOT IS_TRANSITION_BLOCKING_MUSIC_STOP()
|
|
NET_NL()NET_PRINT("Maintransition : Trigger : GTA_ONLINE_STOP_SCORE")
|
|
TRIGGER_MUSIC_EVENT("GTA_ONLINE_STOP_SCORE")
|
|
ELSE
|
|
NET_NL()NET_PRINT("Maintransition : Blocked : GTA_ONLINE_STOP_SCORE")
|
|
ENDIF
|
|
|
|
SET_TUTORIAL_SKIP_IN_RACE()
|
|
|
|
RESET_MENU_MEMORY()
|
|
|
|
DISPLAY_RADAR(TRUE)
|
|
DISPLAY_HUD(TRUE)
|
|
|
|
DISABLE_CONTROL_ACTION(PLAYER_CONTROL, INPUT_ATTACK)
|
|
DISABLE_CONTROL_ACTION(PLAYER_CONTROL, INPUT_ATTACK2)
|
|
DISABLE_CONTROL_ACTION(FRONTEND_CONTROL, INPUT_FRONTEND_PAUSE)
|
|
CLEAR_TIMECYCLE_MODIFIER()
|
|
|
|
NET_NL()NET_PRINT("Tunables: Maintrasition called NETWORK_REQUEST_CLOUD_TUNABLES() ")
|
|
NETWORK_REQUEST_CLOUD_TUNABLES()
|
|
|
|
RANKUP_REMOVE()
|
|
|
|
RESET_ALL_CHAR_PED_CREATION()
|
|
|
|
MpHud_Details.SelectedGamemode = -1
|
|
|
|
NETWORK_SET_VOICE_ACTIVE(FALSE)
|
|
|
|
NET_NL()NET_PRINT("Maintransition START : ACTIVATE_FRONTEND_MENU(FE_MENU_VERSION_EMPTY_NO_BACKGROUND)")
|
|
|
|
IF DID_A_BAIL_HAPPEN() = FALSE
|
|
AND IS_TRANSITION_TELLING_CREATOR_TO_CLEANUP() = FALSE
|
|
SET_FRONTEND_ACTIVE(FALSE)
|
|
ENDIF
|
|
|
|
|
|
// KGM 15/2/13: Changed to refresh the 'Freemode' tunables context to ensure the correct default values are set - this will need to change to an appropriate CnC context when it is back
|
|
// Refresh_MP_Script_Tunables(TUNE_CONTEXT_FM)
|
|
|
|
FORCE_SCRIPTED_GFX_WHEN_FRONTEND_ACTIVE(TRUE)
|
|
SET_SCRIPT_GFX_DRAW_BEHIND_PAUSEMENU(TRUE)
|
|
|
|
|
|
IF IS_AUDIO_SCENE_ACTIVE("MP_GLOBAL_SCENE")
|
|
STOP_AUDIO_SCENE("MP_GLOBAL_SCENE")
|
|
ENDIF
|
|
|
|
// IF IS_PAUSE_MENU_REQUESTING_TRANSITION() //Valid. Just commented out with the blur being removed.
|
|
// OR IS_SOMETHING_QUITTING_MP()
|
|
// #IF IS_DEBUG_BUILD
|
|
// NET_NL()NET_PRINT("TOGGLE_RENDERPHASES FALSE has been called from MainTransition because ")
|
|
// IF IS_PAUSE_MENU_REQUESTING_TRANSITION()
|
|
// NET_PRINT("IS_PAUSE_MENU_REQUESTING_TRANSITION = TRUE ")
|
|
// ENDIF
|
|
// IF IS_SOMETHING_QUITTING_MP()
|
|
// NET_PRINT("IS_SOMETHING_QUITTING_MP = TRUE ")
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
// TOGGLE_RENDERPHASES(FALSE)
|
|
// ENDIF
|
|
|
|
SET_TUTORIAL_CUTSCENE_IS_GOING_TO_RUN(FALSE)
|
|
|
|
CLEAR_HELP()
|
|
|
|
SET_CHARACTER_NEW_FOR_UNLOCKS(FALSE)
|
|
|
|
STOP_CUTSCENE_IMMEDIATELY()
|
|
STOP_GAMEPLAY_HINT()
|
|
NETWORK_SET_MOCAP_CUTSCENE_CAN_BE_SKIPPED(TRUE)
|
|
|
|
g_b_NextRPAdditionShowRankBar = FALSE
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF NETWORK_IS_SIGNED_ONLINE()
|
|
NET_NL()NET_PRINT("STARTING MainTransition with ")
|
|
|
|
NET_NL()NET_PRINT(" - NETWORK_HAVE_ONLINE_PRIVILEGES ")NET_PRINT_BOOL(NETWORK_HAVE_ONLINE_PRIVILEGES())
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
IF NETWORK_IS_IN_MP_CUTSCENE() // Wrapped in check to prevent John gurney's assert that fires if NETWORK_SET_IN_MP_CUTSCENE with the same value for it's agrument more than once.
|
|
PRINTLN("[TS] [MSRAND] - NETWORK_SET_IN_MP_CUTSCENE(FALSE)")
|
|
NETWORK_SET_IN_MP_CUTSCENE(FALSE)
|
|
ENDIF
|
|
|
|
SET_AUTOJOIN_CAMERA_IN_SKY(FALSE)
|
|
|
|
|
|
SET_RADIO_TO_STATION_NAME("OFF")
|
|
|
|
SET_SAVE_TRANSFER_ALREADY_DONE_360(FALSE)
|
|
SET_SAVE_TRANSFER_ALREADY_DONE_PS3(FALSE)
|
|
|
|
SET_WIDESCREEN_BORDERS(FALSE, 0)
|
|
|
|
IF IS_FREEMODE_PROLOGUE_PROFILE_SETTINGS_PASSED(PSFP_PLAYER_SAVE_TRANSFERS_STATS_UPDATED, 0)
|
|
SET_EVENTS_SAVE_TRANSFER_HAS_HAPPENED(TRUE)
|
|
ENDIF
|
|
|
|
// #IF IS_DEBUG_BUILD
|
|
//
|
|
//
|
|
// IF GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_NET_TEST
|
|
// OR LOBBY_AUTO_MULTIPLAYER_FREEMODE() //Straight into FM
|
|
// OR LOBBY_AUTO_MULTIPLAYER_CNC() //Straight into CNC
|
|
// OR LOBBY_AUTO_MULTIPLAYER_MENU() //Straight into the character menu with CNC selected
|
|
INIT_STATS()
|
|
// ENDIF
|
|
// #ENDIF
|
|
|
|
|
|
SET_TELL_PLAYER_PLAYING_ALONE(FALSE)
|
|
|
|
g_b_HasSkippedTutorialDueToNoMoreTutorials = FALSE
|
|
g_b_ReapplyStickySaveFailedFeed = FALSE
|
|
THEFEED_FLUSH_QUEUE()
|
|
VECTOR aPos
|
|
FLOAT aHeading
|
|
IF HAS_IMPORTANT_STATS_LOADED()
|
|
FOR I = 0 TO MAX_NUM_CHARACTER_SLOTS-1
|
|
g_Private_CHARACTER_TEAM[I] = GET_PACKED_STAT_INT(PACKED_CHAR_TEAM, I)
|
|
ENDFOR
|
|
|
|
FOR I = 0 TO MAX_NUM_CHARACTER_SLOTS-1
|
|
PRINTLN("[MainTransition] g_Private_CHARACTER_TEAM[",I,"] = ", g_Private_CHARACTER_TEAM[I])
|
|
ENDFOR
|
|
|
|
NET_NL()NET_PRINT("[MainTransition] g_Private_ACTIVE_CHARACTER = ")NET_PRINT_INT(g_Private_ACTIVE_CHARACTER)
|
|
ENDIF
|
|
|
|
|
|
MpHud_Details.bIsCloudDownUGCChecks = IS_CLOUD_DOWN_CLOUD_LOADER()
|
|
|
|
FORCE_RESET_ALL_TRANSACTION_DATA()
|
|
|
|
#IF FEATURE_GEN9_STANDALONE
|
|
MULTIPLAYER_ACCESS_CODE nAccessCode
|
|
#ENDIF
|
|
|
|
SWITCH GET_CURRENT_GAMEMODE()
|
|
CASE GAMEMODE_FM
|
|
|
|
|
|
|
|
// IF IS_PAUSE_MENU_REQUESTING_TRANSITION()
|
|
// IF NETWORK_IS_ACTIVITY_SESSION()
|
|
// NET_NL()NET_PRINT("BC: NETWORK_IS_ACTIVITY_SESSION and quit through the pause menu - g_b_QuitActivityThroughPauseMenu = TRUE ")
|
|
// g_b_QuitActivityThroughPauseMenu = TRUE
|
|
// ENDIF
|
|
// ENDIF
|
|
|
|
// IS_QUICK_CAMERA_QUIT_FINISHED()
|
|
NET_NL()NET_PRINT("initial transition, FM to FM ")
|
|
MpHud_Details.ScreenPlace.iSelectedCharacter = GET_ACTIVE_CHARACTER_SLOT()
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_MP_SWOOP_UP)
|
|
|
|
|
|
|
|
IF GET_JOINING_GAMEMODE() = GAMEMODE_FM
|
|
OR GET_PAUSE_MENU_WARP_TO_GAMEMODE() = GAMEMODE_FM
|
|
AND NOT IS_SCREEN_FADED_OUT() AND NOT IS_SCREEN_FADING_OUT()
|
|
|
|
SET_NEWS_FEED_SPLASH_SCREEN_ACTIVE(TRUE, FALSE)
|
|
ENDIF
|
|
|
|
IF IS_A_SPECTATOR_CAM_ACTIVE()
|
|
SET_QUIT_GAME_WITH_SPECTATOR_ACTIVE(TRUE)
|
|
ENDIF
|
|
|
|
|
|
SET_TIME_SCALE(1.0)
|
|
NET_NL()NET_PRINT("[MainTransition] GAMEMODE_FM SET_TIME_SCALE(1.0) ")
|
|
BREAK
|
|
CASE GAMEMODE_CREATOR
|
|
|
|
|
|
IF IS_NEW_LOAD_SCENE_ACTIVE()
|
|
NEW_LOAD_SCENE_STOP()
|
|
ENDIF
|
|
|
|
SET_TIME_SCALE(1.0)
|
|
NET_NL()NET_PRINT("[MainTransition] GAMEMODE_CREATOR SET_TIME_SCALE(1.0) ")
|
|
|
|
// aPos = GET_INITIAL_SPAWN_COORDS_IF_BAILED_FROM_CREATOR(aHeading)
|
|
// SET_ENTITY_COORDS(PLAYER_PED_ID(), aPos, FALSE)
|
|
// IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
// SET_ENTITY_HEADING(PLAYER_PED_ID(), aHeading)
|
|
// ENDIF
|
|
NET_NL()NET_PRINT("Initial transition Decision: Move Player- Setting players coords at ")NET_PRINT_VECTOR(aPos)
|
|
|
|
SET_TRANSITION_STRING("HUD_QUITCREAT")
|
|
|
|
SET_SHOULD_RUN_FULL_CLOUD_REFRESH()
|
|
|
|
g_bKillFMMCmenu = TRUE
|
|
NET_NL()NET_PRINT("initial transition, Creator up ")
|
|
NET_NL()NET_PRINT("g_TransitionData.vSkyCamPos = ")NET_PRINT_VECTOR(g_TransitionData.vSkyCamPos )
|
|
g_FMMC_STRUCT.bKillFMMC = TRUE
|
|
g_FMMC_STRUCT.iMissionType = -1
|
|
HUD_CHANGE_STATE(HUD_STATE_LOADING)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_CREATOR_SWOOP_UP)
|
|
BREAK
|
|
DEFAULT
|
|
|
|
// REQUEST_DLC_MANIFEST()
|
|
SET_SINGLEPLAYER_END_NOW()
|
|
|
|
IF IS_PLAYER_KICKED_TO_GO_OFFLINE()
|
|
SET_PLAYER_KICKED_TO_GO_OFFLINE(FALSE)
|
|
ENDIF
|
|
|
|
|
|
IF GET_IS_LOADING_SCREEN_ACTIVE()
|
|
|
|
THEFEED_ONLY_SHOW_TOOLTIPS(TRUE)
|
|
|
|
aPos = GET_INITIAL_SPAWN_COORDS_IF_BAILED_FROM_CREATOR(aHeading)
|
|
SET_ENTITY_COORDS(PLAYER_PED_ID(), aPos, FALSE)
|
|
IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
SET_ENTITY_HEADING(PLAYER_PED_ID(), aHeading)
|
|
ENDIF
|
|
NET_NL()NET_PRINT("Initial transition Decision: LOBBY_AUTO_MULTIPLAYER_FREEMODE Move Player- Setting players coords at ")NET_PRINT_VECTOR(aPos)
|
|
ENDIF
|
|
|
|
IF (GET_CAM_VIEW_MODE_FOR_CONTEXT(CAM_VIEW_MODE_CONTEXT_ON_FOOT) = CAM_VIEW_MODE_FIRST_PERSON)
|
|
|
|
ENDIF
|
|
|
|
//Commented out due to bug 1878439
|
|
// IF NOT IS_SCREEN_FADED_OUT() AND NOT IS_SCREEN_FADING_OUT()
|
|
SET_NEWS_FEED_SPLASH_SCREEN_ACTIVE(TRUE, TRUE)
|
|
// ENDIF
|
|
|
|
IF NOT DONT_CLEAN_UP_COMUNITY_PLAYLIST_VARS_EXITING_FMMC_LAUNCHER()
|
|
AND NOT IS_ANY_EVENT_PLAYLIST_LAUNCHING()
|
|
//Check if a playlist is avaliable
|
|
CHECK_SC_COMMUNITY_PLAYLIST_ACTIVE()
|
|
ENDIF
|
|
|
|
//Clear the old display Y flag
|
|
CLEAR_NEED_TO_DISPLAY_Y_ON_MAIN_TRANSITION()
|
|
|
|
// Make a singleplayer save as we switch away from it.
|
|
// Don't do this if we are booting directly into MP.
|
|
// IF NOT LOBBY_AUTO_MULTIPLAYER_FREEMODE()
|
|
// AND NOT LOBBY_AUTO_MULTIPLAYER_EVENT()
|
|
// DO_MP_TRANSITION_STARTING_SAVE()
|
|
// ENDIF
|
|
|
|
//Check to see if the playlist was pressed on initial boot
|
|
IF LOBBY_AUTO_MULTIPLAYER_EVENT()
|
|
#IF IS_DEBUG_BUILD
|
|
//Or we should force launch a playlist
|
|
OR GET_COMMANDLINE_PARAM_EXISTS("sc_ForceLaunchScPlaylist")
|
|
#ENDIF
|
|
PRINTLN("[TS] LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB() = TRUE")
|
|
IF IS_SC_COMMUNITY_PLAYLIST_ACTIVE()
|
|
SET_SC_COMMUNITY_PLAYLIST_LAUNCH_WHEN_ENTERING_FM(GET_TYPE_BASED_ON_TYPE_PRIORITY(), TRUE)
|
|
ENDIF
|
|
LOBBY_SET_AUTO_MULTIPLAYER_EVENT(FALSE)
|
|
//clean up the random job if it's some how set.
|
|
IF LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB()
|
|
LOBBY_SET_AUTO_MP_RANDOM_JOB(FALSE)
|
|
ENDIF
|
|
//Check to see if the random job was pressed on initial boot
|
|
ELIF LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB()
|
|
#IF IS_DEBUG_BUILD
|
|
//Or we should force launch a playlist
|
|
OR GET_COMMANDLINE_PARAM_EXISTS("sc_ForceLaunchRandom")
|
|
#ENDIF
|
|
//Ignore this if we're accepting an invite
|
|
IF NOT IS_ANY_TRANSITION_SESSION_INVITE_BEING_ACTIONED()
|
|
PRINTLN("[TS] LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB() = TRUE")
|
|
PRINTLN("[TS] *****************************************************************")
|
|
PRINTLN("[TS] * LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB - T - ", GET_CLOUD_TIME_AS_INT(), ", F - ", GET_FRAME_COUNT(), " *")
|
|
#IF USE_FINAL_PRINTS
|
|
PRINTLN_FINAL("[TS] * LOBBY_AUTO_MULTIPLAYER_RANDOM_JOB - T - ", GET_CLOUD_TIME_AS_INT(), ", F - ", GET_FRAME_COUNT(), " *")
|
|
#ENDIF
|
|
PRINTLN("[TS] *****************************************************************")
|
|
|
|
#IF FEATURE_COPS_N_CROOKS
|
|
IF IS_EVENT_PLAYLIST_ACTIVE_BY_TYPE(ciEVENT_COPS_AND_CROOKS)
|
|
SET_GOING_TO_ARCADE(TRUE)
|
|
PRINTLN("[TS] SET_SC_COMMUNITY_PLAYLIST_LAUNCH_WHEN_ENTERING_FM(ciEVENT_COPS_AND_CROOKS, TRUE) - Transition into C&C")
|
|
ELSE
|
|
#ENDIF
|
|
|
|
SET_TRANSITION_SESSION_AUTO_RANDOM_JOB()
|
|
PRINTLN("[TS] SET_TRANSITION_SESSION_AUTO_RANDOM_JOB()")
|
|
|
|
#IF FEATURE_COPS_N_CROOKS
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
PRINTLN("[TS] LOBBY_SET_AUTO_MP_RANDOM_JOB(FALSE)")
|
|
ENDIF
|
|
LOBBY_SET_AUTO_MP_RANDOM_JOB(FALSE)
|
|
#IF IS_DEBUG_BUILD
|
|
ELSE
|
|
PRINTLN("[TS] LOBBY_AUTO_MULTIPLAYER_EVENT() = FALSE")
|
|
PRINTLN("[TS] LOBBY_SET_AUTO_MP_RANDOM_JOB() = FALSE")
|
|
#ENDIF // IS_DEBUG_BUILD
|
|
ENDIF
|
|
|
|
SET_TIME_SCALE(1.0)
|
|
NET_NL()NET_PRINT("[MainTransition] DEFAULT SET_TIME_SCALE(1.0) ")
|
|
|
|
IF SHOULD_REPOSITION_PLAYER()
|
|
TRIGGER_TRANSITION_NEED_TO_REPOSITION_SP_GUY(TRUE)
|
|
ENDIF
|
|
|
|
IF IS_TRANSITION_TELLING_CREATOR_TO_CLEANUP()
|
|
|
|
// IF NOT IS_PLAYER_SWITCH_IN_PROGRESS()
|
|
// aPos = GET_INITIAL_SPAWN_COORDS_IF_BAILED_FROM_CREATOR(aHeading)
|
|
// SET_ENTITY_COORDS(PLAYER_PED_ID(), aPos, FALSE)
|
|
// IF NOT IS_PED_INJURED(PLAYER_PED_ID())
|
|
// SET_ENTITY_HEADING(PLAYER_PED_ID(), aHeading)
|
|
// ENDIF
|
|
// NET_NL()NET_PRINT("Initial transition Decision: Move Player- Setting players coords at ")NET_PRINT_VECTOR(aPos)
|
|
// ENDIF
|
|
g_bKillFMMCmenu = TRUE
|
|
|
|
NET_NL()NET_PRINT("Initial transition Decision: in Creator at Start of MainTransition = TRUE")
|
|
g_FMMC_STRUCT.bKillFMMC = TRUE
|
|
g_FMMC_STRUCT.iMissionType = -1
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_CREATOR_SWOOP_UP)
|
|
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
ELIF (IS_FREEMODE_ARCADE() AND IS_RETURN_TO_LANDING_PAGE())
|
|
|
|
g_bKillFMMCmenu = TRUE
|
|
|
|
NET_NL()NET_PRINT("Initial transition Decision: returning form the lobby to the pre lobby. ")
|
|
g_FMMC_STRUCT.bKillFMMC = TRUE
|
|
g_FMMC_STRUCT.iMissionType = -1
|
|
|
|
IF HAS_RETURN_TO_LANDING_PAGE_ERROR()
|
|
HUD_CHANGE_STATE(HUD_STATE_ARCADE_ERRORS)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_TERMINATE_SESSION_AND_HOLD)
|
|
ELSE
|
|
HUD_CHANGE_STATE(HUD_STATE_ARCADE_TRANSITION)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_RETURN_TO_LANDING_PAGE)
|
|
ENDIF
|
|
|
|
#ENDIF // FEATURE_FREEMODE_ARCADE
|
|
ELIF IS_FAKE_MULTIPLAYER_MODE_SET()
|
|
g_bKillFMMCmenu = TRUE
|
|
|
|
NET_NL()NET_PRINT("Initial transition Decision: think we're in the Creator at Start of MainTransition due to FakeMP being set. ")
|
|
g_FMMC_STRUCT.bKillFMMC = TRUE
|
|
g_FMMC_STRUCT.iMissionType = -1
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_CREATOR_SWOOP_UP)
|
|
|
|
ELIF IS_TRANSITION_STARTED_IN_MP()
|
|
NET_NL()NET_PRINT("Initial transition Decision: GET_CURRENT_GAMEMODE = EMPTY but IS_TRANSITION_STARTED_IN_MP = TRUE - possibly an invite. ")
|
|
|
|
MpHud_Details.ScreenPlace.iSelectedCharacter = GET_ACTIVE_CHARACTER_SLOT()
|
|
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_MP_SWOOP_UP)
|
|
|
|
// url:bugstar:7379690 - Gen9 - Standalone - [XR-074] - After simulating a network outage during or after a save migration from Gen8 to Gen 9 in MP, the title will try to send the user to SP instead of Landing page.
|
|
// not sure if this is the best place to put this, but it was the permision fails that were triggering wrongly just below, so this should catch it
|
|
// before that happens and bail 'correctly'
|
|
#IF FEATURE_GEN9_STANDALONE
|
|
ELIF (SCRIPT_NETWORK_CAN_ACCESS_MULTIPLAYER(nAccessCode) = FALSE AND (nAccessCode = ACCESS_DENIED_NOT_SIGNED_ONLINE))
|
|
|
|
DO_BAIL_CLEANUP()
|
|
SET_BAIL_STILL_VALID(FALSE)
|
|
NET_NL()NET_PRINT("Initial transition Decision: ACCESS_DENIED_NOT_SIGNED_ONLINE \n")
|
|
HUD_CHANGE_STATE(HUD_STATE_NOT_ONLINE)
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_NOT_CONNECTED)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
#ENDIF
|
|
|
|
ELSE
|
|
|
|
NET_NL()NET_PRINT("Initial transition Decision: IS_ANY_MP_CONTENT_REDUCED_DUE_TO_PERMISSIONS() = ") NET_PRINT_BOOL(IS_ANY_MP_CONTENT_REDUCED_DUE_TO_PERMISSIONS())
|
|
NET_NL()NET_PRINT("Initial transition Decision: GET_IS_LOADING_SCREEN_ACTIVE() = ") NET_PRINT_BOOL(GET_IS_LOADING_SCREEN_ACTIVE())
|
|
NET_NL()NET_PRINT("Initial transition Decision: IS_PLAYSTATION_PLATFORM() = ") NET_PRINT_BOOL(IS_PLAYSTATION_PLATFORM())
|
|
NET_NL()NET_PRINT("Initial transition Decision: NETWORK_IS_NP_AVAILABLE() = ") NET_PRINT_BOOL(NETWORK_IS_NP_AVAILABLE())
|
|
NET_NL()NET_PRINT("Initial transition Decision: NETWORK_HAVE_ROS_BANNED_PRIV() = ") NET_PRINT_BOOL(NETWORK_HAVE_ROS_BANNED_PRIV())
|
|
NET_NL()NET_PRINT("Initial transition Decision: NETWORK_HAVE_ROS_MULTIPLAYER_PRIV() = ") NET_PRINT_BOOL(NETWORK_HAVE_ROS_MULTIPLAYER_PRIV())
|
|
NET_NL()NET_PRINT("Initial transition Decision: NETWORK_HAVE_ROS_CREATE_TICKET_PRIV() = ") NET_PRINT_BOOL(NETWORK_HAVE_ROS_CREATE_TICKET_PRIV())
|
|
NET_NL()NET_PRINT("Initial transition Decision: AM_I_ACCEPTING_TRANSITION_SESSIONS_INVITE() = ") NET_PRINT_BOOL(AM_I_ACCEPTING_TRANSITION_SESSIONS_INVITE())
|
|
NET_NL()NET_PRINT("Initial transition Decision: IS_ANY_TRANSITION_SESSION_INVITE_BEING_ACTIONED() = ") NET_PRINT_BOOL(IS_ANY_TRANSITION_SESSION_INVITE_BEING_ACTIONED())
|
|
|
|
IF IS_ANY_MP_CONTENT_REDUCED_DUE_TO_PERMISSIONS()
|
|
AND (GET_IS_LOADING_SCREEN_ACTIVE() AND NOT IS_ANY_TRANSITION_SESSION_INVITE_BEING_ACTIONED())
|
|
AND (NOT IS_PLAYSTATION_PLATFORM() OR (IS_PLAYSTATION_PLATFORM() AND NETWORK_IS_NP_AVAILABLE()))
|
|
AND NETWORK_HAVE_ROS_BANNED_PRIV() = FALSE
|
|
AND NETWORK_HAVE_ROS_MULTIPLAYER_PRIV()
|
|
AND NETWORK_HAVE_ROS_CREATE_TICKET_PRIV()
|
|
|
|
IF ARE_ONLINE_POLICIES_UP_TO_DATE()
|
|
SET_CURRENT_TRANSITION_BAILING_OPTIONS(BAILING_OPTIONS_PERMISSION_ERROR)
|
|
NET_NL()NET_PRINT("Initial transition Decision: IS_ANY_MP_CONTENT_REDUCED_DUE_TO_PERMISSIONS & GET_IS_LOADING_SCREEN_ACTIVE OR GET_IS_LAUNCH_FROM_LIVE_AREA ")
|
|
|
|
#IF USE_FINAL_PRINTS
|
|
PRINTLN_FINAL("Initial transition Decision: IS_ANY_MP_CONTENT_REDUCED_DUE_TO_PERMISSIONS & GET_IS_LOADING_SCREEN_ACTIVE OR GET_IS_LAUNCH_FROM_LIVE_AREA.")
|
|
#ENDIF
|
|
|
|
HUD_CHANGE_STATE(HUD_STATE_REDUCED_CONTENT)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
ELSE
|
|
|
|
NET_NL()NET_PRINT("Initial transition Decision: ARE_ONLINE_POLICIES_UP_TO_DATE = FALSE ")
|
|
MpHud_Details.bReducedPermsAndNoPolicyFromLoading = TRUE
|
|
HUD_CHANGE_STATE(HUD_STATE_LOADING)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_SP_SWOOP_UP)
|
|
ENDIF
|
|
|
|
ELSE
|
|
|
|
IF GET_IS_LAUNCH_FROM_LIVE_AREA()
|
|
NET_NL()NET_PRINT("Initial transition Decision: GET_IS_LAUNCH_FROM_LIVE_AREA = TRUE, setting Gamemode to FM ")
|
|
SET_JOINING_GAMEMODE(GAMEMODE_FM)
|
|
ENDIF
|
|
|
|
IF GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT()
|
|
NET_NL()NET_PRINT("Initial transition Decision: GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT = TRUE, setting Gamemode to FM ")
|
|
SET_JOINING_GAMEMODE(GAMEMODE_FM)
|
|
ENDIF
|
|
|
|
IF IS_PAUSE_MENU_MIGRATE_SAVES()
|
|
CLEAR_FREEMODE_PROLOGUE_PROFILE_SETTINGS(PSFP_PLAYER_ASKED_TRANSFER_SAVES, 0)
|
|
CLEAR_FREEMODE_PROLOGUE_PROFILE_SETTINGS(PSFP_PLAYER_ASKED_TRANSFER_SAVES, 1)
|
|
NET_NL()NET_PRINT("Initial transition Decision: IS_PAUSE_MENU_MIGRATE_SAVES = TRUE, setting Gamemode to FM ")
|
|
SET_JOINING_GAMEMODE(GAMEMODE_FM)
|
|
ENDIF
|
|
|
|
NET_NL()NET_PRINT("Initial transition Decision: GET_CURRENT_GAMEMODE = EMPTY ")
|
|
IF g_Private_MP_Picked_from_selector
|
|
AND LOBBY_AUTO_MULTIPLAYER_FREEMODE() = FALSE
|
|
AND GET_CONFIRM_INVITE_INTO_GAME_STATE() = FALSE
|
|
AND GET_IS_LAUNCH_FROM_LIVE_AREA() = FALSE
|
|
AND GET_IS_LIVE_AREA_LAUNCH_WITH_CONTENT() = FALSE
|
|
|
|
HUD_CHANGE_STATE(HUD_STATE_LOADING)
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_SP_SWOOP_UP)
|
|
|
|
// HUD_CHANGE_STATE(HUD_STATE_CONFIRM_LEAVE_SP)
|
|
// TRANSITION_CHANGE_STATE(TRANSITION_STATE_WAIT_HUD_EXIT)
|
|
ELSE
|
|
IF ARE_ONLINE_POLICIES_UP_TO_DATE() = FALSE
|
|
MpHud_Details.bReducedPermsAndNoPolicyFromLoading = TRUE
|
|
NET_NL()NET_PRINT("Initial transition Decision: bReducedPermsAndNoPolicyFromLoading = TRUE ")
|
|
ENDIF
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_SP_SWOOP_UP)
|
|
|
|
ENDIF
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
FORCE_RESPAWN(TRUE)
|
|
|
|
UGC_SET_USING_OFFLINE_CONTENT(FALSE)
|
|
|
|
IF NOT IS_PLAYER_PLAYING(PLAYER_ID())
|
|
NET_NL()NET_PRINT("BC: - IS_PLAYER_PLAYING() = FALSE = calling PAUSE_DEATH_ARREST_RESTART & IGNORE_NEXT_RESTART ")
|
|
PAUSE_DEATH_ARREST_RESTART(TRUE)
|
|
IGNORE_NEXT_RESTART(TRUE)
|
|
// FORCE_GAME_STATE_PLAYING()
|
|
ENDIF
|
|
|
|
IF IS_PED_INJURED(PLAYER_PED_ID())
|
|
|
|
IF NETWORK_IS_GAME_IN_PROGRESS()
|
|
NET_NL()NET_PRINT("BC: - NETWORK_RESURRECT_LOCAL_PLAYER() = TRUE = calling RESURRECT_PED ")
|
|
NETWORK_RESURRECT_LOCAL_PLAYER(GET_ENTITY_COORDS(PLAYER_PED_ID(), FALSE), 0.0, 0, FALSE)
|
|
SET_FORCED_RESPAWN_ACTIVE()
|
|
ELSE
|
|
IF IS_ENTITY_DEAD(PLAYER_PED_ID())
|
|
RESURRECT_PED(PLAYER_PED_ID())
|
|
NET_NL()NET_PRINT("BC: - IS_PED_INJURED() = TRUE = calling RESURRECT_PED ")
|
|
ELSE
|
|
REVIVE_INJURED_PED(PLAYER_PED_ID())
|
|
NET_NL()NET_PRINT("BC: - IS_PED_INJURED() = TRUE = calling REVIVE_INJURED_PED ")
|
|
ENDIF
|
|
ENDIF
|
|
ELSE
|
|
NET_NL()NET_PRINT("BC: - IS_PED_INJURED() = FALSE ")
|
|
ENDIF
|
|
IF g_bForceEntityAlphaOnJoin
|
|
RESET_ENTITY_ALPHA(PLAYER_PED_ID())
|
|
g_bResetAlphaOnSpawn = TRUE
|
|
PRINTLN("BC: - reseting player alpha on game entry g_bResetAlphaOnSpawn = TRUE")
|
|
ENDIF
|
|
|
|
IF GET_CURRENT_GAMEMODE() = GAMEMODE_FM
|
|
AND GET_JOINING_GAMEMODE() = GAMEMODE_FM
|
|
SET_JOINING_SPINNER_LOADING(TRUE)
|
|
ENDIF
|
|
|
|
SET_PLAYER_INVINCIBLE(PLAYER_ID(), TRUE)
|
|
NET_NL()NET_PRINT("initial MainTransition: SET_PLAYER_INVINCIBLE(PLAYER_ID(), TRUE) ")
|
|
|
|
SET_TRANSITION_STRING("")
|
|
|
|
g_b_HasJoinedSessionHappened = FALSE
|
|
|
|
#IF IS_DEBUG_BUILD //For Codes testbeds
|
|
//IF NETWORK_IS_IN_CODE_DEVELOPMENT_MODE()
|
|
IF GET_INDEX_OF_CURRENT_LEVEL() = LEVEL_NET_TEST
|
|
SWITCH GET_CURRENT_GAMEMODE()
|
|
CASE GAMEMODE_MPTESTBED
|
|
TRANSITION_BEGIN_RESPAWN()
|
|
NET_NL()NET_PRINT("NETWORK_IS_IN_CODE_DEVELOPMENT_MODE = TRUE in TESTBED - AUTOMATIC RESPAWN")
|
|
TRANSITION_CHANGE_STATE(TRANSITION_STATE_TERMINATE_MAINTRANSITION)
|
|
BREAK
|
|
ENDSWITCH
|
|
ENDIF
|
|
|
|
// REQUEST_ADDITIONAL_TEXT("MPAWD", MP_STATS_TEXT_SLOT)
|
|
#ENDIF
|
|
|
|
IF SHOULD_TRANSITION_SESSION_LAUNCH_MAIN_FM_SCRIPT() = FALSE
|
|
AND SHOULD_KILL_ALL_MP_SCRIPTS_FOR_SCTV_SWITCH() = FALSE
|
|
SET_TRANSITION_TO_IGNORE_LAUNCH_SCRIPT_START(FALSE)
|
|
ENDIF
|
|
|
|
// CreatedDate = EmptyDate
|
|
|
|
SET_TRANSITION_ACTIVE(TRUE)
|
|
|
|
INT iTransitionStages = 1
|
|
|
|
IF IS_PLAYER_SWITCH_IN_PROGRESS()
|
|
iTransitionStages = 0
|
|
ENDIF
|
|
|
|
// IF NETWORK_IS_CLOCK_TIME_OVERRIDDEN()
|
|
// MpHud_Details.iMainTransition_Hours = GET_CLOCK_HOURS()
|
|
// MpHud_Details.iMainTransition_Minutes = GET_CLOCK_MINUTES()
|
|
// MpHud_Details.iMainTransition_Seconds = GET_CLOCK_SECONDS()
|
|
// ENDIF
|
|
|
|
g_bHasTransitionSpawnedPlayer = FALSE
|
|
|
|
g_Private_LoadingNetworkShopINVENTORY.LoadingStages = 0
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
|
|
TEXT_PLACEMENT KickTextPlacement
|
|
TEXT_STYLE KickTextStyle
|
|
INT WhoKickedYou = g_iKickEveryoneOutSessionPlayerNumber
|
|
PLAYER_INDEX WhoKickedEveryone = INT_TO_NATIVE(PLAYER_INDEX, WhoKickedYou)
|
|
BOOL AreYouBeingKicked = GlobalplayerBD[NATIVE_TO_INT(WhoKickedEveryone)].bKickEveryoneOutSessionTrigger
|
|
TEXT_LABEL_63 WhoKickedEveryone_str
|
|
IF IS_PLAYER_PLAYING(WhoKickedEveryone)
|
|
WhoKickedEveryone_str = GET_PLAYER_NAME(WhoKickedEveryone)
|
|
ENDIF
|
|
|
|
#ENDIF // IS_DEBUG_BUILD
|
|
|
|
g_iForceDLCStoreSetUp = ciPROCESS_MPHUD_COMPAT_FAILED_INT
|
|
PRINTLN("PROCESS_MPHUD_COMPAT_FAILED - g_iForceDLCStoreSetUp = ciPROCESS_MPHUD_COMPAT_FAILED_INT")
|
|
|
|
|
|
IF IS_TRANSITION_HEADING_FOR_CREATOR()
|
|
|
|
NET_NL()NET_PRINT("MAINTRANS: IS_TRANSITION_HEADING_FOR_CREATOR = TRUE ")
|
|
|
|
BOOL bCleanupLivetile = (NOT IS_LIVETILE_LAUNCHING())
|
|
RESET_EVERYTHING_TRANSITION_SESSION_FOR_SP_BAIL(DEFAULT, bCleanupLivetile)
|
|
|
|
IF IS_NEW_LOAD_SCENE_ACTIVE()
|
|
NEW_LOAD_SCENE_STOP()
|
|
NET_NL()NET_PRINT("MAINTRANS: NEW_LOAD_SCENE_STOP")
|
|
ENDIF
|
|
IF g_eMissionRunningOnMPSwitchStart = SP_MISSION_PROLOGUE
|
|
NET_NL()NET_PRINT("MAINTRANS: RUN_RCI_PROLOGUE")
|
|
RUN_RCI_PROLOGUE()
|
|
g_eTriggerRCI = RCI_NONE
|
|
ELIF g_eMissionRunningOnMPSwitchStart = SP_MISSION_MICHAEL_1
|
|
NET_NL()NET_PRINT("MAINTRANS: RUN_RCI_MICHAEL1")
|
|
|
|
RUN_RCI_MICHAEL1()
|
|
g_eTriggerRCI = RCI_NONE
|
|
ELSE
|
|
RUN_CUSTOM_CLEANUP_ON_RESPAWN()
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
NETWORK_TRANSITION_START(ENUM_TO_INT(TRANSITION_TYPE_MAIN),ENUM_TO_INT(GET_JOINING_GAMEMODE()),1,1)
|
|
START_NET_TIMER(g_st_LastTransitionTrackingState, TRUE)
|
|
START_NET_TIMER(g_st_LastTransitionTrackingStateOVERALL, TRUE)
|
|
PRINTLN("[net_transition][TRANSTRACK] Start timers ")
|
|
|
|
WHILE TRUE
|
|
#IF FEATURE_GEN9_STANDALONE
|
|
#IF ALLOW_REDIRECT_TO_SP
|
|
// Gen9 Standalone introduces pending transitions. Process them here
|
|
PROCESS_PENDING_TRANSITION_DATA()
|
|
#ENDIF // ALLOW_REDIRECT_TO_SP
|
|
#ENDIF // FEATURE_GEN9_STANDALONE
|
|
|
|
//g_charCreatorDatacharCreatorState
|
|
//ENUM CHAR_CREATOR_GLOBAL_STATE
|
|
// CHARACTER_CREATOR_INIT,
|
|
// CHARACTER_CREATOR_WAIT_FOR_FRONTEND,
|
|
// CHARACTER_CREATOR_RUN,
|
|
// CHARACTER_CREATOR_INPUT_NAME,
|
|
// CHARACTER_CREATOR_JOINING_GTA_ONLINE,
|
|
// CHARACTER_CREATOR_WARNING_MESSAGE
|
|
//ENDENUM
|
|
|
|
//FLOAT theY = 0.5
|
|
//FLOAT theX = 0.1
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(UI3DSCENE_IS_AVAILABLE(), "UI3DSCENE_IS_AVAILABLE", theX, theY)
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(UI3DSCENE_PUSH_PRESET("MPLOBBY_ALL5SLOTS"), "UI3DSCENE_PUSH_PRESET(MPLOBBY_ALL5SLOTS)", theX, theY)
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(g_CharPedCreation[0].bChildGenerated, "g_CharPedCreation[0].bChildGenerated", theX, theY)
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(g_CharPedCreation[1].bChildGenerated, "g_CharPedCreation[1].bChildGenerated", theX, theY)
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(GET_MP_BOOL_CHARACTER_STAT(MP_STAT_CHAR_ISACTIVE, 0), "GET_MP_BOOL_CHARACTER_STAT(MP_STAT_CHAR_ISACTIVE, 0)", theX, theY)
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(GET_MP_BOOL_CHARACTER_STAT(MP_STAT_CHAR_ISACTIVE, 1), "GET_MP_BOOL_CHARACTER_STAT(MP_STAT_CHAR_ISACTIVE, 1)", theX, theY)
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(g_b_ShouldIncrementFlag, "g_b_ShouldIncrementFlag = ", theX, theY)
|
|
//DISPLAY_BOOL_FOR_F9_TRANSITION(g_ARE_ALL_CHAR_CREATOR_PEDS_LOADED, "g_ARE_ALL_CHAR_CREATOR_PEDS_LOADED = ", theX, theY)
|
|
|
|
//DISPLAY_INT_FOR_F9_TRANSITION( g_charCreatorDatacharCreatorState, "g_charCreatorDatacharCreatorState = ", theX, theY, TRUE)
|
|
|
|
//g_charCreatorDatacharCreatorState = -1
|
|
//g_b_ShouldIncrementFlag = FALSE
|
|
//g_ARE_ALL_CHAR_CREATOR_PEDS_LOADED = FALSE
|
|
|
|
REPLAY_PREVENT_RECORDING_AND_UI_THIS_FRAME()
|
|
|
|
IF HAS_IMPORTANT_STATS_LOADED()
|
|
FOR I = 0 TO MAX_NUM_CHARACTER_SLOTS-1
|
|
g_Private_CHARACTER_TEAM[I] = GET_PACKED_STAT_INT(PACKED_CHAR_TEAM, I)
|
|
ENDFOR
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF g_Private_ACTIVE_CHARACTER != GET_MP_INT_PLAYER_STAT(MPPLY_LAST_MP_CHAR)
|
|
NET_NL()NET_PRINT("[SET_ACTIVE_CHARACTER_SLOT]2 g_Private_ACTIVE_CHARACTER = ")NET_PRINT_INT(g_Private_ACTIVE_CHARACTER)
|
|
ENDIF
|
|
#ENDIF
|
|
g_Private_ACTIVE_CHARACTER = GET_MP_INT_PLAYER_STAT(MPPLY_LAST_MP_CHAR)
|
|
// NET_NL()NET_PRINT("[SET_ACTIVE_CHARACTER_SLOT] g_Private_ACTIVE_CHARACTER = ")NET_PRINT_INT(g_Private_ACTIVE_CHARACTER)
|
|
ENDIF
|
|
|
|
// IF PREPARE_MUSIC_EVENT("GTA_ONLINE_STOP_SCORE")
|
|
// TRIGGER_MUSIC_EVENT("GTA_ONLINE_STOP_SCORE")
|
|
// ENDIF
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF AreYouBeingKicked = TRUE
|
|
|
|
KickTextPlacement.x = 0.1
|
|
KickTextPlacement.y = 0.2
|
|
|
|
SET_TITLE_TEXT(KickTextStyle)
|
|
DRAW_TEXT_WITH_PLAYER_NAME(KickTextPlacement, KickTextStyle, WhoKickedEveryone_str, "CTRLQ_PRESSED", HUD_COLOUR_RED)
|
|
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
//maintain the launching of the playlist during the main transition.
|
|
MAINTAIN_LAUNCHING_COMMUNITY_PLAYLIST_DURING_TRANSITION()
|
|
|
|
HIDE_HUD_FOR_TRANSITION_THIS_FRAME()
|
|
|
|
SWITCH iTransitionStages
|
|
CASE 0
|
|
#IF IS_DEBUG_BUILD
|
|
NET_NL()NET_PRINT("BC: waiting for IS_PLAYER_SWITCH_IN_PROGRESS to finish before starting transition. ")
|
|
NET_NL()NET_PRINT(" - IS_PLAYER_SWITCH_IN_PROGRESS = ")NET_PRINT_BOOL(IS_PLAYER_SWITCH_IN_PROGRESS())
|
|
IF IS_PLAYER_SWITCH_IN_PROGRESS()
|
|
NET_NL()NET_PRINT(" - GET_PLAYER_SWITCH_STATE = ")NET_PRINT(GET_SWITCH_STATE_STRING(GET_PLAYER_SWITCH_STATE()))
|
|
ENDIF
|
|
NET_NL()NET_PRINT(" - GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYSTATIC = ")NET_PRINT_BOOL((GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYSTATIC))
|
|
NET_NL()NET_PRINT(" - GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYMOVING = ")NET_PRINT_BOOL((GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYMOVING))
|
|
NET_NL()NET_PRINT(" - GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYMOVING = ")NET_PRINT_BOOL((GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYMOVING))
|
|
NET_NL()NET_PRINT(" - DO_CAMERA_QUICK_EXIT_TO_SP() = ")NET_PRINT_BOOL(DO_CAMERA_QUICK_EXIT_TO_SP())
|
|
NET_NL()NET_PRINT(" - IS_ANY_EXTERNAL_EMERGENCY_SKYCAM_UP_ACTIVE() = ")NET_PRINT_BOOL(IS_ANY_EXTERNAL_EMERGENCY_SKYCAM_UP_ACTIVE())
|
|
|
|
#ENDIF
|
|
|
|
IF NOT IS_PLAYER_SWITCH_IN_PROGRESS()
|
|
OR GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYSTATIC
|
|
OR GET_SKYSWOOP_STAGE() = SKYSWOOP_INSKYMOVING
|
|
OR DO_CAMERA_QUICK_EXIT_TO_SP()
|
|
OR IS_ANY_EXTERNAL_EMERGENCY_SKYCAM_UP_ACTIVE()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF IS_PLAYER_SWITCH_IN_PROGRESS()
|
|
AND GET_QUICKLAUNCH_STATE() != QUICKLAUNCH_EMPTY
|
|
AND GET_SKYSWOOP_STAGE() = SKYSWOOP_NONE
|
|
KILL_PLAYER_SWITCH_NOW()
|
|
NET_NL()NET_PRINT("BC: waiting for IS_PLAYER_SWITCH_IN_PROGRESS but player used shift F during a SP switch so just kill active skycam. ")
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
|
|
KILL_ALL_EXTERNAL_PLAYER_SWITCHES()
|
|
iTransitionStages = 1
|
|
|
|
ELSE
|
|
IF NOT IS_SCRIPT_BAILS_PROCESSING()
|
|
IF NOT SHOULD_TRANSITION_SESSION_PULL_CAM_UP_FOR_SESSION_CHANGE()
|
|
KILL_PLAYER_SWITCH_NOW()
|
|
ELSE
|
|
NET_NL()NET_PRINT("BC: waiting for SHOULD_TRANSITION_SESSION_PULL_CAM_UP_FOR_SESSION_CHANGE to finish before starting transition. ")
|
|
ENDIF
|
|
ELSE
|
|
|
|
IF g_b_skyCamPausedForOutroLastFrame = FALSE
|
|
NET_NL()NET_PRINT("BC: g_b_skyCamPausedForOutroLastFrame = FALSE at the start of maintransition so call RESET_SKYCAM_HOLD() ")
|
|
RESET_SKYCAM_HOLD()
|
|
ENDIF
|
|
|
|
NET_NL()NET_PRINT("BC: IS_SCRIPT_BAILS_PROCESSING = TRUE, don't kill skycam, just move on. ")
|
|
iTransitionStages = 1
|
|
ENDIF
|
|
ENDIF
|
|
BREAK
|
|
CASE 1
|
|
IF MpHud_Details.bHaveTunablesSetup = FALSE
|
|
IF TRANSITION_START_TUNABLE_LOADER()
|
|
|
|
NET_NL()NET_PRINT("BC: TRANSITION_START_TUNABLE_LOADER = TRUE ")
|
|
MpHud_Details.bHaveTunablesSetup = TRUE
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_NET_PLAYER_OK(PLAYER_ID(), TRUE, FALSE)
|
|
IF HAS_IMPORTANT_STATS_LOADED()
|
|
MAINTAIN_CHUTE_ON()
|
|
ENDIF
|
|
ENDIF
|
|
|
|
//Launch the live time item if we need to.
|
|
MAINTAIN_SETUP_PS4_LIVE_STREAM()
|
|
|
|
IS_PROCESSING_A_BAIL_EVENT()
|
|
|
|
MAINTAIN_TRANSITION_JOINING(MpHud_Details, MpHud_GTAOnlineCharacterData)
|
|
|
|
MAINTAIN_TRANSITION_HUD(MpHud_Details, MpHud_GTAOnlineCharacterData)
|
|
|
|
IF IS_SKYSWOOP_IN_SKY()
|
|
IF IS_PLAYER_PED_BIGFOOT()
|
|
NET_NL()NET_PRINT("[MORPHMODEL] MainTransition: IS_PLAYER_PED_BIGFOOT() = TRUE, Switch back here. ")
|
|
CHANGE_PLAYER_PED_TO_HUMAN_FLAGS_ONLY()
|
|
ENDIF
|
|
ENDIF
|
|
|
|
IF IS_TUTORIAL_CUTSCENE_GOING_TO_RUN() = FALSE
|
|
|
|
// IF GET_CURRENT_HUD_STATE() = HUD_STATE_SELECT_CHARACTER_FM
|
|
// OR MpHud_Details.bShouldDisplayCloudChangeScreen
|
|
// // OR GET_CURRENT_HUD_STATE() = HUD_STATE_CREATE_FACE
|
|
// IF g_AreBirdsDisplaying
|
|
//
|
|
// RUN_CLOUD_STATUS_CHANGE(MpHud_Details)
|
|
// SET_SRL_TUTORIAL_ACTIVE(FALSE)
|
|
//
|
|
// SET_SKYSWOOP_UP(FALSE, FALSE, FALSE, SWITCH_TYPE_LONG, TRUE, 0,0,0,FALSE)
|
|
// ENDIF
|
|
// ENDIF
|
|
|
|
IF GET_CURRENT_HUD_STATE() = HUD_STATE_SELECT_CHARACTER_FM
|
|
OR MpHud_Details.bShouldDisplayCloudChangeScreen
|
|
|
|
RUN_CLOUD_STATUS_CHANGE(MpHud_Details)
|
|
SET_SRL_TUTORIAL_ACTIVE(FALSE)
|
|
ENDIF
|
|
|
|
ENDIF
|
|
|
|
BREAK
|
|
|
|
ENDSWITCH
|
|
|
|
g_AreBirdsDisplaying = FALSE
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
UPDATE_HIGHEST_NUMBER_OF_COMMANDS_EXECUTED_THIS_FRAME(iMaxInstructionsCalled2)
|
|
#ENDIF
|
|
|
|
WAIT(0)
|
|
ENDWHILE
|
|
|
|
ENDSCRIPT
|