diff options
| author | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-12-18 20:30:27 +0100 |
|---|---|---|
| committer | Aldrik Ramaekers <aldrik@amftech.nl> | 2022-12-18 20:30:27 +0100 |
| commit | abc04fe225f1cd77343528bfa0db41b62ed8cbd8 (patch) | |
| tree | b959f2b7eb2e96ae874d2d0a4f41aa77a131cee4 | |
| parent | e917400634a535c6c14afc4e37a759f7c777b73a (diff) | |
disable frame cap
| -rw-r--r-- | build/zombies.exe | bin | 1755593 -> 1755593 bytes | |||
| -rw-r--r-- | src/game.c | 13 | ||||
| -rw-r--r-- | src/protocol.c | 4 |
3 files changed, 13 insertions, 4 deletions
diff --git a/build/zombies.exe b/build/zombies.exe Binary files differindex 8469dd2..69af086 100644 --- a/build/zombies.exe +++ b/build/zombies.exe @@ -169,6 +169,8 @@ void update_server(platform_window* window) { array_remove_at(&messages_received_on_server, i); i--; } + + u64 handle_messages = platform_get_time(TIME_FULL, TIME_NS); allocator_clear(&server_incomming_allocator); mutex_unlock(&messages_received_on_server.mutex); @@ -190,9 +192,13 @@ void update_server(platform_window* window) { update_timer += update_delta; + u64 handle_messages2 = handle_messages; + handle_messages = handle_messages - logic_update_time; logic_update_time = platform_get_time(TIME_FULL, TIME_NS) - logic_update_time; + u64 server_tick = platform_get_time(TIME_FULL, TIME_NS) - handle_messages2; if ((logic_update_time/1000000.0f) > 5.0f) { - log_infox("Server update took %.2fms", (logic_update_time/1000000.0f)); + log_infox("Server update took %.2fms: messages: %.2fms, tick: %.2fms", + (logic_update_time/1000000.0f), (handle_messages/1000000.0f), (server_tick/1000000.0f)); } } @@ -275,6 +281,8 @@ void update_client(platform_window* window) { allocator_clear(&client_incomming_allocator); mutex_unlock(&messages_received_on_client.mutex); logic_update_time = platform_get_time(TIME_FULL, TIME_NS) - logic_update_time; + + update_zombies_client(window); } void update_game(platform_window* window) { @@ -288,9 +296,6 @@ void update_game(platform_window* window) { } if (global_state.network_state == CONNECTED) { - if (!global_state.server) { - update_zombies_client(window); // move to update_client? - } take_player_input(window); draw_grid(window); diff --git a/src/protocol.c b/src/protocol.c index 9dc944e..7d921de 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -120,12 +120,14 @@ void add_message_to_outgoing_queue(send_queue_entry entry) { bool can_overwrite = type != MESSAGE_USER_SHOOT && type != MESSAGE_USER_MOVED && type != MESSAGE_USER_LOOK; + //mutex_lock(&messages_to_send_queue_mutex); for (int i = 0; i < OUTGOING_QUEUE_SIZE; i++) { if (messages_to_send_queue[i].active) { network_message_type type_existing = *(network_message_type*)(messages_to_send_queue[i].message.data+12); if (type == type_existing && can_overwrite) { messages_to_send_queue[i] = entry; + //mutex_unlock(&messages_to_send_queue_mutex); return; } else { @@ -134,8 +136,10 @@ void add_message_to_outgoing_queue(send_queue_entry entry) { } messages_to_send_queue[i] = entry; messages_to_send_queue[i].active = true; + //mutex_unlock(&messages_to_send_queue_mutex); return; } + //mutex_unlock(&messages_to_send_queue_mutex); log_info("Outgoing network queue is full"); } |
