aboutsummaryrefslogtreecommitdiff
path: root/src/libjin-lua/embed/scripts/app.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2018-12-22 13:10:45 +0800
committerchai <chaifix@163.com>2018-12-22 13:10:45 +0800
commit731a8ba6e52aa0b000b46c89e414a248e05778ff (patch)
tree5e6c62d0469f9a6e6019228a81a23bdfb9b4505e /src/libjin-lua/embed/scripts/app.lua
parentef7c4915c20d7f6ceb5484f99f96979fd5a9594d (diff)
*移动embed script位置
Diffstat (limited to 'src/libjin-lua/embed/scripts/app.lua')
-rw-r--r--src/libjin-lua/embed/scripts/app.lua137
1 files changed, 0 insertions, 137 deletions
diff --git a/src/libjin-lua/embed/scripts/app.lua b/src/libjin-lua/embed/scripts/app.lua
deleted file mode 100644
index a55b598..0000000
--- a/src/libjin-lua/embed/scripts/app.lua
+++ /dev/null
@@ -1,137 +0,0 @@
-
-jin.filesystem.init()
-jin.filesystem.mount(jin.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
-
-local step = jin.time.step
-jin.time.step = nil
-
-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
- step()
- dt = jin.time.getDelta()
- 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.audio.destroy()
- 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()