From 442206651de3e8ce376b71008c681547db70dd26 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Sat, 1 Jan 2022 02:13:05 +0200 Subject: [PATCH] getEmptyEntity: More fixes --- src/entity.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/entity.c b/src/entity.c index 710cd609..4b527a73 100644 --- a/src/entity.c +++ b/src/entity.c @@ -233,7 +233,7 @@ void EraseAllEntities() { gUnk_03000000.unk[1].unk6 = 1; } -extern Entity gUnk_030015A0[0x4848]; +extern Entity gUnk_030015A0[0x48]; extern Entity gUnk_03003BE0; NONMATCH("./asm/getEmptyEntity.s", Entity* GetEmptyEntity()) { @@ -261,7 +261,7 @@ NONMATCH("./asm/getEmptyEntity.s", Entity* GetEmptyEntity()) { ptr = &gPlayerEntity; do { - if ((s32)ptr->prev < 0 && (ptr->flags & 0xc) && gUpdateContext.current_entity != ptr) { + if ((s32)ptr->prev < 0 && (ptr->flags & 0xc) && ptr != gUpdateContext.current_entity) { ClearDeletedEntity(ptr); return ptr; } @@ -276,7 +276,8 @@ NONMATCH("./asm/getEmptyEntity.s", Entity* GetEmptyEntity()) { currentEnt = listPtr->first; nextList = listPtr + 1; while ((u32)currentEnt != (u32)listPtr) { - if (currentEnt->kind != MANAGER && (currentEnt->flags & 0x1c) < flags_ip && + if (currentEnt->kind != MANAGER + && flags_ip < (currentEnt->flags & 0x1c) && gUpdateContext.current_entity != currentEnt) { flags_ip = currentEnt->flags & 0x1c; rv = currentEnt;