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.
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: