summaryrefslogtreecommitdiff
path: root/src/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/state.c')
-rw-r--r--src/state.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/state.c b/src/state.c
index b5fcdc3..bc7a89e 100644
--- a/src/state.c
+++ b/src/state.c
@@ -7,7 +7,7 @@
//typedef void state_init_t(void*,void*);
//typedef void* (state_free_t(void*));
-typedef StateType state_update_t(f64, void*);
+typedef StateType state_update_t(Window *restrict, void*, f64);
const char* StateTypeStr[] = {
"null",
@@ -20,9 +20,9 @@ const char* StateTypeStr[] = {
// Setup API for states
#define State(name) \
typedef struct name##_state name##_state; \
- typedef void(state_##name##_init_t)(name##_state*,void*); \
+ typedef void(state_##name##_init_t)(Window *restrict,name##_state*,void*); \
typedef void*(state_##name##_free_t)(name##_state*); \
- typedef StateType(state_##name##_update_t)(f64,name##_state*);
+ typedef StateType(state_##name##_update_t)(Window *restrict,name##_state*,f64);
#include <states/list_of_states.h>
#undef State
@@ -51,11 +51,11 @@ const char* StateTypeStr[] = {
#include <states/all_states.h>
-void State_init(StateType type, memory* mem, void* arg) {
+void State_init(StateType type, Window *restrict w, memory* mem, void* arg) {
switch (type) {
#define State(name) \
case (STATE_##name): { \
- name##_init(memory_allocate(mem, sizeof(name##_state)), arg); \
+ name##_init(w, memory_allocate(mem, sizeof(name##_state)), arg); \
break; \
}
#include <states/list_of_states.h>
@@ -91,7 +91,7 @@ void* State_free(StateType type, memory* mem) {
}
/* Returns the update function of a given state type */
-StateType (*State_updateFunc(StateType type))(f64, void*) {
+StateType (*State_updateFunc(StateType type))(Window *restrict, void*, f64) {
switch (type) {
#ifdef DAW_BUILD_HOTRELOAD
#define State(name) \
@@ -118,12 +118,12 @@ StateType (*State_updateFunc(StateType type))(f64, void*) {
return NULL;
}
-StateType State_update(StateType type, f64 dt, memory* mem) {
+StateType State_update(StateType type, Window *restrict w, memory* mem, f64 dt) {
StateType next_state = STATE_null;
switch (type) {
#define State(name) \
case (STATE_##name): { \
- next_state = name##_update(dt, mem->data); \
+ next_state = name##_update(w, mem->data, dt); \
break; \
}
#include <states/list_of_states.h>