summaryrefslogtreecommitdiff
path: root/src/core.h
blob: be88c53cd31e06449a70d60fe24603d12f395ac6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "defines.h"
#include "input.h"
#include "ral.h"
#include "screenspace.h"
#include "terrain.h"
#include "text.h"
#include "threadpool.h"

typedef struct core {
  const char* app_name;
  // foundations
  renderer renderer;
  threadpool threadpool;
  // systems
  input_state input;
  text_system_state text;
  terrain_state terrain;
  screenspace_state screenspace;
  // data storage
  model_darray* models;
} core;

// --- Lifecycle
core* core_bringup();
void core_shutdown(core* core);
bool should_exit(core* core);

void core_input_update(core* core);