From 5160906b56e1870c1e15c2f2ba6a39243a7900c1 Mon Sep 17 00:00:00 2001 From: robojumper Date: Mon, 18 Aug 2025 13:36:47 +0200 Subject: [PATCH] Small status/result cleanups for arc managers --- include/d/d_rawarchive.h | 23 +++++--- include/m/m_dvd.h | 6 ++ .../arc_managers/current_stage_arc_manager.h | 2 +- .../arc_managers/layout_arc_manager.h | 6 +- .../toBeSorted/arc_managers/oarc_manager.h | 6 +- src/DynamicLink.cpp | 2 +- src/REL/d/d_s_boot.cpp | 12 ++-- src/d/a/obj/d_a_obj_tbox.cpp | 7 ++- src/d/d_dvd.cpp | 2 +- src/d/d_dylink.cpp | 2 +- src/d/d_rawarchive.cpp | 56 +++++++++---------- src/d/d_sc_game.cpp | 4 +- src/d/d_sc_title.cpp | 13 ++--- src/d/d_stage_mgr.cpp | 14 ++--- src/d/d_thp_player.cpp | 4 +- .../arc_managers/layout_arc_manager.cpp | 4 +- src/toBeSorted/arc_managers/oarc_manager.cpp | 6 +- 17 files changed, 88 insertions(+), 81 deletions(-) diff --git a/include/d/d_rawarchive.h b/include/d/d_rawarchive.h index 3835ae10..aead942f 100644 --- a/include/d/d_rawarchive.h +++ b/include/d/d_rawarchive.h @@ -6,6 +6,13 @@ #include "nw4r/g3d/res/g3d_resfile.h" #include "sized_string.h" +enum dArcResult_e { + D_ARC_RESULT_WAIT = 1, + D_ARC_RESULT_OK = 0, + D_ARC_RESULT_ERROR_INTERNAL = -1, + D_ARC_RESULT_ERROR_NOT_FOUND = -2, +}; + class ArcCallbackHandlerBase { public: ArcCallbackHandlerBase() : mPrefix(' ') {} @@ -26,8 +33,6 @@ public: void BindSystemModelsAndLighting(nw4r::g3d::ResFile); -// TODO: loading status could be an enum (-2/-1/0/+1) - // Ghidra: ArcManagerEntry // size: 0x40 class dRawArcEntry_c { @@ -41,10 +46,10 @@ public: static BOOL checkArcExistsOnDisk(const char *fileName, const char *dirName); static BOOL checkArcExistsOnDiskInner(SizedString<128> &path, const char *fileName, const char *dirName); - int mount(const char *name, void *data, ArcCallbackHandler *callbackArg, u8 mountDirection, EGG::Heap *heap); - int onMount(void *callbackArg); + dArcResult_e mount(const char *name, void *data, ArcCallbackHandler *callbackArg, u8 mountDirection, EGG::Heap *heap); + dArcResult_e onMount(void *callbackArg); - int ensureLoadedMaybe(void *callbackArg); + dArcResult_e ensureLoadedMaybe(void *callbackArg); inline bool isReferenced() { return mRefCount != 0; @@ -105,14 +110,14 @@ public: bool init(u16 count, ArcCallbackHandler *callbackArg, EGG::Heap *heap); BOOL getArcOrLoadFromDisk(const char *name, const char *dirName, u8 mountDirection, EGG::Heap *heap); BOOL addEntryFromSuperArc(const char *name, void *data, u8 mountDirection, EGG::Heap *heap); - int ensureLoadedMaybe2(const char *name); - int ensureLoadedMaybe(const char *name); + dArcResult_e ensureLoadedMaybe2(const char *name); + dArcResult_e ensureLoadedMaybe(const char *name); bool hasEntry(const char *name); BOOL decreaseRefCount(const char *name); void *getDataFromOarc(const char *name, const char *path); void *getSubEntryData(const char *name, const char *path); void *getLoadedArcData(const char *name); - int ensureAllEntriesLoaded(); + dArcResult_e ensureAllEntriesLoaded(); dRawArcEntry_c *findEntry(const char *name) const; dRawArcEntry_c *findEmptySlot(); dRawArcEntry_c *findLoadedEntry(const char *name); @@ -123,4 +128,4 @@ private: /* 0x8 */ ArcCallbackHandler *mCallbackArg; }; -#endif; +#endif diff --git a/include/m/m_dvd.h b/include/m/m_dvd.h index 6dc49b88..64272a18 100644 --- a/include/m/m_dvd.h +++ b/include/m/m_dvd.h @@ -47,6 +47,7 @@ EGG::Heap *getArchiveHeap(); } // namespace mDvd class mDvd_command_c { + friend class mDvd_param_c; public: mDvd_command_c(); virtual ~mDvd_command_c(); @@ -60,9 +61,14 @@ public: static void destroy(mDvd_command_c **cmd); void do_delete(); + bool isDone() const { + return mStatus != 0; + } + void *operator new(size_t size); void operator delete(void *ptr); +protected: mDvd_command_c *mNext; u8 mStatus; u8 mMountDirection; diff --git a/include/toBeSorted/arc_managers/current_stage_arc_manager.h b/include/toBeSorted/arc_managers/current_stage_arc_manager.h index 1fadc389..25afab1f 100644 --- a/include/toBeSorted/arc_managers/current_stage_arc_manager.h +++ b/include/toBeSorted/arc_managers/current_stage_arc_manager.h @@ -30,7 +30,7 @@ public: EGG::ExpHeap *getHeap(s32 roomid); - inline int ensureAllEntriesLoaded() { + inline dArcResult_e ensureAllEntriesLoaded() { return mArcTable.ensureAllEntriesLoaded(); } diff --git a/include/toBeSorted/arc_managers/layout_arc_manager.h b/include/toBeSorted/arc_managers/layout_arc_manager.h index 0c036acc..ad43f903 100644 --- a/include/toBeSorted/arc_managers/layout_arc_manager.h +++ b/include/toBeSorted/arc_managers/layout_arc_manager.h @@ -14,13 +14,13 @@ public: void init(EGG::Heap *heap); - inline int ensureAllEntriesLoaded() { + inline dArcResult_e ensureAllEntriesLoaded() { return mArcTable.ensureAllEntriesLoaded(); } bool loadLayoutArcFromDisk(const char *object, EGG::Heap *heap); - int ensureLoaded1(const char *object); - int ensureLoaded2(const char *object); + dArcResult_e ensureLoaded1(const char *object); + dArcResult_e ensureLoaded2(const char *object); bool hasEntry(const char *object); bool decrement(const char *path); void *getData(const char *oarcName, const char *fileName); diff --git a/include/toBeSorted/arc_managers/oarc_manager.h b/include/toBeSorted/arc_managers/oarc_manager.h index 8d75dd75..52f2ab2c 100644 --- a/include/toBeSorted/arc_managers/oarc_manager.h +++ b/include/toBeSorted/arc_managers/oarc_manager.h @@ -13,15 +13,15 @@ public: void init(EGG::Heap *heap); - inline int ensureAllEntriesLoaded() { + inline dArcResult_e ensureAllEntriesLoaded() { return mArcTable.ensureAllEntriesLoaded(); } bool checkIfObjectArcExistsOnDisk(const char *object); bool loadObjectArcFromDisk(const char *object, EGG::Heap *heap); bool addEntryFromSuperArc(const char *object, void *data, EGG::Heap *heap); - int ensureLoaded1(const char *object); - void ensureLoaded2(const char *object); + dArcResult_e ensureLoaded1(const char *object); + dArcResult_e ensureLoaded2(const char *object); bool decrement(const char *path); void *getData(const char *oarcName, const char *fileName); diff --git a/src/DynamicLink.cpp b/src/DynamicLink.cpp index cf9c5e52..5154cf57 100644 --- a/src/DynamicLink.cpp +++ b/src/DynamicLink.cpp @@ -197,7 +197,7 @@ BOOL DynamicModuleControl::do_load_async() { mDvdCallbackRequest = mDvd_callback_c::create(callback, this); } - if (mDvdCallbackRequest != nullptr && mDvdCallbackRequest->mStatus != 0) { + if (mDvdCallbackRequest != nullptr && mDvdCallbackRequest->isDone()) { mDvdCallbackRequest->do_delete(); mDvdCallbackRequest = nullptr; return true; diff --git a/src/REL/d/d_s_boot.cpp b/src/REL/d/d_s_boot.cpp index ea55d6c0..758a75ef 100644 --- a/src/REL/d/d_s_boot.cpp +++ b/src/REL/d/d_s_boot.cpp @@ -69,10 +69,10 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb1() { } sFPhaseBase::sFPhaseState dScBoot_c::cb2() { - if (OarcManager::GetInstance()->ensureAllEntriesLoaded()) { + if (OarcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) { return sFPhaseBase::PHASE_RETRY; } - if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded()) { + if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) { return sFPhaseBase::PHASE_RETRY; } @@ -104,7 +104,7 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb5() { return sFPhaseBase::PHASE_RETRY; } } - if (mpDvdCallback->mStatus == 0) { + if (!mpDvdCallback->isDone()) { return sFPhaseBase::PHASE_RETRY; } else { mpDvdCallback->do_delete(); @@ -271,11 +271,11 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb7() { return sFPhaseBase::PHASE_RETRY; } - if (OarcManager::GetInstance()->ensureAllEntriesLoaded()) { + if (OarcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) { return sFPhaseBase::PHASE_RETRY; } - if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded()) { + if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) { return sFPhaseBase::PHASE_RETRY; } @@ -341,7 +341,7 @@ dScBoot_c::strap_c::strap_c() { bool dScBoot_c::strap_c::create() { if (!field_0x4EC) { - if (LayoutArcManager::GetInstance()->ensureLoaded1(mArcName)) { + if (LayoutArcManager::GetInstance()->ensureLoaded1(mArcName) != D_ARC_RESULT_OK) { return false; } void *data = LayoutArcManager::GetInstance()->getLoadedData(mArcName); diff --git a/src/d/a/obj/d_a_obj_tbox.cpp b/src/d/a/obj/d_a_obj_tbox.cpp index 6c9e99dd..5a92ed1e 100644 --- a/src/d/a/obj/d_a_obj_tbox.cpp +++ b/src/d/a/obj/d_a_obj_tbox.cpp @@ -13,6 +13,7 @@ #include "d/col/cc/d_cc_s.h" #include "d/d_light_env.h" #include "d/d_pouch.h" +#include "d/d_rawarchive.h" #include "d/d_room.h" #include "d/d_stage.h" #include "d/flag/sceneflag_manager.h" @@ -1165,7 +1166,7 @@ int dAcTbox_c::doDelete() { } if (sCurrentObtainingItemOarcName != nullptr) { OarcManager *mng = OarcManager::GetInstance(); - if (!mng->ensureLoaded1(sCurrentObtainingItemOarcName)) { + if (mng->ensureLoaded1(sCurrentObtainingItemOarcName) != D_ARC_RESULT_OK) { mng->decrement(sCurrentObtainingItemOarcName); sCurrentObtainingItemOarcName = nullptr; } @@ -1884,7 +1885,7 @@ void dAcTbox_c::initializeState_DeleteArchive() { void dAcTbox_c::executeState_DeleteArchive() { if (sCurrentObtainingItemOarcName != nullptr) { OarcManager *mng = OarcManager::GetInstance(); - if (!mng->ensureLoaded1(sCurrentObtainingItemOarcName)) { + if (mng->ensureLoaded1(sCurrentObtainingItemOarcName) != D_ARC_RESULT_OK) { mng->decrement(sCurrentObtainingItemOarcName); sCurrentObtainingItemOarcName = nullptr; } @@ -1922,7 +1923,7 @@ void dAcTbox_c::initializeState_LoadArchive() { field_0x120C = 0; } void dAcTbox_c::executeState_LoadArchive() { - if (!OarcManager::GetInstance()->ensureLoaded1(sCurrentObtainingItemOarcName)) { + if (OarcManager::GetInstance()->ensureLoaded1(sCurrentObtainingItemOarcName) != D_ARC_RESULT_OK) { mStateMgr.changeState(StateID_Open); } } diff --git a/src/d/d_dvd.cpp b/src/d/d_dvd.cpp index 464702e5..9cdbb85a 100644 --- a/src/d/d_dvd.cpp +++ b/src/d/d_dvd.cpp @@ -38,7 +38,7 @@ void *loader_c::request(const char *path, u8 mountDirection, EGG::Heap *heap) { } mpCommand = mDvd_toMainRam_normal_c::create(buf, mountDirection, heap); } - if (mpCommand != nullptr && mpCommand->mStatus != 0) { + if (mpCommand != nullptr && mpCommand->isDone()) { mpBuffer = mpCommand->mDataPtr; mSize = mpCommand->mAmountRead; mpCommand->mDataPtr = nullptr; diff --git a/src/d/d_dylink.cpp b/src/d/d_dylink.cpp index 2c17a470..9ba0d681 100644 --- a/src/d/d_dylink.cpp +++ b/src/d/d_dylink.cpp @@ -336,7 +336,7 @@ bool destroy() { return true; } - if (DVD->mStatus != 0) { + if (DVD->isDone()) { DVD->do_delete(); DVD = nullptr; return true; diff --git a/src/d/d_rawarchive.cpp b/src/d/d_rawarchive.cpp index d3854d37..99b393c6 100644 --- a/src/d/d_rawarchive.cpp +++ b/src/d/d_rawarchive.cpp @@ -36,10 +36,10 @@ dRawArcEntry_c::dRawArcEntry_c() { dRawArcEntry_c::~dRawArcEntry_c() { // Wait for request to complete before destroying - if (mpDvdReq->mStatus == 0) { + if (!mpDvdReq->isDone()) { do { VIWaitForRetrace(); - } while (mpDvdReq->mStatus == 0); + } while (!mpDvdReq->isDone()); } destroy(nullptr); } @@ -72,7 +72,7 @@ void dRawArcEntry_c::searchCallback2(void *a, void *b, const ARCDirEntry *c, con bool dRawArcEntry_c::destroy(void *arg) { if (mpDvdReq != nullptr) { - if (mpDvdReq->mStatus == 0) { + if (!mpDvdReq->isDone()) { // Can't destroy if the request is still ongoing return false; } @@ -144,31 +144,27 @@ BOOL dRawArcEntry_c::checkArcExistsOnDiskInner(SizedString<128> &path, const cha return true; } -int dRawArcEntry_c::mount( +dArcResult_e dRawArcEntry_c::mount( const char *name, void *data, ArcCallbackHandler *callbackArg, u8 mountDirection, EGG::Heap *heap ) { mArcName = name; mpArc = EGG::Archive::mount(data, heap, (mountDirection == 0 || mountDirection == 1) ? 4 : -4); if (mpArc == nullptr) { - return -1; + return D_ARC_RESULT_ERROR_INTERNAL; } else { - int result = onMount(callbackArg); - int ret = 0; - if (result == -1) { - ret = result; - } - return ret; + dArcResult_e result = onMount(callbackArg); + return result == D_ARC_RESULT_ERROR_INTERNAL ? result : D_ARC_RESULT_OK; } } -int dRawArcEntry_c::ensureLoadedMaybe(void *callbackArg) { +dArcResult_e dRawArcEntry_c::ensureLoadedMaybe(void *callbackArg) { if (mpArc == nullptr) { if (mpDvdReq == nullptr) { - return -1; + return D_ARC_RESULT_ERROR_INTERNAL; } - if (mpDvdReq->mStatus == 0) { - return 1; + if (!mpDvdReq->isDone()) { + return D_ARC_RESULT_WAIT; } mpArc = mpDvdReq->mDataPtr; @@ -185,31 +181,31 @@ int dRawArcEntry_c::ensureLoadedMaybe(void *callbackArg) { mpDvdReq->do_delete(); mpDvdReq = nullptr; if (mpArc == nullptr) { - return -1; + return D_ARC_RESULT_ERROR_INTERNAL; } mpFrmHeap = mHeap::makeHeapOnCurrentGameHeap(-1, name(), 0x20, mHeap::OPT_NONE); if (mpFrmHeap == nullptr) { - return -1; + return D_ARC_RESULT_ERROR_INTERNAL; } - int result = onMount(callbackArg); + dArcResult_e result = onMount(callbackArg); mHeap::restoreCurrentHeap(); mHeap::adjustFrmHeap(mpFrmHeap); mChecksum = computeChecksum(mpData, mAmountRead); - if (result == -1) { + if (result == D_ARC_RESULT_ERROR_INTERNAL) { return result; } DCStoreRange(mpFrmHeap, mpFrmHeap->mHeapHandle->end - (u8 *)mpFrmHeap); } - return 0; + return D_ARC_RESULT_OK; } -int dRawArcEntry_c::onMount(void *callbackArg) { +dArcResult_e dRawArcEntry_c::onMount(void *callbackArg) { mpArc->countFile(); if (callbackArg != nullptr) { mpArc->searchInside(searchCallback1, callbackArg); } - return 0; + return D_ARC_RESULT_OK; } dRawArcTable_c::dRawArcTable_c() { @@ -271,18 +267,18 @@ BOOL dRawArcTable_c::addEntryFromSuperArc(const char *name, void *data, u8 mount return true; } -int dRawArcTable_c::ensureLoadedMaybe2(const char *name) { +dArcResult_e dRawArcTable_c::ensureLoadedMaybe2(const char *name) { dRawArcEntry_c *entry = findEntry(name); if (entry == nullptr) { - return -2; + return D_ARC_RESULT_ERROR_NOT_FOUND; } return entry->ensureLoadedMaybe(mCallbackArg); } -int dRawArcTable_c::ensureLoadedMaybe(const char *name) { +dArcResult_e dRawArcTable_c::ensureLoadedMaybe(const char *name) { dRawArcEntry_c *entry = findEntry(name); if (entry == nullptr) { - return -2; + return D_ARC_RESULT_ERROR_NOT_FOUND; } return entry->ensureLoadedMaybe(mCallbackArg); } @@ -335,20 +331,20 @@ void *dRawArcTable_c::getLoadedArcData(const char *name) { return entry == nullptr ? nullptr : entry->getData(); } -int dRawArcTable_c::ensureAllEntriesLoaded() { +dArcResult_e dRawArcTable_c::ensureAllEntriesLoaded() { dRawArcEntry_c *entry = mpEntries; - int result = 0; + dArcResult_e result = D_ARC_RESULT_OK; for (int i = 0; i < mCount; i++) { if (entry->isLoading()) { result = entry->ensureLoadedMaybe(mCallbackArg); - if (result != 0) { + if (result != D_ARC_RESULT_OK) { return result; } } entry++; } - return 0; + return D_ARC_RESULT_OK; } dRawArcEntry_c *dRawArcTable_c::findEntry(const char *name) const { diff --git a/src/d/d_sc_game.cpp b/src/d/d_sc_game.cpp index 0399b3de..10f2c796 100644 --- a/src/d/d_sc_game.cpp +++ b/src/d/d_sc_game.cpp @@ -117,11 +117,11 @@ sFPhaseBase::sFPhaseState dScGame_c::cb2() { return sFPhaseBase::PHASE_RETRY; } - if (OarcManager::GetInstance()->ensureAllEntriesLoaded()) { + if (OarcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) { return sFPhaseBase::PHASE_RETRY; } - if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded()) { + if (LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() != D_ARC_RESULT_OK) { return sFPhaseBase::PHASE_RETRY; } diff --git a/src/d/d_sc_title.cpp b/src/d/d_sc_title.cpp index 73e578d7..91cede66 100644 --- a/src/d/d_sc_title.cpp +++ b/src/d/d_sc_title.cpp @@ -112,32 +112,31 @@ int dScTitle_c::execute() { } int dScTitle_c::doDelete() { - // TODO return codes int result; result = LayoutArcManager::GetInstance()->ensureLoaded2(sFileSelect); - if (result != -2) { - if (result != 0) { + if (result != D_ARC_RESULT_ERROR_NOT_FOUND) { + if (result != D_ARC_RESULT_OK) { return NOT_READY; } LayoutArcManager::GetInstance()->decrement(sFileSelect); } result = LayoutArcManager::GetInstance()->ensureLoaded2(sSkb); - if (result != -2) { - if (result != 0) { + if (result != D_ARC_RESULT_ERROR_NOT_FOUND) { + if (result != D_ARC_RESULT_OK) { return NOT_READY; } LayoutArcManager::GetInstance()->decrement(sSkb); } // TODO here's the other half of the ::destroy fakematch... - if (mpSkbArc->mStatus != 0) { + if (mpSkbArc->isDone()) { mDvd_command_c::destroy((mDvd_command_c **)&mpSkbArc); } else { return NOT_READY; } - if (mpSkbFont->mStatus != 0) { + if (mpSkbFont->isDone()) { mDvd_command_c::destroy((mDvd_command_c **)&mpSkbFont); } else { return NOT_READY; diff --git a/src/d/d_stage_mgr.cpp b/src/d/d_stage_mgr.cpp index f300116f..678848e0 100644 --- a/src/d/d_stage_mgr.cpp +++ b/src/d/d_stage_mgr.cpp @@ -45,7 +45,7 @@ void dStageMgr_c::initializeState_ReadStageRes() { } void dStageMgr_c::executeState_ReadStageRes() { - if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) { + if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) { mStateMgr.changeState(StateID_ReadRoomRes); } } @@ -62,8 +62,8 @@ void dStageMgr_c::finalizeState_ReadStageRes() { void dStageMgr_c::initializeState_ReadRoomRes() {} void dStageMgr_c::executeState_ReadRoomRes() { - if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == 0 && - LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) { + if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK && + LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) { mStateMgr.changeState(StateID_ReadObjectRes); } } @@ -100,7 +100,7 @@ void dStageMgr_c::initializeState_ReadStageLayerRes() { } void dStageMgr_c::executeState_ReadStageLayerRes() { - if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) { + if (CurrentStageArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) { mStateMgr.changeState(StateID_ReadLayerObjectRes); } } @@ -142,7 +142,7 @@ void dStageMgr_c::initializeState_ReadLayerObjectRes() { } void dStageMgr_c::executeState_ReadLayerObjectRes() { - if (mLayerObjCtrl.isLoaded() && LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == 0) { + if (mLayerObjCtrl.isLoaded() && LayoutArcManager::GetInstance()->ensureAllEntriesLoaded() == D_ARC_RESULT_OK) { mStateMgr.changeState(StateID_SoundLoadSceneData); } } @@ -172,7 +172,7 @@ void dStageMgr_c::initializeState_SoundLoadSceneData() { } void dStageMgr_c::executeState_SoundLoadSceneData() { - if (mpDvdCallback != nullptr && mpDvdCallback->mStatus != 0) { + if (mpDvdCallback != nullptr && mpDvdCallback->isDone()) { mStateMgr.changeState(StateID_CreateObject); } } @@ -208,7 +208,7 @@ void dStageMgr_c::executeState_ReadObjectSound() { return; } - if (mpDvdCallback2->mStatus == 0) { + if (!mpDvdCallback2->isDone()) { return; } diff --git a/src/d/d_thp_player.cpp b/src/d/d_thp_player.cpp index 3728ec60..2e08fd1d 100644 --- a/src/d/d_thp_player.cpp +++ b/src/d/d_thp_player.cpp @@ -91,7 +91,7 @@ void dThpPlayer_c::setupFile(char* filename, s32 loadAllAtOnce) { static const u8 SPECIAL_TYPES[] = {0x7A, 0x78, 0x78}; void dThpPlayer_c::reallyExecute() { - if (mDvdCallback == nullptr || mDvdCallback->mStatus == 0 || !mFilenameSet || mSetupDone) { + if (mDvdCallback == nullptr || !mDvdCallback->isDone() || !mFilenameSet || mSetupDone) { return; } if (mFilename == "THP/Demo01_01.thp") { @@ -139,7 +139,7 @@ s32 dThpPlayer_c::play() { s32 dThpPlayer_c::destroy() { if (mDvdCallback != nullptr) { - if (mDvdCallback->mStatus == 0) { + if (!mDvdCallback->isDone()) { return NOT_READY; } THPPlayerStop(); diff --git a/src/toBeSorted/arc_managers/layout_arc_manager.cpp b/src/toBeSorted/arc_managers/layout_arc_manager.cpp index 464a4022..ce329680 100644 --- a/src/toBeSorted/arc_managers/layout_arc_manager.cpp +++ b/src/toBeSorted/arc_managers/layout_arc_manager.cpp @@ -24,11 +24,11 @@ bool LayoutArcManager::loadLayoutArcFromDisk(const char *object, EGG::Heap *heap return mArcTable.getArcOrLoadFromDisk(object, "Layout", 0, heap); } -int LayoutArcManager::ensureLoaded1(const char *object) { +dArcResult_e LayoutArcManager::ensureLoaded1(const char *object) { return mArcTable.ensureLoadedMaybe2(object); } -int LayoutArcManager::ensureLoaded2(const char *object) { +dArcResult_e LayoutArcManager::ensureLoaded2(const char *object) { return mArcTable.ensureLoadedMaybe(object); } diff --git a/src/toBeSorted/arc_managers/oarc_manager.cpp b/src/toBeSorted/arc_managers/oarc_manager.cpp index 351e31c2..784f88db 100644 --- a/src/toBeSorted/arc_managers/oarc_manager.cpp +++ b/src/toBeSorted/arc_managers/oarc_manager.cpp @@ -34,12 +34,12 @@ bool OarcManager::addEntryFromSuperArc(const char *object, void *data, EGG::Heap return mArcTable.addEntryFromSuperArc(object, data, 0, heap); } -int OarcManager::ensureLoaded1(const char *object) { +dArcResult_e OarcManager::ensureLoaded1(const char *object) { return mArcTable.ensureLoadedMaybe2(object); } -void OarcManager::ensureLoaded2(const char *object) { - mArcTable.ensureLoadedMaybe(object); +dArcResult_e OarcManager::ensureLoaded2(const char *object) { + return mArcTable.ensureLoadedMaybe(object); } bool OarcManager::decrement(const char *path) {