mirror of
https://github.com/zeldaret/ph
synced 2026-08-13 12:09:29 -04:00
Add nonmatching function for func_ov00_020c3484
This commit is contained in:
@@ -18,6 +18,9 @@ bool ActorManager::ActorTypeIsOneOf(u32 type, ActorTypeId *types) {}
|
||||
|
||||
|
||||
extern void func_ov00_020c3f54(void *, u32 param2);
|
||||
extern s32 *data_027e103c;
|
||||
extern s32 *data_027e077c;
|
||||
extern s32 data_02056be4[];
|
||||
|
||||
ARM void ActorManager::DeleteActor(u32 index, bool param2) {
|
||||
if (!param2) {
|
||||
@@ -54,6 +57,64 @@ ARM void ActorManager::DeleteActor(u32 index, bool param2) {
|
||||
return;
|
||||
}
|
||||
|
||||
static void NONMATCH(func_ov00_020c3484)(ActorRef *ref, Actor *actor, unk32 param3) {
|
||||
#ifndef NONMATCHING
|
||||
#include "../asm/ov00/Actor/ActorManager_func_ov00_020c3484.inc"
|
||||
#else
|
||||
char bVar1;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
u32 uVar7;
|
||||
Actor **ppAVar5;
|
||||
Actor **ppAVar6;
|
||||
Actor *pActor;
|
||||
|
||||
ref->id = 0xffffffff;
|
||||
|
||||
int *puVar2 = data_027e103c;
|
||||
|
||||
ref->index = 0xffffffff;
|
||||
|
||||
if (*(char *)(*puVar2 + 0x24) == '\0') {
|
||||
return;
|
||||
}
|
||||
|
||||
ppAVar5 = *(Actor ***)&actor->mUnk_010;
|
||||
|
||||
bVar1 = data_02056be4[*data_027e077c];
|
||||
|
||||
iVar4 = 0x7fffffff;
|
||||
ppAVar6 = ppAVar5 + actor->mType;
|
||||
|
||||
for (; ppAVar5 < ppAVar6; ppAVar5++) {
|
||||
pActor = *ppAVar5;
|
||||
if (pActor != NULL) {
|
||||
actor = (Actor *)(u32)actor->mAlive;
|
||||
}
|
||||
if (pActor != NULL && actor != NULL) {
|
||||
uVar7 = pActor->func_ov00_020c27a8(param3);
|
||||
actor = (Actor *)(uVar7 >> 0x20);
|
||||
if (uVar7 != 0) {
|
||||
pActor = *ppAVar5;
|
||||
actor = (Actor *)(u32)(pActor->mUnk_0a4.mUnk_00);
|
||||
}
|
||||
if (actor != NULL || (bVar1 & 1) != 0) {
|
||||
uVar7 = pActor->mUnk_040(0);
|
||||
pActor = (Actor *)(uVar7 >> 0x20);
|
||||
iVar3 = (*ppAVar5)->DistanceToLink();
|
||||
if (uVar7 != 0 && iVar3 < iVar4) {
|
||||
pActor = *ppAVar5;
|
||||
ref->id = actor->mId;
|
||||
ref->index = actor->mIndex;
|
||||
iVar4 = iVar3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
|
||||
void NONMATCH(ActorManager::Actor_vfunc_10)(u32 param1) {
|
||||
#ifndef NONMATCHING
|
||||
#include "../asm/ov00/Actor/ActorManager_Actor_vfunc_10.inc"
|
||||
|
||||
Reference in New Issue
Block a user