startFreeroam
Definition
-- @/lua/ge/extensions/freeroam/freeroam.lua:83
local function startFreeroam(level, startPointName, wasDelayed, spawnVehicle, customLoadingFunction)
core_gamestate.requestEnterLoadingScreen(logTag)
-- if this was a delayed start, load the FGs now.
--if wasDelayed then
-- startAssociatedFlowgraph(level)
--end
-- this is to prevent bug where freeroam is started while a different level is still loaded.
-- Loading the new freeroam causes the current loaded freeroam to unload which breaks the new freeroam
--local delaying = false
if scenetree.MissionGroup then
log('D', logTag, 'Delaying start of freeroam until current level is unloaded...')
M.triggerDelayedStart = function()
log('D', logTag, 'Triggering a delayed start of freeroam...')
M.triggerDelayedStart = nil
startFreeroam(level, startPointName, true, spawnVehicle, customLoadingFunction)
end
endActiveGameMode(M.triggerDelayedStart)
--delaying = true
elseif not core_gamestate.getLoadingStatus(logTag .. '.startFreeroamHelper') then -- remove again at some point
startFreeroamHelper(level, startPointName, spawnVehicle, customLoadingFunction)
core_gamestate.requestExitLoadingScreen(logTag)
end
-- if there was no delaying and the function call itself didnt
-- come from a delayed start, load the FGs (starting from main menu)
end
Callers
@/lua/ge/extensions/freeroam/freeroam.lua
M.triggerDelayedStart = nil
startFreeroam(level, startPointName, true, spawnVehicle, customLoadingFunction)
end
if level then
startFreeroam(level, startPointName, wasDelayed, spawnVehicle, customLoadingFunction)
return true
extensions.setCompletedCallback("onClientStartMission", callback);
startFreeroam(level)
else
@/lua/ge/extensions/util/precompileVehicles.lua
log('I', logTag, string.format('Will precompile data for %d vehicles.', #vehicles))
freeroam_freeroam.startFreeroam(path.getPathLevelMain('smallgrid'))
end
@/lua/ge/extensions/gameplay/garageMode.lua
-- load the test level
freeroam_freeroam.startFreeroam(testLevelPath, nil, nil, getCurrentVehicle())
end
@/lua/ge/extensions/career/career.lua
spawn.preventPlayerSpawning = true
freeroam_freeroam.startFreeroam(path.getPathLevelMain(levelToLoad), nil, false, nil, function()
toggleCareerModules(true)
deactivateCareer(saveCareer)
freeroam_freeroam.startFreeroam(path.getPathLevelMain(getCurrentLevelIdentifier()))
end
@/lua/ge/main.lua
if getMissionFilename() == "" then
freeroam_freeroam.startFreeroam(path.getPathLevelMain("smallgrid"))
extensions.load('editor_flowgraphEditor')
local levelFile = "levels/" .. levelToLoad
freeroam_freeroam.startFreeroam(levelFile)
end
@/ui/modules/levelselect/levelselect.js
$scope.$emit('CloseMenu')
bngApi.engineLua(`freeroam_freeroam.startFreeroam(${bngApi.serializeToLua(level)})`)
}
@/lua/ge/extensions/core/loadMapCmd.lua
log("I", "changeMap", "starting in ="..tostring(args.mapName))
freeroam_freeroam.startFreeroam(args.mapName)
args.mapName = nil