From 22444d5377978afbd370672fe3f710fa49d41daa Mon Sep 17 00:00:00 2001 From: Kp Date: Sun, 23 Oct 2022 23:00:24 +0000 Subject: [PATCH] multi_do_msgsend_state: use player number from network layer The network layer already has the player number. Use that instead of reloading it from the message body. --- similar/main/multi.cpp | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/similar/main/multi.cpp b/similar/main/multi.cpp index 4531824ad..a40e550ba 100644 --- a/similar/main/multi.cpp +++ b/similar/main/multi.cpp @@ -2999,6 +2999,7 @@ void multi_send_trigger(const trgnum_t triggernum) count += 1; multi_command multibuf; + /* Obsolete - reclaim player number field on next multiplayer protocol version bump */ multibuf[count] = Player_num; count += 1; static_assert(sizeof(trgnum_t) == sizeof(uint8_t), "trigger number could be truncated"); multibuf[count] = static_cast(triggernum); count += 1; @@ -4855,6 +4856,11 @@ static void multi_send_restore_game(ubyte slot, uint id) multi_send_data(multibuf, multiplayer_data_priority::_2); } +static void multi_do_msgsend_state(const playernum_t pnum, const multiplayer_rspan buf) +{ + multi_sending_message[pnum] = msgsend_state{buf[2]}; +} + } } @@ -4999,18 +5005,10 @@ void multi_restore_game(const unsigned slot, const unsigned id) } -namespace { - -static void multi_do_msgsend_state(const multiplayer_rspan buf) -{ - multi_sending_message[static_cast(buf[1])] = msgsend_state{buf[2]}; -} - -} - void multi_send_msgsend_state(const msgsend_state state) { multi_command multibuf; + /* Obsolete - reclaim player number field on next multiplayer protocol version bump */ multibuf[1] = Player_num; multibuf[2] = static_cast(state); @@ -5840,7 +5838,7 @@ static void multi_process_data(const d_level_shared_robot_info_state &LevelShare multi_do_bounty(multi_subspan_first(data)); break; case multiplayer_command_t::MULTI_TYPING_STATE: - multi_do_msgsend_state(multi_subspan_first(data)); + multi_do_msgsend_state(pnum, multi_subspan_first(data)); break; case multiplayer_command_t::MULTI_GMODE_UPDATE: multi_do_gmode_update(multi_subspan_first(data));