mirror of
https://github.com/zeldaret/botw
synced 2026-10-09 21:44:27 -04:00
aoc: Manager is ksys, the DLC managers stay game-side
aoc::Manager is created during engine start-up and called by gdt, map and StarterPackMgr; only game code uses HardModeManager and ChampionBalladManager. (AI assisted using Claude Fable 5.1 and Claude Opus 5.5)
This commit is contained in:
+44
-44
@@ -40586,15 +40586,15 @@ Address,Quality,Size,Name
|
||||
0x000000710067ef10,U,000472,
|
||||
0x000000710067f0e8,U,000004,j__ZdlPv_290
|
||||
0x000000710067f0ec,U,000008,
|
||||
0x000000710067f0f4,O,000100,_ZN5uking21ChampionBalladManager18SingletonDisposer_D1Ev
|
||||
0x000000710067f158,O,000108,_ZN5uking21ChampionBalladManager18SingletonDisposer_D0Ev
|
||||
0x000000710067f1c4,O,000144,_ZN5uking21ChampionBalladManager14createInstanceEPN4sead4HeapE
|
||||
0x000000710067f254,O,000004,_ZN5uking21ChampionBalladManagerD2Ev
|
||||
0x000000710067f258,O,000004,_ZN5uking21ChampionBalladManagerD0Ev
|
||||
0x000000710067f25c,O,000008,_ZN5uking21ChampionBalladManager4initEv
|
||||
0x000000710067f264,O,000040,_ZN5uking21ChampionBalladManager21setBlightRematchCountEaNS_10BlightTypeE
|
||||
0x000000710067f28c,O,000048,_ZN5uking21ChampionBalladManager27incrementBlightRematchCountENS_10BlightTypeE
|
||||
0x000000710067f2bc,O,000028,_ZNK5uking21ChampionBalladManager21getBlightRematchCountENS_10BlightTypeE
|
||||
0x000000710067f0f4,O,000100,_ZN5uking3aoc21ChampionBalladManager18SingletonDisposer_D1Ev
|
||||
0x000000710067f158,O,000108,_ZN5uking3aoc21ChampionBalladManager18SingletonDisposer_D0Ev
|
||||
0x000000710067f1c4,O,000144,_ZN5uking3aoc21ChampionBalladManager14createInstanceEPN4sead4HeapE
|
||||
0x000000710067f254,O,000004,_ZN5uking3aoc21ChampionBalladManagerD2Ev
|
||||
0x000000710067f258,O,000004,_ZN5uking3aoc21ChampionBalladManagerD0Ev
|
||||
0x000000710067f25c,O,000008,_ZN5uking3aoc21ChampionBalladManager4initEv
|
||||
0x000000710067f264,O,000040,_ZN5uking3aoc21ChampionBalladManager21setBlightRematchCountEaNS0_10BlightTypeE
|
||||
0x000000710067f28c,O,000048,_ZN5uking3aoc21ChampionBalladManager27incrementBlightRematchCountENS0_10BlightTypeE
|
||||
0x000000710067f2bc,O,000028,_ZNK5uking3aoc21ChampionBalladManager21getBlightRematchCountENS0_10BlightTypeE
|
||||
0x000000710067f2d8,U,000100,StasisMgr::deleteInstance
|
||||
0x000000710067f33c,U,000108,StasisMgr::deleteInstanceDelete
|
||||
0x000000710067f3a8,U,000136,StasisMgr::createInstance
|
||||
@@ -74880,45 +74880,45 @@ Address,Quality,Size,Name
|
||||
0x0000007100d68e54,U,000188,
|
||||
0x0000007100d68f10,U,000004,
|
||||
0x0000007100d68f14,O,000412,_GLOBAL__sub_I_aocManager.cpp
|
||||
0x0000007100d690b0,O,000092,_ZN5uking3aoc7Manager18SingletonDisposer_D1Ev
|
||||
0x0000007100d6910c,O,000100,_ZN5uking3aoc7Manager18SingletonDisposer_D0Ev
|
||||
0x0000007100d69170,O,000128,_ZN5uking3aoc7Manager14createInstanceEPN4sead4HeapE
|
||||
0x0000007100d691f0,O,001560,_ZN5uking3aoc7ManagerC1Ev
|
||||
0x0000007100d69808,O,000004,_ZN5uking3aoc7Manager11onGdtReinitEPN4ksys3gdt7Manager11ReinitEventE
|
||||
0x0000007100d6980c,O,000380,_ZN5uking3aoc7ManagerD1Ev
|
||||
0x0000007100d69988,O,000256,_ZN5uking3aoc7Manager4initEPN4sead4HeapE
|
||||
0x0000007100d69a88,O,000204,_ZN5uking3aoc7Manager15loadVersionFileEv
|
||||
0x0000007100d69b54,O,000180,_ZN5uking3aoc7Manager20loadAocMainFieldPackEPN4ksys12OverlayArenaE
|
||||
0x0000007100d69c08,O,000152,_ZN5uking3aoc7Manager24registerAocMainFieldPackEv
|
||||
0x0000007100d69ca0,O,000068,_ZN5uking3aoc7Manager22unloadAocMainFieldPackEv
|
||||
0x0000007100d69ce4,O,000324,_ZNK5uking3aoc7Manager23getFileDeviceForMapFileERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d69e28,O,000292,_ZNK5uking3aoc7Manager14aocPackHasFileERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d69f4c,O,001064,_ZNK5uking3aoc7Manager9isAocFileERKN4sead14SafeStringBaseIcEES6_S6_S6_S6_
|
||||
0x0000007100d6a374,O,000376,_ZN5uking3aoc7Manager19getFileDeviceForMapEPPN4sead10FileDeviceEPPN4ksys3res6HandleERKNS2_14SafeStringBaseIcEE
|
||||
0x0000007100d6a4ec,O,000168,_ZNK5uking3aoc7Manager30getFileDeviceForStaticCompoundERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a594,O,000104,_ZNK5uking3aoc7Manager24getFileDeviceForTeraMeshERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a5fc,O,000168,_ZNK5uking3aoc7Manager23getFileDeviceForNavMeshERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a6a4,O,000104,_ZNK5uking3aoc7Manager23getFileDeviceForTerrainERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a70c,O,000104,_ZNK5uking3aoc7Manager20getFileDeviceForGameERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a774,O,000104,_ZNK5uking3aoc7Manager18getFileDeviceForUIERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a7dc,O,000516,_ZN5uking3aoc7Manager12isAocDungeonERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a9e0,O,000748,_ZN5uking3aoc7Manager8isAocMapERKN4sead14SafeStringBaseIcEES6_
|
||||
0x0000007100d6accc,O,000140,_ZN5uking3aoc7Manager10isAocFieldERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6ad58,O,000448,_ZNK5uking3aoc7Manager27getFileDeviceForDungeonPackERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6af18,O,000172,_ZN5uking3aoc7Manager15registerAocPackEPN4ksys3res6HandleE
|
||||
0x0000007100d6afc4,O,000660,_ZNK5uking3aoc7Manager15changeMoviePathERN4sead22BufferedSafeStringBaseIcEE
|
||||
0x0000007100d690b0,O,000092,_ZN4ksys3aoc7Manager18SingletonDisposer_D1Ev
|
||||
0x0000007100d6910c,O,000100,_ZN4ksys3aoc7Manager18SingletonDisposer_D0Ev
|
||||
0x0000007100d69170,O,000128,_ZN4ksys3aoc7Manager14createInstanceEPN4sead4HeapE
|
||||
0x0000007100d691f0,O,001560,_ZN4ksys3aoc7ManagerC1Ev
|
||||
0x0000007100d69808,O,000004,_ZN4ksys3aoc7Manager11onGdtReinitEPNS_3gdt7Manager11ReinitEventE
|
||||
0x0000007100d6980c,O,000380,_ZN4ksys3aoc7ManagerD1Ev
|
||||
0x0000007100d69988,O,000256,_ZN4ksys3aoc7Manager4initEPN4sead4HeapE
|
||||
0x0000007100d69a88,O,000204,_ZN4ksys3aoc7Manager15loadVersionFileEv
|
||||
0x0000007100d69b54,O,000180,_ZN4ksys3aoc7Manager20loadAocMainFieldPackEPNS_12OverlayArenaE
|
||||
0x0000007100d69c08,O,000152,_ZN4ksys3aoc7Manager24registerAocMainFieldPackEv
|
||||
0x0000007100d69ca0,O,000068,_ZN4ksys3aoc7Manager22unloadAocMainFieldPackEv
|
||||
0x0000007100d69ce4,O,000324,_ZNK4ksys3aoc7Manager23getFileDeviceForMapFileERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d69e28,O,000292,_ZNK4ksys3aoc7Manager14aocPackHasFileERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d69f4c,O,001064,_ZNK4ksys3aoc7Manager9isAocFileERKN4sead14SafeStringBaseIcEES6_S6_S6_S6_
|
||||
0x0000007100d6a374,O,000376,_ZN4ksys3aoc7Manager19getFileDeviceForMapEPPN4sead10FileDeviceEPPNS_3res6HandleERKNS2_14SafeStringBaseIcEE
|
||||
0x0000007100d6a4ec,O,000168,_ZNK4ksys3aoc7Manager30getFileDeviceForStaticCompoundERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a594,O,000104,_ZNK4ksys3aoc7Manager24getFileDeviceForTeraMeshERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a5fc,O,000168,_ZNK4ksys3aoc7Manager23getFileDeviceForNavMeshERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a6a4,O,000104,_ZNK4ksys3aoc7Manager23getFileDeviceForTerrainERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a70c,O,000104,_ZNK4ksys3aoc7Manager20getFileDeviceForGameERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a774,O,000104,_ZNK4ksys3aoc7Manager18getFileDeviceForUIERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a7dc,O,000516,_ZN4ksys3aoc7Manager12isAocDungeonERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6a9e0,O,000748,_ZN4ksys3aoc7Manager8isAocMapERKN4sead14SafeStringBaseIcEES6_
|
||||
0x0000007100d6accc,O,000140,_ZN4ksys3aoc7Manager10isAocFieldERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6ad58,O,000448,_ZNK4ksys3aoc7Manager27getFileDeviceForDungeonPackERKN4sead14SafeStringBaseIcEE
|
||||
0x0000007100d6af18,O,000172,_ZN4ksys3aoc7Manager15registerAocPackEPNS_3res6HandleE
|
||||
0x0000007100d6afc4,O,000660,_ZNK4ksys3aoc7Manager15changeMoviePathERN4sead22BufferedSafeStringBaseIcEE
|
||||
0x0000007100d6b258,U,002488,aocManager::parseMainFieldStaticForDlc
|
||||
0x0000007100d6bc10,U,001224,aocManager::x
|
||||
0x0000007100d6c0d8,m,000916,_ZN5uking3aoc7Manager12parseVersionEv
|
||||
0x0000007100d6c46c,O,000384,_ZN5uking3aoc7Manager11VersionFile11readVersionEv
|
||||
0x0000007100d6c5ec,O,000048,_ZN5uking3aoc7Manager12initGameDataEv
|
||||
0x0000007100d6c61c,O,000460,_ZN5uking3aoc7Manager11reinitFlagsEv
|
||||
0x0000007100d6c7e8,O,000220,_ZNK5uking3aoc7Manager16setGameDataFlagsEv
|
||||
0x0000007100d6c8c4,O,000428,_ZN5uking3aoc7Manager12GameDataFlag5text_Ei
|
||||
0x0000007100d6c0d8,m,000916,_ZN4ksys3aoc7Manager12parseVersionEv
|
||||
0x0000007100d6c46c,O,000384,_ZN4ksys3aoc7Manager11VersionFile11readVersionEv
|
||||
0x0000007100d6c5ec,O,000048,_ZN4ksys3aoc7Manager12initGameDataEv
|
||||
0x0000007100d6c61c,O,000460,_ZN4ksys3aoc7Manager11reinitFlagsEv
|
||||
0x0000007100d6c7e8,O,000220,_ZNK4ksys3aoc7Manager16setGameDataFlagsEv
|
||||
0x0000007100d6c8c4,O,000428,_ZN4ksys3aoc7Manager12GameDataFlag5text_Ei
|
||||
0x0000007100d6ca70,O,000004,_ZN4sead19FixedSafeStringBaseIcLi73EED0Ev
|
||||
0x0000007100d6ca74,O,000240,_ZN4sead19FixedSafeStringBaseIcLi73EEaSERKNS_14SafeStringBaseIcEE
|
||||
0x0000007100d6cb64,O,000048,_ZN4sead9Delegate1IN5uking3aoc7ManagerEPN4ksys3gdt7Manager11ReinitEventEE6invokeES8_
|
||||
0x0000007100d6cb94,O,000092,_ZNK4sead9Delegate1IN5uking3aoc7ManagerEPN4ksys3gdt7Manager11ReinitEventEE5cloneEPNS_4HeapE
|
||||
0x0000007100d6cb64,O,000048,_ZN4sead9Delegate1IN4ksys3aoc7ManagerEPNS1_3gdt7Manager11ReinitEventEE6invokeES7_
|
||||
0x0000007100d6cb94,O,000092,_ZNK4sead9Delegate1IN4ksys3aoc7ManagerEPNS1_3gdt7Manager11ReinitEventEE5cloneEPNS_4HeapE
|
||||
0x0000007100d6cbf0,O,000004,_ZN4sead15FixedSafeStringILi4EED0Ev
|
||||
0x0000007100d6cbf4,O,000240,_ZN4sead15FixedSafeStringILi4EEaSERKNS_14SafeStringBaseIcEE
|
||||
0x0000007100d6cce4,O,000092,_ZN5uking3aoc15HardModeManager18SingletonDisposer_D1Ev
|
||||
|
||||
|
Can't render this file because it is too large.
|
@@ -3,6 +3,4 @@ target_sources(uking PRIVATE
|
||||
aocChampionBalladManager.h
|
||||
aocHardModeManager.cpp
|
||||
aocHardModeManager.h
|
||||
aocManager.cpp
|
||||
aocManager.h
|
||||
)
|
||||
+3
-3
@@ -1,6 +1,6 @@
|
||||
#include "Game/DLC/aocChampionBalladManager.h"
|
||||
#include "Game/AOC/aocChampionBalladManager.h"
|
||||
|
||||
namespace uking {
|
||||
namespace uking::aoc {
|
||||
|
||||
SEAD_SINGLETON_DISPOSER_IMPL(ChampionBalladManager)
|
||||
|
||||
@@ -29,4 +29,4 @@ s8 ChampionBalladManager::getBlightRematchCount(BlightType blight_type) const {
|
||||
return mBlightCounts[u32(blight_type)];
|
||||
return 0;
|
||||
}
|
||||
} // namespace uking
|
||||
} // namespace uking::aoc
|
||||
@@ -4,7 +4,7 @@
|
||||
#include <container/seadSafeArray.h>
|
||||
#include <heap/seadDisposer.h>
|
||||
|
||||
namespace uking {
|
||||
namespace uking::aoc {
|
||||
|
||||
enum class BlightType : u32 { Wind, Electric, Fire, Water };
|
||||
|
||||
@@ -23,4 +23,4 @@ private:
|
||||
sead::SafeArray<u8, 4> mBlightCounts;
|
||||
};
|
||||
|
||||
} // namespace uking
|
||||
} // namespace uking::aoc
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "Game/DLC/aocHardModeManager.h"
|
||||
#include "Game/AOC/aocHardModeManager.h"
|
||||
#include <math/seadMathCalcCommon.h>
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/ActorSystem/actActorUtil.h"
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "Game/Actor/AI/aiCookPotRoot.h"
|
||||
#include "Game/DLC/aocHardModeManager.h"
|
||||
#include "Game/AOC/aocHardModeManager.h"
|
||||
#include "Game/UI/uiPauseMenuDataMgr.h"
|
||||
#include "KingSystem/ActorSystem/Attention/actAttention.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "Game/Actor/Action/actionCurseRRematchCount.h"
|
||||
#include "Game/DLC/aocChampionBalladManager.h"
|
||||
#include "Game/AOC/aocChampionBalladManager.h"
|
||||
#include "KingSystem/GameData/gdtManager.h"
|
||||
|
||||
namespace uking::action {
|
||||
@@ -19,12 +19,12 @@ void CurseRRematchCount::loadParams_() {
|
||||
}
|
||||
|
||||
bool CurseRRematchCount::oneShot_() {
|
||||
auto* manager = ChampionBalladManager::instance();
|
||||
auto* manager = aoc::ChampionBalladManager::instance();
|
||||
if (!manager)
|
||||
return false;
|
||||
|
||||
auto blight = BlightType(*mCurseRType_d);
|
||||
if (blight > BlightType::Water)
|
||||
auto blight = aoc::BlightType(*mCurseRType_d);
|
||||
if (blight > aoc::BlightType::Water)
|
||||
return false;
|
||||
|
||||
if (*mRematchCount_d == 0)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "Game/Actor/Damage/dmgDamageManagerBase.h"
|
||||
#include "Game/AOC/aocHardModeManager.h"
|
||||
#include "Game/Actor/Damage/dmgDamageCallback.h"
|
||||
#include "Game/DLC/aocHardModeManager.h"
|
||||
#include "KingSystem/ActorSystem/actActor.h"
|
||||
#include "KingSystem/ActorSystem/actActorConstDataAccess.h"
|
||||
#include "KingSystem/ActorSystem/actActorParam.h"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "Game/Actor/Query/queryCheckCurseRRetryEverOnce.h"
|
||||
#include <evfl/Query.h>
|
||||
#include "Game/DLC/aocChampionBalladManager.h"
|
||||
#include "Game/AOC/aocChampionBalladManager.h"
|
||||
|
||||
namespace uking::query {
|
||||
|
||||
@@ -10,12 +10,12 @@ CheckCurseRRetryEverOnce::CheckCurseRRetryEverOnce(const InitArg& arg)
|
||||
CheckCurseRRetryEverOnce::~CheckCurseRRetryEverOnce() = default;
|
||||
|
||||
int CheckCurseRRetryEverOnce::doQuery() {
|
||||
auto* manager = ChampionBalladManager::instance();
|
||||
auto* manager = aoc::ChampionBalladManager::instance();
|
||||
if (!manager)
|
||||
return 0;
|
||||
|
||||
auto blight = BlightType(*mCurseRType);
|
||||
if (blight <= BlightType::Water)
|
||||
auto blight = aoc::BlightType(*mCurseRType);
|
||||
if (blight <= aoc::BlightType::Water)
|
||||
return manager->getBlightRematchCount(blight) > 0;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
add_subdirectory(Actor)
|
||||
add_subdirectory(AOC)
|
||||
add_subdirectory(AutoPlacement)
|
||||
add_subdirectory(Cooking)
|
||||
add_subdirectory(DLC)
|
||||
add_subdirectory(Scene)
|
||||
add_subdirectory(UI)
|
||||
|
||||
|
||||
@@ -10,10 +10,10 @@
|
||||
#include "Game/Actor/actPlayerCreateUtils.h"
|
||||
#include "Game/Actor/actWeapon.h"
|
||||
#include "Game/Cooking/cookManager.h"
|
||||
#include "Game/DLC/aocManager.h"
|
||||
#include "Game/Scene/gameScene.h"
|
||||
#include "Game/UI/uiUtils.h"
|
||||
#include "Game/gameItemUtils.h"
|
||||
#include "KingSystem/AOC/aocManager.h"
|
||||
#include "KingSystem/ActorSystem/actActorConstDataAccess.h"
|
||||
#include "KingSystem/ActorSystem/actActorHeapUtil.h"
|
||||
#include "KingSystem/ActorSystem/actActorUtil.h"
|
||||
@@ -450,7 +450,7 @@ void PauseMenuDataMgr::doLoadFromGameData() {
|
||||
}
|
||||
|
||||
// Add the Travel Medallion (Obj_WarpDLC) to the inventory if it is missing for some reason
|
||||
if (aoc::Manager::instance()->hasAoc2() &&
|
||||
if (ksys::aoc::Manager::instance()->hasAoc2() &&
|
||||
!(found_travel_medallion | !gdt::getFlag_IsGet_Obj_WarpDLC())) {
|
||||
addToPouch(sValues.Obj_WarpDLC.cstr(), PouchItemType::KeyItem, lists, 1, false, nullptr,
|
||||
true);
|
||||
@@ -986,12 +986,12 @@ void PauseMenuDataMgr::doAddToPouch(PouchItemType type, const sead::SafeString&
|
||||
}
|
||||
|
||||
if (item_name_to_add == sValues.Obj_WarpDLC) {
|
||||
if (!aoc::Manager::instance()->hasAoc2()) {
|
||||
if (!ksys::aoc::Manager::instance()->hasAoc2()) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!aoc::Manager::instance()->hasAoc3()) {
|
||||
if (!ksys::aoc::Manager::instance()->hasAoc3()) {
|
||||
if (item_name_to_add == sValues.Obj_DLC_HeroSoul_Zora) {
|
||||
item_name_to_add = sValues.Obj_HeroSoul_Zora;
|
||||
} else if (item_name_to_add == sValues.Obj_DLC_HeroSoul_Rito) {
|
||||
@@ -2621,23 +2621,26 @@ bool PauseMenuDataMgr::isHeroSoulEnabled(const sead::SafeString& name) const {
|
||||
|
||||
// NOLINTNEXTLINE(readability-convert-member-functions-to-static)
|
||||
bool PauseMenuDataMgr::hasRitoSoulPlus() const {
|
||||
return ksys::gdt::getFlag_IsGet_Obj_DLC_HeroSoul_Rito() && aoc::Manager::instance()->hasAoc3();
|
||||
return ksys::gdt::getFlag_IsGet_Obj_DLC_HeroSoul_Rito() &&
|
||||
ksys::aoc::Manager::instance()->hasAoc3();
|
||||
}
|
||||
|
||||
// NOLINTNEXTLINE(readability-convert-member-functions-to-static)
|
||||
bool PauseMenuDataMgr::hasGoronSoulPlus() const {
|
||||
return ksys::gdt::getFlag_IsGet_Obj_DLC_HeroSoul_Goron() && aoc::Manager::instance()->hasAoc3();
|
||||
return ksys::gdt::getFlag_IsGet_Obj_DLC_HeroSoul_Goron() &&
|
||||
ksys::aoc::Manager::instance()->hasAoc3();
|
||||
}
|
||||
|
||||
// NOLINTNEXTLINE(readability-convert-member-functions-to-static)
|
||||
bool PauseMenuDataMgr::hasGerudoSoulPlus() const {
|
||||
return ksys::gdt::getFlag_IsGet_Obj_DLC_HeroSoul_Gerudo() &&
|
||||
aoc::Manager::instance()->hasAoc3();
|
||||
ksys::aoc::Manager::instance()->hasAoc3();
|
||||
}
|
||||
|
||||
// NOLINTNEXTLINE(readability-convert-member-functions-to-static)
|
||||
bool PauseMenuDataMgr::hasZoraSoulPlus() const {
|
||||
return ksys::gdt::getFlag_IsGet_Obj_DLC_HeroSoul_Zora() && aoc::Manager::instance()->hasAoc3();
|
||||
return ksys::gdt::getFlag_IsGet_Obj_DLC_HeroSoul_Zora() &&
|
||||
ksys::aoc::Manager::instance()->hasAoc3();
|
||||
}
|
||||
|
||||
int PauseMenuDataMgr::countItemsWithCategoryByType(PouchCategory category) const {
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
#include "Game/UI/uiUtils.h"
|
||||
#include "Game/AOC/aocHardModeManager.h"
|
||||
#include "Game/Actor/Damage/dmgInfoManager.h"
|
||||
#include "Game/Actor/actPlayerCreateMgr.h"
|
||||
#include "Game/Actor/actWeapon.h"
|
||||
#include "Game/DLC/aocHardModeManager.h"
|
||||
#include "Game/UI/uiPauseMenuDataMgr.h"
|
||||
#include "KingSystem/ActorSystem/actInfoCommon.h"
|
||||
#include "KingSystem/ActorSystem/actInfoData.h"
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
target_sources(uking PRIVATE
|
||||
aocManager.cpp
|
||||
aocManager.h
|
||||
)
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "Game/DLC/aocManager.h"
|
||||
#include "KingSystem/AOC/aocManager.h"
|
||||
#include <container/seadBuffer.h>
|
||||
#include <filedevice/seadFileDeviceMgr.h>
|
||||
#include <prim/seadStringBuilder.h>
|
||||
@@ -15,7 +15,7 @@
|
||||
#include <prim/seadStringUtil.h>
|
||||
#endif
|
||||
|
||||
namespace uking::aoc {
|
||||
namespace ksys::aoc {
|
||||
|
||||
namespace {
|
||||
|
||||
@@ -24,7 +24,7 @@ struct DungeonInfo {
|
||||
sead::SafeString flag;
|
||||
};
|
||||
|
||||
ksys::util::InitConstants sInitConstants;
|
||||
util::InitConstants sInitConstants;
|
||||
DungeonInfo sDungeonInfoData[] = {
|
||||
{120, "Defeat_OneHitDungeon001"},
|
||||
{121, "BalladOfHeroGerudo_AppearDungeon03"},
|
||||
@@ -55,7 +55,7 @@ Manager::Manager() : mVersionFile(), mGdtReinitSlot{this, &Manager::onGdtReinit}
|
||||
}
|
||||
|
||||
Manager::~Manager() {
|
||||
if (auto* gdm = ksys::gdt::Manager::instance())
|
||||
if (auto* gdm = gdt::Manager::instance())
|
||||
gdm->removeReinitCallback(mGdtReinitSlot);
|
||||
|
||||
mAocMainFieldPackPrefix.deregister();
|
||||
@@ -64,23 +64,23 @@ Manager::~Manager() {
|
||||
|
||||
if (mFileDevice) {
|
||||
sead::FileDeviceMgr::instance()->unmount("aoc");
|
||||
ksys::util::safeDelete(mFileDevice);
|
||||
util::safeDelete(mFileDevice);
|
||||
}
|
||||
|
||||
#ifdef NNSDK
|
||||
if (mAocFsCache) {
|
||||
nn::fs::Unmount("aoc");
|
||||
ksys::util::safeDelete(mAocFsCache);
|
||||
util::safeDelete(mAocFsCache);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void Manager::resetFlags() {
|
||||
mFlagAocVerAtLastPlay = ksys::gdt::InvalidHandle;
|
||||
mFlagLatestAocVerPlayed = ksys::gdt::InvalidHandle;
|
||||
mFlagHasAocVer1 = ksys::gdt::InvalidHandle;
|
||||
mFlagHasAocVer2 = ksys::gdt::InvalidHandle;
|
||||
mFlagHasAocVer3 = ksys::gdt::InvalidHandle;
|
||||
mFlagAocVerAtLastPlay = gdt::InvalidHandle;
|
||||
mFlagLatestAocVerPlayed = gdt::InvalidHandle;
|
||||
mFlagHasAocVer1 = gdt::InvalidHandle;
|
||||
mFlagHasAocVer2 = gdt::InvalidHandle;
|
||||
mFlagHasAocVer3 = gdt::InvalidHandle;
|
||||
}
|
||||
|
||||
void Manager::init(sead::Heap* heap) {
|
||||
@@ -108,7 +108,7 @@ void Manager::loadVersionFile() {
|
||||
|
||||
mVersionFileDevPrefix.registerPrefix("Aoc/0010/", mFileDevice, false);
|
||||
|
||||
ksys::res::LoadRequest req;
|
||||
res::LoadRequest req;
|
||||
req.mRequester = "aocManager";
|
||||
req._26 = false;
|
||||
req.mAocFileDevice = mFileDevice;
|
||||
@@ -116,7 +116,7 @@ void Manager::loadVersionFile() {
|
||||
mVersionFile.file_handle.requestLoad(path, &req);
|
||||
}
|
||||
|
||||
void Manager::loadAocMainFieldPack(ksys::OverlayArena* arena) {
|
||||
void Manager::loadAocMainFieldPack(OverlayArena* arena) {
|
||||
if (!hasAoc3())
|
||||
return;
|
||||
|
||||
@@ -124,7 +124,7 @@ void Manager::loadAocMainFieldPack(ksys::OverlayArena* arena) {
|
||||
if (!device)
|
||||
return;
|
||||
|
||||
ksys::res::LoadRequest req;
|
||||
res::LoadRequest req;
|
||||
req.mRequester = "aocManager";
|
||||
req._8 = true;
|
||||
req._26 = false;
|
||||
@@ -166,7 +166,7 @@ sead::FileDevice* Manager::getFileDeviceForMapFile(const sead::SafeString& path)
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool Manager::getFileDeviceForMap(sead::FileDevice** p_file_device, ksys::res::Handle** p_handle,
|
||||
bool Manager::getFileDeviceForMap(sead::FileDevice** p_file_device, res::Handle** p_handle,
|
||||
const sead::SafeString& path) {
|
||||
if (!hasAoc2())
|
||||
return false;
|
||||
@@ -363,7 +363,7 @@ sead::FileDevice* Manager::getFileDeviceForDungeonPack(const sead::SafeString& p
|
||||
return device;
|
||||
}
|
||||
|
||||
void Manager::registerAocPack(ksys::res::Handle* pack) {
|
||||
void Manager::registerAocPack(res::Handle* pack) {
|
||||
mAocPack = pack;
|
||||
if (pack) {
|
||||
mAocPackPrefix.registerPrefix("Aoc/0010/", pack->getResource(), true);
|
||||
@@ -382,7 +382,7 @@ bool Manager::aocPackHasFile(const sead::SafeString& path) const {
|
||||
|
||||
sead::FixedStringBuilder<0x81> builder;
|
||||
builder.copy(path.cstr());
|
||||
ksys::res::ResourceMgrTask::instance()->addSExtensionPrefix(builder);
|
||||
res::ResourceMgrTask::instance()->addSExtensionPrefix(builder);
|
||||
return res->isExistFile(builder);
|
||||
}
|
||||
|
||||
@@ -489,7 +489,7 @@ bool Manager::VersionFile::readVersion() {
|
||||
|
||||
void Manager::initGameData() {
|
||||
reinitFlags();
|
||||
ksys::gdt::Manager::instance()->addReinitCallback(mGdtReinitSlot);
|
||||
gdt::Manager::instance()->addReinitCallback(mGdtReinitSlot);
|
||||
}
|
||||
|
||||
static const sead::SafeString& getDungeonFlag(int number) {
|
||||
@@ -501,23 +501,23 @@ static const sead::SafeString& getDungeonFlag(int number) {
|
||||
}
|
||||
|
||||
void Manager::reinitFlags() {
|
||||
mFlagAocVerAtLastPlay = ksys::gdt::Manager::instance()->getS32Handle("AoCVerAtLastPlay");
|
||||
mFlagLatestAocVerPlayed = ksys::gdt::Manager::instance()->getS32Handle("LatestAoCVerPlayed");
|
||||
mFlagAocVerAtLastPlay = gdt::Manager::instance()->getS32Handle("AoCVerAtLastPlay");
|
||||
mFlagLatestAocVerPlayed = gdt::Manager::instance()->getS32Handle("LatestAoCVerPlayed");
|
||||
mFlagHasAocVer1 =
|
||||
ksys::gdt::Manager::instance()->getBoolHandle(GameDataFlag::text(GameDataFlag::HasAoCVer1));
|
||||
gdt::Manager::instance()->getBoolHandle(GameDataFlag::text(GameDataFlag::HasAoCVer1));
|
||||
mFlagHasAocVer2 =
|
||||
ksys::gdt::Manager::instance()->getBoolHandle(GameDataFlag::text(GameDataFlag::HasAoCVer2));
|
||||
gdt::Manager::instance()->getBoolHandle(GameDataFlag::text(GameDataFlag::HasAoCVer2));
|
||||
mFlagHasAocVer3 =
|
||||
ksys::gdt::Manager::instance()->getBoolHandle(GameDataFlag::text(GameDataFlag::HasAoCVer3));
|
||||
gdt::Manager::instance()->getBoolHandle(GameDataFlag::text(GameDataFlag::HasAoCVer3));
|
||||
|
||||
for (int i = 0; i < mDLCPositions.size(); ++i) {
|
||||
ksys::gdt::FlagHandle handle = ksys::gdt::InvalidHandle;
|
||||
gdt::FlagHandle handle = gdt::InvalidHandle;
|
||||
|
||||
if (i < NumDungeons) {
|
||||
if (mDLCPositions[i].flag_handle == ksys::gdt::InvalidHandle)
|
||||
if (mDLCPositions[i].flag_handle == gdt::InvalidHandle)
|
||||
continue;
|
||||
|
||||
handle = ksys::gdt::Manager::instance()->getBoolHandle(getDungeonFlag(i + 120));
|
||||
handle = gdt::Manager::instance()->getBoolHandle(getDungeonFlag(i + 120));
|
||||
}
|
||||
|
||||
mDLCPositions[i].flag_handle = handle;
|
||||
@@ -525,22 +525,22 @@ void Manager::reinitFlags() {
|
||||
}
|
||||
|
||||
void Manager::setGameDataFlags() const {
|
||||
ksys::gdt::Manager::instance()->setS32(mVersion, mFlagAocVerAtLastPlay);
|
||||
gdt::Manager::instance()->setS32(mVersion, mFlagAocVerAtLastPlay);
|
||||
|
||||
s32 latest_ver;
|
||||
if (ksys::gdt::Manager::instance()->getS32(mFlagLatestAocVerPlayed, &latest_ver)) {
|
||||
if (gdt::Manager::instance()->getS32(mFlagLatestAocVerPlayed, &latest_ver)) {
|
||||
if (u32(latest_ver) < mVersion)
|
||||
ksys::gdt::Manager::instance()->setS32(mVersion, mFlagLatestAocVerPlayed);
|
||||
gdt::Manager::instance()->setS32(mVersion, mFlagLatestAocVerPlayed);
|
||||
}
|
||||
|
||||
const auto ver = mVersion;
|
||||
ksys::gdt::Manager::instance()->setBool(ver >= 0x100, mFlagHasAocVer1);
|
||||
ksys::gdt::Manager::instance()->setBool(ver >= 0x200, mFlagHasAocVer2);
|
||||
ksys::gdt::Manager::instance()->setBool(ver >= 0x300, mFlagHasAocVer3);
|
||||
gdt::Manager::instance()->setBool(ver >= 0x100, mFlagHasAocVer1);
|
||||
gdt::Manager::instance()->setBool(ver >= 0x200, mFlagHasAocVer2);
|
||||
gdt::Manager::instance()->setBool(ver >= 0x300, mFlagHasAocVer3);
|
||||
}
|
||||
|
||||
void Manager::onGdtReinit(ksys::gdt::Manager::ReinitEvent* event) {
|
||||
void Manager::onGdtReinit(gdt::Manager::ReinitEvent* event) {
|
||||
reinitFlags();
|
||||
}
|
||||
|
||||
} // namespace uking::aoc
|
||||
} // namespace ksys::aoc
|
||||
@@ -11,15 +11,15 @@
|
||||
#include "KingSystem/Resource/resResourceMgrTask.h"
|
||||
#include "KingSystem/Utils/Types.h"
|
||||
|
||||
namespace ksys {
|
||||
class OverlayArena;
|
||||
}
|
||||
|
||||
namespace sead {
|
||||
class FileDevice;
|
||||
}
|
||||
|
||||
namespace uking::aoc {
|
||||
namespace ksys {
|
||||
class OverlayArena;
|
||||
}
|
||||
|
||||
namespace ksys::aoc {
|
||||
|
||||
// TODO
|
||||
class Manager {
|
||||
@@ -38,12 +38,12 @@ public:
|
||||
/// @return Whether the Champion's Ballad DLC is supported.
|
||||
bool hasAoc3() const { return mVersion >= 0x300; }
|
||||
|
||||
void loadAocMainFieldPack(ksys::OverlayArena* arena);
|
||||
void loadAocMainFieldPack(OverlayArena* arena);
|
||||
void registerAocMainFieldPack();
|
||||
void unloadAocMainFieldPack();
|
||||
|
||||
sead::FileDevice* getFileDeviceForMapFile(const sead::SafeString& path) const;
|
||||
bool getFileDeviceForMap(sead::FileDevice** p_file_device, ksys::res::Handle** p_handle,
|
||||
bool getFileDeviceForMap(sead::FileDevice** p_file_device, res::Handle** p_handle,
|
||||
const sead::SafeString& path);
|
||||
sead::FileDevice* getFileDeviceForStaticCompound(const sead::SafeString& path) const;
|
||||
sead::FileDevice* getFileDeviceForTeraMesh(const sead::SafeString& path) const;
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
static bool isAocField(const sead::SafeString& map_type);
|
||||
|
||||
sead::FileDevice* getFileDeviceForDungeonPack(const sead::SafeString& path) const;
|
||||
void registerAocPack(ksys::res::Handle* pack);
|
||||
void registerAocPack(res::Handle* pack);
|
||||
bool aocPackHasFile(const sead::SafeString& path) const;
|
||||
|
||||
bool changeMoviePath(sead::BufferedSafeString& path) const;
|
||||
@@ -82,14 +82,14 @@ private:
|
||||
sead::Vector3f rotate = sead::Vector3f::zero;
|
||||
sead::Vector3f translate2 = sead::Vector3f::zero;
|
||||
float scale = 0.0;
|
||||
ksys::gdt::FlagHandle flag_handle = ksys::gdt::InvalidHandle;
|
||||
gdt::FlagHandle flag_handle = gdt::InvalidHandle;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(DLCPosition, 0x2c);
|
||||
|
||||
struct VersionFile {
|
||||
bool readVersion();
|
||||
|
||||
ksys::res::Handle file_handle;
|
||||
res::Handle file_handle;
|
||||
sead::FixedSafeString<16> string;
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(VersionFile, 0x78);
|
||||
@@ -100,27 +100,27 @@ private:
|
||||
void resetFlags();
|
||||
void initGameData();
|
||||
void reinitFlags();
|
||||
void onGdtReinit(ksys::gdt::Manager::ReinitEvent* event);
|
||||
void onGdtReinit(gdt::Manager::ReinitEvent* event);
|
||||
|
||||
sead::FileDevice* mFileDevice{};
|
||||
|
||||
ksys::res::FileDevicePrefix mVersionFileDevPrefix;
|
||||
res::FileDevicePrefix mVersionFileDevPrefix;
|
||||
VersionFile mVersionFile{};
|
||||
u32 mVersion{};
|
||||
|
||||
ksys::res::Handle mAocMainFieldPack;
|
||||
ksys::res::FileDevicePrefix mAocMainFieldPackPrefix;
|
||||
ksys::res::Handle* mAocPack{};
|
||||
ksys::res::FileDevicePrefix mAocPackPrefix;
|
||||
res::Handle mAocMainFieldPack;
|
||||
res::FileDevicePrefix mAocMainFieldPackPrefix;
|
||||
res::Handle* mAocPack{};
|
||||
res::FileDevicePrefix mAocPackPrefix;
|
||||
|
||||
sead::SafeArray<DLCPosition, 20> mDLCPositions;
|
||||
|
||||
ksys::gdt::FlagHandle mFlagAocVerAtLastPlay{};
|
||||
ksys::gdt::FlagHandle mFlagLatestAocVerPlayed{};
|
||||
ksys::gdt::FlagHandle mFlagHasAocVer1{};
|
||||
ksys::gdt::FlagHandle mFlagHasAocVer2{};
|
||||
ksys::gdt::FlagHandle mFlagHasAocVer3{};
|
||||
ksys::gdt::Manager::ReinitSignal::Slot mGdtReinitSlot;
|
||||
gdt::FlagHandle mFlagAocVerAtLastPlay{};
|
||||
gdt::FlagHandle mFlagLatestAocVerPlayed{};
|
||||
gdt::FlagHandle mFlagHasAocVer1{};
|
||||
gdt::FlagHandle mFlagHasAocVer2{};
|
||||
gdt::FlagHandle mFlagHasAocVer3{};
|
||||
gdt::Manager::ReinitSignal::Slot mGdtReinitSlot;
|
||||
|
||||
sead::BitFlag8 mVersionFlags{};
|
||||
#ifdef NNSDK
|
||||
@@ -129,4 +129,4 @@ private:
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(Manager, 0x598);
|
||||
|
||||
} // namespace uking::aoc
|
||||
} // namespace ksys::aoc
|
||||
@@ -3,6 +3,7 @@ add_subdirectory(GameData)
|
||||
add_subdirectory(Resource)
|
||||
|
||||
add_subdirectory(ActorSystem)
|
||||
add_subdirectory(AOC)
|
||||
add_subdirectory(Camera)
|
||||
add_subdirectory(Chemical)
|
||||
add_subdirectory(Ecosystem)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
#include <thread/seadThreadUtil.h>
|
||||
#include <time/seadTickTime.h>
|
||||
#include <type_traits>
|
||||
#include "Game/DLC/aocManager.h"
|
||||
#include "KingSystem/AOC/aocManager.h"
|
||||
#include "KingSystem/GameData/gdtSaveMgr.h"
|
||||
#include "KingSystem/GameData/gdtTriggerParam.h"
|
||||
#include "KingSystem/Map/mapMubinIter.h"
|
||||
@@ -426,7 +426,7 @@ void Manager::fixQuestFlags() {
|
||||
}
|
||||
|
||||
void Manager::fixQuestFlagsDlc2() {
|
||||
if (uking::aoc::Manager::instance()->hasAoc3())
|
||||
if (aoc::Manager::instance()->hasAoc3())
|
||||
return;
|
||||
|
||||
enum {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "KingSystem/Map/mapLazyTraverseList.h"
|
||||
|
||||
#include "Game/DLC/aocManager.h"
|
||||
#include "KingSystem/AOC/aocManager.h"
|
||||
#include "KingSystem/GameData/gdtManager.h"
|
||||
|
||||
namespace ksys::map {
|
||||
@@ -10,9 +10,9 @@ LazyTraverseList::LazyTraverseList(sead::Heap* heap) {
|
||||
sead::SafeString path = "Map/MainField/LazyTraverseList.mubin";
|
||||
ksys::res::LoadRequest request;
|
||||
|
||||
if (uking::aoc::Manager::instance())
|
||||
uking::aoc::Manager::instance()->getFileDeviceForMap(&request.mAocFileDevice,
|
||||
&request.mPackHandle, path);
|
||||
if (aoc::Manager::instance())
|
||||
aoc::Manager::instance()->getFileDeviceForMap(&request.mAocFileDevice, &request.mPackHandle,
|
||||
path);
|
||||
|
||||
handle.load(path, &request);
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#include "KingSystem/Map/mapPlacementMap.h"
|
||||
#include <prim/seadScopedLock.h>
|
||||
#include <thread/seadReadWriteLock.h>
|
||||
#include "Game/DLC/aocManager.h"
|
||||
#include "KingSystem/AOC/aocManager.h"
|
||||
#include "KingSystem/Map/mapObject.h"
|
||||
#include "KingSystem/Physics/StaticCompound/physStaticCompound.h"
|
||||
#include "KingSystem/Physics/StaticCompound/physStaticCompoundRigidBodyGroup.h"
|
||||
@@ -201,8 +201,8 @@ bool PlacementMap::loadDynamicMap() {
|
||||
} else {
|
||||
path.append("_Dynamic_NoGrudgeMerge.mubin");
|
||||
}
|
||||
if (uking::aoc::Manager::instance()) {
|
||||
arg.mAocFileDevice = uking::aoc::Manager::instance()->getFileDeviceForMapFile(path);
|
||||
if (aoc::Manager::instance()) {
|
||||
arg.mAocFileDevice = aoc::Manager::instance()->getFileDeviceForMapFile(path);
|
||||
}
|
||||
return mDynamicMubinRes.requestLoad(path, &arg, 0);
|
||||
}
|
||||
@@ -288,8 +288,8 @@ bool PlacementMap::loadStaticCompound(int hksc_idx, bool auto_gen_mu, bool req_a
|
||||
path.format("Physics/StaticCompound/%s-%d.hksc", mFolderAndFile.cstr(), hksc_idx);
|
||||
}
|
||||
}
|
||||
if (uking::aoc::Manager::instance()) {
|
||||
arg.mAocFileDevice = uking::aoc::Manager::instance()->getFileDeviceForStaticCompound(path);
|
||||
if (aoc::Manager::instance()) {
|
||||
arg.mAocFileDevice = aoc::Manager::instance()->getFileDeviceForStaticCompound(path);
|
||||
}
|
||||
|
||||
return mRes[hksc_idx].mRes.requestLoad(path, &arg, 0);
|
||||
|
||||
@@ -117,8 +117,8 @@ void StarterPackMgr::loadTitleBGPacks() {
|
||||
}
|
||||
|
||||
void StarterPackMgr::loadAocMainFieldPack() {
|
||||
if (uking::aoc::Manager::instance())
|
||||
uking::aoc::Manager::instance()->loadAocMainFieldPack(mOverlayArena);
|
||||
if (aoc::Manager::instance())
|
||||
aoc::Manager::instance()->loadAocMainFieldPack(mOverlayArena);
|
||||
}
|
||||
|
||||
void StarterPackMgr::unloadBootupGraphicsPack() {
|
||||
@@ -192,8 +192,8 @@ void StarterPackMgr::setPackToTitleBGPack() {
|
||||
mTitleBGLangPack.waitForReady();
|
||||
mTitleBGLangPack.parseResource(nullptr);
|
||||
|
||||
if (uking::aoc::Manager::instance())
|
||||
uking::aoc::Manager::instance()->registerAocMainFieldPack();
|
||||
if (aoc::Manager::instance())
|
||||
aoc::Manager::instance()->registerAocMainFieldPack();
|
||||
|
||||
res::registerPackExtension(false, "");
|
||||
res::setResourceMgrPack(&mTitleBGPack);
|
||||
@@ -207,8 +207,8 @@ void StarterPackMgr::unloadTitleBGAndAocMainFieldPacksAndStuff() {
|
||||
mTitleBGPack.requestUnload();
|
||||
mTitleBGLangPack.requestUnload();
|
||||
|
||||
if (uking::aoc::Manager::instance())
|
||||
uking::aoc::Manager::instance()->unloadAocMainFieldPack();
|
||||
if (aoc::Manager::instance())
|
||||
aoc::Manager::instance()->unloadAocMainFieldPack();
|
||||
|
||||
for (int x = 0; x < 5; x++)
|
||||
res::ResourceMgrTask::instance()->waitForTaskQueuesToEmpty();
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
#include <devenv/seadEnvUtil.h>
|
||||
#include <heap/seadExpHeap.h>
|
||||
#include <prim/seadSafeString.h>
|
||||
#include "Game/DLC/aocManager.h"
|
||||
#include "KingSystem/AOC/aocManager.h"
|
||||
#include "KingSystem/Resource/resEntryFactory.h"
|
||||
#include "KingSystem/Resource/resHandle.h"
|
||||
#include "KingSystem/Resource/resLoadRequest.h"
|
||||
|
||||
Reference in New Issue
Block a user