mirror of
https://github.com/zeldaret/ph
synced 2026-06-13 13:56:33 -04:00
Remove nonmatching function, fix static function type
This commit is contained in:
@@ -506,7 +506,7 @@ _020c3a14:
|
||||
mov r1, r8
|
||||
ldr r0, [r0, r5, lsl #2]
|
||||
ldr r0, [r0, #4]
|
||||
bl _ZN12ActorManager16ActorTypeIsOneOfEjPj
|
||||
bl _Z16ActorTypeIsOneOfPcPS_
|
||||
cmp r7, r0
|
||||
beq _020c3b08
|
||||
_020c3a60:
|
||||
@@ -791,9 +791,9 @@ _020c3e04:
|
||||
ldmia sp!, {r4, r5, r6, pc}
|
||||
arm_func_end _ZN12ActorManager14Actor_vfunc_28Ev
|
||||
|
||||
.global _ZN12ActorManager16ActorTypeIsOneOfEjPj
|
||||
arm_func_start _ZN12ActorManager16ActorTypeIsOneOfEjPj
|
||||
_ZN12ActorManager16ActorTypeIsOneOfEjPj: ; 0x020c3e1c
|
||||
.global _Z16ActorTypeIsOneOfPcPS_
|
||||
arm_func_start _Z16ActorTypeIsOneOfPcPS_
|
||||
_Z16ActorTypeIsOneOfPcPS_: ; 0x020c3e1c
|
||||
ldr ip, [r1]
|
||||
ldr r2, _020c3e50 ; =0x4e554c4c
|
||||
mov r3, #0
|
||||
@@ -811,7 +811,7 @@ _020c3e48:
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_020c3e50: .word 0x4e554c4c
|
||||
arm_func_end _ZN12ActorManager16ActorTypeIsOneOfEjPj
|
||||
arm_func_end _Z16ActorTypeIsOneOfPcPS_
|
||||
|
||||
.data
|
||||
.global data_ov00_020e72a8
|
||||
|
||||
@@ -1,63 +0,0 @@
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, r9, r10, lr}
|
||||
mov r10, r0
|
||||
mvn r3, #0
|
||||
str r3, [r10]
|
||||
ldr r0, data_027e103c
|
||||
str r3, [r10, #4]
|
||||
ldr r0, [r0]
|
||||
mov r9, r2
|
||||
ldrb r0, [r0, #0x24]
|
||||
cmp r0, #0
|
||||
ldmeqia sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
||||
ldr r0, data_027e077c
|
||||
ldr r2, data_02056be4
|
||||
ldr r0, [r0]
|
||||
ldr r6, [r1, #0x10]
|
||||
ldrb r0, [r2, r0]
|
||||
sub r5, r3, #0x80000000
|
||||
tst r0, #1
|
||||
ldr r0, [r1, #4]
|
||||
movne r8, #1
|
||||
moveq r8, #0
|
||||
add r7, r6, r0, lsl #2
|
||||
cmp r6, r7
|
||||
ldmhsia sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
||||
mov r4, #0
|
||||
_020c34e8:
|
||||
ldr r0, [r6]
|
||||
cmp r0, #0
|
||||
ldrneb r1, [r0, #0x118]
|
||||
cmpne r1, #0
|
||||
beq _020c3560
|
||||
mov r1, r9
|
||||
bl _ZN5Actor18func_ov00_020c27a8Ei
|
||||
cmp r0, #0
|
||||
beq _020c3560
|
||||
ldr r0, [r6]
|
||||
ldrb r1, [r0, #0xa4]
|
||||
cmp r1, #0
|
||||
cmpeq r8, #0
|
||||
beq _020c3560
|
||||
ldr r2, [r0]
|
||||
mov r1, r4
|
||||
ldr r2, [r2, #0x40]
|
||||
blx r2
|
||||
cmp r0, #0
|
||||
beq _020c3560
|
||||
ldr r0, [r6]
|
||||
bl _ZN5Actor14DistanceToLinkEv
|
||||
cmp r0, r5
|
||||
bge _020c3560
|
||||
ldr r1, [r6]
|
||||
mov r5, r0
|
||||
ldr r0, [r1, #8]
|
||||
str r0, [r10]
|
||||
ldr r0, [r1, #0xc]
|
||||
str r0, [r10, #4]
|
||||
_020c3560:
|
||||
add r6, r6, #4
|
||||
cmp r6, r7
|
||||
blo _020c34e8
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, r9, r10, pc}
|
||||
.align 2, 0
|
||||
arm_func_end _ZN12ActorManager18func_ov00_020c3484EP8ActorRefP5Actori
|
||||
@@ -1,7 +1,6 @@
|
||||
#include "Actor/ActorManager.hpp"
|
||||
|
||||
void ActorManager::func_ov00_020c3484(ActorRef *ref, Actor *actor, unk32 param3) {}
|
||||
Actor* ActorManager::FindActorById(u32 id) {}
|
||||
Actor* ActorManager::GetActor(ActorRef *ref) {}
|
||||
bool FilterActor::Filter(Actor *actor) {}
|
||||
s32 ActorManager::FilterActors(FilterActorBase *filter, ActorList *filteredActors) {}
|
||||
@@ -14,7 +13,6 @@ s32 ActorManager::func_ov00_020c3b2c(s32 *param1) {}
|
||||
s32 ActorManager::func_ov00_020c3bb0(unk32 param1, s32 *param2) {}
|
||||
void ActorManager::func_ov00_020c3ce8(unk32 param1, unk32 param2) {}
|
||||
void ActorManager::Actor_vfunc_28() {}
|
||||
bool ActorManager::ActorTypeIsOneOf(u32 type, ActorTypeId *types) {}
|
||||
|
||||
|
||||
extern void func_ov00_020c3f54(void *, u32 param2);
|
||||
@@ -57,64 +55,6 @@ 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
|
||||
}
|
||||
|
||||
ARM void ActorManager::Actor_vfunc_10(u32 param1) {
|
||||
Actor *actor;
|
||||
int i;
|
||||
@@ -210,7 +150,7 @@ void ActorManager::Actor_vfunc_28() {
|
||||
|
||||
char nullStr[] = "LLUN";
|
||||
|
||||
ARM bool ActorManager::ActorTypeIsOneOf(char *type, char **types) {
|
||||
ARM static bool ActorTypeIsOneOf(char *type, char **types) {
|
||||
int i;
|
||||
bool found = false;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user