minor tweaks

This commit is contained in:
jacob 2024-03-13 15:10:16 -05:00
parent bac001947b
commit aa8dd7a4fa
2 changed files with 15 additions and 20 deletions

View File

@ -32,10 +32,8 @@ INTERNAL void push_cmds(struct game_cmd_array cmd_array)
{
sys_mutex_lock(&L.game_cmds_mutex);
{
for (u64 i = 0; i < cmd_array.count; ++i) {
struct game_cmd *write_cmd = arena_push(&L.game_cmds_arena, struct game_cmd);
*write_cmd = cmd_array.cmds[i];
}
struct game_cmd *cmds = arena_push_array(&L.game_cmds_arena, struct game_cmd, cmd_array.count);
MEMCPY(cmds, cmd_array.cmds, cmd_array.count * sizeof(*cmds));
}
sys_mutex_unlock(&L.game_cmds_mutex);
}
@ -81,7 +79,6 @@ INTERNAL void game_update(void)
static b32 run = 0;
if (!run) {
run = 1;
(UNUSED)entity_link;
/* Player ent */
struct entity *player_ent;
@ -227,7 +224,6 @@ INTERNAL void game_update(void)
/* Movement */
case GAME_CMD_KIND_PLAYER_MOVE: {
struct v2 dir = cmd.dir;
L.world.player_move_dir = v2_add(L.world.player_move_dir, dir);
} break;

View File

@ -98,17 +98,7 @@ GLOBAL READONLY enum user_bind_kind g_binds[SYS_BTN_COUNT] = {
* Window -> user communication
* ========================== */
INTERNAL void window_event_callback(struct sys_event event)
{
sys_mutex_lock(&L.sys_events_mutex);
{
struct sys_event *write_event = arena_push(&L.sys_events_arena, struct sys_event);
*write_event = event;
}
sys_mutex_unlock(&L.sys_events_mutex);
}
INTERNAL struct sys_event_array pull_sys_events(struct arena *arena)
INTERNAL struct sys_event_array pop_sys_events(struct arena *arena)
{
struct sys_event_array array = { 0 };
if (L.sys_events_arena.pos > 0) {
@ -126,6 +116,15 @@ INTERNAL struct sys_event_array pull_sys_events(struct arena *arena)
return array;
}
INTERNAL void window_event_callback(struct sys_event event)
{
sys_mutex_lock(&L.sys_events_mutex);
{
*arena_push(&L.sys_events_arena, struct sys_event) = event;
}
sys_mutex_unlock(&L.sys_events_mutex);
}
/* ========================== *
* Game -> user communication
* ========================== */
@ -274,7 +273,7 @@ INTERNAL void queue_game_cmd(struct game_cmd_list *list, struct game_cmd cmd)
list->last = node;
}
INTERNAL void push_game_cmds(struct game_cmd_list *list)
INTERNAL void pubilsh_game_cmds(struct game_cmd_list *list)
{
struct temp_arena scratch = scratch_begin(list->arena);
@ -397,7 +396,7 @@ INTERNAL void user_update(void)
/* Read input */
L.screen_mouse = sys_window_get_mouse_pos(L.window);
struct sys_event_array events = pull_sys_events(scratch.arena);
struct sys_event_array events = pop_sys_events(scratch.arena);
/* ========================== *
* Read sys events
@ -891,7 +890,7 @@ INTERNAL void user_update(void)
}
/* Push game cmds */
push_game_cmds(&cmd_list);
pubilsh_game_cmds(&cmd_list);
/* ========================== *
* Present