getTrackEditorTracks
Definition
-- @/lua/ge/extensions/scenario/quickRaceLoader.lua:233
-- this function gets all the track builder tracks, and creates a quickrace track for each of them, returning them as a list.
local function getTrackEditorTracks()
local tracks = {}
--get names of all the track builder tracks
local editorTracks = {}
for i, file in ipairs(FS:findFiles('trackEditor/','*.json',-1,true,false)) do
local _, fn, e = path.split(file)
editorTracks[i] = fn:sub(1,#fn - #e - 1)
end
for _, name in ipairs(editorTracks) do
local trackData = M.loadTrackBuilderJSON(name)
if trackData then
if trackData.version == nil then
log('I',logTag,"The file 'trackEditor/"..name..".json' uses an old format that is no longer supported.")
else
local file = {
name = name,
authors = trackData.author or "",
difficulty = trackData.difficulty or 37, -- 37 = medium
date = trackData.date or 1521828000,
lapCount = 1,
reversible = trackData.reversible or false,
closed = trackData.connected or false,
allowRollingStart= false,
length = trackData.length or nil,
lapConfig = {},
description = trackData.description and string.gsub(trackData.description or "", "\\n", "\n") or nil,
customData = {
name = name
},
ignoreAsMission = true,
}
if trackData.connected then
file.lapCount = trackData.defaultLaps or 2
end
file.sourceFile = "quickraceLoader.getTrackEditorTracks()"
file.trackName = "TrackEditorTrack_"..name
file.directory = "generatedFile"
file.official = false
file.prefabs = {}
file.reversePrefabs = {}
file.forwardPrefabs = {}
file.luaFile = "/lua/ge/extensions/util/trackBuilder/quickraceSetup"
if FS:fileExists('trackEditor/'..name..'.jpg') then
file.previews = {'/trackEditor/'..name..'.jpg'}
elseif FS:fileExists('trackEditor/'..name..'.png') then
file.previews = {'/trackEditor/'..name..'.png'}
elseif trackData.level == 'glow_city' then
file.previews = {"/ui/images/trackEditGlow.png"}
else
file.previews = {"/ui/images/trackEdit.png"}
end
file.preview = file.previews[1]
file.spawnSpheres = {}
file.spawnSpheres.standing = "_standing_spawn"
file.spawnSpheres.standingReverse = "_standingReverse_spawn"
file.spawnSpheres.rolling = "_rolling_spawn"
file.spawnSpheres.rollingReverse = "_rollingReverse_spawn"
file.tod = file.tod or 3
file.introType = 'none'
file.isTrackEditorTrack = true
local level = trackData.level or 'smallgrid'
if tracks[level] == nil then tracks[level] = {} end
tracks[level][#tracks[level]+1] = file
--print("added " .. name .." to level " .. level)
end
end
end
return tracks
end
Callers
@/lua/ge/extensions/scenario/quickRaceLoader.lua
local trackBuilderTracks = M.getTrackEditorTracks()
--dump(files)
--if newLevel.levelName == "smallgrid" then
-- newLevel.tracks = M.getTrackEditorTracks(quickraceFiles, levelName)
-- if newLevel.tracks and #(newLevel.tracks) > 0 then
end
file.sourceFile = "quickraceLoader.getTrackEditorTracks()"
file.trackName = "TrackEditorTrack_"..name