diff --git a/similar/main/multi.cpp b/similar/main/multi.cpp index 0dc52bc11..39c7fb83e 100644 --- a/similar/main/multi.cpp +++ b/similar/main/multi.cpp @@ -2553,15 +2553,14 @@ void multi_send_destroy_controlcen(const objnum_t objnum, const playernum_t play #if defined(DXX_BUILD_DESCENT_II) void multi_send_drop_marker(const unsigned player, const vms_vector &position, const player_marker_index messagenum, const marker_message_text_t &text) { - uint8_t multibuf[MAX_MULTI_MESSAGE_LEN+4]; + multi_command multibuf; multibuf[1]=static_cast(player); multibuf[2] = static_cast(messagenum); PUT_INTEL_INT(&multibuf[3], position.x); PUT_INTEL_INT(&multibuf[7], position.y); PUT_INTEL_INT(&multibuf[11], position.z); - for (const auto i : xrange(text.size())) - multibuf[15+i]=text[i]; - multi_send_data(multibuf, 15 + text.size(), multiplayer_data_priority::_2); + std::copy(text.begin(), text.end(), std::next(multibuf.begin(), 15)); + multi_send_data(multibuf, multiplayer_data_priority::_2); } void multi_send_markers()