Decompile fn_03499 (CActorNameCardHolder::Save)

Batch #11993 by Yommy: 0 byte-identical, 1 confirmed by peer review.

- fn_03499 CActorNameCardHolder::Save: logic confirmed by peer review

Peer-reviewed-by: SapitoSucio, Toshiro, raiken
Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes).
This commit is contained in:
ragnarok-clanker 2026-11-05 10:56:32 +00:00
commit f47a56aea0

View file

@ -13,14 +13,14 @@ std::size_t CActorNameCardHolder::Save(std::vector<char>& output) {
std::size_t offset = 4;
*reinterpret_cast<std::size_t*>(&buffer[0]) = this->cards.size();
for (const auto& entry : this->cards) {
const CActorNameCard& card = entry.second;
for (auto it = this->cards.begin(); it != this->cards.end(); ++it) {
const CActorNameCard& card = it->second;
const std::size_t needed = offset + card.name.size() + card.unknown_001C.size() + card.unknown_0034.size() + card.unknown_004C.size() + 0x14;
if (buffer.size() < needed) {
buffer.resize(needed + 1);
}
*reinterpret_cast<std::uint32_t*>(&buffer[offset]) = entry.first;
*reinterpret_cast<std::uint32_t*>(&buffer[offset]) = it->first;
int length = static_cast<int>(card.name.size());
*reinterpret_cast<int*>(&buffer[offset + 4]) = length;