From 036d01172a61865e54307d5a314af532a4ce7fc4 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Mon, 18 Apr 2022 23:31:39 +0300 Subject: [PATCH] Put const data in manager2E --- data/const/manager/manager2E.s | 19 ------------------- linker.ld | 2 +- src/manager/manager2E.c | 31 ++++++++++++++++++++++++------- 3 files changed, 25 insertions(+), 27 deletions(-) delete mode 100644 data/const/manager/manager2E.s diff --git a/data/const/manager/manager2E.s b/data/const/manager/manager2E.s deleted file mode 100644 index 5c8d9593..00000000 --- a/data/const/manager/manager2E.s +++ /dev/null @@ -1,19 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_08108D3C:: @ 08108D3C - .4byte sub_0805D268 - .4byte sub_0805D32C - -gUnk_08108D44:: @ 08108D44 - .4byte sub_0805D280 - .4byte sub_0805D2C0 - .4byte sub_0805D2F4 - -gUnk_08108D50:: @ 08108D50 - .4byte sub_0805D344 - .4byte sub_0805D36C - .4byte sub_0805D384 diff --git a/linker.ld b/linker.ld index 7720f810..125e86ac 100644 --- a/linker.ld +++ b/linker.ld @@ -1138,7 +1138,7 @@ SECTIONS { src/manager/manager27.o(.rodata); src/manager/manager28.o(.rodata); src/manager/manager2B.o(.rodata); - data/const/manager/manager2E.o(.rodata); + src/manager/manager2E.o(.rodata); data/const/manager/manager31.o(.rodata); data/const/manager/manager32.o(.rodata); data/const/manager/manager34.o(.rodata); diff --git a/src/manager/manager2E.c b/src/manager/manager2E.c index 1bfc410b..d71f8539 100644 --- a/src/manager/manager2E.c +++ b/src/manager/manager2E.c @@ -15,19 +15,31 @@ typedef struct { u16 field_0x3e; } Manager2E; -extern void (*const gUnk_08108D3C[])(Manager2E*); -extern void (*const gUnk_08108D44[])(Manager2E*); - void sub_0805D2F4(Manager2E*); - -extern void (*const gUnk_08108D50[])(Manager2E*); +void sub_0805D268(Manager2E*); +void sub_0805D32C(Manager2E*); +void sub_0805D280(Manager2E*); +void sub_0805D2C0(Manager2E*); +void sub_0805D2F4(Manager2E*); +void sub_0805D384(Manager2E*); +void sub_0805D36C(Manager2E*); +void sub_0805D344(Manager2E*); void Manager2E_Main(Manager2E* this) { + static void (*const gUnk_08108D3C[])(Manager2E*) = { + sub_0805D268, + sub_0805D32C, + }; gUnk_08108D3C[this->manager.unk_0a](this); } void sub_0805D268(Manager2E* this) { - gUnk_08108D44[this->manager.action](this); + static void (*const actionFuncs[])(Manager2E*) = { + sub_0805D280, + sub_0805D2C0, + sub_0805D2F4, + }; + actionFuncs[this->manager.action](this); } void sub_0805D280(Manager2E* this) { @@ -70,7 +82,12 @@ void sub_0805D2F4(Manager2E* this) { } void sub_0805D32C(Manager2E* this) { - gUnk_08108D50[this->manager.action](this); + static void (*const actionFuncs[])(Manager2E*) = { + sub_0805D344, + sub_0805D36C, + sub_0805D384, + }; + actionFuncs[this->manager.action](this); } void sub_0805D344(Manager2E* this) {