diff --git a/asm/enemy/gleerok.s b/asm/enemy/gleerok.s index c8cc487d..46e90cd1 100644 --- a/asm/enemy/gleerok.s +++ b/asm/enemy/gleerok.s @@ -6,25 +6,6 @@ .text - thumb_func_start sub_0802EA68 -sub_0802EA68: @ 0x0802EA68 - push {r4, lr} - adds r4, r0, #0 - cmp r3, #2 - bne _0802EA72 - rsbs r2, r2, #0 -_0802EA72: - lsls r0, r1, #2 - adds r0, r4, r0 - ldrh r1, [r0, #0x18] - adds r1, r1, r2 - ldr r3, _0802EA84 @ =0x00001FFF - adds r2, r3, #0 - ands r1, r2 - strh r1, [r0, #0x18] - pop {r4, pc} - .align 2, 0 -_0802EA84: .4byte 0x00001FFF thumb_func_start sub_0802EA88 sub_0802EA88: @ 0x0802EA88 diff --git a/src/enemy/gleerok.c b/src/enemy/gleerok.c index e2fb7165..d7542be3 100644 --- a/src/enemy/gleerok.c +++ b/src/enemy/gleerok.c @@ -72,7 +72,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 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 void 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); extern bool32 sub_0802E768(Gleerok_HeapStruct* param_1); @@ -1398,3 +1398,10 @@ void sub_0802EA48(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3, u32 par } param_1->filler[param_2].unk0.HWORD = (param_1->filler[param_2].unk0.HWORD + param_3) & 0x1fff; } + +void sub_0802EA68(Gleerok_HeapStruct* param_1, u32 param_2, u32 param_3, u32 param_4) { + if (param_4 == 2) { + param_3 = -param_3; + } + param_1->filler2[param_2].unk0.HWORD = (param_1->filler2[param_2].unk0.HWORD + param_3) & 0x1fff; +}