2019-09-11 10:39:10 +00:00
|
|
|
local C = Class:extend()
|
|
|
|
|
|
|
|
function C:init()
|
|
|
|
self.settings = {}
|
|
|
|
if lf.getInfo('settings.txt') == nil then
|
2020-03-01 09:32:16 +00:00
|
|
|
self.settings = self:getDefaults()
|
|
|
|
else
|
|
|
|
self.settings = lf.load('settings.txt')()
|
|
|
|
-- add any missing entries if new settings have been added
|
|
|
|
for k,v in pairs(self:getDefaults()) do
|
|
|
|
self.settings[k] = self.settings[k] or v
|
|
|
|
end
|
2019-09-11 10:39:10 +00:00
|
|
|
end
|
2020-03-06 12:28:38 +00:00
|
|
|
-- check for out of date CS folder
|
|
|
|
if self.settings.csversion < CSVERSION then
|
|
|
|
self.settings.csdirectory = nil
|
|
|
|
end
|
2020-03-01 09:32:16 +00:00
|
|
|
self:update()
|
2019-09-11 10:39:10 +00:00
|
|
|
end
|
|
|
|
|
2020-03-01 09:32:16 +00:00
|
|
|
function C:getDefaults()
|
|
|
|
return {
|
|
|
|
csdirectory = "",
|
|
|
|
puppy = false,
|
|
|
|
obj = "objBestEnd",
|
|
|
|
mychar = "assets/myChar/Quote.bmp",
|
|
|
|
spawn = "Start Point",
|
|
|
|
seqbreaks = false,
|
|
|
|
dboosts = {
|
|
|
|
cthulhu = true,
|
|
|
|
chaco = true,
|
|
|
|
paxChaco = true,
|
|
|
|
flightlessHut = true,
|
|
|
|
camp = true,
|
|
|
|
sisters = true,
|
|
|
|
plantation = true,
|
|
|
|
rocket = true
|
2020-03-03 07:21:07 +00:00
|
|
|
},
|
|
|
|
musicShuffle = false,
|
2021-07-27 02:32:39 +00:00
|
|
|
musicVanilla = true,
|
2020-03-03 07:21:07 +00:00
|
|
|
musicBeta = false,
|
2021-07-27 04:15:09 +00:00
|
|
|
musicKero = false,
|
2020-03-06 12:28:38 +00:00
|
|
|
musicFlavor = "Shuffle",
|
2020-07-16 20:39:32 +00:00
|
|
|
noFallingBlocks = false,
|
2021-07-27 02:32:39 +00:00
|
|
|
completableLogic = false,
|
2020-03-06 12:28:38 +00:00
|
|
|
csversion = 0
|
2020-03-01 09:32:16 +00:00
|
|
|
}
|
2019-09-11 10:39:10 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
function C:update()
|
|
|
|
lf.write('settings.txt', self:serialize())
|
|
|
|
end
|
|
|
|
|
|
|
|
function C:serialize()
|
2020-03-01 09:32:16 +00:00
|
|
|
local function dboosts()
|
|
|
|
local line = "{"
|
|
|
|
for k,v in pairs(self.settings.dboosts) do
|
|
|
|
line = line .. ("%s = %s,"):format(k,v)
|
|
|
|
end
|
|
|
|
return line .. "}"
|
|
|
|
end
|
|
|
|
|
2020-03-03 07:21:07 +00:00
|
|
|
local line = "return {\r\n"
|
|
|
|
local tab = " "
|
2020-03-06 12:28:38 +00:00
|
|
|
line = line .. tab .. ("csdirectory = %q,\r\n"):format(self.settings.csdirectory or "")
|
2020-03-03 07:21:07 +00:00
|
|
|
line = line .. tab .. ("puppy = %s,\r\n"):format(self.settings.puppy)
|
|
|
|
line = line .. tab .. ("obj = %q,\r\n"):format(self.settings.obj or "")
|
|
|
|
line = line .. tab .. ("mychar = %q,\r\n"):format(self.settings.mychar or "")
|
|
|
|
line = line .. tab .. ("spawn = %q,\r\n"):format(self.settings.spawn or "")
|
2020-03-01 09:32:16 +00:00
|
|
|
local dboost = dboosts()
|
2020-03-03 07:21:07 +00:00
|
|
|
line = line .. tab .. ("seqbreaks = %s,\r\n"):format(self.settings.seqbreaks)
|
|
|
|
line = line .. tab .. ("dboosts = %s,\r\n"):format(dboost)
|
|
|
|
line = line .. tab .. ("musicShuffle = %s,\r\n"):format(self.settings.musicShuffle)
|
2021-07-27 02:32:39 +00:00
|
|
|
line = line .. tab .. ("musicVanilla = %s,\r\n"):format(self.settings.musicVanilla)
|
2020-03-03 07:21:07 +00:00
|
|
|
line = line .. tab .. ("musicBeta = %s,\r\n"):format(self.settings.musicBeta)
|
2021-07-27 04:15:09 +00:00
|
|
|
line = line .. tab .. ("musicKero = %s,\r\n"):format(self.settings.musicKero)
|
2020-03-06 12:28:38 +00:00
|
|
|
line = line .. tab .. ("musicFlavor = %q,\r\n"):format(self.settings.musicFlavor)
|
2020-07-16 20:39:32 +00:00
|
|
|
line = line .. tab .. ("noFallingBlocks = %s,\r\n"):format(self.settings.noFallingBlocks)
|
2021-04-06 03:15:11 +00:00
|
|
|
line = line .. tab .. ("completableLogic = %s,\r\n"):format(self.settings.completableLogic)
|
2020-03-06 12:28:38 +00:00
|
|
|
line = line .. tab .. ("csversion = %s,\r\n"):format(self.settings.csversion)
|
2019-09-11 10:39:10 +00:00
|
|
|
|
2020-03-03 07:21:07 +00:00
|
|
|
return line .. "}"
|
2019-09-11 10:39:10 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
function C:getSettings()
|
|
|
|
return self.settings
|
|
|
|
end
|
|
|
|
|
|
|
|
return C
|