2022-03-22 18:13:06 +00:00
|
|
|
/* date = March 22nd 2022 2:29 am */
|
|
|
|
|
|
|
|
#ifndef LUMENARIUM_FIRST_H
|
|
|
|
#define LUMENARIUM_FIRST_H
|
|
|
|
|
|
|
|
typedef struct App_State App_State;
|
|
|
|
|
2022-03-27 10:47:18 +00:00
|
|
|
// Environment
|
2022-03-22 18:13:06 +00:00
|
|
|
#include "lumenarium_memory.cpp"
|
|
|
|
#include "lumenarium_string.cpp"
|
|
|
|
#include "lumenarium_input.cpp"
|
|
|
|
|
2022-03-27 10:47:18 +00:00
|
|
|
// Engine
|
2022-03-22 18:13:06 +00:00
|
|
|
#include "engine/lumenarium_engine_assembly.h"
|
|
|
|
|
2022-03-27 10:47:18 +00:00
|
|
|
// Editor
|
|
|
|
#include "editor/lumenarium_editor_renderer.h"
|
2022-03-22 18:13:06 +00:00
|
|
|
|
|
|
|
//////////////////////////////////////////////
|
|
|
|
// Lumenarium Runtime Environment
|
|
|
|
|
|
|
|
global Allocator* permanent;
|
|
|
|
global Allocator* scratch; // gets reset at frame boundaries
|
|
|
|
|
|
|
|
#if defined(DEBUG)
|
|
|
|
# include "lumenarium_tests.cpp"
|
|
|
|
#else
|
|
|
|
# define run_tests()
|
|
|
|
#endif
|
|
|
|
|
|
|
|
//////////////////////////////////////////////
|
|
|
|
// Lumenarium State
|
|
|
|
|
|
|
|
typedef b32 App_State_Flags;
|
|
|
|
enum
|
|
|
|
{
|
|
|
|
AppState_None = 0,
|
|
|
|
AppState_IsRunning = 1,
|
|
|
|
AppState_NoEditor = 2,
|
|
|
|
};
|
|
|
|
|
2022-03-27 10:47:18 +00:00
|
|
|
struct App_Init_Desc
|
|
|
|
{
|
|
|
|
u32 assembly_cap;
|
|
|
|
};
|
|
|
|
|
2022-03-22 18:13:06 +00:00
|
|
|
struct App_State
|
|
|
|
{
|
|
|
|
App_State_Flags flags;
|
|
|
|
|
|
|
|
Input_State input_state;
|
2022-03-27 10:47:18 +00:00
|
|
|
Assembly_Array assemblies;
|
2022-03-22 18:13:06 +00:00
|
|
|
};
|
|
|
|
|
2022-03-27 10:47:18 +00:00
|
|
|
#include "engine/lumenarium_engine_assembly.cpp"
|
|
|
|
#include "engine/lumenarium_engine.cpp"
|
|
|
|
|
|
|
|
#include "editor/lumenarium_editor_renderer.cpp"
|
|
|
|
#include "editor/lumenarium_editor.cpp"
|
|
|
|
|
|
|
|
|
2022-03-22 18:13:06 +00:00
|
|
|
#endif //LUMENARIUM_FIRST_H
|