From 76e523285851cda571671941e24ba6a16352f628 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Tue, 26 Jul 2022 16:26:59 +0300 Subject: [PATCH] Match sub_0802EA48 --- asm/enemy/gleerok.s | 20 -------------------- src/enemy/gleerok.c | 9 ++++++++- 2 files changed, 8 insertions(+), 21 deletions(-) diff --git a/asm/enemy/gleerok.s b/asm/enemy/gleerok.s index 5c60ac94..c8cc487d 100644 --- a/asm/enemy/gleerok.s +++ b/asm/enemy/gleerok.s @@ -6,26 +6,6 @@ .text - thumb_func_start sub_0802EA48 -sub_0802EA48: @ 0x0802EA48 - push {r4, lr} - adds r4, r0, #0 - cmp r3, #1 - bne _0802EA52 - rsbs r2, r2, #0 -_0802EA52: - lsls r0, r1, #2 - adds r0, r4, r0 - ldrh r1, [r0] - adds r1, r1, r2 - ldr r3, _0802EA64 @ =0x00001FFF - adds r2, r3, #0 - ands r1, r2 - strh r1, [r0] - pop {r4, pc} - .align 2, 0 -_0802EA64: .4byte 0x00001FFF - thumb_func_start sub_0802EA68 sub_0802EA68: @ 0x0802EA68 push {r4, lr} diff --git a/src/enemy/gleerok.c b/src/enemy/gleerok.c index 13061a2e..e2fb7165 100644 --- a/src/enemy/gleerok.c +++ b/src/enemy/gleerok.c @@ -71,7 +71,7 @@ extern void sub_0802E9B0(GleerokEntity* this); extern bool32 sub_0802EB08(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3); extern bool32 sub_0802EA18(u32 param_1, u32 param_2, u32 param_3); -extern bool32 sub_0802EA48(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3, u32 param_4); +extern void sub_0802EA48(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3, u32 param_4); extern bool32 sub_0802EA68(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3, u32 param_4); extern bool32 sub_0802E7CC(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3, u32 param_4); extern bool32 sub_0802EA88(Gleerok_HeapStruct* param_1); @@ -1391,3 +1391,10 @@ bool32 sub_0802EA18(u32 arg0, u32 arg1, u32 arg2) { } return TRUE; } + +void sub_0802EA48(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3, u32 param_4) { + if (param_4 == 1) { + param_3 = -param_3; + } + param_1->filler[param_2].unk0.HWORD = (param_1->filler[param_2].unk0.HWORD + param_3) & 0x1fff; +}