From 92c040a9c0104623b19f8f5d6590a260190b4492 Mon Sep 17 00:00:00 2001 From: Aki Date: Fri, 30 Sep 2016 16:35:05 +0200 Subject: Added Settings module scrap --- settings.lua | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 settings.lua (limited to 'settings.lua') diff --git a/settings.lua b/settings.lua new file mode 100644 index 0000000..0a31b41 --- /dev/null +++ b/settings.lua @@ -0,0 +1,8 @@ +Settings = {} + +function Settings.load() + if Controller then + Controller.registerSet("left", "right", "up", "down", "return", "rshift") + Controller.registerSet("a", "d", "w", "s", "g", "h") + end +end \ No newline at end of file -- cgit v1.1 From 1f6f24ba4fb434ed76fb118a21f7492a1b678bc4 Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 10 Oct 2016 17:37:36 +0200 Subject: Default settings file --- settings.lua | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'settings.lua') diff --git a/settings.lua b/settings.lua index 0a31b41..5b0e38a 100644 --- a/settings.lua +++ b/settings.lua @@ -5,4 +5,5 @@ function Settings.load() Controller.registerSet("left", "right", "up", "down", "return", "rshift") Controller.registerSet("a", "d", "w", "s", "g", "h") end -end \ No newline at end of file + print(love.filesystem.getIdentity(), love.filesystem.exists("settings.lua")) +end -- cgit v1.1 From 7e567d1fc37d8e65e4e8fe5c7ece2cea8a6567b1 Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 10 Oct 2016 22:33:34 +0200 Subject: Load controller sets from file --- settings.lua | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'settings.lua') diff --git a/settings.lua b/settings.lua index 5b0e38a..920abdf 100644 --- a/settings.lua +++ b/settings.lua @@ -2,8 +2,20 @@ Settings = {} function Settings.load() if Controller then - Controller.registerSet("left", "right", "up", "down", "return", "rshift") - Controller.registerSet("a", "d", "w", "s", "g", "h") + 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") + for _,set in pairs(getSettings()) do + local isJoystick = set[7] + if isJoystick then + -- Add first free joystick from joysticks list + end + Controller.registerSet(set[1], set[2], set[3], set[4], set[5], set[6], joystick) + end end - print(love.filesystem.getIdentity(), love.filesystem.exists("settings.lua")) end -- cgit v1.1 From 941d0214a4a1b499190f4f3c6133b5e512d897fe Mon Sep 17 00:00:00 2001 From: Aki Date: Mon, 10 Oct 2016 22:42:58 +0200 Subject: Add joystick controllers only if js present --- settings.lua | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'settings.lua') diff --git a/settings.lua b/settings.lua index 920abdf..93432a0 100644 --- a/settings.lua +++ b/settings.lua @@ -12,10 +12,14 @@ function Settings.load() local getSettings = love.filesystem.load("settings") for _,set in pairs(getSettings()) do local isJoystick = set[7] + local joystick if isJoystick then + joystick = love.joystick.getJoysticks()[1] -- Add first free joystick from joysticks list end - Controller.registerSet(set[1], set[2], set[3], set[4], set[5], set[6], joystick) + 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 -- cgit v1.1 From 73bcd524906c51d43b22b3ea68c64b38f130bea6 Mon Sep 17 00:00:00 2001 From: Aki Date: Tue, 20 Dec 2016 06:02:05 +0100 Subject: I have no idea why I have put everything in one commit --- settings.lua | 46 ++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 42 insertions(+), 4 deletions(-) (limited to 'settings.lua') diff --git a/settings.lua b/settings.lua index 93432a0..ad8b8e5 100644 --- a/settings.lua +++ b/settings.lua @@ -1,5 +1,5 @@ Settings = {} - +Settings.current = {} function Settings.load() if Controller then if not love.filesystem.exists("settings") then @@ -10,12 +10,15 @@ function Settings.load() new:close() def:close() end local getSettings = love.filesystem.load("settings") - for _,set in pairs(getSettings()) do + 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 - joystick = love.joystick.getJoysticks()[1] - -- Add first free joystick from joysticks list + -- 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) @@ -23,3 +26,38 @@ function Settings.load() 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 -- cgit v1.1