diff --git a/Source/Client/Replay.cpp b/Source/Client/Replay.cpp index 98508e23..f10f2c5c 100644 --- a/Source/Client/Replay.cpp +++ b/Source/Client/Replay.cpp @@ -1913,3 +1913,48 @@ std::vector CSession::BuildStatsReplayRecords() { } return records; } + +// OFFSET: 0x00E40C60 +// FUNCTION: fn_24199 +std::vector CSession::BuildMessengerReplayRecords() { + std::vector records; + { + const auto record = BuildReplayTaggedRecord(4000, nullptr, 0); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(4010, &this->unknown_5938, 1); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(4011, &this->unknown_5460, sizeof(this->unknown_5460)); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(4012, &this->unknown_5464, sizeof(this->unknown_5464)); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(4013, this->unknown_54AC.c_str(), this->unknown_54AC.size()); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(4014, this->unknown_54C4.c_str(), this->unknown_54C4.size()); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto bytes = SerializeMessengerMembers(this->m_partyMembers); + const auto record = MakeFramedMessage(4015, reinterpret_cast&>(bytes)); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto bytes = SerializeMessengerMembers(this->m_friends); + const auto record = MakeFramedMessage(4016, reinterpret_cast&>(bytes)); + records.insert(records.end(), record.begin(), record.end()); + } + { + const auto record = BuildReplayTaggedRecord(4001, nullptr, 0); + records.insert(records.end(), record.begin(), record.end()); + } + return records; +} diff --git a/Source/Client/Session.h b/Source/Client/Session.h index 6caf9d71..51779629 100644 --- a/Source/Client/Session.h +++ b/Source/Client/Session.h @@ -829,6 +829,7 @@ public: std::vector BuildReservedReplayRecords(); std::vector BuildShopReplayRecords(); std::vector BuildExtraReplayRecords(); std::vector BuildStatsReplayRecords(); std::vector BuildItemReplayRecords(); std::vector BuildCompanionReplayRecords(); + std::vector BuildMessengerReplayRecords(); std::vector BuildSkillListReplayPacket(short id); void SetHomunculusAutoFeed(bool enabled); void SetPetAutoFeed(bool enabled);