From f21b6a477f024e9208fa2b0b16713bf923d525aa Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Sat, 8 Jan 2022 18:08:02 +0100 Subject: [PATCH] Match sub_08024E4C --- asm/non_matching/pesto/sub_08024E4C.inc | 133 ------------------------ src/enemy/pesto.c | 15 ++- 2 files changed, 6 insertions(+), 142 deletions(-) delete mode 100644 asm/non_matching/pesto/sub_08024E4C.inc diff --git a/asm/non_matching/pesto/sub_08024E4C.inc b/asm/non_matching/pesto/sub_08024E4C.inc deleted file mode 100644 index b3d6d0e9..00000000 --- a/asm/non_matching/pesto/sub_08024E4C.inc +++ /dev/null @@ -1,133 +0,0 @@ - - .syntax unified - - .text - - - push {r4, r5, r6, r7, lr} - adds r4, r0, #0 - adds r0, #0x83 - ldrb r0, [r0] - cmp r0, #3 - bne _08024F46 - ldrb r0, [r4, #0xf] - adds r0, #1 - movs r7, #0 - movs r1, #0xff - ands r0, r1 - movs r1, #0x1f - ands r0, r1 - strb r0, [r4, #0xf] - bl sub_0807953C - cmp r0, #0 - beq _08024E84 - bl Random - adds r3, r4, #0 - adds r3, #0x84 - ldrb r2, [r3] - adds r2, #1 - movs r1, #1 - ands r1, r0 - adds r2, r2, r1 - strb r2, [r3] -_08024E84: - ldr r0, _08024EC8 @ =gSave - adds r0, #0xaa - ldrb r0, [r0] - adds r2, r4, #0 - adds r2, #0x87 - cmp r0, #0 - beq _08024E9A - adds r5, r2, #0 - ldrb r0, [r5] - cmp r0, #4 - bne _08024ECC -_08024E9A: - adds r1, r4, #0 - adds r1, #0x84 - movs r0, #0x30 - strb r0, [r1] - strb r7, [r2] - adds r0, r4, #0 - bl sub_08024F50 - adds r0, r4, #0 - adds r0, #0x80 - strb r7, [r0] - movs r1, #0x40 - movs r0, #0x40 - strh r0, [r4, #0x24] - strb r1, [r4, #0xe] - movs r0, #8 - strb r0, [r4, #0xf] - adds r0, r4, #0 - movs r1, #0 - movs r2, #8 - bl sub_08024A14 - b _08024F46 - .align 2, 0 -_08024EC8: .4byte gSave -_08024ECC: - ldr r6, _08024F48 @ =gPlayerEntity - bl ResetPlayer - ldr r2, _08024F4C @ =gPlayerState - ldr r0, [r2, #0x30] - movs r1, #0x80 - lsls r1, r1, #1 - orrs r0, r1 - str r0, [r2, #0x30] - ldrb r0, [r2, #0xa] - movs r1, #0x80 - orrs r0, r1 - strb r0, [r2, #0xa] - movs r0, #0xe - strb r0, [r2, #0xc] - adds r1, r2, #0 - adds r1, #0x38 - movs r0, #0x14 - strb r0, [r1] - adds r1, #1 - movs r0, #1 - strb r0, [r1] - adds r0, r2, #0 - adds r0, #0x3a - strb r7, [r0] - movs r3, #0x80 - lsls r3, r3, #9 - adds r0, r4, #0 - adds r1, r6, #0 - movs r2, #0 - bl PositionRelative - adds r1, r6, #0 - adds r1, #0x63 - movs r0, #0x1a - strb r0, [r1] - movs r0, #4 - strb r0, [r6, #0x14] - adds r2, r6, #0 - adds r2, #0x29 - ldrb r1, [r2] - subs r0, #0x3d - ands r0, r1 - strb r0, [r2] - ldrb r0, [r4, #0xf] - cmp r0, #0 - bne _08024F46 - ldrb r0, [r5] - adds r0, #1 - strb r0, [r5] - adds r1, r6, #0 - adds r1, #0x3d - movs r0, #8 - strb r0, [r1] - subs r0, #0xa - bl ModHealth - adds r0, r6, #0 - movs r1, #0x7a - bl SoundReqClipped -_08024F46: - pop {r4, r5, r6, r7, pc} - .align 2, 0 -_08024F48: .4byte gPlayerEntity -_08024F4C: .4byte gPlayerState - - .syntax divided diff --git a/src/enemy/pesto.c b/src/enemy/pesto.c index 430f8945..7d5db56e 100644 --- a/src/enemy/pesto.c +++ b/src/enemy/pesto.c @@ -790,16 +790,15 @@ u32 sub_08024E34(void) { return gUnk_080CBF20[idx]; } -NONMATCH("asm/non_matching/pesto/sub_08024E4C.inc", void sub_08024E4C(Entity* this)) { +void sub_08024E4C(Entity* this) { if (this->field_0x82.HALF.HI == 3) { - this->field_0xf++; - this->field_0xf &= 0xff; - this->field_0xf &= 0x1f; - + this->field_0xf = ++this->field_0xf & 0x1f; if (sub_0807953C()) { - this->cutsceneBeh.HALF.LO += 1 + (Random() & 1); + u32 r = Random(); + this->cutsceneBeh.HALF.LO++; + r &= 1; + this->cutsceneBeh.HALF.LO += r; } - if (gSave.stats.health == 0 || this->field_0x86.HALF.HI == 4) { this->cutsceneBeh.HALF.LO = 0x30; this->field_0x86.HALF.HI = 0; @@ -811,7 +810,6 @@ NONMATCH("asm/non_matching/pesto/sub_08024E4C.inc", void sub_08024E4C(Entity* th sub_08024A14(this, 0, 8); } else { Entity* player = &gPlayerEntity; - ResetPlayer(); gPlayerState.flags |= PL_DISABLE_ITEMS; gPlayerState.field_0xa |= 0x80; @@ -832,7 +830,6 @@ NONMATCH("asm/non_matching/pesto/sub_08024E4C.inc", void sub_08024E4C(Entity* th } } } -END_NONMATCH void sub_08024F50(Entity* this) { gPlayerState.field_0xa = 0;