mirror of https://github.com/zeldaret/tmc.git
extract manager table
This commit is contained in:
parent
f97a229352
commit
f53140b2e9
|
@ -65,3 +65,4 @@ _Deparsed_XSubs.pm
|
|||
*.py
|
||||
*.sna
|
||||
__pycache__
|
||||
.vscode/settings.json
|
||||
|
|
|
@ -920,7 +920,7 @@ sub_08017508: @ 0x08017508
|
|||
bl sub_0805E3B0
|
||||
cmp r0, #0
|
||||
bne _08017524
|
||||
ldr r0, _0801752C @ =gUnk_080B3054
|
||||
ldr r0, _0801752C @ =gManagerFunctions
|
||||
ldrb r1, [r4, #9]
|
||||
lsls r1, r1, #2
|
||||
adds r1, r1, r0
|
||||
|
@ -932,7 +932,7 @@ _08017524:
|
|||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0801752C: .4byte gUnk_080B3054
|
||||
_0801752C: .4byte gManagerFunctions
|
||||
|
||||
thumb_func_start sub_08017530
|
||||
sub_08017530: @ 0x08017530
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.section .rodata
|
||||
.align 2
|
||||
|
||||
gUnk_080B3054:: @ 080B3054
|
||||
.incbin "baserom.gba", 0x0B3054, 0x00000E8
|
|
@ -133,4 +133,62 @@ typedef struct {
|
|||
u16 unk_06;
|
||||
} UnkManager26HelperStruct;
|
||||
|
||||
extern void Manager1();
|
||||
extern void Manager2();
|
||||
extern void sub_080576C0();
|
||||
extern void sub_08057854();
|
||||
extern void sub_08057AD0();
|
||||
extern void sub_08057CB4();
|
||||
extern void Manager7_Main();
|
||||
extern void sub_08057ED0();
|
||||
extern void sub_080581D8();
|
||||
extern void sub_08058380();
|
||||
extern void sub_080585F0();
|
||||
extern void sub_0805884C();
|
||||
extern void sub_08058DD0(Entity*);
|
||||
extern void sub_08058E60();
|
||||
extern void sub_08058ECC(Entity*);
|
||||
extern void sub_08059570(Entity*);
|
||||
extern void sub_080599B8(Entity*);
|
||||
extern void sub_080599EC(Entity*);
|
||||
extern void sub_08059DAC(Entity*);
|
||||
extern void sub_08059E58(Entity*);
|
||||
extern void sub_0805A280();
|
||||
extern void sub_0805AB4C(Entity*);
|
||||
extern void sub_0805AD48(Entity*);
|
||||
extern void sub_0805ADD8();
|
||||
extern void sub_0805AF60(Entity*);
|
||||
extern void sub_0805B030();
|
||||
extern void sub_0805B3B4(Entity*);
|
||||
extern void sub_0805B53C(Entity*);
|
||||
extern void sub_0805B5C8(Entity*);
|
||||
extern void Manager1E_Handler();
|
||||
extern void sub_0805B6F4(Entity*);
|
||||
extern void sub_0805B7A0();
|
||||
extern void sub_0805B820(Entity*);
|
||||
extern void sub_0805B8EC(Entity*);
|
||||
extern void sub_0805BC74(Entity*);
|
||||
extern void sub_0805BF18(Entity*);
|
||||
extern void sub_0805C61C(Entity*);
|
||||
extern void sub_0805C6B8();
|
||||
extern void Manager27();
|
||||
extern void Manager28_Entry();
|
||||
extern void sub_0805CB90(Entity*);
|
||||
extern void sub_0805CFC0(Entity*);
|
||||
extern void sub_0805D014(Entity*);
|
||||
extern void sub_0805D174(Entity*);
|
||||
extern void sub_0805D1FC(Entity*);
|
||||
extern void sub_0805D250();
|
||||
extern void sub_0805D3C8();
|
||||
extern void Manager30_Main();
|
||||
extern void sub_0805D630(Entity*);
|
||||
extern void sub_0805D7A4(Entity*);
|
||||
extern void sub_0805DAE8(Entity*);
|
||||
extern void sub_0805DB94(Entity*);
|
||||
extern void sub_0805DC84(Entity*);
|
||||
extern void sub_0805DDB4(Entity*);
|
||||
extern void sub_0805DE38(Entity*);
|
||||
extern void sub_0805E0A8(Entity*);
|
||||
extern void sub_0805E0FC();
|
||||
|
||||
#endif
|
||||
|
|
|
@ -908,7 +908,7 @@ SECTIONS {
|
|||
data/data_080B2A70.o(.rodata);
|
||||
data/playerItemFunctions.o(.rodata);
|
||||
src/object.o(.rodata);
|
||||
data/data_080B3054.o(.rodata);
|
||||
src/manager.o(.rodata);
|
||||
src/npc.o(.rodata);
|
||||
data/data_080B3740.o(.rodata);
|
||||
src/trig.o(.rodata);
|
||||
|
|
|
@ -0,0 +1,63 @@
|
|||
#include "manager.h"
|
||||
|
||||
// TODO: change all manager arguments to be Entity* and cast to specific type later.
|
||||
void (*const gManagerFunctions[])() = {
|
||||
NULL,
|
||||
Manager1,
|
||||
Manager2,
|
||||
sub_080576C0,
|
||||
sub_08057854,
|
||||
sub_08057AD0,
|
||||
sub_08057CB4,
|
||||
Manager7_Main,
|
||||
sub_08057ED0,
|
||||
sub_080581D8,
|
||||
sub_08058380,
|
||||
sub_080585F0,
|
||||
sub_0805884C,
|
||||
sub_08058DD0,
|
||||
sub_08058E60,
|
||||
sub_08058ECC,
|
||||
sub_08059570,
|
||||
sub_080599B8,
|
||||
sub_080599EC,
|
||||
sub_08059DAC,
|
||||
sub_08059E58,
|
||||
sub_0805A280,
|
||||
sub_0805AB4C,
|
||||
sub_0805AD48,
|
||||
sub_0805ADD8,
|
||||
sub_0805AF60,
|
||||
sub_0805B030,
|
||||
sub_0805B3B4,
|
||||
sub_0805B53C,
|
||||
sub_0805B5C8,
|
||||
Manager1E_Handler,
|
||||
sub_0805B6F4,
|
||||
sub_0805B7A0,
|
||||
sub_0805B820,
|
||||
sub_0805B8EC,
|
||||
sub_0805BC74,
|
||||
sub_0805BF18,
|
||||
sub_0805C61C,
|
||||
sub_0805C6B8,
|
||||
Manager27,
|
||||
Manager28_Entry,
|
||||
sub_0805CB90,
|
||||
sub_0805CFC0,
|
||||
sub_0805D014,
|
||||
sub_0805D174,
|
||||
sub_0805D1FC,
|
||||
sub_0805D250,
|
||||
sub_0805D3C8,
|
||||
Manager30_Main,
|
||||
sub_0805D630,
|
||||
sub_0805D7A4,
|
||||
sub_0805DAE8,
|
||||
sub_0805DB94,
|
||||
sub_0805DC84,
|
||||
sub_0805DDB4,
|
||||
sub_0805DE38,
|
||||
sub_0805E0A8,
|
||||
sub_0805E0FC
|
||||
};
|
|
@ -1,7 +1,6 @@
|
|||
#include "global.h"
|
||||
#include "entity.h"
|
||||
#include "object.h"
|
||||
//clang-format off
|
||||
|
||||
void (*const gObjectFunctions[])(Entity*) = {
|
||||
/*0x00*/ ItemOnGround,
|
||||
|
@ -197,6 +196,5 @@ void (*const gObjectFunctions[])(Entity*) = {
|
|||
/*0xbe*/ Pinwheel,
|
||||
/*0xbf*/ ObjectBF,
|
||||
/*0xc0*/ EnemyItem,
|
||||
/*0xc1*/ ObjectC1,
|
||||
/*0xc1*/ ObjectC1
|
||||
};
|
||||
//clang-format on
|
||||
|
|
Loading…
Reference in New Issue