Add nonmatched ActorManager::Actor_vfunc_10

This commit is contained in:
Mike
2024-05-05 07:57:09 -04:00
parent 9266f69aa7
commit 2518963308
2 changed files with 52 additions and 1 deletions
@@ -0,0 +1,25 @@
stmdb sp!, {r3, r4, r5, r6, r7, lr}
mov r5, r0
ldr r0, [r5, #4]
ldr r7, [r5, #0x10]
mov r4, r1
mov r6, #0
cmp r0, #0
ldmleia sp!, {r3, r4, r5, r6, r7, pc}
_020c359c:
ldr r0, [r7]
cmp r0, #0
ldrneb r1, [r0, #0x118]
cmpne r1, #0
beq _020c35c0
ldr r2, [r0]
mov r1, r4
ldr r2, [r2, #0x10]
blx r2
_020c35c0:
ldr r0, [r5, #4]
add r6, r6, #1
cmp r6, r0
add r7, r7, #4
blt _020c359c
ldmia sp!, {r3, r4, r5, r6, r7, pc}
+27 -1
View File
@@ -1,7 +1,6 @@
#include "Actor/ActorManager.hpp"
void ActorManager::func_ov00_020c3484(ActorRef *ref, Actor *actor, unk32 param3) {}
void ActorManager::Actor_vfunc_10(u32 param1) {}
Actor* ActorManager::FindActorById(u32 id) {}
Actor* ActorManager::GetActor(ActorRef *ref) {}
bool FilterActor::Filter(Actor *actor) {}
@@ -54,3 +53,30 @@ ARM void ActorManager::DeleteActor(u32 index, bool param2) {
this->mMaxActorIndex = i + 1 & 0xffff;
return;
}
void NONMATCH(ActorManager::Actor_vfunc_10)(u32 param1) {
#ifndef NONMATCHING
#include "../asm/ov00/Actor/ActorManager_Actor_vfunc_10.inc"
#else
Actor *actor;
Actor **currentActor;
u32 uVar1;
int i;
uVar1 = param1;
currentActor = this->mActorTable;
for (i = 0; i < this->mMaxActorIndex; ++i) {
actor = *currentActor;
if (actor != NULL) {
uVar1 = actor->mAlive;
if (uVar1 != 0) {
actor->vfunc_10(param1);
}
}
currentActor = currentActor + 1;
}
return;
#endif
}