Put const data in manager2E

This commit is contained in:
Tal Hayon 2022-04-18 23:31:39 +03:00
parent fdd9d5ccf6
commit 036d01172a
3 changed files with 25 additions and 27 deletions

View File

@ -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

View File

@ -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);

View File

@ -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) {