forked from Fierelier/me.fier.engine
Abstract, software accelerated (CPU-only) engine for older hardware
assets | ||
modules/engine | ||
.gitignore | ||
LICENSE | ||
lua_translate | ||
main.c | ||
README.txt | ||
run | ||
test.c |
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{}