Put const data in manager37

This commit is contained in:
Tal Hayon 2022-04-18 23:43:00 +03:00
parent 737e39dc2b
commit 6ca6b480b4
3 changed files with 24 additions and 30 deletions

View File

@ -1,20 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnk_08108DBC:: @ 08108DBC
.4byte sub_0805DE50
.4byte sub_0805DFE8
gUnk_08108DC4:: @ 08108DC4
.4byte sub_0805DE68
.4byte sub_0805DEB8
.4byte sub_0805DF4C
.4byte sub_0805DF98
.4byte sub_0805DFCC
gUnk_08108DD8:: @ 08108DD8
.4byte sub_0805E000
.4byte sub_0805E078

View File

@ -1144,7 +1144,7 @@ SECTIONS {
src/manager/manager34.o(.rodata);
src/manager/manager35.o(.rodata);
src/manager/manager36.o(.rodata);
data/const/manager/manager37.o(.rodata);
src/manager/manager37.o(.rodata);
data/const/manager/manager38.o(.rodata);
data/const/manager/manager39.o(.rodata);
data/data_08108E6C.o(.rodata);

View File

@ -12,20 +12,30 @@
extern ScreenTransitionData gUnk_0813AC34;
extern void (*const gUnk_08108DBC[])(Manager*);
extern void (*const gUnk_08108DC4[])(Manager*);
extern void (*const gUnk_08108DD8[])(Manager*);
void sub_0805E094(void);
void sub_0805DE50(Manager*);
void sub_0805DFE8(Manager*);
void sub_0805DE68(Manager*);
void sub_0805DEB8(Manager*);
void sub_0805DF4C(Manager*);
void sub_0805DF98(Manager*);
void sub_0805DFCC(Manager*);
void sub_0805E078(Manager*);
void sub_0805E000(Manager*);
void Manager37_Main(Manager* this) {
static void (*const gUnk_08108DBC[])(Manager*) = {
sub_0805DE50,
sub_0805DFE8,
};
gUnk_08108DBC[this->unk_0a](this);
}
void sub_0805DE50(Manager* this) {
gUnk_08108DC4[this->action](this);
static void (*const actionFuncs[])(Manager*) = {
sub_0805DE68, sub_0805DEB8, sub_0805DF4C, sub_0805DF98, sub_0805DFCC,
};
actionFuncs[this->action](this);
}
void sub_0805DE68(Manager* this) {
@ -95,7 +105,7 @@ void sub_0805DF98(Manager* this) {
}
}
void sub_0805DFCC(void) {
void sub_0805DFCC(Manager* this) {
if (gFadeControl.active == 0) {
ClearGlobalFlag(ZELDA_CHASE);
sub_0805E094();
@ -103,7 +113,11 @@ void sub_0805DFCC(void) {
}
void sub_0805DFE8(Manager* this) {
gUnk_08108DD8[this->action](this);
static void (*const actionFuncs[])(Manager*) = {
sub_0805E000,
sub_0805E078,
};
actionFuncs[this->action](this);
}
void sub_0805E000(Manager* this) {