-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinterface.h
More file actions
44 lines (38 loc) · 1.12 KB
/
Copy pathinterface.h
File metadata and controls
44 lines (38 loc) · 1.12 KB
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
35
36
37
38
39
40
41
42
43
44
#ifndef __GAME_INTERFACE_H
#define __GAME_INTERFACE_H
/**
* This file is an interface between the Engine (C)
* and the Game (C++). The engine will call these
* functions as events occur in the engine. The game
* is expected to react to these events and perform logic.
*
*/
#ifdef __cplusplus
extern "C" {
#endif
#include <engine/input/input.h>
#include <engine/platform.h>
#include <engine/render/glyph.h>
#include <engine/render/render_state.h>
#include <engine/render/renderable.h>
#include <engine/state/state.h>
#include <engine/types/numeric.h>
void game_initialize(GameState *state);
void game_tick(GameState *state, mutex_t *lock);
void game_lazy_tick(GameState *state, mutex_t *lock);
void game_paused_tick(GameState *state, mutex_t *lock);
/* TODO: make it not require render_state */
void game_adjust_renderables(
GameState *state,
mutex_t *lock,
RenderState *render_state,
Renderable **renderables,
const u32 renderables_count,
GlyphText *text_objects,
const u32 text_objects_count
);
void game_create_bindings(GameState *state, mutex_t *lock, InputState *input_state);
#ifdef __cplusplus
}
#endif
#endif