diff options
author | chai <chaifix@163.com> | 2018-11-10 20:13:55 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2018-11-10 20:13:55 +0800 |
commit | e92caa97329016d012b46b9d37e1b2c3b613a8f2 (patch) | |
tree | 5bef0b7547e12f61dede5e09843e1718b808f9c4 /src/lua/embed/boot.lua.h | |
parent | 63153bc8e742c522cfd3f5ab10609966e33310e6 (diff) |
*修改代码结构
Diffstat (limited to 'src/lua/embed/boot.lua.h')
-rw-r--r-- | src/lua/embed/boot.lua.h | 138 |
1 files changed, 0 insertions, 138 deletions
diff --git a/src/lua/embed/boot.lua.h b/src/lua/embed/boot.lua.h deleted file mode 100644 index 0884188..0000000 --- a/src/lua/embed/boot.lua.h +++ /dev/null @@ -1,138 +0,0 @@ -/* boot.lua */ -static const char* boot_lua = R"( -local cwd = jin.args['cwd'] or '.' -jin.filesystem.init() -jin.filesystem.mount(cwd) - -------------------------------------------------------------------------- --- Config game -------------------------------------------------------------------------- - -jin.config = {} -if jin.filesystem.exist("config.lua") then - 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.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 "" - -------------------------------------------------------------------------- --- Default game loop -------------------------------------------------------------------------- - -local function call(func, ...) - if func then - return func(...) - end -end - -function jin.core.run() - jin.graphics.reset() - call(jin.core.onLoad) - local dt = 0 - local previous = jin.time.second() - local current = previous - 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 - previous = current - current = jin.time.second() - dt = current - previous - call(jin.core.onUpdate, dt) - jin.graphics.clear() - call(jin.core.onDraw) - jin.graphics.present() - jin.time.sleep(0.001) - end -end - -------------------------------------------------------------------------- --- Boot game -------------------------------------------------------------------------- - --- Display error message. -local function onError(msg) - jin.graphics.showWindow() - local err = "Error:\n" .. msg .. "\n" .. debug.traceback() - 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) - end -end - -local function boot() - if jin.filesystem.exist("main.lua") then - call(function() - require"main" - jin.core.run() - end) - else - noGame() - end -end - -------------------------------------------------------------------------- --- Initialize sub systems -------------------------------------------------------------------------- - -jin.audio.init() -jin.graphics.init(jin.config) - -------------------------------------------------------------------------- --- Boot game -------------------------------------------------------------------------- - -xpcall(boot, onError) - -------------------------------------------------------------------------- --- Destroy sub-systems -------------------------------------------------------------------------- - -jin.graphics.destroy() -jin.audio.destroy() - -------------------------------------------------------------------------- --- Quit game -------------------------------------------------------------------------- - -jin.core.quit() - -)";
\ No newline at end of file |