From 4a0d90c1f2b2bc6fc77e18fd352dbefc5f6b1d18 Mon Sep 17 00:00:00 2001 From: ragnarok-clanker Date: Thu, 12 Nov 2026 04:18:08 +0000 Subject: [PATCH] Decompile 12 functions in Source/Contents/Async/AsyncWorkMgr.cpp, Source/Contents/Async/AsyncWorkRecycleObjectPoolMgr.cpp Batch #17834 by eAthena: 11 byte-identical, 1 confirmed by peer review. - fn_02499 CAsyncWorkMgr::LoadAccount: byte-identical - fn_02500 CAsyncWorkMgr::SaveAccount: byte-identical - fn_02501 CAsyncWorkMgr::ChangePartyMaster: byte-identical - fn_02502 CAsyncWorkMgr::LoadCharacter: byte-identical - fn_02503 CAsyncWorkMgr::SaveCharacter: byte-identical - fn_02504 CAsyncWorkMgr::DownloadEmblem: byte-identical - fn_02505 CAsyncWorkMgr::UploadEmblem: byte-identical - fn_02506 CAsyncWorkMgr::LoadMyParty: byte-identical - fn_02507 CAsyncWorkMgr::LoadPartyInfo: byte-identical - fn_02509 CAsyncWorkMgr::LoadStore: byte-identical - fn_02512 CAsyncWorkMgr::StopRecruiting: byte-identical - fn_02566 CAsyncWorkRecycleObjectPoolMgr::RegisterPools: 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/Contents/Async/AsyncWorkMgr.cpp | 22 +++++++-------- .../Async/AsyncWorkRecycleObjectPoolMgr.cpp | 28 +++++++++---------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Source/Contents/Async/AsyncWorkMgr.cpp b/Source/Contents/Async/AsyncWorkMgr.cpp index 5ad3608d9..739d11067 100644 --- a/Source/Contents/Async/AsyncWorkMgr.cpp +++ b/Source/Contents/Async/AsyncWorkMgr.cpp @@ -75,7 +75,7 @@ void CAsyncWorkMgr::Shutdown() { // OFFSET: 0x00573DB0 // FUNCTION: fn_02499 void CAsyncWorkMgr::LoadAccount(std::uint32_t accountId, std::string world, std::string url) { - NAsyncWorkPtr work(this->m_pools, "AccountLinkedUserData_Load"); + NAsyncWorkPtr work(this->m_pools, g_accountLinkedUserDataLoadPoolName); if (work.Get()) { static_cast(work.Get())->Bind(accountId, world, url); @@ -86,7 +86,7 @@ void CAsyncWorkMgr::LoadAccount(std::uint32_t accountId, std::string world, std: // OFFSET: 0x00573EC0 // FUNCTION: fn_02500 void CAsyncWorkMgr::SaveAccount(std::uint32_t accountId, std::string world, std::string url, std::string token, std::string data) { - NAsyncWorkPtr work(this->m_pools, "AccountLinkedUserData_Save"); + NAsyncWorkPtr work(this->m_pools, g_accountLinkedUserDataSavePoolName); if (work.Get()) { static_cast(work.Get())->Bind(accountId, world, url, token, data); @@ -100,7 +100,7 @@ void CAsyncWorkMgr::ChangePartyMaster( std::uint32_t accountId, std::uint32_t characterId, std::string characterName, std::uint32_t targetAccountId, std::uint32_t targetCharacterId, std::string targetName, std::string world, std::string url, std::string token ) { - NAsyncWorkPtr work(this->m_pools, "Change_PartyMaster"); + NAsyncWorkPtr work(this->m_pools, g_changePartyMasterPoolName); if (work.Get()) { static_cast(work.Get()) @@ -114,7 +114,7 @@ void CAsyncWorkMgr::ChangePartyMaster( void CAsyncWorkMgr::LoadCharacter( std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token ) { - NAsyncWorkPtr work(this->m_pools, "CharacterLinkedUserData_Load"); + NAsyncWorkPtr work(this->m_pools, g_characterLinkedUserDataLoadPoolName); if (work.Get()) { static_cast(work.Get())->Bind(accountId, characterId, world, url, token); @@ -125,7 +125,7 @@ void CAsyncWorkMgr::LoadCharacter( // OFFSET: 0x005742D0 // FUNCTION: fn_02503 void CAsyncWorkMgr::SaveCharacter(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::string data) { - NAsyncWorkPtr work(this->m_pools, "CharacterLinkedUserData_Save"); + NAsyncWorkPtr work(this->m_pools, g_characterLinkedUserDataSavePoolName); if (work.Get()) { static_cast(work.Get())->Bind(accountId, characterId, world, url, token, data); @@ -138,7 +138,7 @@ void CAsyncWorkMgr::SaveCharacter(std::uint32_t accountId, std::uint32_t charact void CAsyncWorkMgr::DownloadEmblem( std::string url, std::uint32_t accountId, std::string token, std::string world, std::uint32_t guildId, std::uint32_t version ) { - NAsyncWorkPtr work(this->m_pools, "Emblem_Download"); + NAsyncWorkPtr work(this->m_pools, g_emblemDataDownloadPoolName); if (work.Get()) { static_cast(work.Get())->Bind(url, accountId, token, world, guildId, version); @@ -149,7 +149,7 @@ void CAsyncWorkMgr::DownloadEmblem( // OFFSET: 0x00574570 // FUNCTION: fn_02505 void CAsyncWorkMgr::UploadEmblem(std::string url, std::uint32_t accountId, std::string token, std::string world, std::uint32_t guildId, std::string path) { - NAsyncWorkPtr work(this->m_pools, "Emblem_Upload"); + NAsyncWorkPtr work(this->m_pools, g_emblemDataUploadPoolName); if (work.Get()) { static_cast(work.Get())->Bind(url, accountId, token, world, guildId, path); @@ -160,7 +160,7 @@ void CAsyncWorkMgr::UploadEmblem(std::string url, std::uint32_t accountId, std:: // OFFSET: 0x005746D0 // FUNCTION: fn_02506 void CAsyncWorkMgr::LoadMyParty(std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token) { - NAsyncWorkPtr work(this->m_pools, "MyParty_Load"); + NAsyncWorkPtr work(this->m_pools, g_loadMyPartyPoolName); if (work.Get()) { static_cast(work.Get())->Bind(accountId, characterId, world, url, token); @@ -173,7 +173,7 @@ void CAsyncWorkMgr::LoadMyParty(std::uint32_t accountId, std::uint32_t character void CAsyncWorkMgr::LoadPartyInfo( std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::uint32_t queryAccountId ) { - NAsyncWorkPtr work(this->m_pools, "PartyInfo_Load"); + NAsyncWorkPtr work(this->m_pools, g_loadPartyInfoPoolName); if (work.Get()) { static_cast(work.Get())->Bind(accountId, characterId, world, url, token, queryAccountId); @@ -200,7 +200,7 @@ void CAsyncWorkMgr::LoadPartyList( void CAsyncWorkMgr::LoadStore( std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, int type ) { - NAsyncWorkPtr work(this->m_pools, "MerchantStoreInformation_Load"); + NAsyncWorkPtr work(this->m_pools, g_mcStoreInfoBackupLoadPoolName); if (work.Get()) { static_cast(work.Get())->Bind(url, accountId, characterId, world, token, type); @@ -237,7 +237,7 @@ void CAsyncWorkMgr::RegisterParty( // OFFSET: 0x00574F40 // FUNCTION: fn_02512 void CAsyncWorkMgr::StopRecruiting(std::uint32_t accountId, std::string world, std::string url, std::string token, std::uint32_t masterAccountId) { - NAsyncWorkPtr work(this->m_pools, "Stop_Recruiting"); + NAsyncWorkPtr work(this->m_pools, g_stopRecruitingPoolName); if (work.Get()) { static_cast(work.Get())->Bind(accountId, world, url, token, masterAccountId); diff --git a/Source/Contents/Async/AsyncWorkRecycleObjectPoolMgr.cpp b/Source/Contents/Async/AsyncWorkRecycleObjectPoolMgr.cpp index e1806ab53..210621d92 100644 --- a/Source/Contents/Async/AsyncWorkRecycleObjectPoolMgr.cpp +++ b/Source/Contents/Async/AsyncWorkRecycleObjectPoolMgr.cpp @@ -34,46 +34,46 @@ CAsyncWorkRecycleObjectPoolMgr::~CAsyncWorkRecycleObjectPoolMgr() { // OFFSET: 0x00578F30 // FUNCTION: fn_02566 bool CAsyncWorkRecycleObjectPoolMgr::RegisterPools() { - if (!this->m_pools.insert(std::make_pair("AccountLinkedUserData_Load", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_accountLinkedUserDataLoadPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("AccountLinkedUserData_Save", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_accountLinkedUserDataSavePoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("CharacterLinkedUserData_Load", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_characterLinkedUserDataLoadPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("CharacterLinkedUserData_Save", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_characterLinkedUserDataSavePoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("Emblem_Upload", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_emblemDataUploadPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("Emblem_Download", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_emblemDataDownloadPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("MerchantStoreInformation_Load", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_mcStoreInfoBackupLoadPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("MerchantStoreInformation_Save", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_mcStoreInfoBackupSavePoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("PartyList_Load", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_loadPartyListPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("MyParty_Load", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_loadMyPartyPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("Register_Party", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_registerPartyPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("Stop_Recruiting", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_stopRecruitingPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("Change_PartyMaster", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_changePartyMasterPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } - if (!this->m_pools.insert(std::make_pair("PartyInfo_Load", new (std::nothrow) NRecycleObjectPool(2))).second) { + if (!this->m_pools.insert(std::make_pair(g_loadPartyInfoPoolName, new (std::nothrow) NRecycleObjectPool(2))).second) { return false; } return true;