#pragma once typedef struct engine { asset_mgr_t asset_mgr; audio_mgr_t audio_mgr; render_mgr_t render_mgr; bool is_window_focused; float time; } engine_t; void engine_startup(memory_t* memory); void engine_shutdown(void); void engine_update(float dt, input_t input, bool is_window_focused, bool* out_quit); void engine_render(void); void engine_audio_callback(void* userdata, uint8_t* stream, int len); #ifdef BUILD_DEBUG void engine_reload(memory_t* memory); void engine_debug(float dt, input_t input, uint64_t update_time, uint64_t render_time, uint64_t frame_time); #endif