Reconstruct readable C++ and organize cohesive source subsystems

Administrative source import: native x86 compilation passed for 423 authored units. Source placement and submission states are migrated separately; this commit does not imply peer acceptance.

Previous head: 35d2a8cb36
Payload SHA256: 592f016d2730c5593bb653aa054c1e5f76a6df72c8f5a09e66f74876e2e33dee
This commit is contained in:
ragnarok-clanker 2026-10-25 07:42:41 +00:00
commit a47d20f8be
890 changed files with 11796 additions and 16664 deletions

View file

@ -0,0 +1,258 @@
#include "Contents/UserData/AccountLinkedUserDataLoadAsyncWork.h"
#include "Contents/UserData/AccountLinkedUserDataSaveAsyncWork.h"
#include "Contents/Async/AsyncWorkMgr.h"
#include "Contents/Async/AsyncWorkRecycleObjectPoolMgr.h"
#include "Contents/Party/ChangePartyMasterAsyncWork.h"
#include "Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.h"
#include "Contents/UserData/CharacterLinkedUserDataSaveAsyncWork.h"
#include "Contents/Emblems/EmblemDataDownloadAsyncWork.h"
#include "Contents/Emblems/EmblemDataUploadAsyncWork.h"
#include "Contents/Party/LoadMyPartyAsyncWork.h"
#include "Contents/Party/LoadPartyInfoAsyncWork.h"
#include "Contents/Party/LoadPartyListAsyncWork.h"
#include "Contents/Store/MCStoreInfoBackupAsyncWork.h"
#include "Contents/Party/RegisterPartyAsyncWork.h"
#include "Contents/Party/StopRecruitingAsyncWork.h"
#include <new>
// STATIC: 0x0138968C
// GLOBAL: gl_24349
CAsyncWorkMgr* g_asyncWorkMgr;
// OFFSET: 0x00573C50
// FUNCTION: fn_02497
CAsyncWorkMgr::CAsyncWorkMgr(std::uint32_t workers) : NAsyncWorkMgr(workers), m_ready(false), m_pools(nullptr) {
this->m_pools = new (std::nothrow) CAsyncWorkRecycleObjectPoolMgr;
if (this->m_pools) {
if (this->m_pools->Ready()) {
this->m_ready = true;
} else {
delete this->m_pools;
this->m_pools = nullptr;
}
}
}
// OFFSET: 0x00573B20
// FUNCTION: fn_02496
CAsyncWorkMgr::~CAsyncWorkMgr() {
this->DestroyQueues();
delete this->m_pools;
this->m_pools = nullptr;
}
// OFFSET: 0x00573C50
// FUNCTION: fn_02497
bool CAsyncWorkMgr::Initialize(std::uint32_t workers) {
if (g_asyncWorkMgr) {
return false;
}
g_asyncWorkMgr = new (std::nothrow) CAsyncWorkMgr(workers);
if (!g_asyncWorkMgr) {
return false;
}
if (!g_asyncWorkMgr->m_ready) {
delete g_asyncWorkMgr;
g_asyncWorkMgr = nullptr;
return false;
}
return true;
}
// OFFSET: 0x00573D90
// FUNCTION: fn_02498
void CAsyncWorkMgr::Shutdown() {
if (g_asyncWorkMgr) {
delete g_asyncWorkMgr;
g_asyncWorkMgr = nullptr;
}
}
// OFFSET: 0x00573DB0
// FUNCTION: fn_02499
void CAsyncWorkMgr::LoadAccount(std::uint32_t accountId, std::string world, std::string url, AccountConfigLoad& context) {
NAsyncWorkPtr work(this->m_pools, "AccountLinkedUserData_Load");
if (work.Get()) {
static_cast<CAccountLinkedUserDataLoadAsyncWork*>(work.Get())->Bind(accountId, world, url, context);
this->Submit(work);
}
}
// 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");
if (work.Get()) {
static_cast<CAccountLinkedUserDataSaveAsyncWork*>(work.Get())->Bind(accountId, world, url, token, data);
this->Submit(work);
}
}
// OFFSET: 0x00574010
// FUNCTION: fn_02501
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, WindowManagerWindows& windows
) {
NAsyncWorkPtr work(this->m_pools, "Change_PartyMaster");
if (work.Get()) {
static_cast<CChangePartyMasterAsyncWork*>(work.Get())
->Bind(accountId, characterId, characterName, targetAccountId, targetCharacterId, targetName, world, url, token, windows);
this->Submit(work);
}
}
// OFFSET: 0x00574190
// FUNCTION: fn_02502
void CAsyncWorkMgr::LoadCharacter(
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, CharacterConfigLoad& context
) {
NAsyncWorkPtr work(this->m_pools, "CharacterLinkedUserData_Load");
if (work.Get()) {
static_cast<CCharacterLinkedUserDataLoadAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, context);
this->Submit(work);
}
}
// 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");
if (work.Get()) {
static_cast<CCharacterLinkedUserDataSaveAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, data);
this->Submit(work);
}
}
// OFFSET: 0x00574430
// FUNCTION: fn_02504
void CAsyncWorkMgr::DownloadEmblem(
std::string url, std::uint32_t accountId, std::string token, std::string world, std::uint32_t guildId, std::uint32_t version, CConnection& connection
) {
NAsyncWorkPtr work(this->m_pools, "Emblem_Download");
if (work.Get()) {
static_cast<CEmblemDataDownloadAsyncWork*>(work.Get())->Bind(url, accountId, token, world, guildId, version, connection);
this->Submit(work);
}
}
// 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, CEmblemDataMgr& owner,
EmblemUploadContext& context
) {
NAsyncWorkPtr work(this->m_pools, "Emblem_Upload");
if (work.Get()) {
static_cast<CEmblemDataUploadAsyncWork*>(work.Get())->Bind(url, accountId, token, world, guildId, path, owner, context);
this->Submit(work);
}
}
// 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, WindowManagerWindows& windows
) {
NAsyncWorkPtr work(this->m_pools, "MyParty_Load");
if (work.Get()) {
static_cast<CLoadMyPartyAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, windows);
this->Submit(work);
}
}
// OFFSET: 0x00574810
// FUNCTION: fn_02507
void CAsyncWorkMgr::LoadPartyInfo(
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::uint32_t queryAccountId,
PartyInfoContext& context
) {
NAsyncWorkPtr work(this->m_pools, "PartyInfo_Load");
if (work.Get()) {
static_cast<CLoadPartyInfoAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, queryAccountId, context);
this->Submit(work);
}
}
// OFFSET: 0x00574950
// FUNCTION: fn_02508
void CAsyncWorkMgr::LoadPartyList(
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, int search, CAdvenPartyInfo filter, int page,
WindowManagerWindows& windows
) {
NAsyncWorkPtr work(this->m_pools, "PartyList_Load");
if (work.Get()) {
static_cast<CLoadPartyListAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, filter, search, page, windows);
this->Submit(work);
}
}
// OFFSET: 0x00574B30
// FUNCTION: fn_02509
void CAsyncWorkMgr::LoadStore(
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, int type, CMCStoreInfoBackup& owner,
StoreBackupContext& context
) {
NAsyncWorkPtr work(this->m_pools, "MerchantStoreInformation_Load");
if (work.Get()) {
static_cast<CMCStoreInfoBackupLoadAsyncWork*>(work.Get())->Bind(url, accountId, characterId, world, token, type, owner, context);
this->Submit(work);
}
}
// OFFSET: 0x00574C70
// FUNCTION: fn_02510
void CAsyncWorkMgr::SaveStore(
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, std::string data, int type,
CMCStoreInfoBackup& owner, StoreBackupContext& context
) {
NAsyncWorkPtr work(this->m_pools, "MerchantStoreInformation_Save");
if (work.Get()) {
static_cast<CMCStoreInfoBackupSaveAsyncWork*>(work.Get())->Bind(url, accountId, characterId, world, token, data, type, owner, context);
this->Submit(work);
}
}
// OFFSET: 0x00574DD0
// FUNCTION: fn_02511
void CAsyncWorkMgr::RegisterParty(
std::uint32_t accountId, std::uint32_t characterId, std::string world, std::string url, std::string token, CAdvenPartyInfo info, RegisterPartyContext& context
) {
NAsyncWorkPtr work(this->m_pools, "Register_Party");
if (work.Get()) {
static_cast<CRegisterPartyAsyncWork*>(work.Get())->Bind(accountId, characterId, world, url, token, info, context);
this->Submit(work);
}
}
// 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, StopRecruitingContext& context
) {
NAsyncWorkPtr work(this->m_pools, "Stop_Recruiting");
if (work.Get()) {
static_cast<CStopRecruitingAsyncWork*>(work.Get())->Bind(accountId, world, url, token, masterAccountId, context);
this->Submit(work);
}
}