GE Lua Documentation

Press F to search!

loadQuickrace

Definition


-- @/lua/ge/extensions/scenario/quickRaceLoader.lua:451

local function loadQuickrace(scenarioKey, scenarioFile, trackFile, vehicleFile, raceType)
  scenarioFile.track = trackFile
  scenarioFile.vehicle = vehicleFile
  scenarioFile.name = trackFile.name
  if trackFile.trackEditorFile then
    scenarioFile.name = "trackEditor_"..scenarioFile.name
  end
  scenarioFile.scenarioName = trackFile.trackName
  scenarioFile.lapCount = trackFile.lapCount
  scenarioFile.lapConfig = trackFile.lapConfig
  if trackFile.lapConfigBranches then
    scenarioFile.lapConfigBranches = trackFile.lapConfigBranches
  end

  -- add automatic prefabs only if they exist
  for list, suf in pairs(autoPrefabs) do
    for _, ext in ipairs(prefabExt) do
      local file = "levels/"..scenarioFile.levelName.."/quickrace/"..trackFile.trackName..suf..ext
      if FS:fileExists(file) then
        table.insert(trackFile[list], file)
      end
    end
  end

  if trackFile.reverse then
    for _,p in ipairs(trackFile.reversePrefabs) do
      trackFile.prefabs[#trackFile.prefabs+1] = p
    end
  else
    for _,p in ipairs(trackFile.forwardPrefabs) do
      trackFile.prefabs[#trackFile.prefabs+1] = p
    end
  end

  scenarioFile.prefabs = trackFile.prefabs

  scenarioFile.startHTML = trackFile.startHTML
  scenarioFile.introType = trackFile.introType

  scenarioFile.isReverse = false
  scenarioFile.isReverse = false
  if trackFile.reverse then
    local rev = {}
    for i,c in ipairs(scenarioFile.lapConfig) do
      rev[#scenarioFile.lapConfig +1 - i] = c
    end
    scenarioFile.isReverse = true
    scenarioFile.lapConfig = rev

    if not trackFile.closed then
      local tmp = trackFile.finishLineCheckpoint
      trackFile.finishLineCheckpoint = trackFile.startLineCheckpoint
      trackFile.startLineCheckpoint = tmp
    end

  end

  scenarioFile.lapConfig[#scenarioFile.lapConfig+1] = trackFile.finishLineCheckpoint

  if trackFile.rollingStart then
    if trackFile.closed then
      scenarioFile.startTimerCheckpoint = trackFile.finishLineCheckpoint
    else
      scenarioFile.startTimerCheckpoint = trackFile.startLineCheckpoint
    end
    scenarioFile.rollingStart = true
  end
  --dump(scenarioFile.lapConfig)

  --  dump("End = " .. trackFile.startLineCheckpoint)
  local disableToD = false
  if scenarioFile.levelInfo.disableQuickraceTimeOfDay then disableToD = true end
  --dump(scenarioFile.levelInfo)
  if not disableToD then
    local tod = {0.5, 0.775, 0.85, 0.9, 0, 0.1, 0.175, 0.23, 0.245, 0.5}

    scenarioFile.levelObjects= {
          tod = {
              time = tod[trackFile.tod+1],
              play = false,
          }
      }
   --dump(trackFile.tod)
  else
   --scenarioFile.levelObjects = nil
  end

  scenarioFile.isQuickRace = true
  scenarioFile.quickraceType = raceType
  scenarioFile.tracks = {}

  local processedScenario = scenario_scenariosLoader.processScenarioData(scenarioKey, scenarioFile)

  return processedScenario
end

Callers

@/lua/ge/extensions/scenario/quickRaceLoader.lua

    local quickraceScenario = loadQuickrace(nil, scenarioFile, trackFile, vehicleFile, raceType)
    -- dump(quickraceScenario)
@/lua/ge/extensions/campaign/exploration.lua
  log('I', logTag, 'startTimeTrail called...')
  local processedScenario = scenario_quickRaceLoader.loadQuickrace(M.state.locationKey, scenarioFile, trackFile, vehicleFile)
  --dump(processedScenario)