diff --git a/src/CommandFormats.hh b/src/CommandFormats.hh index 3fda994f..803eb5f2 100644 --- a/src/CommandFormats.hh +++ b/src/CommandFormats.hh @@ -251,7 +251,7 @@ struct S_StartFileDownloads_Patch_11 { // A small message box appears in lower-right corner, and the player must press // a key to continue. -struct SC_TextHeader_01_06_11_B0 { +struct SC_TextHeader_01_06_11_B0_EE { le_uint32_t unused; le_uint32_t guild_card_number; // Text immediately follows this header (char[] on DC/GC, char16_t[] on PC/BB) @@ -1692,8 +1692,8 @@ union C_UpdateAccountData_BB_ED { }; // EE (S->C): Scrolling message (BB) -// Contents are plain text (char16_t). The message appears at the top of the -// screen and slowly scrolls to the left. +// Same format as 01. The message appears at the top of the screen and slowly +// scrolls to the left. // EF (S->C): Unknown (BB) // Has an unknown number of subcommands (00EF, 01EF, etc.) diff --git a/src/ProxyCommands.cc b/src/ProxyCommands.cc index 55233ea3..e30b7803 100644 --- a/src/ProxyCommands.cc +++ b/src/ProxyCommands.cc @@ -68,7 +68,7 @@ static void send_text_message_to_client( uint8_t command, const std::string& message) { StringWriter w; - w.put({0, 0}); + w.put({0, 0}); if (session.version == GameVersion::PC) { auto decoded = decode_sjis(message); w.write(decoded.data(), decoded.size() * sizeof(decoded[0])); @@ -312,8 +312,8 @@ static bool process_server_dc_pc_gc_04(shared_ptr, static bool process_server_dc_pc_gc_06(shared_ptr, ProxyServer::LinkedSession& session, uint16_t, uint32_t, string& data) { if (session.license) { - auto& cmd = check_size_t(data, - sizeof(SC_TextHeader_01_06_11_B0), 0xFFFF); + auto& cmd = check_size_t(data, + sizeof(SC_TextHeader_01_06_11_B0_EE), 0xFFFF); if (cmd.guild_card_number == session.remote_guild_card_number) { cmd.guild_card_number = session.license->serial_number; } diff --git a/src/SendCommands.cc b/src/SendCommands.cc index c62610e7..64e829be 100644 --- a/src/SendCommands.cc +++ b/src/SendCommands.cc @@ -476,7 +476,7 @@ void send_text(shared_ptr c, StringWriter& w, uint16_t command, void send_header_text(shared_ptr c, uint16_t command, uint32_t guild_card_number, const u16string& text) { StringWriter w; - w.put(SC_TextHeader_01_06_11_B0({0, guild_card_number})); + w.put(SC_TextHeader_01_06_11_B0_EE({0, guild_card_number})); send_text(c, w, command, text); }