mirror of
https://github.com/zeldaret/botw
synced 2026-05-23 06:54:18 -04:00
ksys/act: Match BaseProcMgr ctor
This commit is contained in:
@@ -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.
|
+1
-1
Submodule lib/agl updated: 88f87ad4b1...1c390c9183
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user