From dfc9404c53bbe384b25dddb27cb8408767e12b2e Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Fri, 30 Oct 2026 08:55:58 +0000 Subject: [PATCH] Decompile 17 functions in Source/Contents/Messenger/ClientMessenger.cpp Batch #5152 by youko: 0 byte-identical, 17 confirmed by peer review. - fn_05620 EquipmentProperties::CEquipment::AddProperty: logic confirmed by peer review (annotation added to existing code) - fn_05634 EquipmentProperties::CEquipmentAttachable::Load: logic confirmed by peer review (annotation added to existing code) - fn_05635 EquipmentProperties::CEquipmentCombiitem::Load: logic confirmed by peer review (annotation added to existing code) - fn_05636 EquipmentProperties::CEquipmentExpansion::Load: logic confirmed by peer review (annotation added to existing code) - fn_05639 EquipmentProperties::CEquipmentCombiitem::Clear: logic confirmed by peer review (annotation added to existing code) - fn_05640 EquipmentProperties::CEquipmentExpansion::Clear: logic confirmed by peer review (annotation added to existing code) - fn_05641 EquipmentProperties::CEquipmentWearable::Clear: logic confirmed by peer review (annotation added to existing code) - fn_05643 EquipmentProperties::CEquipment::NotifyProperties: logic confirmed by peer review (annotation added to existing code) - fn_05769 EquipmentPropertyStore::operator+=: logic confirmed by peer review (annotation added to existing code) - fn_05770 EquipmentPropertyStore::operator+=: logic confirmed by peer review (annotation added to existing code) - fn_05782 EquipmentProperties::CEquipmentProperties::Describe: logic confirmed by peer review (annotation added to existing code) - fn_05783 EquipmentPropertyStore::RemoveDuplicateNames: logic confirmed by peer review (annotation added to existing code) - fn_06183 EquipmentProperties::CEquipmentPropertiesMgr::FindDefinition: logic confirmed by peer review (annotation added to existing code) - fn_06202 EquipmentProperties::CEquipmentPropertiesMgr::RemoveExpansion: logic confirmed by peer review (annotation added to existing code) - fn_06207 EquipmentProperties::CEquipmentPropertiesMgr::Rebuild: logic confirmed by peer review (annotation added to existing code) - fn_06208 EquipmentProperties::CEquipmentPropertiesMgr::SetCurrentEquipment: logic confirmed by peer review (annotation added to existing code) - fn_06211 EquipmentProperties::CEquipmentPropertiesMgr::RefreshPretend: logic confirmed by peer review (annotation added to existing code) Peer-reviewed-by: Yommy, alisonrag, OvoKore Accepted without human review: peers confirmed the logic ("same" ahead by at least 3, with 70% of the votes). --- Source/Contents/Messenger/ClientMessenger.cpp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/Source/Contents/Messenger/ClientMessenger.cpp b/Source/Contents/Messenger/ClientMessenger.cpp index 24b8fe1c..86f53288 100644 --- a/Source/Contents/Messenger/ClientMessenger.cpp +++ b/Source/Contents/Messenger/ClientMessenger.cpp @@ -680,6 +680,7 @@ EquipmentProperties::CEquipmentPropertiesMgr* EquipmentProperties::CEquipmentPro } // OFFSET: 0x0068BAD0 +// FUNCTION: fn_05620 void EquipmentProperties::CEquipment::AddProperty(const std::string& name, const char* op, const int& index, const int& value, const int& key) { unsigned int hash = 5381; for (const char* character = name.c_str(); *character != '\0'; ++character) { @@ -737,6 +738,7 @@ void EquipmentProperties::CEquipment::CallOnStartEquip(lua_State* state) { } // OFFSET: 0x0068C170 +// FUNCTION: fn_05634 void EquipmentProperties::CEquipmentAttachable::Load(bool force) { CLuaInstance* script = &CEquipmentPropertiesMgr::GetInstance()->GetScript(); if (script == nullptr) { @@ -765,6 +767,7 @@ void EquipmentProperties::CEquipmentAttachable::Load(bool force) { } // OFFSET: 0x0068C2B0 +// FUNCTION: fn_05635 void EquipmentProperties::CEquipmentCombiitem::Load(bool force) { CLuaInstance* script = &CEquipmentPropertiesMgr::GetInstance()->GetScript(); if (script == nullptr) { @@ -798,6 +801,7 @@ void EquipmentProperties::CEquipmentCombiitem::Load(bool force) { } // OFFSET: 0x0068C420 +// FUNCTION: fn_05636 void EquipmentProperties::CEquipmentExpansion::Load(bool force) { CLuaInstance* script = &CEquipmentPropertiesMgr::GetInstance()->GetScript(); if (script == nullptr) { @@ -828,18 +832,21 @@ void EquipmentProperties::CEquipmentExpansion::Load(bool force) { } // OFFSET: 0x0068CE20 +// FUNCTION: fn_05639 void EquipmentProperties::CEquipmentCombiitem::Clear() { this->NotifyProperties(g_equipmentClearColor, true, "(C)"); this->m_properties.Clear(); } // OFFSET: 0x0068CE50 +// FUNCTION: fn_05640 void EquipmentProperties::CEquipmentExpansion::Clear() { this->NotifyProperties(g_equipmentClearColor, true, this->GetSuffix()); this->m_properties.Clear(); } // OFFSET: 0x0068CEA0 +// FUNCTION: fn_05641 void EquipmentProperties::CEquipmentWearable::Clear() { if (this->m_active == true) { this->NotifyProperties(g_equipmentClearColor, true, ""); @@ -851,6 +858,7 @@ void EquipmentProperties::CEquipmentWearable::Clear() { } // OFFSET: 0x0068CF10 +// FUNCTION: fn_05643 void EquipmentProperties::CEquipment::NotifyProperties(const COLORREF& color, bool negative, std::string_view suffix) { for (auto& group : this->m_properties.GetProperties()) { for (auto& entry : group.second) { @@ -867,6 +875,7 @@ void EquipmentProperties::CEquipment::NotifyProperties(const COLORREF& color, bo } // OFFSET: 0x00698560 +// FUNCTION: fn_05769 EquipmentPropertyStore& EquipmentPropertyStore::operator+=(EquipmentPropertyStore& other) { for (auto& group : other.properties) { for (auto& entry : group.second) { @@ -886,6 +895,7 @@ EquipmentPropertyStore& EquipmentPropertyStore::operator+=(EquipmentPropertyStor } // OFFSET: 0x00698C30 +// FUNCTION: fn_05770 EquipmentPropertyStore& EquipmentPropertyStore::operator+=(EquipmentProperty* property) { EquipmentPropertyDefinition* definition = property->m_definition; if (definition == nullptr) { @@ -901,6 +911,7 @@ EquipmentPropertyStore& EquipmentPropertyStore::operator+=(EquipmentProperty* pr } // OFFSET: 0x0069A2A0 +// FUNCTION: fn_05782 std::string EquipmentProperties::CEquipmentProperties::Describe(bool detailed, bool negative) { std::string text; if (this->m_definition == nullptr) { @@ -920,6 +931,7 @@ std::string EquipmentProperties::CEquipmentProperties::Describe(bool detailed, b } // OFFSET: 0x0069A4F0 +// FUNCTION: fn_05783 void EquipmentPropertyStore::RemoveDuplicateNames() { std::set names; for (auto& group : this->properties) { @@ -1809,6 +1821,7 @@ void EquipmentProperties::CEquipmentPropertiesMgr::GetDescriptions(const int& gr } // OFFSET: 0x006AD4A0 +// FUNCTION: fn_06183 EquipmentPropertyDefinition* EquipmentProperties::CEquipmentPropertiesMgr::FindDefinition(const std::uint64_t& key) { auto found = this->m_definitionsByName.find(key); if (found == this->m_definitionsByName.end()) { @@ -1866,6 +1879,7 @@ void EquipmentProperties::CEquipmentPropertiesMgr::AddExpansion(const int& kind, } // OFFSET: 0x006B6E10 +// FUNCTION: fn_06202 void EquipmentProperties::CEquipmentPropertiesMgr::RemoveExpansion(const int& kind, const int& itemId) { this->m_dirty = true; @@ -1915,6 +1929,7 @@ void EquipmentProperties::CEquipmentPropertiesMgr::RefreshExpansion(const int& k } // OFFSET: 0x006B7530 +// FUNCTION: fn_06207 void EquipmentProperties::CEquipmentPropertiesMgr::Rebuild() { this->store->Clear(); for (auto& entry : this->properties1) { @@ -1933,12 +1948,14 @@ void EquipmentProperties::CEquipmentPropertiesMgr::Rebuild() { } // OFFSET: 0x006B75C0 +// FUNCTION: fn_06208 void EquipmentProperties::CEquipmentPropertiesMgr::SetCurrentEquipment(CEquipment* equipment) { this->unknown_019C.clear(); this->unknown_001C = reinterpret_cast(equipment); } // OFFSET: 0x006B7770 +// FUNCTION: fn_06211 void EquipmentProperties::CEquipmentPropertiesMgr::RefreshPretend() { for (auto& entry : this->properties1) { this->m_dirty |= entry.second->IsPretend();