From 1d1d0930844a1929eecc24e68e5c4041208c1321 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Wed, 30 Mar 2022 12:23:51 +0300 Subject: [PATCH] Match sub_08036998 --- asm/non_matching/octorokBoss/sub_08036998.inc | 33 ------------------- src/enemy/octorokBoss.c | 10 +++--- 2 files changed, 5 insertions(+), 38 deletions(-) delete mode 100644 asm/non_matching/octorokBoss/sub_08036998.inc diff --git a/asm/non_matching/octorokBoss/sub_08036998.inc b/asm/non_matching/octorokBoss/sub_08036998.inc deleted file mode 100644 index c718c47d..00000000 --- a/asm/non_matching/octorokBoss/sub_08036998.inc +++ /dev/null @@ -1,33 +0,0 @@ - .syntax unified - push {r4, lr} - adds r2, r0, #0 - adds r3, r2, #0 - adds r3, #0x79 - ldrb r0, [r2, #0xf] - ldrb r4, [r3] - adds r1, r0, r4 - strb r1, [r3] - ldrb r4, [r2, #0xf] - movs r0, #0xf - ldrsb r0, [r2, r0] - cmp r0, #0 - bge _080369BE - ldrb r0, [r2, #0xe] - lsls r1, r1, #0x18 - lsls r0, r0, #0x18 - cmn r1, r0 - bge _080369CC - b _080369C8 -_080369BE: - movs r0, #0 - ldrsb r0, [r3, r0] - ldrb r1, [r2, #0xe] - cmp r0, r1 - ble _080369CC -_080369C8: - rsbs r0, r4, #0 - strb r0, [r2, #0xf] -_080369CC: - pop {r4, pc} - .align 2, 0 - .syntax divided diff --git a/src/enemy/octorokBoss.c b/src/enemy/octorokBoss.c index d7bc7015..f5ffe6d0 100644 --- a/src/enemy/octorokBoss.c +++ b/src/enemy/octorokBoss.c @@ -987,17 +987,18 @@ void sub_08036914(Entity* this, s32 angle, s32 radius) { this->spriteOffsetY = this->parent->spriteOffsetY; } -NONMATCH("asm/non_matching/octorokBoss/sub_08036998.inc", void sub_08036998(OctorokBossEntity* this)) { +void sub_08036998(OctorokBossEntity* this) { u32 tmp; s8* tmp2; - s8 tmp3; + s32 tmp3; s32 a, b; // TODO regalloc in this awful structure here tmp2 = &this->timer; - tmp = super->subtimer + (u8)*tmp2; + tmp = super->subtimer + (tmp3 = (u8)*tmp2); *tmp2 = tmp; - if ((s8)super->subtimer < 0) { + tmp3 = super->subtimer; + if ((s8)tmp3 < 0) { a = tmp; b = -super->timer; if (a << 0x18 < b << 0x18) { @@ -1009,7 +1010,6 @@ NONMATCH("asm/non_matching/octorokBoss/sub_08036998.inc", void sub_08036998(Octo } } } -END_NONMATCH /** Calculate tail angles regular */ ASM_FUNC("asm/non_matching/octorokBoss/sub_080369D0.inc",