From 99a165e405ff70049c1777ec398f2919cce51c3b Mon Sep 17 00:00:00 2001 From: Joshua Goins Date: Sat, 28 Jun 2025 11:12:37 -0400 Subject: [PATCH] When changing equip display flags, store that for new spawns See #50 --- src/world/server.rs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/world/server.rs b/src/world/server.rs index a6c7833..8448a27 100644 --- a/src/world/server.rs +++ b/src/world/server.rs @@ -594,6 +594,25 @@ pub async fn server_main_loop(mut recv: Receiver) -> Result<(), std::i } } ToServer::Config(_from_id, from_actor_id, config) => { + // update their stored state so it's correctly sent on new spawns + { + let mut data = data.lock().unwrap(); + + let Some(instance) = data.find_actor_instance_mut(from_actor_id) else { + break; + }; + + let Some(actor) = instance.find_actor_mut(ObjectId(from_actor_id)) else { + break; + }; + + let NetworkedActor::Player(player) = actor else { + break; + }; + + player.common.display_flags = config.display_flag; + } + let mut data = data.lock().unwrap(); for (id, (handle, _)) in &mut data.clients { let id = *id;