diff options
Diffstat (limited to 'include/engine/state.h')
| -rw-r--r-- | include/engine/state.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/include/engine/state.h b/include/engine/state.h new file mode 100644 index 0000000..83b57a2 --- /dev/null +++ b/include/engine/state.h @@ -0,0 +1,22 @@ +#ifndef STATE_H +#define STATE_H + +#include <engine/memory.h> + +typedef enum StateType { + STATE_null, +#define State(name) STATE_##name, +#include <state_type_list.h> +#undef State + STATE_quit, +} StateType; + +extern const char *StateTypeStr[]; + +StateType(*State_updateFunc(StateType type))(void*); + +void State_init(StateType type, memory *mem); +void State_free(StateType type, memory *mem); +StateType State_update(StateType type, memory *mem); + +#endif |
