diff options
author | Kartik K. Agaram <vc@akkartik.com> | 2022-05-22 08:54:33 -0700 |
---|---|---|
committer | Kartik K. Agaram <vc@akkartik.com> | 2022-05-22 10:40:34 -0700 |
commit | ac74592c426c0133364625fcafd1c40c993ed8ff (patch) | |
tree | 5e0341544906e9bbc6febeeb711d678cb15ca77e | |
parent | 5b9d8337c184a1d3043fb13942626a479fd68a40 (diff) | |
download | text.love-ac74592c426c0133364625fcafd1c40c993ed8ff.tar.gz |
beginnings of a test harness
I have no fucking idea what I'm doing. All I know is that there's still too many goddamn bugs[1]. Test motherfucking harness or bust. For starters this is just the default love.run from https://love2d.org/wiki/love.run [1] The following file crashes if you repeatedly press cursor-down: << a b c ```lines ``` x >>
-rw-r--r-- | main.lua | 1 | ||||
-rw-r--r-- | run.lua | 37 |
2 files changed, 38 insertions, 0 deletions
diff --git a/main.lua b/main.lua index fc27611..551451c 100644 --- a/main.lua +++ b/main.lua @@ -7,6 +7,7 @@ local Drawing = require 'drawing' local geom = require 'geom' require 'help' require 'icons' +require 'run' -- a line is either text or a drawing -- a text is a table with: diff --git a/run.lua b/run.lua new file mode 100644 index 0000000..a2124d0 --- /dev/null +++ b/run.lua @@ -0,0 +1,37 @@ +-- main entrypoint from LÖVE + +function love.run() + if love.load then love.load(love.arg.parseGameArguments(arg), arg) end + if love.timer then love.timer.step() end + + local dt = 0 + + return function() + if love.event then + love.event.pump() + for name, a,b,c,d,e,f in love.event.poll() do + if name == "quit" then + if not love.quit or not love.quit() then + return a or 0 + end + end + love.handlers[name](a,b,c,d,e,f) + end + end + + if love.timer then dt = love.timer.step() end + + if love.update then love.update(dt) end -- will pass 0 if love.timer is disabled + + if love.graphics and love.graphics.isActive() then + love.graphics.origin() + love.graphics.clear(love.graphics.getBackgroundColor()) + + if love.draw then love.draw() end + + love.graphics.present() + end + + if love.timer then love.timer.sleep(0.001) end + end +end |