getAutosave
Definition
-- @/lua/ge/extensions/career/saveSystem.lua:32
-- TODO return nil instead of ""
local function getAutosave(path, oldest)
local resultDate = oldest and "A" or "0"
local resultSave = ""
local folders = FS:directoryList(path, false, true)
-- TODO use getAllAutosaves to get the newest or oldest save
if (tableSize(folders) < numberOfAutosaves) and oldest then
-- Check the autosave folders that are already there to find a name that isnt used yet
for i = 1, numberOfAutosaves do
local possiblePath = "/" .. path .. "/autosave" .. i
if not tableContains(folders, possiblePath) then
resultSave = possiblePath
resultDate = "0"
break
end
end
else
for i = 1, tableSize(folders) do
local data = jsonReadFile(folders[i] .. "/info.json")
if oldest then
if not data or not data.date or data.date < resultDate or data.corrupted then
resultSave = folders[i]
resultDate = (data and not data.corrupted) and data.date or "0"
end
else
if data and data.date and data.date > resultDate and not data.corrupted then
resultSave = folders[i]
resultDate = data.date
end
end
end
end
return resultSave, resultDate
end
Callers
@/lua/ge/extensions/career/saveSystem.lua
end
local savePath = specificAutosave and (saveRoot .. slotName .. "/" .. specificAutosave) or getAutosave(saveRoot .. slotName, false) -- get newest autosave
if not currentSaveSlot or career_modules_linearTutorial.isLinearTutorialActive() then return end
oldestSave, oldSaveDate = getAutosave(saveRoot .. currentSaveSlot, true) -- get oldest autosave to overwrite
saveDate = os.date("!%Y-%m-%dT%H:%M:%SZ") -- UTC time
@/lua/ge/extensions/career/career.lua
local autosavePath = career_saveSystem.getAutosave(career_saveSystem.getSaveRootDirectory() .. saveSlot)
local infoData = jsonReadFile(autosavePath .. "/info.json")