From 2e12f4dd577d50ef8ed27f77c9e6c347602de83c Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Sat, 7 Nov 2026 06:24:10 +0000 Subject: [PATCH] Decompile 3 functions in Source/Client/Session.cpp Batch #14068 by secret: 0 byte-identical, 3 confirmed by peer review. - fn_23501 CSession::LoadMiniPartyInfo: logic confirmed by peer review - fn_23509 CSession::LoadMapViewParameters: logic confirmed by peer review - fn_23573 CSession::HasItem1740Number: logic confirmed by peer review Peer-reviewed-by: Yommy, KWDev, codeplay Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Client/Session.cpp | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Source/Client/Session.cpp b/Source/Client/Session.cpp index ccb277342..2a1dcf01b 100644 --- a/Source/Client/Session.cpp +++ b/Source/Client/Session.cpp @@ -2430,13 +2430,14 @@ bool CSession::HasNoUnknown1784Items() const { // OFFSET: 0x00DFA3C0 // FUNCTION: fn_23573 bool CSession::HasItem1740Number(int value) const { - for (const ITEM_INFO& item : this->unknown_1740) { - if (std::atoi(item.itemId.c_str()) == value) { - return true; + std::list::const_iterator it = this->unknown_1740.begin(); + for (; it != this->unknown_1740.end(); ++it) { + if (value == std::atoi(it->itemId.c_str())) { + break; } } - return false; + return it != this->unknown_1740.end(); } // OFFSET: 0x00DFA420 @@ -2740,9 +2741,12 @@ void CSession::LoadMiniPartyInfo() { } break; } + case '}': + this->unknown_0734.push_back(record); + break; case '{': { ++i; - std::memset(name, 0, sizeof(name)); + std::memset(name, 0, sizeof(name) - 1); std::memset(token, 0, sizeof(token)); int position = 0; while (data[i] != ',') { @@ -2758,12 +2762,9 @@ void CSession::LoadMiniPartyInfo() { } break; } - case '}': - this->unknown_0734.push_back(record); - break; case '\n': case '\r': - break; + continue; } } @@ -3346,8 +3347,8 @@ bool CSession::LoadMapViewParameters() { const char* cursor = static_cast(file.GetData()); const char* end = cursor + file.GetSize(); - std::string name; std::vector values; + std::string name; for (const char* start = cursor; cursor < end; ++cursor) { const char value = *cursor;