#include #include #include "SDL2/SDL_timer.h" #include "game.h" #include "render.h" #include "camera.h" GameState *Game_New() { GameState *gs = calloc(1, sizeof(GameState)); if (!Render_Init(gs)) return NULL; gs->running = true; return gs; } void Game_Update(GameState *gs) { vec3 move; glm_vec3_zero(move); const float speed = 0.3f; if (gs->input.w) move[0] = speed; else if (gs->input.s) move[0] = -speed; if (gs->input.a) move[1] = speed; else if (gs->input.d) move[1] = -speed; if (gs->input.q) move[2] = speed; else if (gs->input.e) move[2] = -speed; glm_vec3_add(gs->camera.position, move, gs->camera.position); Camera_UpdateVectors(&gs->camera); SDL_Delay(5); } void Game_Destroy(GameState *gs) { Render_Destroy(gs); free(gs); }