summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build/zombies.exebin1755593 -> 1755593 bytes
-rw-r--r--src/game.c13
-rw-r--r--src/protocol.c4
3 files changed, 13 insertions, 4 deletions
diff --git a/build/zombies.exe b/build/zombies.exe
index 8469dd2..69af086 100644
--- a/build/zombies.exe
+++ b/build/zombies.exe
Binary files differ
diff --git a/src/game.c b/src/game.c
index d3cbb57..3fe7e7a 100644
--- a/src/game.c
+++ b/src/game.c
@@ -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");
}