From 71d78839a46e675e0c2d54e9b2215936dac9c036 Mon Sep 17 00:00:00 2001 From: Martin Michelsen Date: Thu, 12 May 2022 10:45:44 -0700 Subject: [PATCH] fix PlayerBB struct length --- src/Player.cc | 1 - src/Player.hh | 53 +++++++++++++++++++++--------------------- src/ReceiveCommands.cc | 2 +- 3 files changed, 27 insertions(+), 29 deletions(-) diff --git a/src/Player.cc b/src/Player.cc index f557af69..47abf531 100644 --- a/src/Player.cc +++ b/src/Player.cc @@ -489,7 +489,6 @@ PlayerBB ClientGameData::export_player_bb() { ret.unknown6.clear(); ret.quest_data2 = player->quest_data2; ret.key_config = account->key_config; - ret.unused = 0; return ret; } diff --git a/src/Player.hh b/src/Player.hh index 053866c3..a9ce1158 100644 --- a/src/Player.hh +++ b/src/Player.hh @@ -314,33 +314,32 @@ struct PSOPlayerDataBB { // For command 61 } __attribute__((packed)); struct PlayerBB { // Used in 00E7 command - PlayerInventory inventory; // 0000 // player - PlayerDispDataBB disp; // 034C // player - parray unknown; // 04DC // - le_uint32_t option_flags; // 04EC // account - parray quest_data1; // 04F0 // player - PlayerBank bank; // 06F8 // player - le_uint32_t serial_number; // 19C0 // player - ptext name; // 19C4 // player - ptext team_name; // 19C4 // player - ptext guild_card_desc; // 1A14 // player - uint8_t reserved1; // 1AC4 // player - uint8_t reserved2; // 1AC5 // player - uint8_t section_id; // 1AC6 // player - uint8_t char_class; // 1AC7 // player - le_uint32_t unknown3; // 1AC8 // - parray symbol_chats; // 1ACC // account - parray shortcuts; // 1FAC // account - ptext auto_reply; // 29EC // player - ptext info_board; // 2B44 // player - parray unknown5; // 2C9C // - parray challenge_data; // 2CB8 // player - parray tech_menu_config; // 2DF8 // player - parray unknown6; // 2E20 // - parray quest_data2; // 2E4C // player - KeyAndTeamConfigBB key_config; // 2EA4 // account - le_uint32_t unused; -} __attribute__((packed)); // total size: 39A0 + PlayerInventory inventory; // player + PlayerDispDataBB disp; // player + parray unknown; // not saved + le_uint32_t option_flags; // account + parray quest_data1; // player + PlayerBank bank; // player + le_uint32_t serial_number; // player + ptext name; // player + ptext team_name; // player + ptext guild_card_desc; // player + uint8_t reserved1; // player + uint8_t reserved2; // player + uint8_t section_id; // player + uint8_t char_class; // player + le_uint32_t unknown3; // not saved + parray symbol_chats; // account + parray shortcuts; // account + ptext auto_reply; // player + ptext info_board; // player + parray unknown5; // not saved + parray challenge_data; // player + parray tech_menu_config; // player + parray unknown6; // not saved + parray quest_data2; // player + KeyAndTeamConfigBB key_config; // account +} __attribute__((packed)); diff --git a/src/ReceiveCommands.cc b/src/ReceiveCommands.cc index 65c72cbe..fbd98653 100644 --- a/src/ReceiveCommands.cc +++ b/src/ReceiveCommands.cc @@ -1362,7 +1362,7 @@ void process_change_account_data_bb(shared_ptr, shared_ptr } void process_return_player_data_bb(shared_ptr, shared_ptr c, - uint16_t, uint32_t, const string& data) { + uint16_t, uint32_t, const string& data) { // 00E7 const auto& cmd = check_size_t(data); // We only trust the player's quest data and challenge data.