From fea0b6f796aa52684b3b3862a2ad4ff4288720ee Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Wed, 11 Nov 2026 10:56:28 +0000 Subject: [PATCH] Decompile 3 functions in Source/Client/Mode/GameModePackets.cpp Batch #16892 by eAthena: 1 byte-identical, 2 confirmed by peer review. - fn_21880 CGameMode::ReceiveGuildMemberMemoList: byte-identical - fn_21866 CGameMode::ReceiveGuildBanList: logic confirmed by peer review - fn_21881 CGameMode::ReceiveGuildMemberList2: logic confirmed by peer review Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Client/Mode/GameModePackets.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/Source/Client/Mode/GameModePackets.cpp b/Source/Client/Mode/GameModePackets.cpp index 2fcac2c27..334299be6 100644 --- a/Source/Client/Mode/GameModePackets.cpp +++ b/Source/Client/Mode/GameModePackets.cpp @@ -4431,8 +4431,9 @@ void CGameMode::ReceiveGuildMemberMemoList(const unsigned char* data) { guildInfo->memberCount = count; guildInfo->ClearMembers(); - const GuildMemberMemoRecord* record = reinterpret_cast(data + sizeof(PacketLengthHeader)); - for (int i = 0; i < count; ++i, ++record) { + const GuildMemberMemoRecord* records = reinterpret_cast(data + sizeof(PacketLengthHeader)); + for (int i = 0; i < count; ++i) { + const GuildMemberMemoRecord* record = &records[i]; GuildInfo::Member member; member.accountId = record->accountId; member.characterId = record->characterId; @@ -10221,8 +10222,9 @@ void CGameMode::ReceiveGuildBanList(const unsigned char* data) { const int count = (packet->length - sizeof(PacketLengthHeader)) / sizeof(GuildBanRecord); guildInfo->bannedMembers.clear(); - const GuildBanRecord* record = reinterpret_cast(data + sizeof(PacketLengthHeader)); - for (int i = 0; i < count; ++i, ++record) { + const GuildBanRecord* records = reinterpret_cast(data + sizeof(PacketLengthHeader)); + for (int i = 0; i < count; ++i) { + const GuildBanRecord* record = &records[i]; char name[25]; std::memcpy(name, record->name, sizeof(record->name)); name[24] = '\0'; @@ -10931,8 +10933,9 @@ void CGameMode::ReceiveGuildMemberList2(const unsigned char* data) { guildInfo->memberCount = static_cast(count); guildInfo->ClearMembers(); - const GuildMemberNamedRecord* record = reinterpret_cast(data + sizeof(PacketLengthHeader)); - for (int i = 0; i < count; ++i, ++record) { + const GuildMemberNamedRecord* records = reinterpret_cast(data + sizeof(PacketLengthHeader)); + for (int i = 0; i < count; ++i) { + const GuildMemberNamedRecord* record = &records[i]; GuildInfo::Member member; member.accountId = record->accountId; member.characterId = record->characterId;