ksys/act: Fix pre-delete function signature

Tiny differences you only notice when doing matching decomp.
This commit is contained in:
Léo Lam
2021-03-12 01:17:24 +01:00
parent b90017bf3b
commit 1e4f1902c0
3 changed files with 18 additions and 13 deletions
+6 -6
View File
@@ -189,7 +189,7 @@ void BaseProc::onEnterDelete_() {}
void BaseProc::onEnterSleep_() {}
void BaseProc::preDelete3_(bool*) {}
void BaseProc::preDelete3_(const PreDeleteArg& arg) {}
bool BaseProc::prepareInit_(sead::Heap*, BaseProc::PrepareArg&) {
return true;
@@ -197,7 +197,7 @@ bool BaseProc::prepareInit_(sead::Heap*, BaseProc::PrepareArg&) {
void BaseProc::onPreDeleteStart_(PrepareArg&) {}
void BaseProc::preDelete2_(bool*) {}
void BaseProc::preDelete2_(const PreDeleteArg& arg) {}
void BaseProc::preDelete1_() {}
@@ -475,12 +475,12 @@ void BaseProc::freeLinkData() {
BaseProcLinkDataMgr::instance()->releaseLink(this);
}
void BaseProc::doPreDelete(bool* do_not_destruct_immediately) {
void BaseProc::doPreDelete(const PreDeleteArg& arg) {
preDelete1_();
preDelete2_(do_not_destruct_immediately);
preDelete3_(do_not_destruct_immediately);
preDelete2_(arg);
preDelete3_(arg);
if (*do_not_destruct_immediately)
if (arg.do_not_destruct_immediately)
return;
mFlags.set(Flags::Destructed);
+9 -4
View File
@@ -69,6 +69,10 @@ public:
};
KSYS_CHECK_SIZE_NX150(CreateArg, 0x28);
struct PreDeleteArg {
bool do_not_destruct_immediately = false;
};
explicit BaseProc(const CreateArg& arg);
virtual ~BaseProc();
@@ -127,6 +131,9 @@ public:
onJobPush2_(type);
}
/// Actually pre-delete the actor. Called from BaseProcDeleter.
void doPreDelete(const PreDeleteArg& arg);
protected:
friend class BaseProcLinkDataMgr;
friend class BaseProcMgr;
@@ -232,14 +239,14 @@ protected:
virtual void onEnterSleep_();
/// Called to actually pre-delete (third and final callback).
virtual void preDelete3_(bool* do_not_destruct_immediately);
virtual void preDelete3_(const PreDeleteArg& arg);
virtual bool prepareInit_(sead::Heap* heap, PrepareArg& arg);
/// Called when pre-delete actually starts (after preparation, before requesting it).
virtual void onPreDeleteStart_(PrepareArg&);
/// Called to actually pre-delete (second callback).
virtual void preDelete2_(bool* do_not_destruct_immediately);
virtual void preDelete2_(const PreDeleteArg& arg);
/// Called to actually pre-delete (first callback).
virtual void preDelete1_();
@@ -258,8 +265,6 @@ protected:
bool processStateUpdate(u8 counter);
void processPreDelete();
/// Actually pre-delete the actor. Called from BaseProcDeleter.
void doPreDelete(bool* do_not_destruct_immediately);
void startDelete_();
/// Called from BaseProcMgr when a job for this process is invoked.