summaryrefslogtreecommitdiffhomepage
path: root/settings.lua
diff options
context:
space:
mode:
Diffstat (limited to 'settings.lua')
-rw-r--r--settings.lua63
1 files changed, 63 insertions, 0 deletions
diff --git a/settings.lua b/settings.lua
new file mode 100644
index 0000000..ad8b8e5
--- /dev/null
+++ b/settings.lua
@@ -0,0 +1,63 @@
+Settings = {}
+Settings.current = {}
+function Settings.load()
+ if Controller then
+ if not love.filesystem.exists("settings") then
+ local def = love.filesystem.newFile("settings.default")
+ local new = love.filesystem.newFile("settings")
+ new:open("w") def:open("r")
+ new:write(def:read())
+ new:close() def:close()
+ end
+ local getSettings = love.filesystem.load("settings")
+ Settings.current = getSettings()
+ local joysticksList = love.joystick.getJoysticks() -- local list for editing
+ for _,set in pairs(Settings.current) do
+ local isJoystick = set[7]
+ local joystick
+ if isJoystick then
+ -- take and remove first joystick from list
+ joystick = joysticksList[1]
+ table.remove(joysticksList, 1)
+ end
+ if not isJoystick or joystick then
+ Controller.registerSet(set[1], set[2], set[3], set[4], set[5], set[6], joystick)
+ end
+ end
+ end
+end
+function Settings.save()
+ local new = love.filesystem.newFile("settings")
+ local sets = Settings.current
+ local string = "return {\n"
+ for i,set in pairs(sets) do
+ string = string .. "\t{"
+ for j,word in pairs(set) do
+ if j ~= 7 then
+ string = string .. "\"" .. word .. "\", "
+ else
+ if word then
+ string = string .. "true"
+ else
+ string = string .. "false"
+ end
+ end
+ end
+ string = string .. "},\n"
+ end
+ string = string .. "}"
+ new:open("w")
+ new:write(string)
+ new:close()
+end
+function Settings.change(n, left, right, up, down, attack, jump, joystick)
+ local bool
+ if joystick then
+ bool = true
+ else
+ bool = false
+ end
+ Settings.current[n] = {left, right, up, down, attack, jump, bool}
+ table.remove(Controller.sets, n)
+ Controller.registerSet(left, right, up, down, attack, jump, joystick)
+end \ No newline at end of file