diff options
Diffstat (limited to 'src/libjin-lua/scripts/app.lua')
-rw-r--r-- | src/libjin-lua/scripts/app.lua | 136 |
1 files changed, 68 insertions, 68 deletions
diff --git a/src/libjin-lua/scripts/app.lua b/src/libjin-lua/scripts/app.lua index 6ea9ee1..bd82d72 100644 --- a/src/libjin-lua/scripts/app.lua +++ b/src/libjin-lua/scripts/app.lua @@ -8,51 +8,51 @@ jin.filesystem.mount(jin.cwd) jin.config = {} if jin.filesystem.exist("config.lua") then - xpcall(function()jin.config = require "config" end, function()end) + xpcall(function()jin.config = require "config" end, function()end) end -jin.config.width = jin.config.width or 580 -jin.config.height = jin.config.height or 450 -jin.config.vsync = jin.config.vsync or true -jin.config.title = jin.config.title or ("jin v" .. jin.version) +jin.config.width = jin.config.width or 580 +jin.config.height = jin.config.height or 450 +jin.config.vsync = jin.config.vsync or true +jin.config.title = jin.config.title or ("jin v" .. jin.version) jin.config.resizable = jin.config.resizable or false jin.config.fullscreen = jin.config.fullscreen or false -jin.config.fps = jin.config.fps or 60 -jin.config.icon = jin.config.icon or "" +jin.config.fps = jin.config.fps or 60 +jin.config.icon = jin.config.icon or "" ------------------------------------------------------------------------- -- Default game loop ------------------------------------------------------------------------- local function call(func, ...) - if func then - return func(...) - end + if func then + return func(...) + end end function jin.core.run() - jin.graphics.reset() - call(jin.core.onLoad) - local dt = 0 - while jin.core.running() do - for _, e in pairs(jin.event.poll()) do - if e.type == "KeyDown" then - jin.keyboard.set(e.key, true) - elseif e.type == "KeyUp" then - jin.keyboard.set(e.key, false) - end - call(jin.core.onEvent, e) - end - jin.time.step() - dt = jin.time.getDelta() - call(jin.core.onUpdate, dt) - -- Screen is always cleared with full black - jin.graphics.setClearColor(0, 0, 0, 0xff) - jin.graphics.clear() - call(jin.core.onDraw) - jin.graphics.present() - jin.time.sleep(0.001) + jin.graphics.reset() + call(jin.core.onLoad) + local dt = 0 + while jin.core.running() do + for _, e in pairs(jin.event.poll()) do + if e.type == "KeyDown" then + jin.keyboard.set(e.key, true) + elseif e.type == "KeyUp" then + jin.keyboard.set(e.key, false) + end + call(jin.core.onEvent, e) end - call(jin.core.onQuit) + jin.time.step() + dt = jin.time.getDelta() + call(jin.core.onUpdate, dt) + -- Screen is always cleared with full black + jin.graphics.setClearColor(0, 0, 0, 0xff) + jin.graphics.clear() + call(jin.core.onDraw) + jin.graphics.present() + jin.time.sleep(0.001) + end + call(jin.core.onQuit) end ------------------------------------------------------------------------- @@ -61,51 +61,51 @@ end -- Display error message. local function onError(msg) - local err = "Error occurred:\n" .. msg .. "\n" .. debug.traceback() - jin.log.error(err) - jin.graphics.showWindow() - jin.graphics.reset() - jin.graphics.setClearColor(100, 100, 100, 255) - jin.graphics.clear() - jin.graphics.print(err, 5, 5) - jin.graphics.present() - while jin.core.running() do - for _, e in pairs(jin.event.poll()) do - if e.type == "Quit" then - jin.core.stop() - end - end - jin.time.sleep(0.001) + local err = "Error occurred:\n" .. msg .. "\n" .. debug.traceback() + jin.log.error(err) + jin.graphics.showWindow() + jin.graphics.reset() + jin.graphics.setClearColor(100, 100, 100, 255) + jin.graphics.clear() + jin.graphics.print(err, 5, 5) + jin.graphics.present() + while jin.core.running() do + for _, e in pairs(jin.event.poll()) do + if e.type == "Quit" then + jin.core.stop() + end end + jin.time.sleep(0.001) + end end -- No game screen. local function noGame() - jin.graphics.showWindow() - jin.graphics.reset() - jin.graphics.setClearColor(100, 100, 100, 255) - jin.graphics.clear() - jin.graphics.print("No Game", 5, 5) - jin.graphics.present() - while jin.core.running() do - for _, e in pairs(jin.event.poll()) do - if e.type == "Quit" then - jin.core.stop() - end - end - jin.time.sleep(0.001) + jin.graphics.showWindow() + jin.graphics.reset() + jin.graphics.setClearColor(100, 100, 100, 255) + jin.graphics.clear() + jin.graphics.print("No Game", 5, 5) + jin.graphics.present() + while jin.core.running() do + for _, e in pairs(jin.event.poll()) do + if e.type == "Quit" then + jin.core.stop() + end end + jin.time.sleep(0.001) + end end local function boot() - if jin.filesystem.exist("main.lua") then - call(function() - require"main" - jin.core.run() - end) - else - noGame() - end + if jin.filesystem.exist("main.lua") then + call(function() + require"main" + jin.core.run() + end) + else + noGame() + end end ------------------------------------------------------------------------- |