Put const data in manager4

This commit is contained in:
Tal Hayon 2022-04-18 14:34:24 +03:00
parent 868c950e50
commit 62135a7584
5 changed files with 85 additions and 297 deletions

View File

@ -32282,81 +32282,6 @@
"DEMO_JP": -2052 "DEMO_JP": -2052
} }
}, },
{
"path": "manager4/gUnk_08107C78.bin",
"start": 1080440,
"size": 8
},
{
"path": "manager4/gUnk_08107C80.bin",
"start": 1080448,
"size": 24
},
{
"path": "manager4/gUnk_08107C98.bin",
"start": 1080472,
"size": 40
},
{
"path": "manager4/gUnk_08107CC0.bin",
"start": 1080512,
"size": 16
},
{
"path": "manager4/gUnk_08107CD0.bin",
"start": 1080528,
"size": 16
},
{
"path": "manager4/gUnk_08107CE0.bin",
"start": 1080544,
"size": 24
},
{
"path": "manager4/gUnk_08107CF8.bin",
"start": 1080568,
"size": 16
},
{
"path": "manager4/gUnk_08107D08.bin",
"start": 1080584,
"size": 24
},
{
"path": "manager4/gUnk_08107D20.bin",
"start": 1080608,
"size": 24
},
{
"path": "manager4/gUnk_08107D38.bin",
"start": 1080632,
"size": 16
},
{
"path": "manager4/gUnk_08107D48.bin",
"start": 1080648,
"size": 32
},
{
"path": "manager4/gUnk_08107D68.bin",
"start": 1080680,
"size": 16
},
{
"path": "manager4/gUnk_08107D78.bin",
"start": 1080696,
"size": 24
},
{
"path": "manager4/gUnk_08107D90.bin",
"start": 1080720,
"size": 16
},
{
"path": "manager4/gUnk_08107DA0.bin",
"start": 1080736,
"size": 32
},
{ {
"offsets": { "offsets": {
"EU": -2220, "EU": -2220,

View File

@ -1,209 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnk_08107C70:: @ 08107C70
.4byte sub_0805786C
.4byte sub_08057920
gUnk_08107C78:: @ 08107C78
.incbin "manager4/gUnk_08107C78.bin"
gUnk_08107C80:: @ 08107C80
.incbin "manager4/gUnk_08107C80.bin"
gUnk_08107C98:: @ 08107C98
.incbin "manager4/gUnk_08107C98.bin"
gUnk_08107CC0:: @ 08107CC0
.incbin "manager4/gUnk_08107CC0.bin"
gUnk_08107CD0:: @ 08107CD0
.incbin "manager4/gUnk_08107CD0.bin"
gUnk_08107CE0:: @ 08107CE0
.incbin "manager4/gUnk_08107CE0.bin"
gUnk_08107CF8:: @ 08107CF8
.incbin "manager4/gUnk_08107CF8.bin"
gUnk_08107D08:: @ 08107D08
.incbin "manager4/gUnk_08107D08.bin"
gUnk_08107D20:: @ 08107D20
.incbin "manager4/gUnk_08107D20.bin"
gUnk_08107D38:: @ 08107D38
.incbin "manager4/gUnk_08107D38.bin"
gUnk_08107D48:: @ 08107D48
.incbin "manager4/gUnk_08107D48.bin"
gUnk_08107D68:: @ 08107D68
.incbin "manager4/gUnk_08107D68.bin"
gUnk_08107D78:: @ 08107D78
.incbin "manager4/gUnk_08107D78.bin"
gUnk_08107D90:: @ 08107D90
.incbin "manager4/gUnk_08107D90.bin"
gUnk_08107DA0:: @ 08107DA0
.incbin "manager4/gUnk_08107DA0.bin"
diggingCaveEntrances:: @ 08107DC0
.4byte gUnk_08107C80
.4byte gUnk_08107C78
.4byte gUnk_08107CC0
.4byte gUnk_08107C98
.4byte gUnk_08107CF8
.4byte gUnk_08107C78
.4byte gUnk_08107CD0
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107CE0
.4byte gUnk_08107D08
.4byte gUnk_08107D20
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107D38
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107D48
.4byte gUnk_08107D68
.4byte gUnk_08107C78
.4byte gUnk_08107D78
.4byte gUnk_08107D90
.4byte gUnk_08107C78
.4byte gUnk_08107DA0
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78
.4byte gUnk_08107C78

View File

@ -138,7 +138,7 @@ typedef struct {
} DiggingCaveEntrance; } DiggingCaveEntrance;
typedef struct { typedef struct {
DiggingCaveEntrance* unk_00; const DiggingCaveEntrance* unk_00;
u16 unk_04; u16 unk_04;
u16 unk_06; u16 unk_06;
u8 isDiggingCave; u8 isDiggingCave;
@ -148,7 +148,7 @@ typedef struct {
} struct_03004030; } struct_03004030;
extern struct_03004030 gUnk_03004030; extern struct_03004030 gUnk_03004030;
extern DiggingCaveEntrance* diggingCaveEntrances[]; extern const DiggingCaveEntrance* const diggingCaveEntrances[];
typedef struct { typedef struct {
Manager manager; Manager manager;

View File

@ -1108,7 +1108,7 @@ SECTIONS {
. = ALIGN(4); . = ALIGN(4);
src/manager/manager1.o(.rodata); src/manager/manager1.o(.rodata);
src/manager/manager3.o(.rodata); src/manager/manager3.o(.rodata);
data/const/manager/manager4.o(.rodata); src/manager/manager4.o(.rodata);
src/manager/manager5.o(.rodata); src/manager/manager5.o(.rodata);
src/manager/manager7.o(.rodata); src/manager/manager7.o(.rodata);
. = ALIGN(4); . = ALIGN(4);

View File

@ -6,18 +6,24 @@
#include "structures.h" #include "structures.h"
#include "functions.h" #include "functions.h"
extern void (*gUnk_08107C70[])(Manager*); void Manager4_Main(Manager*);
void sub_0805786C(Manager*);
void sub_08057920(Manager*);
void Manager4_Main(Manager* this) { void Manager4_Main(Manager* this) {
gUnk_08107C70[this->action](this); static void (*const actionFuncs[])(Manager*) = {
sub_0805786C,
sub_08057920,
};
actionFuncs[this->action](this);
} }
extern void UpdateIsDiggingCave(void); extern void UpdateIsDiggingCave(void);
extern DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance*, int); extern const DiggingCaveEntrance* sub_08057AA8(const DiggingCaveEntrance*, int);
void sub_0805786C(Manager* this) { void sub_0805786C(Manager* this) {
DiggingCaveEntrance* tmp; const DiggingCaveEntrance* tmp;
u8 room; u8 room;
u8 area; u8 area;
u16 uVar = 0x81 << 7; u16 uVar = 0x81 << 7;
@ -50,10 +56,10 @@ void sub_0805786C(Manager* this) {
this->action = 1; this->action = 1;
} }
extern u32 sub_0805795C(Manager*, DiggingCaveEntrance*); extern u32 sub_0805795C(Manager*, const DiggingCaveEntrance*);
void sub_08057920(Manager* this) { void sub_08057920(Manager* this) {
DiggingCaveEntrance* tmp; const DiggingCaveEntrance* tmp;
u8 room; u8 room;
room = gRoomControls.room; room = gRoomControls.room;
for (tmp = diggingCaveEntrances[gRoomControls.area]; for (tmp = diggingCaveEntrances[gRoomControls.area];
@ -61,9 +67,9 @@ void sub_08057920(Manager* this) {
; ;
} }
void sub_08057A18(Manager*, DiggingCaveEntrance*); void sub_08057A18(Manager*, const DiggingCaveEntrance*);
u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) { u32 sub_0805795C(Manager* this, const DiggingCaveEntrance* entr) {
u16 offsetX, offsetY, offsetX2, offsetY2; u16 offsetX, offsetY, offsetX2, offsetY2;
u32 tmp, tmp2; u32 tmp, tmp2;
if (gUnk_03004030.isDiggingCave) { if (gUnk_03004030.isDiggingCave) {
@ -91,7 +97,7 @@ u32 sub_0805795C(Manager* this, DiggingCaveEntrance* entr) {
extern void sub_08080930(u32); extern void sub_08080930(u32);
void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) { void sub_08057A18(Manager* this, const DiggingCaveEntrance* entr) {
u16 tmp; u16 tmp;
SetInitializationPriority(); SetInitializationPriority();
gUnk_03004030.unk_0a = gUnk_03004030.unk_09; gUnk_03004030.unk_0a = gUnk_03004030.unk_09;
@ -118,10 +124,76 @@ void sub_08057A18(Manager* this, DiggingCaveEntrance* entr) {
DeleteManager(this); DeleteManager(this);
} }
DiggingCaveEntrance* sub_08057AA8(DiggingCaveEntrance* entr, int room) { const DiggingCaveEntrance* sub_08057AA8(const DiggingCaveEntrance* entr, int room) {
for (; entr->unk_00 != 0xFFFF; entr++) { for (; entr->unk_00 != 0xFFFF; entr++) {
if (entr->source_room == room) if (entr->source_room == room)
return entr; return entr;
} }
return 0; return 0;
} }
static const DiggingCaveEntrance gUnk_08107C78[] = { { -1, 0, 0, 0, 0 } };
static const DiggingCaveEntrance gUnk_08107C80[] = { { 0x4e5, 0x0, 0x0, 0xc, 0x0, 0xce5 },
{ 0x3df, 0x0, 0x0, 0xc, 0x0, 0xbdf },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107C98[] = { { 0x2c3, 0x4, 0x4, 0x13, 0x0, 0x2c3 },
{ 0x163, 0x5, 0x10, 0x19, 0x1, 0x448 },
{ 0x385, 0x7, 0xa, 0x13, 0x3, 0x385 },
{ 0x390, 0x7, 0xa, 0x13, 0x3, 0x390 },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107CC0[] = { { 0x62d, 0x0, 0x2, 0xf, 0x0, 0xa2d },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107CD0[] = { { 0x143, 0x1, 0x6, 0x14, 0x0, 0x643 },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107CE0[] = { { 0x95a, 0x0, 0x8, 0x16, 0x0, 0x95a },
{ 0x9ce, 0x0, 0x8, 0x16, 0x0, 0x9ce },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107CF8[] = { { 0x670, 0x0, 0xc, 0x17, 0x0, 0x670 },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107D08[] = { { 0x15e, 0x0, 0xe, 0x19, 0x1, 0x46e },
{ 0x79e, 0x0, 0x12, 0x19, 0x0, 0x248 },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107D20[] = { { 0xce5, 0x0, 0x1, 0x0, 0x0, 0x4e5 },
{ 0xbdf, 0x0, 0x1, 0x0, 0x0, 0x3df },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107D38[] = { { 0xa2d, 0x0, 0x3, 0x2, 0x0, 0x62d },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107D48[] = { { 0x2c3, 0x0, 0x5, 0x3, 0x4, 0x2c3 },
{ 0x385, 0x3, 0xb, 0x3, 0x7, 0x385 },
{ 0x390, 0x3, 0xb, 0x3, 0x7, 0x390 },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107D68[] = { { 0x643, 0x0, 0x7, 0x6, 0x1, 0x143 },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107D78[] = { { 0x95a, 0x0, 0x9, 0xa, 0x0, 0x95a },
{ 0x9ce, 0x0, 0x9, 0xa, 0x0, 0x9ce },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107D90[] = { { 0x670, 0x0, 0xd, 0x4, 0x0, 0x670 },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance gUnk_08107DA0[] = { { 0x46e, 0x1, 0xf, 0xb, 0x0, 0x15e },
{ 0x448, 0x1, 0x11, 0x3, 0x5, 0x163 },
{ 0x248, 0x0, 0x13, 0xb, 0x0, 0x79e },
{ -0x1, 0x0, 0x0, 0x0, 0x0, 0x0 } };
static const DiggingCaveEntrance* const diggingCaveEntrances[] = {
gUnk_08107C80, gUnk_08107C78, gUnk_08107CC0, gUnk_08107C98, gUnk_08107CF8, gUnk_08107C78, gUnk_08107CD0,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107CE0, gUnk_08107D08, gUnk_08107D20, gUnk_08107C78,
gUnk_08107C78, gUnk_08107D38, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107D48, gUnk_08107D68,
gUnk_08107C78, gUnk_08107D78, gUnk_08107D90, gUnk_08107C78, gUnk_08107DA0, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78, gUnk_08107C78,
};