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.
This commit is contained in:
Kp 2022-10-23 23:00:24 +00:00
parent 8fd6ff2025
commit 22444d5377
1 changed files with 8 additions and 10 deletions

View File

@ -2999,6 +2999,7 @@ void multi_send_trigger(const trgnum_t triggernum)
count += 1;
multi_command<multiplayer_command_t::MULTI_TRIGGER> 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<uint8_t>(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<multiplayer_command_t::MULTI_TYPING_STATE> 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<multiplayer_command_t::MULTI_TYPING_STATE> buf)
{
multi_sending_message[static_cast<int>(buf[1])] = msgsend_state{buf[2]};
}
}
void multi_send_msgsend_state(const msgsend_state state)
{
multi_command<multiplayer_command_t::MULTI_TYPING_STATE> multibuf;
/* Obsolete - reclaim player number field on next multiplayer protocol version bump */
multibuf[1] = Player_num;
multibuf[2] = static_cast<char>(state);
@ -5840,7 +5838,7 @@ static void multi_process_data(const d_level_shared_robot_info_state &LevelShare
multi_do_bounty(multi_subspan_first<multiplayer_command_t::MULTI_DO_BOUNTY>(data));
break;
case multiplayer_command_t::MULTI_TYPING_STATE:
multi_do_msgsend_state(multi_subspan_first<multiplayer_command_t::MULTI_TYPING_STATE>(data));
multi_do_msgsend_state(pnum, multi_subspan_first<multiplayer_command_t::MULTI_TYPING_STATE>(data));
break;
case multiplayer_command_t::MULTI_GMODE_UPDATE:
multi_do_gmode_update(multi_subspan_first<multiplayer_command_t::MULTI_GMODE_UPDATE>(data));