Input is more responsive. Fixed bug with creating session-players.

This commit is contained in:
2025-12-11 17:29:42 +01:00
parent cdbd0b2c43
commit 1d414cc392
10 changed files with 302 additions and 77 deletions

View File

@@ -62,8 +62,20 @@ static void state_enter(Presentation_State *state) {
static void state_tick(Presentation_State *state) {
Presentation_State_Ingame_Context *ctx = (Presentation_State_Ingame_Context *)state->context;
(void)ctx;
Game_Session *session = g_current_session;
game_session_tick(g_current_session);
{ // Push local input to queue.
game_session_enqueue_player_input(session, session->local_player_index, (Simulation_Game_Input) {
.up = IsKeyDown(KEY_UP) || IsKeyDown(KEY_W),
.down = IsKeyDown(KEY_DOWN) || IsKeyDown(KEY_S),
.right = IsKeyDown(KEY_RIGHT) || IsKeyDown(KEY_D),
.left = IsKeyDown(KEY_LEFT) || IsKeyDown(KEY_A)
});
}
double delta_time = GetFrameTime();
game_session_update(session, delta_time);
{ // TEMP: SS
if(IsKeyPressed(KEY_ESCAPE)) {
@@ -204,7 +216,6 @@ static void state_render(Presentation_State *state) {
DrawText(buf, 32, 32, 12, RED);
}
}
EndMode2D();
}