From 05edb3e24c1993282bbafa5c221e35d3670a62b1 Mon Sep 17 00:00:00 2001 From: Ibot02 Date: Thu, 16 Dec 2021 00:01:52 +0100 Subject: [PATCH] Match sub_0801B8FC --- asm/non_matching/playerItemC/sub_0801B8FC.inc | 32 ------------------- src/playerItem/playerItemC.c | 8 ++--- 2 files changed, 2 insertions(+), 38 deletions(-) delete mode 100644 asm/non_matching/playerItemC/sub_0801B8FC.inc diff --git a/asm/non_matching/playerItemC/sub_0801B8FC.inc b/asm/non_matching/playerItemC/sub_0801B8FC.inc deleted file mode 100644 index 6da851da..00000000 --- a/asm/non_matching/playerItemC/sub_0801B8FC.inc +++ /dev/null @@ -1,32 +0,0 @@ - .syntax unified - push {lr} - ldr r1, _0801B90C @ =gPlayerState - ldr r2, [r1, #0x2c] - cmp r2, r0 - beq _0801B910 - bl DeleteThisEntity - b _0801B934 - .align 2, 0 -_0801B90C: .4byte gPlayerState -_0801B910: - ldrb r0, [r1, #0x1e] - cmp r0, #0 - bne _0801B91E - str r0, [r1, #0x2c] - bl DeleteThisEntity - b _0801B934 -_0801B91E: - ldrb r1, [r2, #0x10] - movs r0, #0x80 - orrs r0, r1 - strb r0, [r2, #0x10] - adds r1, r2, #0 - adds r1, #0x3c - movs r0, #0x21 - strb r0, [r1] - adds r0, r2, #0 - bl sub_0801B938 -_0801B934: - pop {pc} - .align 2, 0 - .syntax divided diff --git a/src/playerItem/playerItemC.c b/src/playerItem/playerItemC.c index 2ae472d3..d223b637 100644 --- a/src/playerItem/playerItemC.c +++ b/src/playerItem/playerItemC.c @@ -31,10 +31,8 @@ void sub_0801B8B0(Entity* this) { } } -NONMATCH("asm/non_matching/playerItemC/sub_0801B8FC.inc", void sub_0801B8FC(Entity* this)) { +void sub_0801B8FC(Entity* this) { Entity* pbVar1; - u32 tmp; - pbVar1 = (Entity*)gPlayerState.field_0x2c; if ((Entity*)gPlayerState.field_0x2c != this) { DeleteThisEntity(); @@ -43,14 +41,12 @@ NONMATCH("asm/non_matching/playerItemC/sub_0801B8FC.inc", void sub_0801B8FC(Enti gPlayerState.field_0x2c = (u8*)(u32)gPlayerState.field_0x1d[1]; DeleteThisEntity(); } else { - // TODO regalloc - gPlayerState.field_0x2c[0x10] |= 0x80; + pbVar1->flags |= 0x80; pbVar1->field_0x3c = 0x21; sub_0801B938(pbVar1); } } } -END_NONMATCH ASM_FUNC("asm/non_matching/playerItemC/sub_0801B938.inc", void sub_0801B938(Entity* this))