mirror of
https://github.com/usysrc/LICK.git
synced 2024-11-16 09:34:22 +00:00
refactor: ♻️ cleaned up local variables
This commit is contained in:
parent
05b0a9ab3c
commit
bc83e9484d
168
lick.lua
168
lick.lua
@ -1,7 +1,7 @@
|
|||||||
-- lick.lua
|
-- lick.lua
|
||||||
--
|
--
|
||||||
-- simple LIVECODING environment for Löve
|
-- simple LIVECODING environment for Löve
|
||||||
-- overwrites love.run, pressing all errors to the terminal/console
|
-- overwrites love.run, pressing all errors to the terminal/console or overlays it
|
||||||
|
|
||||||
local lick = {}
|
local lick = {}
|
||||||
lick.file = "main.lua"
|
lick.file = "main.lua"
|
||||||
@ -9,81 +9,88 @@ lick.debug = false
|
|||||||
lick.reset = false
|
lick.reset = false
|
||||||
lick.clearFlag = false
|
lick.clearFlag = false
|
||||||
lick.sleepTime = love.graphics.newCanvas and 0.001 or 1
|
lick.sleepTime = love.graphics.newCanvas and 0.001 or 1
|
||||||
|
lick.showReloadMessage = true
|
||||||
|
|
||||||
|
local drawok_old, updateok_old, loadok_old
|
||||||
local last_modified = 0
|
local last_modified = 0
|
||||||
|
local debugoutput = nil
|
||||||
|
|
||||||
|
-- Error handler wrapping for pcall
|
||||||
local function handle(err)
|
local function handle(err)
|
||||||
return "ERROR: " .. err
|
return "ERROR: " .. err
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Initialization
|
-- Initialization
|
||||||
local function load()
|
local function load()
|
||||||
last_modified = 0
|
last_modified = 0
|
||||||
|
end
|
||||||
|
|
||||||
|
local function checkFileUpdate()
|
||||||
|
local info = love.filesystem.getInfo(lick.file)
|
||||||
|
if not info or last_modified >= info.modtime then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
last_modified = info.modtime
|
||||||
|
local success, chunk = pcall(love.filesystem.load, lick.file)
|
||||||
|
if not success then
|
||||||
|
print(tostring(chunk))
|
||||||
|
debugoutput = chunk .. "\n"
|
||||||
|
end
|
||||||
|
local ok, err = xpcall(chunk, handle)
|
||||||
|
|
||||||
|
if not ok then
|
||||||
|
print(tostring(err))
|
||||||
|
if debugoutput then
|
||||||
|
debugoutput = (debugoutput .. "ERROR: " .. err .. "\n")
|
||||||
|
else
|
||||||
|
debugoutput = err .. "\n"
|
||||||
|
end
|
||||||
|
else
|
||||||
|
if lick.showReloadMessage then print("CHUNK LOADED\n") end
|
||||||
|
debugoutput = nil
|
||||||
|
end
|
||||||
|
if lick.reset then
|
||||||
|
local loadok, err = xpcall(love.load, handle)
|
||||||
|
if not loadok and not loadok_old then
|
||||||
|
print("ERROR: " .. tostring(err))
|
||||||
|
if debugoutput then
|
||||||
|
debugoutput = (debugoutput .. "ERROR: " .. err .. "\n")
|
||||||
|
else
|
||||||
|
debugoutput = err .. "\n"
|
||||||
|
end
|
||||||
|
loadok_old = not loadok
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function update(dt)
|
local function update(dt)
|
||||||
local info = love.filesystem.getInfo(lick.file)
|
checkFileUpdate()
|
||||||
if info and last_modified < info.modtime then
|
local updateok, err = pcall(love.update, dt)
|
||||||
last_modified = info.modtime
|
if not updateok and not updateok_old then
|
||||||
success, chunk = pcall(love.filesystem.load, lick.file)
|
print("ERROR: " .. tostring(err))
|
||||||
if not success then
|
if debugoutput then
|
||||||
print(tostring(chunk))
|
debugoutput = (debugoutput .. "ERROR: " .. err .. "\n")
|
||||||
lick.debugoutput = chunk .. "\n"
|
|
||||||
end
|
|
||||||
ok,err = xpcall(chunk, handle)
|
|
||||||
|
|
||||||
if not ok then
|
|
||||||
print(tostring(err))
|
|
||||||
if lick.debugoutput then
|
|
||||||
lick.debugoutput = (lick.debugoutput .."ERROR: ".. err .. "\n" )
|
|
||||||
else
|
|
||||||
lick.debugoutput = err .. "\n"
|
|
||||||
end
|
|
||||||
else
|
else
|
||||||
print("CHUNK LOADED\n")
|
debugoutput = err .. "\n"
|
||||||
lick.debugoutput = nil
|
|
||||||
end
|
|
||||||
if lick.reset then
|
|
||||||
loadok, err = xpcall(love.load, handle)
|
|
||||||
if not loadok and not loadok_old then
|
|
||||||
print("ERROR: "..tostring(err))
|
|
||||||
if lick.debugoutput then
|
|
||||||
lick.debugoutput = (lick.debugoutput .."ERROR: ".. err .. "\n" )
|
|
||||||
else
|
|
||||||
lick.debugoutput = err .. "\n"
|
|
||||||
end
|
|
||||||
loadok_old = not loadok
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
updateok_old = not updateok
|
||||||
updateok, err = pcall(love.update,dt)
|
|
||||||
if not updateok and not updateok_old then
|
|
||||||
print("ERROR: "..tostring(err))
|
|
||||||
if lick.debugoutput then
|
|
||||||
lick.debugoutput = (lick.debugoutput .."ERROR: ".. err .. "\n" )
|
|
||||||
else
|
|
||||||
lick.debugoutput = err .. "\n"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
updateok_old = not updateok
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local function draw()
|
local function draw()
|
||||||
drawok, err = xpcall(love.draw, handle)
|
local drawok, err = xpcall(love.draw, handle)
|
||||||
if not drawok and not drawok_old then
|
if not drawok and not drawok_old then
|
||||||
print(tostring(err))
|
print(tostring(err))
|
||||||
if lick.debugoutput then
|
if debugoutput then
|
||||||
lick.debugoutput = (lick.debugoutput .. err .. "\n" )
|
debugoutput = (debugoutput .. err .. "\n")
|
||||||
else
|
else
|
||||||
lick.debugoutput = err .. "\n"
|
debugoutput = err .. "\n"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if lick.debug and lick.debugoutput then
|
if lick.debug and debugoutput then
|
||||||
love.graphics.setColor(1,1,1,0.8)
|
love.graphics.setColor(1, 1, 1, 0.8)
|
||||||
love.graphics.printf(lick.debugoutput, (love.graphics.getWidth()/2)+50, 0, 400, "right")
|
love.graphics.printf(debugoutput, (love.graphics.getWidth() / 2) + 50, 0, 400, "right")
|
||||||
end
|
end
|
||||||
drawok_old = not drawok
|
drawok_old = not drawok
|
||||||
end
|
end
|
||||||
@ -91,7 +98,8 @@ end
|
|||||||
|
|
||||||
function love.run()
|
function love.run()
|
||||||
math.randomseed(os.time())
|
math.randomseed(os.time())
|
||||||
math.random() math.random()
|
math.random()
|
||||||
|
math.random()
|
||||||
load()
|
load()
|
||||||
|
|
||||||
local dt = 0
|
local dt = 0
|
||||||
@ -101,37 +109,37 @@ function love.run()
|
|||||||
-- Process events.
|
-- Process events.
|
||||||
if love.event then
|
if love.event then
|
||||||
love.event.pump()
|
love.event.pump()
|
||||||
for e,a,b,c,d in love.event.poll() do
|
for e, a, b, c, d in love.event.poll() do
|
||||||
if e == "quit" then
|
if e == "quit" then
|
||||||
if not love.quit or not love.quit() then
|
if not love.quit or not love.quit() then
|
||||||
if love.audio then
|
if love.audio then
|
||||||
love.audio.stop()
|
love.audio.stop()
|
||||||
|
end
|
||||||
|
return
|
||||||
end
|
end
|
||||||
return
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
love.handlers[e](a, b, c, d)
|
||||||
end
|
end
|
||||||
|
|
||||||
love.handlers[e](a,b,c,d)
|
|
||||||
end
|
end
|
||||||
end
|
|
||||||
|
|
||||||
-- Update dt, as we'll be passing it to update
|
-- Update dt, as we'll be passing it to update
|
||||||
if love.timer then
|
if love.timer then
|
||||||
love.timer.step()
|
love.timer.step()
|
||||||
dt = love.timer.getDelta()
|
dt = love.timer.getDelta()
|
||||||
end
|
end
|
||||||
|
|
||||||
-- Call update and draw
|
-- Call update and draw
|
||||||
if update then update(dt) end -- will pass 0 if love.timer is disabled
|
if update then update(dt) end -- will pass 0 if love.timer is disabled
|
||||||
if love.graphics then
|
if love.graphics then
|
||||||
love.graphics.origin()
|
love.graphics.origin()
|
||||||
love.graphics.clear(love.graphics.getBackgroundColor())
|
love.graphics.clear(love.graphics.getBackgroundColor())
|
||||||
if draw then draw() end
|
if draw then draw() end
|
||||||
end
|
end
|
||||||
|
|
||||||
if love.timer then love.timer.sleep(lick.sleepTime) end
|
if love.timer then love.timer.sleep(lick.sleepTime) end
|
||||||
if love.graphics then love.graphics.present() end
|
if love.graphics then love.graphics.present() end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
return lick
|
return lick
|
||||||
|
Loading…
Reference in New Issue
Block a user