Restructure
This commit is contained in:
parent
1f51cea02c
commit
e5914a3f54
@ -1,51 +0,0 @@
|
||||
engine_window_init(96,64,"Game")
|
||||
texture = engine_texture_create(8,8)
|
||||
engine_texture_from_file(texture,"assets/textures/fier0.rgba")
|
||||
|
||||
--[[
|
||||
void handleEvent(struct ENGINE_EVENT * event) {
|
||||
if (event->type == ENGINE_EVENT_TYPE_EXIT) {
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
]]--
|
||||
|
||||
frame = 0
|
||||
frameSec = 0
|
||||
lastSec = 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
|
||||
end
|
||||
engine_window_present()
|
||||
end
|
||||
|
||||
function handleEvent(event,eventData)
|
||||
if eventData[1] == ENGINE_EVENT_TYPE_EXIT then
|
||||
os.exit()
|
||||
end
|
||||
|
||||
if eventData[1] == ENGINE_EVENT_TYPE_INPUT_KB then
|
||||
for _,val in pairs(eventData) do
|
||||
print(tostring(val))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
while true do
|
||||
event = engine_event_get()
|
||||
eventData = {engine_lua_event_get_data(event)}
|
||||
if eventData[1] ~= ENGINE_EVENT_TYPE_NONE then
|
||||
handleEvent(event,eventData)
|
||||
else
|
||||
tick()
|
||||
end
|
||||
|
||||
engine_event_free(event)
|
||||
engine_texture_render_2d(texture,math.random(-8,102),math.random(-8,72))
|
||||
end
|
Binary file not shown.
Binary file not shown.
@ -83,6 +83,6 @@ for func in functions:
|
||||
|
||||
ofile.write('''\
|
||||
engine_lua_init_manual();
|
||||
luaL_loadfile(engine_lua_state,"assets/scripts/main.lua");
|
||||
luaL_loadfile(engine_lua_state,"mods/main/script/main.lua");
|
||||
lua_call(engine_lua_state,0,0);
|
||||
}''')
|
||||
|
15
main.c
15
main.c
@ -1,15 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "modules/engine/main.c"
|
||||
#include "modules/engine/textures.c"
|
||||
#include "modules/engine/frontend/sdl/main.c"
|
||||
#include "modules/engine/frontend/generic/textures.c"
|
||||
#include "modules/engine/lua.c"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
printf("argv[%d]: %s\n", i, argv[i]);
|
||||
}
|
||||
|
||||
engine_lua_init();
|
||||
}
|
61
mods/main/script/main.lua
Normal file
61
mods/main/script/main.lua
Normal file
@ -0,0 +1,61 @@
|
||||
function main()
|
||||
math.randomseed(os.time())
|
||||
engine_window_init(96,64,"Game")
|
||||
texture = engine_texture_create(8,8)
|
||||
engine_texture_from_file(texture,bp("texture/fier.rgba"))
|
||||
|
||||
while true do
|
||||
event = engine_event_get()
|
||||
eventData = {engine_lua_event_get_data(event)}
|
||||
if eventData[1] ~= ENGINE_EVENT_TYPE_NONE then
|
||||
handleEvent(event,eventData)
|
||||
else
|
||||
tick()
|
||||
end
|
||||
|
||||
engine_event_free(event)
|
||||
end
|
||||
end
|
||||
|
||||
lastFrame = 0
|
||||
function tick()
|
||||
engine_texture_render_2d(texture,math.random(0,88),math.random(0,56))
|
||||
engine_window_present()
|
||||
trackFps()
|
||||
local curFrame = engine_time_get()
|
||||
local wait = 16 - (curFrame - lastFrame)
|
||||
if wait > 0 then engine_time_sleep(wait) end
|
||||
lastFrame = engine_time_get()
|
||||
end
|
||||
|
||||
function handleEvent(event,eventData)
|
||||
if eventData[1] == ENGINE_EVENT_TYPE_EXIT then
|
||||
os.exit()
|
||||
end
|
||||
|
||||
if eventData[1] == ENGINE_EVENT_TYPE_INPUT_KB then
|
||||
for _,val in pairs(eventData) do
|
||||
print(tostring(val))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
local frameSec = 0
|
||||
local lastSec = 0
|
||||
function trackFps()
|
||||
frameSec = frameSec + 1
|
||||
t = engine_time_get()
|
||||
if t - lastSec >= 1000 then
|
||||
print("FPS: " ..tostring(frameSec))
|
||||
lastSec = t
|
||||
frameSec = 0
|
||||
end
|
||||
end
|
||||
|
||||
function bp(pth)
|
||||
return basepath .. "/mods/main/" ..pth
|
||||
end
|
||||
|
||||
basepath = (debug.getinfo(1, "S").source:sub(2):match("(.*[/\\])") or "./"):sub(1,-2) .. "/../../.." -- Lazy, fix
|
||||
package.path = basepath.. "/mods/main/script/?.lua;" ..basepath.. "/mods/main/script/?/main.lua;" ..package.path
|
||||
main()
|
2
run
2
run
@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
./lua_translate
|
||||
gcc main.c -g -lSDL2 -llua5.3 -o engine -O3 -Werror -Wall
|
||||
gcc src/main.c -g -lSDL2 -llua5.3 -o engine -O3 -Werror -Wall
|
||||
exec ./engine
|
||||
|
@ -28,7 +28,7 @@
|
||||
// INTEGER UPSCALING
|
||||
// 2 makes the surface scaled 2x, 3 = 3x, etc.
|
||||
// TODO: Fix ENGINE_SDL_TRANSPARENCY 2
|
||||
#define ENGINE_SDL_SCALE 5
|
||||
#define ENGINE_SDL_SCALE 2
|
||||
|
||||
// SKIP: COLOR
|
||||
// Skip setting colors every X requests. Set to 2 to skip every second request, 3 for every third, etc.
|
@ -152,6 +152,6 @@ void engine_lua_init() {
|
||||
lua_pushcfunction(engine_lua_state,engine_luaf_texture_from_file);
|
||||
lua_setglobal (engine_lua_state,"engine_texture_from_file");
|
||||
engine_lua_init_manual();
|
||||
luaL_loadfile(engine_lua_state,"assets/scripts/main.lua");
|
||||
luaL_loadfile(engine_lua_state,"mods/main/script/main.lua");
|
||||
lua_call(engine_lua_state,0,0);
|
||||
}
|
16
src/main.c
Normal file
16
src/main.c
Normal file
@ -0,0 +1,16 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "engine/main.c"
|
||||
#include "engine/textures.c"
|
||||
#include "engine/frontend/sdl/main.c"
|
||||
#include "engine/frontend/generic/textures.c"
|
||||
#include "engine/lua.c"
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
printf("argv[%d]: %s\n", i, argv[i]);
|
||||
}
|
||||
|
||||
engine_lua_init();
|
||||
return 0;
|
||||
}
|
145
test.c
145
test.c
@ -1,145 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include "modules/engine/main.c"
|
||||
#include "modules/engine/frontend/sdl/main.c"
|
||||
#include "modules/engine/frontend/generic/textures.c"
|
||||
//#include "modules/engine/frontend/sdl/textures.c" // TODO
|
||||
|
||||
void handleEvent(struct ENGINE_EVENT * event) {
|
||||
if (event->type == ENGINE_EVENT_TYPE_EXIT) {
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
int frame = 0;
|
||||
int frameSec = 0;
|
||||
Uint32 lastSec = 0;
|
||||
char tr, tg, tb;
|
||||
|
||||
struct ENGINE_TEXTURE * texture;
|
||||
void tick() {
|
||||
int y = 0;
|
||||
while (y < engine_height) {
|
||||
int x = 0;
|
||||
while (x < engine_width) {
|
||||
/*tr = (char)(x + y) + ((char)frame * 1);
|
||||
tg = (char)(x + y) + ((char)frame * 3);
|
||||
tb = (char)(x + y) + ((char)frame * 5);*/
|
||||
|
||||
/*tr = (char)(x + y) * (char)frame * 1;
|
||||
tg = (char)(x + y) * (char)frame * 3;
|
||||
tb = (char)(x + y) * (char)frame * 5;*/
|
||||
|
||||
tr = (char)((x * y) + 64) + frame;
|
||||
tg = (char)((x * y) + 128) + frame;
|
||||
tb = (char)((x * y) + 192) + frame;
|
||||
|
||||
/*int part = engine_width / 3;
|
||||
if (x < part * 1) {
|
||||
tr = 255;
|
||||
tg = 0;
|
||||
tb = 0;
|
||||
} else if (x < part * 2) {
|
||||
tr = 0;
|
||||
tg = 255;
|
||||
tb = 0;
|
||||
} else {
|
||||
tr = 0;
|
||||
tg = 0;
|
||||
tb = 255;
|
||||
}*/
|
||||
|
||||
/*tr = 0;
|
||||
tg = 255 - ((char)((x * y) + 128) + frame);
|
||||
tb = 0;*/
|
||||
|
||||
/*tr = (char)(((float)x / (float)engine_width) * 255);
|
||||
tg = 255 - tr;
|
||||
tb = (char)(((float)y / (float)engine_height) * 255);*/
|
||||
engine_surface_color_set(tr,tg,tb,255);
|
||||
engine_surface_draw_pixel(x,y);
|
||||
++x;
|
||||
}
|
||||
++y;
|
||||
}
|
||||
|
||||
//y = 0;
|
||||
//while (y < engine_height) {
|
||||
// int x = 0;
|
||||
// while (x < engine_width) {
|
||||
// tr = (char)(x + y) + ((char)frame * 1);
|
||||
// tg = (char)(x + y) + ((char)frame * 3);
|
||||
// tb = (char)(x + y) + ((char)frame * 5);
|
||||
|
||||
/*tr = (char)(x + y) * (char)frame * 1;
|
||||
tg = (char)(x + y) * (char)frame * 3;
|
||||
tb = (char)(x + y) * (char)frame * 5;*/
|
||||
|
||||
/*tr = (char)((x * y) + 64) + frame;
|
||||
tg = (char)((x * y) + 128) + frame;
|
||||
tb = (char)((x * y) + 192) + frame;*/
|
||||
|
||||
/*int part = engine_width / 3;
|
||||
if (x < part * 1) {
|
||||
tr = 255;
|
||||
tg = 0;
|
||||
tb = 0;
|
||||
} else if (x < part * 2) {
|
||||
tr = 0;
|
||||
tg = 255;
|
||||
tb = 0;
|
||||
} else {
|
||||
tr = 0;
|
||||
tg = 0;
|
||||
tb = 255;
|
||||
}*/
|
||||
|
||||
/*tr = 0;
|
||||
tg = 255 - ((char)((x * y) + 128) + frame);
|
||||
tb = 0;*/
|
||||
|
||||
/*tr = (char)(((float)x / (float)engine_width) * 255);
|
||||
tg = 255 - tr;
|
||||
tb = (char)(((float)y / (float)engine_height) * 255);*/
|
||||
// engine_surface_color_set(tr,tg,tb,128);
|
||||
// engine_surface_draw_pixel(x,y);
|
||||
// ++x;
|
||||
// }
|
||||
// ++y;
|
||||
//}
|
||||
|
||||
|
||||
engine_texture_render_2d(texture,5,5);
|
||||
|
||||
frame += 1;
|
||||
frameSec += 1;
|
||||
Uint32 tick = SDL_GetTicks();
|
||||
if (tick - lastSec >= 1000) {
|
||||
printf("FPS: %d\n",frameSec);
|
||||
lastSec = tick;
|
||||
frameSec = 0;
|
||||
}
|
||||
engine_window_present();
|
||||
//engine_time_sleep(33);
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
texture = engine_texture_create(8,8);
|
||||
engine_texture_from_file(texture,"assets/textures/fier.rgba");
|
||||
|
||||
for (int i = 0; i < argc; ++i) {
|
||||
printf("argv[%d]: %s\n", i, argv[i]);
|
||||
}
|
||||
|
||||
engine_window_init(256,256,"Game");
|
||||
|
||||
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