2023-01-24 22:30:38 +00:00
|
|
|
local love = love
|
2023-01-22 15:22:51 +00:00
|
|
|
|
|
|
|
local draw = love.draw
|
|
|
|
local update = love.update
|
|
|
|
local mousepressed = love.mousepressed
|
|
|
|
local keypressed = love.keypressed
|
|
|
|
local mousemoved = love.mousemoved
|
|
|
|
|
|
|
|
local function Restore()
|
|
|
|
love.mousemoved = mousemoved
|
|
|
|
love.keypressed = keypressed
|
|
|
|
love.mousepressed = mousepressed
|
|
|
|
love.update = update
|
|
|
|
love.draw = draw
|
|
|
|
end
|
|
|
|
|
2023-01-24 22:30:38 +00:00
|
|
|
local options = options
|
|
|
|
local optionList = {}
|
|
|
|
|
|
|
|
options.isHighContrast = false
|
|
|
|
options.keyBinds = {}
|
|
|
|
|
|
|
|
local font = love.graphics.newFont( 32 )
|
|
|
|
|
|
|
|
local keyBindCallback = function(self, code)
|
|
|
|
self.value = code
|
|
|
|
options.keyBinds[self.name] = code
|
|
|
|
end
|
|
|
|
|
|
|
|
options.optionValues = {
|
|
|
|
{ name = "options",
|
|
|
|
value = "back",
|
|
|
|
callback = function(self)
|
|
|
|
return Restore()
|
|
|
|
end
|
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "high contrast",
|
|
|
|
value = false,
|
|
|
|
callback = function(self)
|
|
|
|
self.value = true
|
|
|
|
end
|
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "volume",
|
|
|
|
value = 1.0,
|
|
|
|
callback = function(self, isIncreasing)
|
|
|
|
self.value = math.max( 0, math.min( 1,
|
|
|
|
self.value + (isIncreasing and 0.05 or -0.05 )))
|
|
|
|
end
|
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "left",
|
|
|
|
value = "a",
|
|
|
|
callback = keyBindCallback
|
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "right",
|
|
|
|
value = "d",
|
|
|
|
callback = keyBindCallback
|
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "up",
|
|
|
|
value = "w",
|
|
|
|
callback = keyBindCallback
|
|
|
|
},
|
|
|
|
|
|
|
|
{ name = "down",
|
|
|
|
value = "s",
|
|
|
|
callback = keyBindCallback
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
local function SetKeyBind( dir, code )
|
|
|
|
|
|
|
|
end
|
|
|
|
|
2023-01-22 15:22:51 +00:00
|
|
|
local optionIdx
|
|
|
|
|
|
|
|
local function Draw()
|
2023-01-24 22:30:38 +00:00
|
|
|
love.graphics.setColor( 1,1,1,1 )
|
|
|
|
for i, option in ipairs( options.optionValues ) do
|
|
|
|
love.graphics.printf( option.name, font, 100, i * 50, 1000, "left")
|
|
|
|
love.graphics.printf( tostring( option.value ), font, -100, i * 50, love.graphics.getWidth(), "right")
|
|
|
|
end
|
2023-01-22 15:22:51 +00:00
|
|
|
end
|
|
|
|
|
|
|
|
local function Update()
|
|
|
|
|
|
|
|
end
|
|
|
|
|
2023-01-24 22:30:38 +00:00
|
|
|
local function ToggleSelectedOption()
|
2023-01-22 15:22:51 +00:00
|
|
|
|
|
|
|
end
|
|
|
|
|
2023-01-24 22:30:38 +00:00
|
|
|
local function MousePress()
|
2023-01-22 15:22:51 +00:00
|
|
|
|
|
|
|
end
|
|
|
|
|
2023-01-24 22:30:38 +00:00
|
|
|
local function KeyPress(key, code, isRepeat)
|
|
|
|
print( code )
|
|
|
|
if code == "backspace" then return Restore() end
|
|
|
|
if code == "down" then return SelectNextOption() end
|
|
|
|
if code == "up" then return SelectPreviousOption() end
|
|
|
|
if code == "left" then return ShrinkOptionValue() end
|
|
|
|
if code == "right" then return GrowOptionValue() end
|
|
|
|
end
|
|
|
|
|
2023-01-22 15:22:51 +00:00
|
|
|
love.draw = Draw
|
2023-01-24 22:30:38 +00:00
|
|
|
love.keypressed = KeyPress
|
2023-01-22 15:22:51 +00:00
|
|
|
|
|
|
|
--[[function love.draw()
|
|
|
|
love.graphics.print( "a" )
|
|
|
|
end
|
|
|
|
|
|
|
|
function love.update()
|
|
|
|
|
|
|
|
end]]
|
|
|
|
|
|
|
|
--[[love.mousepressed = function()
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
love.draw = function()
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
love.update = function()
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
love.keypressed = function()
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
love.mousemoved = function()
|
|
|
|
|
|
|
|
end]]
|