329 lines
7.4 KiB
Scheme
Executable File
329 lines
7.4 KiB
Scheme
Executable File
|
|
USING "globals.sch"
|
|
USING "mp_globals.sch"
|
|
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
PROC SET_ARCADE_MODE(ARCADE_MODE arcadeMode)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("SET_ARCADE_MODE - changing from ", ENUM_TO_INT(g_ArcadeMode), " to ", ENUM_TO_INT(arcadeMode))
|
|
DEBUG_PRINTCALLSTACK()
|
|
#ENDIF
|
|
|
|
g_ArcadeMode = arcadeMode
|
|
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_FREEMODE_ARCADE()
|
|
IF (g_FMVersion = FM_VERSION_ARCADE)
|
|
RETURN(TRUE)
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
FUNC ARCADE_MODE GET_ARCADE_MODE()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF (g_ArcadeMode = ARC_NULL)
|
|
SCRIPT_ASSERT("GET_ARCADE_MODE() - has not been set yet! - wrap with IS_FREEMODE_ARCADE()")
|
|
PRINTLN("GET_ARCADE_MODE() - has not been set yet! - wrap with IS_FREEMODE_ARCADE()")
|
|
DEBUG_PRINTCALLSTACK()
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
RETURN g_ArcadeMode
|
|
|
|
ENDFUNC
|
|
|
|
PROC RESET_ARCADE_MODE_STATS()
|
|
gArcadeModeLocalStats.iNumMatchesPlayed = 0
|
|
ENDPROC
|
|
|
|
PROC SET_ARCADE_MODE_STATS_MATCHS_PLAYED(INT iCount)
|
|
gArcadeModeLocalStats.iNumMatchesPlayed = iCount
|
|
ENDPROC
|
|
|
|
FUNC INT GET_ARCADE_MODE_STAT_MATCHS_PLAYED()
|
|
RETURN gArcadeModeLocalStats.iNumMatchesPlayed
|
|
ENDFUNC
|
|
|
|
FUNC ARCADE_MODE_RETURN_TO_LP GET_RETURN_TO_LANDING_PAGE_REASON()
|
|
return g_ReturningToLandingPageReason
|
|
ENDFUNC
|
|
|
|
FUNC BOOL HAS_RETURN_TO_LANDING_PAGE_ERROR()
|
|
RETURN NOT (g_ReturningToLandingPageReason = ARCM_RETURN_INVALID)
|
|
AND NOT (g_ReturningToLandingPageReason = ARCM_RETURN_NORMAL)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL HAS_RETURN_TO_LANDING_PAGE_REASON()
|
|
RETURN NOT (g_ReturningToLandingPageReason = ARCM_RETURN_INVALID)
|
|
ENDFUNC
|
|
|
|
PROC SET_RETURN_TO_LANDING_PAGE(BOOL bSet, ARCADE_MODE_RETURN_TO_LP eReason = ARCM_RETURN_INVALID)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_bReturnToLandingPage = bSet)
|
|
PRINTLN("SET_RETURNING_TO_LANDING_PAGE - changing to ", bSet, " Reason = ", ENUM_TO_INT(eReason))
|
|
ENDIF
|
|
#ENDIF
|
|
g_bReturnToLandingPage = bSet
|
|
g_ReturningToLandingPageReason = eReason
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_RETURN_TO_LANDING_PAGE()
|
|
RETURN g_bReturnToLandingPage
|
|
ENDFUNC
|
|
|
|
PROC SET_RETURN_TO_GTA_ONLINE(BOOL bSet)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_bReturnToGTAOnline = bSet)
|
|
PRINTLN("SET_RETURN_TO_GTA_ONLINE - changing to ", bSet)
|
|
ENDIF
|
|
#ENDIF
|
|
g_bReturnToGTAOnline = bSet
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_RETURN_TO_GTA_ONLINE()
|
|
RETURN g_bReturnToGTAOnline
|
|
ENDFUNC
|
|
|
|
PROC SET_GOING_TO_CNC_FROM_CNC(BOOL bSet)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_bGoingFromCNCToCNC = bSet)
|
|
PRINTLN("SET_GOING_TO_CNC_FROM_CNC - changing to ", bSet)
|
|
ENDIF
|
|
#ENDIF
|
|
g_bGoingFromCNCToCNC = bSet
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_GOING_TO_CNC_FROM_CNC()
|
|
RETURN g_bGoingFromCNCToCNC
|
|
ENDFUNC
|
|
|
|
PROC SET_GOING_TO_ARCADE(BOOL bSet)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_bGoingToArcade = bSet)
|
|
PRINTLN("SET_GOING_TO_ARCADE - changing to ", bSet)
|
|
ENDIF
|
|
#ENDIF
|
|
g_bGoingToArcade = bSet
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_GOING_TO_ARCADE()
|
|
RETURN g_bGoingToArcade
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_LAUNCHING_ARCADE_LOBBY()
|
|
RETURN g_bLaunchArcadeLobby
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_ARCADE_LOBBY_OPEN()
|
|
RETURN g_bArcadeLobbyIsOpen
|
|
ENDFUNC
|
|
|
|
|
|
PROC SET_LAUNCH_ARCADE_LOBBY(BOOL bSet)
|
|
|
|
IF IS_ARCADE_LOBBY_OPEN()
|
|
PRINTLN("FREEMODEARCADE SET_LAUNCH_ARCADE_LOBBY - arcade lobby already running" )
|
|
EXIT
|
|
ENDIF
|
|
|
|
DEBUG_PRINTCALLSTACK()
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_bLaunchArcadeLobby = bSet)
|
|
PRINTLN("FREEMODEARCADE SET_LAUNCH_ARCADE_LOBBY - changing to ", bSet)
|
|
ENDIF
|
|
#ENDIF
|
|
g_bLaunchArcadeLobby = bSet
|
|
ENDPROC
|
|
|
|
FUNC BOOL IS_ARCADE_PREVIEW_LOBBY_RUNNING()
|
|
RETURN g_bArcadePreviewLobbyIsRunning
|
|
ENDFUNC
|
|
|
|
PROC SET_ARCADE_PREVIEW_LOBBY_RUNNING(BOOL bSet)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_bArcadePreviewLobbyIsRunning = bSet)
|
|
PRINTLN("SET_ARCADE_PREVIEW_LOBBY_RUNNING - changing to ", bSet)
|
|
ENDIF
|
|
#ENDIF
|
|
g_bArcadePreviewLobbyIsRunning = bSet
|
|
ENDPROC
|
|
|
|
|
|
|
|
PROC SET_ARCADE_LOBBY_OPEN(BOOL bSet)
|
|
DEBUG_PRINTCALLSTACK()
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_bArcadeLobbyIsOpen = bSet)
|
|
PRINTLN("FREEMODEARCADE SET_ARCADE_LOBBY_OPEN - changing to ", bSet)
|
|
ENDIF
|
|
#ENDIF
|
|
g_bArcadeLobbyIsOpen = bSet
|
|
ENDPROC
|
|
|
|
FUNC BOOL SHOULD_SHOW_ARCADE_INTRO_STINGER()
|
|
RETURN g_bShowArcadeIntroStinger
|
|
ENDFUNC
|
|
|
|
PROC SET_SHOULD_SHOW_ARCADE_INTRO_STINGER(BOOL bShowStinger)
|
|
g_bShowArcadeIntroStinger = bShowStinger
|
|
PRINTLN("SET_SHOULD_SHOW_ARCADE_INTRO_STINGER - g_bShowArcadeIntroStinger: ", bShowStinger)
|
|
DEBUG_PRINTCALLSTACK()
|
|
ENDPROC
|
|
|
|
PROC RESET_ARCADE_MODE_GLOBALS(BOOL bReturningToLanding=FALSE)
|
|
|
|
PRINTLN("RESET_ARCADE_MODE_GLOBALS called")
|
|
DEBUG_PRINTCALLSTACK()
|
|
|
|
g_FMVersion = FM_VERSION_ONLINE
|
|
g_ArcadeMode = ARC_NULL
|
|
g_bRelauchLobby = FALSE
|
|
g_bRelauchLobbyPreview = FALSE
|
|
g_bReturnToGTAOnline = FALSE
|
|
g_bLaunchArcadeLobby = FALSE
|
|
g_bArcadeLobbyIsOpen = FALSE
|
|
g_bGoingToArcade = FALSE
|
|
g_i_LandingPageBS = 0
|
|
g_bGoingFromCNCToCNC = FALSE
|
|
|
|
IF NOT bReturningToLanding
|
|
g_ReturningToLandingPageReason = ARCM_RETURN_INVALID
|
|
g_bReturnToLandingPage = FALSE
|
|
ENDIF
|
|
|
|
RESET_ARCADE_MODE_STATS()
|
|
|
|
ENDPROC
|
|
|
|
|
|
#ENDIF
|
|
|
|
PROC SET_FREEMODE_VERSION(FM_VERSION version)
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
IF NOT (g_FMVersion = version)
|
|
PRINTLN("SET_FREEMODE_VERSION - changing from ", ENUM_TO_INT(g_FMVersion), " to ", ENUM_TO_INT(version))
|
|
DEBUG_PRINTCALLSTACK()
|
|
ENDIF
|
|
#ENDIF
|
|
|
|
g_FMVersion = version
|
|
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
SET_ARCADE_MODE(ARC_NULL)
|
|
#ENDIF
|
|
|
|
ENDPROC
|
|
|
|
FUNC FM_VERSION FREEMODE_VERSION()
|
|
RETURN g_FMVersion
|
|
ENDFUNC
|
|
|
|
|
|
|
|
FUNC BOOL IS_FREEMODE_ONLINE()
|
|
|
|
IF (g_FMVersion = FM_VERSION_ONLINE)
|
|
RETURN(TRUE)
|
|
ENDIF
|
|
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
|
|
FUNC STRING FREEMODE_SCRIPT()
|
|
|
|
SWITCH g_FMVersion
|
|
CASE FM_VERSION_ONLINE RETURN "freemode"
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
CASE FM_VERSION_ARCADE RETURN "freemodeArcade"
|
|
#ENDIF
|
|
ENDSWITCH
|
|
|
|
RETURN "freemode"
|
|
ENDFUNC
|
|
|
|
FUNC INT FREEMODE_HASH()
|
|
|
|
SWITCH g_FMVersion
|
|
CASE FM_VERSION_ONLINE RETURN HASH("freemode")
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
CASE FM_VERSION_ARCADE RETURN HASH("freemodeArcade")
|
|
#ENDIF
|
|
ENDSWITCH
|
|
|
|
RETURN HASH("freemode")
|
|
|
|
ENDFUNC
|
|
|
|
FUNC STRING FREEMODE_INIT_SCRIPT()
|
|
|
|
SWITCH g_FMVersion
|
|
CASE FM_VERSION_ONLINE RETURN "freemode_init"
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
CASE FM_VERSION_ARCADE RETURN "freemode_initArcade"
|
|
#ENDIF
|
|
ENDSWITCH
|
|
|
|
RETURN "freemode_init"
|
|
ENDFUNC
|
|
|
|
FUNC INT FREEMODE_INIT_HASH()
|
|
|
|
SWITCH g_FMVersion
|
|
CASE FM_VERSION_ONLINE RETURN HASH("freemode_init")
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
CASE FM_VERSION_ARCADE RETURN HASH("freemode_initArcade")
|
|
#ENDIF
|
|
ENDSWITCH
|
|
|
|
|
|
RETURN HASH("freemode_init")
|
|
|
|
ENDFUNC
|
|
|
|
#IF FEATURE_FREEMODE_ARCADE
|
|
FUNC INT GetArcadeGamemodeIntForCodeNatives()
|
|
|
|
#IF IS_DEBUG_BUILD
|
|
PRINTLN("GetArcadeGamemodeIntForCodeNatives - ", ENUM_TO_INT(GAMEMODE_ARCADE) + ENUM_TO_INT(g_ArcadeMode))
|
|
|
|
// IF GET_COMMANDLINE_PARAM_EXISTS("sc_ForceGameModeInt")
|
|
// RETURN GET_COMMANDLINE_PARAM_INT("sc_ForceGameModeInt")
|
|
// ENDIF
|
|
|
|
#ENDIF
|
|
|
|
RETURN (ENUM_TO_INT(GAMEMODE_ARCADE) + ENUM_TO_INT(g_ArcadeMode))
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_GAMEMODE_WITH_ARCADEMODE(MP_GAMEMODE gamemode, ARCADE_MODE arcadeMode)
|
|
RETURN ENUM_TO_INT(gamemode) = ENUM_TO_INT(GAMEMODE_ARCADE) + ENUM_TO_INT(arcadeMode)
|
|
ENDFUNC
|
|
|
|
FUNC BOOL IS_GAMEMODE_AN_ARCADEMODE(MP_GAMEMODE gamemod)
|
|
IF gamemod = GAMEMODE_ARCADE
|
|
#IF FEATURE_COPS_N_CROOKS
|
|
OR IS_GAMEMODE_WITH_ARCADEMODE(gamemod, ARC_COPS_CROOKS)
|
|
#ENDIF
|
|
RETURN TRUE
|
|
ENDIF
|
|
RETURN FALSE
|
|
ENDFUNC
|
|
#ENDIF
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|