forked from Fierelier/me.fier.engine
Port game-specific logic to Lua
This commit is contained in:
parent
5722a621d8
commit
f5dcf6ccd3
@ -1,7 +1,43 @@
|
|||||||
|
engine_window_init(96,64,"Game")
|
||||||
texture = engine_texture_create(8,32)
|
texture = engine_texture_create(8,32)
|
||||||
engine_texture_from_file(texture,"assets/textures/fier0.rgba")
|
engine_texture_from_file(texture,"assets/textures/fier0.rgba")
|
||||||
|
|
||||||
a = 0
|
--[[
|
||||||
function engine_onFrame()
|
void handleEvent(struct ENGINE_EVENT * event) {
|
||||||
|
if (event->type == ENGINE_EVENT_TYPE_EXIT) {
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]]--
|
||||||
|
|
||||||
|
frame = 0
|
||||||
|
frameSec = 0
|
||||||
|
lastSec = 0
|
||||||
|
iters = 0
|
||||||
|
function tick()
|
||||||
|
frame = frame + 1
|
||||||
|
frameSec = frameSec + 1
|
||||||
|
t = engine_time_get()
|
||||||
|
if t - lastSec >= 1000 then
|
||||||
|
print("FPS: " ..tostring(frameSec))
|
||||||
|
lastSec = t
|
||||||
|
frameSec = 0
|
||||||
|
iters = iters + 1
|
||||||
|
if iters > 4 then os.exit() end
|
||||||
|
end
|
||||||
|
engine_window_present()
|
||||||
|
end
|
||||||
|
|
||||||
|
while true do
|
||||||
|
event = engine_event_get()
|
||||||
|
--[[
|
||||||
|
if (event->type != ENGINE_EVENT_TYPE_NONE) {
|
||||||
|
handleEvent(event);
|
||||||
|
} else {
|
||||||
|
tick();
|
||||||
|
}
|
||||||
|
]]--
|
||||||
|
engine_free(event) -- We can't actually do anything with the event yet (no Lua implementation)
|
||||||
|
tick()
|
||||||
engine_texture_render_2d(texture,math.random(-8,102),math.random(-8,72))
|
engine_texture_render_2d(texture,math.random(-8,102),math.random(-8,72))
|
||||||
end
|
end
|
||||||
|
36
main.c
36
main.c
@ -5,46 +5,10 @@
|
|||||||
#include "modules/engine/frontend/generic/textures.c"
|
#include "modules/engine/frontend/generic/textures.c"
|
||||||
#include "modules/engine/addon/lua.c"
|
#include "modules/engine/addon/lua.c"
|
||||||
|
|
||||||
void handleEvent(struct ENGINE_EVENT * event) {
|
|
||||||
if (event->type == ENGINE_EVENT_TYPE_EXIT) {
|
|
||||||
exit(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
int frame = 0;
|
|
||||||
int frameSec = 0;
|
|
||||||
Uint32 lastSec = 0;
|
|
||||||
|
|
||||||
void tick() {
|
|
||||||
frame += 1;
|
|
||||||
frameSec += 1;
|
|
||||||
unsigned long tick = engine_time_get();
|
|
||||||
if (tick - lastSec >= 1000) {
|
|
||||||
printf("FPS: %d\n",frameSec);
|
|
||||||
lastSec = tick;
|
|
||||||
frameSec = 0;
|
|
||||||
}
|
|
||||||
luaL_loadstring(engine_lua_state,"engine_onFrame()");
|
|
||||||
lua_call(engine_lua_state,0,0);
|
|
||||||
engine_window_present();
|
|
||||||
//engine_time_sleep(33);
|
|
||||||
}
|
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int main(int argc, char **argv) {
|
||||||
for (int i = 0; i < argc; ++i) {
|
for (int i = 0; i < argc; ++i) {
|
||||||
printf("argv[%d]: %s\n", i, argv[i]);
|
printf("argv[%d]: %s\n", i, argv[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
engine_window_init(96,64,"Game");
|
|
||||||
engine_luaInit();
|
engine_luaInit();
|
||||||
|
|
||||||
while (1) {
|
|
||||||
struct ENGINE_EVENT * event = engine_event_get();
|
|
||||||
if (event->type != ENGINE_EVENT_TYPE_NONE) {
|
|
||||||
handleEvent(event);
|
|
||||||
} else {
|
|
||||||
tick();
|
|
||||||
}
|
|
||||||
engine_free(event);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user