From 4b6f822829d6dd771ed995030f1bf1d24f204536 Mon Sep 17 00:00:00 2001 From: 21aslade <21aslade@go.dsdmail.net> Date: Sat, 7 Nov 2020 13:58:19 -0700 Subject: [PATCH] Start chuchuBoss.c --- asm/chuchuBoss.s | 33 --------------------------------- linker.ld | 1 + src/enemy/chuchuBoss.c | 19 +++++++++++++++++++ 3 files changed, 20 insertions(+), 33 deletions(-) create mode 100644 src/enemy/chuchuBoss.c diff --git a/asm/chuchuBoss.s b/asm/chuchuBoss.s index 0ad8aaca..e2b0f04e 100644 --- a/asm/chuchuBoss.s +++ b/asm/chuchuBoss.s @@ -6,39 +6,6 @@ .text - - thumb_func_start ChuchuBoss -ChuchuBoss: @ 0x08025CA0 - push {r4, r5, lr} - adds r5, r0, #0 - ldr r4, _08025CB8 @ =gUnk_080CC19C - bl GetNextFunction - lsls r0, r0, #2 - adds r0, r0, r4 - ldr r1, [r0] - adds r0, r5, #0 - bl _call_via_r1 - pop {r4, r5, pc} - .align 2, 0 -_08025CB8: .4byte gUnk_080CC19C - - thumb_func_start sub_08025CBC -sub_08025CBC: @ 0x08025CBC - push {r4, lr} - adds r4, r0, #0 - bl sub_08001324 - - thumb_func_start sub_08025CC4 -sub_08025CC4: @ 0x08025CC4 - ldrb r0, [r4, #0xa] - cmp r0, #0 - bne _08025CD0 - adds r0, r4, #0 - bl sub_08027870 -_08025CD0: - pop {r4, pc} - .align 2, 0 - thumb_func_start sub_08025CD4 sub_08025CD4: @ 0x08025CD4 push {r4, r5, lr} diff --git a/linker.ld b/linker.ld index 5b0d7d93..cfcc4abe 100644 --- a/linker.ld +++ b/linker.ld @@ -346,6 +346,7 @@ SECTIONS { asm/sluggula.o(.text); asm/pesto.o(.text); asm/puffstool.o(.text); + src/enemy/chuchuBoss.o(.text); asm/chuchuBoss.o(.text); asm/likeLike.o(.text); asm/spearMoblin.o(.text); diff --git a/src/enemy/chuchuBoss.c b/src/enemy/chuchuBoss.c new file mode 100644 index 00000000..169deeb4 --- /dev/null +++ b/src/enemy/chuchuBoss.c @@ -0,0 +1,19 @@ +#include "entity.h" +#include "functions.h" +#include "enemy.h" + +extern void (*const gUnk_080CC19C[])(Entity*); + +extern void sub_08001324(Entity*); +void sub_08027870(Entity*); + +void ChuchuBoss(Entity* this) { + gUnk_080CC19C[GetNextFunction(this)]((Entity*)this); +} + +void sub_08025CBC(Entity* this) { + sub_08001324(this); + if (this->entityType.form == 0) { + sub_08027870(this); + } +}