Files
gtav-src/script/dev_ng/shared/include/public/freemode_version.sch
T
2025-09-29 00:52:08 +02:00

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