#ifndef ENGINE_LOOP_H
#define ENGINE_LOOP_H

typedef struct Scene Scene;

typedef struct GameContext {
} GameContext;

// IMPORTANT: should be implemented by game code
extern void InitializeGame(GameContext *settings);

//! initialize window and application context
extern void InitializeEngine();
//! run the actual game, requires InitializeEngine to be called first
extern void RunGame(Scene *initial_scene);
// shut down game entirely
extern void ShutDown();

#endif // !ENGINE_LOOP_H
