diff --git a/Source/Contents/Party/ChangePartyMasterAsyncWork.cpp b/Source/Contents/Party/ChangePartyMasterAsyncWork.cpp index 3f88bfa97..6208d473e 100644 --- a/Source/Contents/Party/ChangePartyMasterAsyncWork.cpp +++ b/Source/Contents/Party/ChangePartyMasterAsyncWork.cpp @@ -108,7 +108,8 @@ bool CChangePartyMasterAsyncWork::Execute() { // OFFSET: 0x005CE090 // FUNCTION: fn_03682 void CChangePartyMasterAsyncWork::Complete() { - g_adventurerAgencyMgr->CompleteChangeMaster(this->m_diagnostic, this->m_response); + CAdventurerAgencyMgr* manager = g_adventurerAgencyMgr; + manager->CompleteChangeMaster(this->m_diagnostic, this->m_response); } template void std::deque::push_back(CChangePartyMasterAsyncWork*&&); diff --git a/Source/Contents/Party/LoadMyPartyAsyncWork.cpp b/Source/Contents/Party/LoadMyPartyAsyncWork.cpp index 309f183bc..6fec35254 100644 --- a/Source/Contents/Party/LoadMyPartyAsyncWork.cpp +++ b/Source/Contents/Party/LoadMyPartyAsyncWork.cpp @@ -90,7 +90,8 @@ bool CLoadMyPartyAsyncWork::Execute() { // OFFSET: 0x005CF8F0 // FUNCTION: fn_03689 void CLoadMyPartyAsyncWork::Complete() { - g_adventurerAgencyMgr->CompleteMyParty(this->m_diagnostic, this->m_response); + CAdventurerAgencyMgr* manager = g_adventurerAgencyMgr; + manager->CompleteMyParty(this->m_diagnostic, this->m_response); } template void std::deque::push_back(CLoadMyPartyAsyncWork*&&); diff --git a/Source/Contents/Party/StopRecruitingAsyncWork.cpp b/Source/Contents/Party/StopRecruitingAsyncWork.cpp index a85c121ba..9d1189df1 100644 --- a/Source/Contents/Party/StopRecruitingAsyncWork.cpp +++ b/Source/Contents/Party/StopRecruitingAsyncWork.cpp @@ -91,7 +91,8 @@ bool CStopRecruitingAsyncWork::Execute() { // OFFSET: 0x005D64B0 // FUNCTION: fn_03715 void CStopRecruitingAsyncWork::Complete() { - g_adventurerAgencyMgr->CompleteStopRecruiting(this->m_diagnostic, this->m_response); + CAdventurerAgencyMgr* manager = g_adventurerAgencyMgr; + manager->CompleteStopRecruiting(this->m_diagnostic, this->m_response); } template void std::deque::push_back(CStopRecruitingAsyncWork*&&); diff --git a/Source/Contents/UserData/CharacterConfigLoad.cpp b/Source/Contents/UserData/CharacterConfigLoad.cpp index 930e35c67..b702497c5 100644 --- a/Source/Contents/UserData/CharacterConfigLoad.cpp +++ b/Source/Contents/UserData/CharacterConfigLoad.cpp @@ -20,31 +20,36 @@ void CCharacterLinkedUserDataMgr::CompleteLoad( Json::Value root; Json::Reader reader; - const std::string document(response.c_str()); - if (!reader.parse(document, root, true)) { + if (!reader.parse(std::string(response.c_str()), root, true)) { return; } - const int type = root["Type"].asInt(); + switch (root["Type"].asInt()) { + case 1: { + this->LoadUseSkillLevels(root["data"]); + this->LoadHomunculusSkillLevels(root["data"]); - if (type == 4) { + { + const Json::Value comparison = root["data"]["ItemComparison"]; + g_serviceOptions.Set(264, comparison.isNull() ? true : comparison.asBool()); + } + + { + const Json::Value sorting = root["data"]["SortPrivateTab"]; + g_sortPrivateTab = sorting.isNull() ? false : sorting.asBool(); + } + + this->LoadNormalItemSlots(root["data"]); + this->m_loaded = true; + break; + } + case 4: LoadSkillUseLevelRegistry(); g_session.SetOption(7, 1, 0); g_session.SetOption(8, 1, 0); this->m_loaded = true; - } else if (type == 1) { - this->LoadUseSkillLevels(root["data"]); - this->LoadHomunculusSkillLevels(root["data"]); - - const Json::Value comparison = root["data"]["ItemComparison"]; - g_serviceOptions.Set(264, comparison.isNull() ? true : comparison.asBool()); - - const Json::Value sorting = root["data"]["SortPrivateTab"]; - g_sortPrivateTab = sorting.isNull() ? false : sorting.asBool(); - - this->LoadNormalItemSlots(root["data"]); - this->m_loaded = true; + break; } this->m_accountId = accountId; diff --git a/Source/Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.cpp b/Source/Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.cpp index a5ed4f3ec..f6a4cb28e 100644 --- a/Source/Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.cpp +++ b/Source/Contents/UserData/CharacterLinkedUserDataLoadAsyncWork.cpp @@ -90,7 +90,8 @@ bool CCharacterLinkedUserDataLoadAsyncWork::Execute() { // OFFSET: 0x005E51A0 // FUNCTION: fn_03920 void CCharacterLinkedUserDataLoadAsyncWork::Complete() { - g_characterLinkedUserDataMgr->CompleteLoad( + CCharacterLinkedUserDataMgr* manager = g_characterLinkedUserDataMgr; + manager->CompleteLoad( this->m_diagnostic, this->m_accountId, this->m_characterId, this->m_accountName, this->m_response ); }