Files
Sandbox/src/game.c
2026-04-01 20:19:41 -05:00

40 lines
785 B
C

#include <stdbool.h>
#include <stdio.h>
#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);
}