me.fier.engine/README.txt
2023-08-09 20:56:58 +02:00

47 lines
1.8 KiB
Plaintext

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.
Compiles for Linux. If you want to compile for OpenBSD, run: git apply patches/openbsd/generic.patch
> Prerequisites, Debian/Ubuntu:
sudo apt install python3-toml libsdl2-dev liblua5.3-dev
> Prerequisites, OpenBSD:
* Enable ports: https://www.openbsd.org/faq/ports/ports.html
doas pkg_add py3-toml
cd /usr/ports/devel/sdl2
doas make
doas make install
cd /usr/ports/lang/lua/5.3
doas make
doas make install
>>> 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{}