Engine 0.0.4
Game engine in lua
Loading...
Searching...
No Matches
main.lua
Go to the documentation of this file.
1local zeebo_module = require('src/lib/engine/module')
2local engine_encoder = require('src/lib/engine/encoder')
3local engine_fps = require('src/lib/engine/fps')
4local engine_math = require('src/lib/engine/math')
5local engine_game = require('src/lib/engine/game')
6local engine_http = require('src/lib/engine/http')
7local engine_color = require('src/lib/object/color')
8local engine_keys = require('src/engine/core/ginga/keys')
9local engine_loop = require('src/engine/core/ginga/loop')
10local engine_draw = require('src/engine/core/ginga/draw')
11local engine_draw_fps = require('src/lib/engine/draw_fps')
12local engine_draw_poly = require('src/lib/engine/draw_poly')
13local library_csv = require('src/third_party/csv/rodrigodornelles')
14local library_json = require('src/third_party/json/rxi')
15local protocol_http_ginga = require('src/lib/protocol/http_ginga')
16local application = nil
17local game = require('src/lib/object/game')
18local std = require('src/lib/object/std')
19
20--! @short nclua:canvas
21--! @li <http://www.telemidia.puc-rio.br/~francisco/nclua/referencia/canvas.html>
23
24--! @short nclua:event
25--! @li <http://www.telemidia.puc-rio.br/~francisco/nclua/referencia/event.html>
26local event = event
27
28--! @short clear ENV
29--! @brief GINGA?
30_ENV = nil
31
32local function event_loop(evt)
33 local index = 1
34 while index <= #application.internal.event_loop do
35 application.internal.event_loop[index](evt)
36 index = index + 1
37 end
38end
39
40local function fixed_loop()
41 local delay = application.internal.fps_controler(event.uptime())
42 local index = 1
43
44 while index <= #application.internal.fixed_loop do
45 application.internal.fixed_loop[index]()
46 index = index + 1
47 end
48
49 event.timer(delay, fixed_loop)
50end
51
52local function install(evt, gamefile)
53 if evt.class ~= 'ncl' or evt.action ~= 'start' then return end
54 local ginga = {
55 canvas=canvas,
56 event=event
57 }
58 local polygons = {
59 repeats={true, true},
60 line=canvas.drawLine,
61 object=canvas
62 }
63 local config_fps = {
64 list={100, 60, 30, 20, 15, 10},
65 time={1, 10, 30, 40, 60, 90}
66 }
67
68 application = zeebo_module.loadgame(gamefile)
69 if not application then
70 error('game not loaded!')
71 end
72
73 game.width, game.height = canvas:attrSize()
74 game.fps_max = application.config and application.config.fps_max or 100
75 game.fps_show = application.config and application.config.fps_show or 0
76 application.internal = {
77 event_loop={},
78 fixed_loop={}
79 }
80
82 :package('@fps', engine_fps, config_fps)
83 :package('@math', engine_math)
84 :package('@game', engine_game)
85 :package('@color', engine_color)
86 :package('@keys', engine_keys)
87 :package('@loop', engine_loop)
88 :package('@draw', engine_draw, ginga)
89 :package('@draw_fps', engine_draw_fps)
90 :package('@draw_poly', engine_draw_poly, polygons)
91 :package('load', zeebo_module.load)
94 :package('math', engine_math.clib)
95 :package('random', engine_math.clib_random)
97 :run()
98
99 application.callbacks.init(std, game)
100 event.timer(1, fixed_loop)
101 event.register(event_loop)
102 event.unregister(install)
103end
104
105event.register(install)
106return install
local json
Definition rxi.lua:2
local function run(self)
local function fps(self, show, x, y)
local function require(std, game, application)
local function package(self, module_name, module, custom)
local function error(self, handler_func)
local library_csv
Definition main.lua:13
local engine_loop
Definition main.lua:9
local engine_fps
Definition main.lua:3
local engine_draw_fps
Definition main.lua:11
local library_json
Definition main.lua:14
local application
Definition main.lua:16
local engine_game
Definition main.lua:5
local canvas
nclua:canvas
Definition main.lua:22
local game
Definition main.lua:17
local std
Definition main.lua:18
local engine_keys
Definition main.lua:8
local engine_color
Definition main.lua:7
local engine_math
Definition main.lua:4
local function fixed_loop()
local engine_draw_poly
Definition main.lua:12
local engine_http
Definition main.lua:6
local zeebo_module
Definition main.lua:1
local function install(evt, gamefile)
local event
nclua:event
Definition main.lua:26
local engine_encoder
Definition main.lua:2
_ENV
clear ENV
Definition main.lua:30
local function event_loop(evt)
local engine_draw
Definition main.lua:10
local protocol_http_ginga
Definition main.lua:15
local color
Definition main.lua:12
local function line(x1, y1, x2, y2)
local function clear(c)
local math
Definition draw.lua:1
local function draw(std, game)
local function loop(std, game)
local function http(std, game)