Migrated `__OVERLAY_TABLE` to `c`

This commit is contained in:
gijs 2023-09-29 12:30:44 +02:00
parent fd34166b82
commit c63870ac14
5 changed files with 321 additions and 20 deletions

View File

@ -226,22 +226,22 @@ extern void func_8008350C();
extern void func_8008B1D0(u8*);
typedef struct {
/* 0x00 */ u8* dst;
/* 0x04 */ u8* field_0x4;
/* 0x08 */ u8* src_start;
/* 0x0c */ u8* src_end;
/* 0x10 */ u8* bss_start;
/* 0x14 */ u8* bss_end;
/* 0x18 */ u8* text_start;
/* 0x1c */ u8* text_end;
/* 0x20 */ u8* data_start;
/* 0x24 */ u8* data_end;
/* 0x00 */ u32 dst;
/* 0x04 */ u32 field_0x4;
/* 0x08 */ u32 src_start;
/* 0x0c */ u32 src_end;
/* 0x10 */ u32 bss_start;
/* 0x14 */ u32 bss_end;
/* 0x18 */ u32 text_start;
/* 0x1c */ u32 text_end;
/* 0x20 */ u32 data_start;
/* 0x24 */ u32 data_end;
} OverlayEntry; // size:0x28
ASSERT_SIZE(OverlayEntry, 0x28);
extern u8* __SOME_OVERLAY_ID_ARRAY[11];
extern OverlayEntry __SOME_OVERLAY_TABLE[11];
extern u8* __SOME_OVERLAY_ID_ARRAY[];
extern OverlayEntry __SOME_OVERLAY_TABLE[];
typedef struct {
/* 0x00 */ void (*setup)(void);
@ -270,7 +270,7 @@ extern void __setup_overlay_87200(void);
extern void __setup_overlay_71280_51674(void);
extern void __setup_overlay_71280_51940(void);
extern u8* func_80076188(void);
extern u32* func_80076188(void);
extern void func_80076194(void);
extern void func_800761A4(void);
extern void __loads_overlay_array(s32 arg0);
@ -388,7 +388,7 @@ extern void func_801C889C(s32 arg0);
extern void func_8007337C(void);
extern void func_801C8864(void);
extern u8 D_800A872C;
extern u32 D_800A872C[];
extern CharacterSlot CHARACTER_SLOT[0x64];

View File

@ -70,6 +70,7 @@ DECLARE_ROM_SEGMENT(n64_wave_data);
DECLARE_ROM_SEGMENT(n64_wave_table_00);
DECLARE_ROM_SEGMENT(n64_wave_table_01);
DECLARE_SEGMENT(overlay_66E10);
DECLARE_SEGMENT(overlay_71280);
DECLARE_SEGMENT(overlay_79730);
DECLARE_SEGMENT(overlay_87200);

View File

@ -317,7 +317,7 @@ segments:
- [0x2DE10, c, "_ob_prized_room"]
- [0x2E450, data]
- [0x387C0, data, "data/overlay_table"]
- [0x387C0, .data, "data/overlay_table"]
- [0x38B50, data]
- [0x39900, data, "gfx/_ob_star_skate"]
- [0x39B90, data]
@ -462,8 +462,6 @@ segments:
- { start: 0x66E10, type: bss, vram: 0x80190F10 }
- [0x66E10, bin]
# __SOME_OVERLAY_TABLE[0]
- type: code
dir: overlay_66E10
@ -484,8 +482,6 @@ segments:
- { start: 0x69900, type: bss, vram: 0x8019A660 }
- [0x69900, bin]
# __SOME_OVERLAY_TABLE[17]
- type: code
name: overlay_69900

View File

@ -5,7 +5,7 @@ INCLUDE_ASM(const s32, "_ob_overconfident_mother", __calls_loads_overlay_array);
INCLUDE_ASM(const s32, "_ob_overconfident_mother", func_80076150);
/* 6588 80076188 */
u8* func_80076188(void) {
u32* func_80076188(void) {
return &D_800A872C;
}

304
src/data/overlay_table.c Normal file
View File

@ -0,0 +1,304 @@
#include "common.h"
/* 387C0 800A83C0 */
OverlayEntry __SOME_OVERLAY_TABLE[] = {
{ /* __SOME_OVERLAY_TABLE[0] */
.dst = 0x80197B70,
.field_0x4 = 0x8019A670,
.src_start = 0x66E10,
.src_end = 0x69900,
.bss_start = 0x8019A660,
.bss_end = 0x8019A670,
.text_start = 0x80197B70,
.text_end = 0x8019A210,
.data_start = 0x8019A210,
.data_end = 0x8019A660
},
{ /* __SOME_OVERLAY_TABLE[1] */
.dst = 0x80197B70,
.field_0x4 = 0x801F1510,
.src_start = 0x6E660,
.src_end = 0x71280,
.bss_start = 0x8019A790,
.bss_end = 0x8019A7A0,
.text_start = 0x80197B70,
.text_end = 0x8019A380,
.data_start = 0x8019A380,
.data_end = 0x8019A790
},
{ /* __SOME_OVERLAY_TABLE[2] */
.dst = 0x80197B70,
.field_0x4 = 0x8019EE50,
.src_start = 0xE48F0,
.src_end = 0xEBBB0,
.bss_start = 0x8019EE30,
.bss_end = 0x8019EE50,
.text_start = 0x80197B70,
.text_end = 0x8019E180,
.data_start = 0x8019E180,
.data_end = 0x8019EE30
},
{ /* __SOME_OVERLAY_TABLE[3] */
.dst = 0x8019EE50,
.field_0x4 = 0x801AD5A0,
.src_start = 0xEBBB0,
.src_end = 0xF9FF0,
.bss_start = 0x801AD290,
.bss_end = 0x801AD5A0,
.text_start = 0x8019EE50,
.text_end = 0x801AB7F0,
.data_start = 0x801AB7F0,
.data_end = 0x801AD290
},
{ /* __SOME_OVERLAY_TABLE[4] */
.dst = 0x8019EE50,
.field_0x4 = 0x8019F430,
.src_start = 0x000F9FF0,
.src_end = 0x000FA5D0,
.bss_start = 0x8019F430,
.bss_end = 0x8019F430,
.text_start = 0x8019EE50,
.text_end = 0x8019F430,
.data_start = 0x8019F430,
.data_end = 0x8019F430
},
{ /* __SOME_OVERLAY_TABLE[5] */
.dst = 0x8019EE50,
.field_0x4 = 0x8019EE60,
.src_start = 0xFA5D0,
.src_end = 0xFA5E0,
.bss_start = 0x8019EE60,
.bss_end = 0x8019EE60,
.text_start = 0x8019EE50,
.text_end = 0x8019EE60,
.data_start = 0x8019EE60,
.data_end = 0x8019EE60
},
{ /* __SOME_OVERLAY_TABLE[6] */
.dst = 0x801AD5A0,
.field_0x4 = 0x801B4D40,
.src_start = 0xFA5E0,
.src_end = 0x101CE0,
.bss_start = 0x801B4CA0,
.bss_end = 0x801B4D40,
.text_start = 0x801AD5A0,
.text_end = 0x801B3390,
.data_start = 0x801B3390,
.data_end = 0x801B4CA0
},
{ /* __SOME_OVERLAY_TABLE[7] */
.dst = 0x801AD5A0,
.field_0x4 = 0x801F4030,
.src_start = 0x101CE0,
.src_end = 0x145210,
.bss_start = 0x801F0AD0,
.bss_end = 0x801F4030,
.text_start = 0x801AD5A0,
.text_end = 0x801E7D60,
.data_start = 0x801E7D60,
.data_end = 0x801F0AD0
},
{ /* __SOME_OVERLAY_TABLE[8] */
.dst = 0x801F4030,
.field_0x4 = 0x801FDA70,
.src_start = 0x00145210,
.src_end = 0x0014EBE0,
.bss_start = 0x801FDA00,
.bss_end = 0x801FDA70,
.text_start = 0x801F4030,
.text_end = 0x801FCCB0,
.data_start = 0x801FCCB0,
.data_end = 0x801FDA00
},
{ /* __SOME_OVERLAY_TABLE[9] */
.dst = 0x801FDA70,
.field_0x4 = 0x80220F40,
.src_start = 0x0014EBE0,
.src_end = 0x00165FC0,
.bss_start = 0x80214E50,
.bss_end = 0x80214F80,
.text_start = 0x801FDA70,
.text_end = 0x8020EA80,
.data_start = 0x8020EA80,
.data_end = 0x80214E50
},
{ /* __SOME_OVERLAY_TABLE[10] */
.dst = 0x801AD5A0,
.field_0x4 = 0x801F70E0,
.src_start = 0x1F0A30,
.src_end = 0x213B10,
.bss_start = 0x801D0680,
.bss_end = 0x801D0840,
.text_start = 0x801AD5A0,
.text_end = 0x801CE890,
.data_start = 0x801CE890,
.data_end = 0x801D0680
},
{ /* __SOME_OVERLAY_TABLE[11] */
.dst = 0x801F70E0,
.field_0x4 = 0x8020A2E0,
.src_start = 0x24BCA0,
.src_end = 0x25EE90,
.bss_start = 0x8020A2D0,
.bss_end = 0x8020A2E0,
.text_start = 0x801F70E0,
.text_end = 0x80209700,
.data_start = 0x80209700,
.data_end = 0x8020A2D0
},
{ /* __SOME_OVERLAY_TABLE[12] */
.dst = 0x8020A2E0,
.field_0x4 = 0x802210C0,
.src_start = 0x0025EE90,
.src_end = 0x00275850,
.bss_start = 0x80220CA0,
.bss_end = 0x802210C0,
.text_start = 0x8020A2E0,
.text_end = 0x8021F450,
.data_start = 0x8021F450,
.data_end = 0x80220CA0
},
{ /* __SOME_OVERLAY_TABLE[13] */
.dst = 0x802210C0,
.field_0x4 = 0x80225890,
.src_start = 0x00275850,
.src_end = 0x0027A020,
.bss_start = 0x80225890,
.bss_end = 0x80225890,
.text_start = 0x802210C0,
.text_end = 0x80225620,
.data_start = 0x80225620,
.data_end = 0x80225890
},
{ /* __SOME_OVERLAY_TABLE[14] */
.dst = 0x80225890,
.field_0x4 = 0x80243DB0,
.src_start = 0x00281860,
.src_end = 0x00286BD0,
.bss_start = 0x8022AC00,
.bss_end = 0x8022AC90,
.text_start = 0x80225890,
.text_end = 0x8022A720,
.data_start = 0x8022A720,
.data_end = 0x8022AC00
},
{ /* __SOME_OVERLAY_TABLE[15] */
.dst = 0x80197B70,
.field_0x4 = 0x801BA710,
.src_start = 0x001CE070,
.src_end = 0x001F0A30,
.bss_start = 0x801BA530,
.bss_end = 0x801BA710,
.text_start = 0x80197B70,
.text_end = 0x801B8080,
.data_start = 0x801B8080,
.data_end = 0x801BA530
},
{ /* __SOME_OVERLAY_TABLE[16] */
.dst = 0x80225890,
.field_0x4 = 0x8022D170,
.src_start = 0x0027A020,
.src_end = 0x00281860,
.bss_start = 0x8022D0D0,
.bss_end = 0x8022D170,
.text_start = 0x80225890,
.text_end = 0x8022C5C0,
.data_start = 0x8022C5C0,
.data_end = 0x8022D0D0
},
{ /* __SOME_OVERLAY_TABLE[17] */
.dst = 0x80197B70,
.field_0x4 = 0x8019C930,
.src_start = 0x69900,
.src_end = 0x6E660,
.bss_start = 0x8019C8D0,
.bss_end = 0x8019C930,
.text_start = 0x80197B70,
.text_end = 0x8019C1F0,
.data_start = 0x8019C1F0,
.data_end = 0x8019C8D0
},
{ /* __SOME_OVERLAY_TABLE[18] */
.dst = 0x80220F40,
.field_0x4 = 0x802305E0,
.src_start = 0x1BA050,
.src_end = 0x1C3300,
.bss_start = 0x8022A1F0,
.bss_end = 0x8022A840,
.text_start = 0x80220F40,
.text_end = 0x80229CB0,
.data_start = 0x80229CB0,
.data_end = 0x8022A1F0
}
};
/* 38AB8 800A86B8 */
u8 D_800A86B8[] = {0x02, 0x01, 0xFF};
/* 38ABC 800A86BC */
u8 D_800A86BC[] = {0x02, 0x03, 0x07, 0x08, 0x09, 0xFF};
/* 38AC4 800A86C4 */
u8 D_800A86C4[] = {0x02, 0x04, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0xFF};
/* 38ACC 800A86CC */
u8 D_800A86CC[] = {0x00, 0x0E, 0xFF};
/* 38AD0 800A86D0 */
u8 D_800A86D0[] = {0x02, 0x03, 0x06, 0xFF};
/* 38AD4 800A86D4 */
u8 D_800A86D4[] = {0x0F, 0xFF};
/* 38AD8 800A86D8 */
u8 D_800A86D8[] = {
0x00, 0x01, 0x02, 0x07, 0x08, 0x09,
0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0xFF
};
/* 38AE4 800A86E4 */
u8 D_800A86E4[] = {0x02, 0x04, 0x0A, 0x0B, 0x0C, 0x0D, 0x10, 0xFF};
/* 38AEC 800A86EC */
u8 D_800A86EC[] = {0x11, 0x12, 0xFF};
/* 38AF0 800A86F0 */
u8 D_800A86F0[] = {0x02, 0x03, 0x07, 0x08, 0x09, 0x12, 0xFF};
/* 38AF8 800A86F8 */
u8 D_800A86F8[] = {0x02, 0x01, 0x12, 0xFF};
/* 38AFC 800A86FC */
u8* __SOME_OVERLAY_ID_ARRAY[] = {
D_800A86B8,
D_800A86BC,
D_800A86C4,
D_800A86CC,
D_800A86D0,
D_800A86D4,
D_800A86D8,
D_800A86E4,
D_800A86EC,
D_800A86F0,
D_800A86F8
};
/* 38B28 800A8728 */
u32 D_800A8728 = NULL;
/* 38B2C 800A872C */
u32 D_800A872C[] = {
0x800761A4,
0x00000000,
0x00000000,
0x00000000,
0x0000000C
};
/* 38B40 800A8740 */
u32 D_800A8740[] = {
0x00000000,
0x00000000,
0x00000000,
0x00000000
};