mirror of https://github.com/zeldaret/botw.git
ksys/act: Fix matching issue in ActorParam
This commit is contained in:
parent
9eb8806b6f
commit
ad01b2b1fb
|
|
@ -89049,7 +89049,7 @@
|
|||
0x000000710118576c,memsetSomeMemory,36,_ZN4ksys3act10ActorParam19resetDummyResourcesEv
|
||||
0x0000007101185790,ActorParam::Event::ctor,244,_ZN4ksys3act10ActorParamC1Ev
|
||||
0x0000007101185884,sub_7101185884,60,_ZN4ksys3act10ActorParamD1Ev
|
||||
0x00000071011858c0,ActorParam::Data::doUnload,440,_ZN4ksys3act10ActorParam10deleteDataEv?
|
||||
0x00000071011858c0,ActorParam::Data::doUnload,440,_ZN4ksys3act10ActorParam10deleteDataEv
|
||||
0x0000007101185a78,sub_7101185A78,68,_ZN4ksys3act10ActorParamD0Ev
|
||||
0x0000007101185abc,ActorParam::Load::deleteRes2,164,_ZN4ksys3act10ActorParam16deleteResHandlesEv
|
||||
0x0000007101185b60,ActorParam::Load::isDummyParamResource,136,_ZNK4ksys3act10ActorParam12isDummyParamENS_3res9ActorLink5Users4UserE
|
||||
|
|
|
|||
|
Can't render this file because it is too large.
|
Binary file not shown.
|
|
@ -11,7 +11,7 @@ void ActorParam::resetDummyResources() {
|
|||
|
||||
ActorParam::ActorParam() {
|
||||
mRes = {};
|
||||
mNumHandles1 = mNumHandles2 = 0;
|
||||
mNumHandles = {};
|
||||
mEvent.resetSignal();
|
||||
}
|
||||
|
||||
|
|
@ -26,13 +26,11 @@ void ActorParam::deleteData() {
|
|||
if (mActorName.isEmpty())
|
||||
return;
|
||||
|
||||
for (s32 i = 0; i < mNumHandles1; ++i)
|
||||
mHandles1[i].requestUnload();
|
||||
mNumHandles1 = 0;
|
||||
|
||||
for (s32 i = 0; i < mNumHandles2; ++i)
|
||||
mHandles2[i].requestUnload();
|
||||
mNumHandles2 = 0;
|
||||
for (size_t i = 0; i < mNumHandles.size(); ++i) {
|
||||
for (s32 handle_idx = 0; handle_idx < mNumHandles[i]; ++handle_idx)
|
||||
mHandles[i][handle_idx].requestUnload();
|
||||
mNumHandles[i] = 0;
|
||||
}
|
||||
|
||||
deleteResHandles();
|
||||
|
||||
|
|
@ -44,8 +42,8 @@ void ActorParam::deleteData() {
|
|||
}
|
||||
|
||||
void ActorParam::deleteResHandles() {
|
||||
mHandles1.freeBuffer();
|
||||
mHandles2.freeBuffer();
|
||||
for (auto& handles : mHandles)
|
||||
handles.freeBuffer();
|
||||
}
|
||||
|
||||
bool ActorParam::isDummyParam(res::ActorLink::Users::User user) const {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#pragma once
|
||||
|
||||
#include <array>
|
||||
#include <container/seadBuffer.h>
|
||||
#include <heap/seadDisposer.h>
|
||||
#include <hostio/seadHostIONode.h>
|
||||
|
|
@ -112,10 +113,8 @@ public:
|
|||
Priority mPriority = Priority::AllAfter;
|
||||
u32 _74 = 2;
|
||||
Resources mRes;
|
||||
sead::Buffer<res::Handle> mHandles1;
|
||||
sead::Buffer<res::Handle> mHandles2;
|
||||
s32 mNumHandles1;
|
||||
s32 mNumHandles2;
|
||||
std::array<sead::Buffer<res::Handle>, 2> mHandles;
|
||||
std::array<s32, 2> mNumHandles;
|
||||
u32 _168{};
|
||||
|
||||
static void resetDummyResources();
|
||||
|
|
|
|||
Loading…
Reference in New Issue