summaryrefslogtreecommitdiff
path: root/src/core.h
blob: ec8cde9c4ffe3005442f0ba50be5782229483d36 (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
31
32
33
34
#pragma once

#include "input.h"
#include "screenspace.h"
#include "scene.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
  scene default_scene;
  model_darray* models;
} core;

core* get_global_core();

// --- Lifecycle

/** @brief Throws error if the core cannot be instantiated */
void core_bringup();
void core_shutdown();
bool should_exit();

void core_input_update();