From 4ce943b4a2677d2c8866b55e2ca7e95ce02dcd93 Mon Sep 17 00:00:00 2001 From: macrepeh Date: Sat, 13 Jun 2020 12:14:36 -0400 Subject: [PATCH] test --- asm/bladeTrap.s | 60 ------------------------------------------------- linker.ld | 2 +- src/bladeTrap.c | 33 +++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 61 deletions(-) delete mode 100644 asm/bladeTrap.s create mode 100644 src/bladeTrap.c diff --git a/asm/bladeTrap.s b/asm/bladeTrap.s deleted file mode 100644 index e13023bc..00000000 --- a/asm/bladeTrap.s +++ /dev/null @@ -1,60 +0,0 @@ - .include "asm/macros.inc" - - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start sub_08032358 -sub_08032358: @ 0x08032358 - push {r4, r5, r6, lr} - adds r4, r0, #0 - ldrb r0, [r4, #0xc] - cmp r0, #0 - bne _0803237C - movs r0, #1 - strb r0, [r4, #0xc] - ldrb r0, [r4, #0xa] - bl sub_0804B128 - str r0, [r4, #0x54] - adds r1, r4, #0 - adds r1, #0x54 - adds r2, r4, #0 - adds r2, #0x74 - adds r0, r4, #0 - bl sub_080A2CC0 -_0803237C: - ldrb r1, [r4, #0x15] - movs r6, #0x80 - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _0803238E - adds r0, r4, #0 - bl sub_0806F69C -_0803238E: - adds r5, r4, #0 - adds r5, #0x74 - ldrh r0, [r5] - subs r0, #1 - strh r0, [r5] - lsls r0, r0, #0x10 - cmp r0, #0 - bne _080323BA - ldrb r1, [r4, #0x15] - adds r0, r6, #0 - ands r0, r1 - cmp r0, #0 - bne _080323AE - movs r0, #0x74 - bl sub_08004488 -_080323AE: - adds r1, r4, #0 - adds r1, #0x54 - adds r0, r4, #0 - adds r2, r5, #0 - bl sub_080A2CC0 -_080323BA: - pop {r4, r5, r6, pc} diff --git a/linker.ld b/linker.ld index ff6f35f2..ede83e73 100644 --- a/linker.ld +++ b/linker.ld @@ -366,7 +366,7 @@ SECTIONS { asm/rope.o(.text); asm/smallPesto.o(.text); asm/acroBandits.o(.text); - asm/bladeTrap.o(.text); + src/bladeTrap.o(.text); asm/keaton.o(.text); asm/crow.o(.text); asm/mulldozer.o(.text); diff --git a/src/bladeTrap.c b/src/bladeTrap.c new file mode 100644 index 00000000..ba37b3ae --- /dev/null +++ b/src/bladeTrap.c @@ -0,0 +1,33 @@ +#include "global.h" +#include "entity.h" +#include "entityData.h" + +extern void sub_080A2CC0(); +extern void sub_0806F69C(); +extern void sub_08004488(); +extern Entity * sub_0804B128(); + +void sub_08032358(Entity *ent) +{ + u16 uVar1; + Entity *pEVar2; + u16 *puVar3; + if (ent->action == 0) { + ent->action = 1; + pEVar2 = sub_0804B128((u8)(ent->entityType).parameter1); + ent->attachedEntity = pEVar2; + sub_080A2CC0((EntityData *)ent,&ent->attachedEntity,&ent->heldObjectPtr); + } + if ((ent->direction & 0x80) == 0) { + sub_0806F69C(ent); + } + (u32)puVar3 = &(ent->heldObjectPtr); + uVar1 = *puVar3; + *puVar3 = uVar1 - 1; + if ((u16)(*puVar3) == 0) { + if ((ent->direction & 0x80) == 0) { + sub_08004488(0x74); + } + sub_080A2CC0((EntityData *)ent,&ent->attachedEntity,puVar3); + } +}