diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/game.c | 13 | ||||
| -rw-r--r-- | src/protocol.c | 4 |
2 files changed, 13 insertions, 4 deletions
@@ -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"); } |
