Abstract, software accelerated (CPU-only) engine for older hardware
Go to file
2023-05-15 10:02:33 +02:00
assets Port game-specific logic to Lua 2023-05-14 22:48:25 +02:00
modules/engine Add lua_manual.c (Manual Lua bindings) 2023-05-15 10:02:33 +02:00
.gitignore Fix .gitignore 2023-05-14 20:39:31 +02:00
LICENSE Add LICENSE 2023-05-14 17:53:18 +02:00
lua_translate Add lua_manual.c (Manual Lua bindings) 2023-05-15 10:02:33 +02:00
main.c Port game-specific logic to Lua 2023-05-14 22:48:25 +02:00
README.txt Fix mistake in documentation 2023-05-14 20:33:44 +02:00
run Oops, move lua_translate up 2023-05-14 22:19:36 +02:00
test.c Make engine_event_get() return a pointer 2023-05-14 21:41:46 +02:00

A software accelerated (CPU-only) game engine for older computers. It uses a layer of abstraction, so different implementations can be ported to it. It primarily uses SDL2. This can also be used to more easily port the engine to different consoles.

>>> FUNCTIONS
>> WINDOW
> void engine_window_init(int width,int height,char * title)
> void engine_window_present()

>> SURFACE
> void engine_surface_color_set(char r,char g,char b,char a)
> void engine_surface_draw_pixel(int x,int y)

>> TIME
> long long engine_time_get()
> void engine_time_sleep(long long ms)

>> LOGIC
> struct ENGINE_EVENT * engine_event_get()

>> TEXTURES
> struct ENGINE_TEXTURE * engine_texture_create(int width,int height)
> void engine_texture_color_set(char r,char g,char b,char a)
> void engine_texture_draw_pixel(struct ENGINE_TEXTURE * texture,int x,int y)
> void engine_texture_destroy(struct ENGINE_TEXTURE * texture)
> void engine_texture_render_2d(struct ENGINE_TEXTURE * texture,int sx,int sy)
> void engine_texture_from_file(struct ENGINE_TEXTURE * texture,char * fpath)

>>> EVENTS
ENGINE_EVENT contains a char denoting the type (ENGINE_EVENT_TYPE_*), and a void * containing the content of the event data, which should be cast to one of the ENGINE_EVENT_* structs:
> ENGINE_EVENT_TYPE_UNKNOWN: ENGINE_EVENT_UNKNOWN{}
> ENGINE_EVENT_TYPE_NONE:    ENGINE_EVENT_NONE{}
> ENGINE_EVENT_TYPE_EXIT:    ENGINE_EVENT_EXIT{}