Scarab
A thin, game-agnostic 2D engine host built on the sunlight tile-map engine
Loading...
Searching...
No Matches
enginehost.h File Reference
#include <string>
#include <array>
#include <functional>
#include <cstdint>
#include "tilemap/itilemaplistener.h"
#include "drawsurface/idrawsurface.h"
#include "scripting/scriptprocessor.h"
#include "sound/soundmanager.h"
#include "lua/luaengine.h"
#include "engine/spritepool.h"
#include "host/rendererprovider.h"
Include dependency graph for enginehost.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Scarab::Host::EngineHost
 Scarab's own game engine: the state machine (init/ run-stage/fatal-error handlers), the ScriptProcessor/LuaEngine wiring, and the small amount of per-frame bookkeeping (BGM looping, sp_wait_queue_empty resolution) that isn't Lua's job. Used to be split across WorldBase (a reusable base class) and WorldEngine (Scarab's state machine subclassing it) - merged since nothing else ever subclassed WorldBase and the split no longer served polymorphism, just indirection. Renamed from WorldEngine/Caravellius::World once the Lua refactor left it owning no "world" state at all (no tile map pointer, no sprite queues, no camera) - it's a lifecycle/Lua-bridge host, not a world model. More...
 

Namespaces

namespace  Scarab
 
namespace  Scarab::Host
 

Macros

#define MAX_STATE_HANDLERS   255
 

Macro Definition Documentation

◆ MAX_STATE_HANDLERS

#define MAX_STATE_HANDLERS   255