mirror of https://github.com/zeldaret/botw.git
ksys/act: Match BaseProcMgr ctor
This commit is contained in:
parent
5b83ad5f82
commit
1bb0c30e64
|
@ -91775,7 +91775,7 @@
|
|||
0x00000071011bcfd0,sub_71011BCFD0,44,
|
||||
0x00000071011bcffc,sub_71011BCFFC,100,_ZN4ksys3act11BaseProcMgr18SingletonDisposer_D2Ev
|
||||
0x00000071011bd060,sub_71011BD060,108,_ZN4ksys3act11BaseProcMgr18SingletonDisposer_D0Ev
|
||||
0x00000071011bd0cc,BaseProcMgr::createInstance,372,
|
||||
0x00000071011bd0cc,BaseProcMgr::createInstance,372,_ZN4ksys3act11BaseProcMgr14createInstanceEPN4sead4HeapE
|
||||
0x00000071011bd240,sub_71011BD240,164,
|
||||
0x00000071011bd2e4,sub_71011BD2E4,36,
|
||||
0x00000071011bd308,BaseProcMgr::init,680,
|
||||
|
|
Can't render this file because it is too large.
|
2
lib/agl
2
lib/agl
|
@ -1 +1 @@
|
|||
Subproject commit 88f87ad4b166e1da384abb6131e8141ec1722b15
|
||||
Subproject commit 1c390c9183f0c37496b9544bcc0fa78d736e9d7d
|
|
@ -27,7 +27,7 @@ BaseProc::~BaseProc() {
|
|||
unlinkCalcChild_();
|
||||
unlinkCalcParent_();
|
||||
|
||||
if (mDeleteListNode.isLinked())
|
||||
if (mUpdateStateListNode.isLinked())
|
||||
BaseProcMgr::instance()->eraseFromUpdateStateList(*this);
|
||||
}
|
||||
|
||||
|
@ -157,7 +157,7 @@ BaseProc::PreDeletePrepareResult BaseProc::prepareForPreDelete_() {
|
|||
|
||||
// NON_MATCHING: branching
|
||||
bool BaseProc::startPreparingForPreDelete_() {
|
||||
if (mDeleteListNode.isLinked())
|
||||
if (mUpdateStateListNode.isLinked())
|
||||
return false;
|
||||
|
||||
return !mBaseProcLinkData || mBaseProcLinkData->refCount() <= 0 ||
|
||||
|
|
|
@ -286,8 +286,8 @@ protected:
|
|||
BaseProc* mConnectedCalcChildNew = nullptr;
|
||||
sead::SafeArray<BaseProcJobHandler*, 7> mJobHandlers{};
|
||||
sead::Delegate1R<BaseProc, void*, bool> mInvoker;
|
||||
sead::ListNode mPostDeleteListNode;
|
||||
sead::ListNode mDeleteListNode;
|
||||
sead::ListNode mPreDeleteListNode;
|
||||
sead::ListNode mUpdateStateListNode;
|
||||
BaseProcMapNode mMapNode{this};
|
||||
BaseProcUnit* mProcUnit = nullptr;
|
||||
sead::Atomic<s32> mRefCount = 0;
|
||||
|
|
|
@ -6,6 +6,11 @@ namespace ksys::act {
|
|||
|
||||
SEAD_SINGLETON_DISPOSER_IMPL(BaseProcMgr)
|
||||
|
||||
BaseProcMgr::BaseProcMgr() {
|
||||
mProcPreDeleteList.initOffset(offsetof(BaseProc, mPreDeleteListNode));
|
||||
mProcUpdateStateList.initOffset(offsetof(BaseProc, mUpdateStateListNode));
|
||||
}
|
||||
|
||||
void BaseProcMgr::generateProcId(u32* id) {
|
||||
*id = mCreatedProcCounter.increment();
|
||||
}
|
||||
|
@ -64,7 +69,7 @@ void BaseProcMgr::processPreDeleteList() {
|
|||
}
|
||||
|
||||
bool BaseProcMgr::hasExtraJobLink(BaseProcJobLink* job_link, s32 idx) {
|
||||
for (auto& ptr : mExtraJobLinkArrays[idx]) {
|
||||
for (auto& ptr : mExtraJobLinkArrays.ref()[idx]) {
|
||||
if (&ptr == job_link)
|
||||
return true;
|
||||
}
|
||||
|
@ -72,8 +77,8 @@ bool BaseProcMgr::hasExtraJobLink(BaseProcJobLink* job_link, s32 idx) {
|
|||
}
|
||||
|
||||
void BaseProcMgr::clearExtraJobArrays() {
|
||||
mExtraJobLinkArrays[0].clear();
|
||||
mExtraJobLinkArrays[1].clear();
|
||||
mExtraJobLinkArrays.ref()[0].clear();
|
||||
mExtraJobLinkArrays.ref()[1].clear();
|
||||
}
|
||||
|
||||
void BaseProcMgr::setActorJobTypeAndPrio(JobType type, s32 prio, bool x) {
|
||||
|
|
|
@ -8,6 +8,7 @@
|
|||
#include <prim/seadBitFlag.h>
|
||||
#include <prim/seadScopedLock.h>
|
||||
#include <prim/seadSizedEnum.h>
|
||||
#include <prim/seadStorageFor.h>
|
||||
#include <thread/seadAtomic.h>
|
||||
#include <thread/seadCriticalSection.h>
|
||||
#include "KingSystem/ActorSystem/actBaseProc.h"
|
||||
|
@ -202,7 +203,7 @@ private:
|
|||
BaseProcInitializer* mProcInitializer = nullptr;
|
||||
BaseProcDeleter* mProcDeleter = nullptr;
|
||||
bool mIsPushingJobs = false;
|
||||
bool mPushActorJobType3InsteadOf6 = false;
|
||||
sead::Atomic<bool> mPushActorJobType3InsteadOf6 = false;
|
||||
bool mEnableExtraJobPush = false;
|
||||
Mode mMode = Mode::_0;
|
||||
bool mUnk2 = false;
|
||||
|
@ -214,7 +215,8 @@ private:
|
|||
u32 mHavokThreadId1 = 0;
|
||||
u32 mHavokThreadId2 = 0;
|
||||
u32 mUnk4 = 0;
|
||||
sead::SafeArray<ExtraJobLinkArray, 2> mExtraJobLinkArrays{};
|
||||
sead::StorageFor<sead::SafeArray<ExtraJobLinkArray, 2>> mExtraJobLinkArrays{
|
||||
sead::ZeroInitializeTag{}};
|
||||
};
|
||||
KSYS_CHECK_SIZE_NX150(BaseProcMgr, 0x21a0);
|
||||
|
||||
|
|
Loading…
Reference in New Issue