Cleaned up `overlay_table.c` a bit

This commit is contained in:
gijs 2023-09-29 13:09:57 +02:00
parent c63870ac14
commit 80fbf0175e
5 changed files with 87 additions and 143 deletions

View File

@ -226,8 +226,8 @@ extern void func_8008350C();
extern void func_8008B1D0(u8*);
typedef struct {
/* 0x00 */ u32 dst;
/* 0x04 */ u32 field_0x4;
/* 0x00 */ u32 vram_start;
/* 0x04 */ u32 vram_end;
/* 0x08 */ u32 src_start;
/* 0x0c */ u32 src_end;
/* 0x10 */ u32 bss_start;

View File

@ -71,6 +71,18 @@ DECLARE_ROM_SEGMENT(n64_wave_table_00);
DECLARE_ROM_SEGMENT(n64_wave_table_01);
DECLARE_SEGMENT(overlay_66E10);
DECLARE_SEGMENT(overlay_6E660);
DECLARE_SEGMENT(overlay_E48F0);
DECLARE_SEGMENT(overlay_EBBB0);
DECLARE_SEGMENT(overlay_F9FF0);
DECLARE_SEGMENT(overlay_FA5D0);
DECLARE_SEGMENT(overlay_FA5E0);
DECLARE_SEGMENT(overlay_145210);
DECLARE_SEGMENT(overlay_14EBE0);
DECLARE_SEGMENT(overlay_71280);
DECLARE_SEGMENT(overlay_79730);
DECLARE_SEGMENT(overlay_87200);

View File

@ -504,8 +504,6 @@ segments:
- { start: 0x6E660, type: bss, vram: 0x8019C8D0 }
- [0x6E660, bin]
# __SOME_OVERLAY_TABLE[1]
- type: code
name: overlay_6E660

View File

@ -19,7 +19,6 @@ void func_800761A4(void) {
func_80073164(0, 1, 1, 0x80, 1, 0x100, 0x2000);
}
INCLUDE_ASM(const s32, "_ob_overconfident_mother", __loads_overlay_array);
INCLUDE_ASM(const s32, "_ob_overconfident_mother", func_80076324);

View File

@ -1,94 +1,43 @@
#include "common.h"
#include "segment_symbols.h"
#define DECLARE_OVERLAY_ENTRY(segment) \
{ \
(u32)SEGMENT_VRAM_START(segment),\
(u32)SEGMENT_VRAM_END(segment),\
(u32)SEGMENT_ROM_START(segment),\
(u32)SEGMENT_ROM_END(segment),\
(u32)SEGMENT_BSS_START(segment),\
(u32)SEGMENT_BSS_END(segment),\
(u32)SEGMENT_TEXT_START(segment),\
(u32)SEGMENT_TEXT_END(segment),\
(u32)SEGMENT_DATA_START(segment),\
(u32)SEGMENT_RODATA_END(segment) \
}
/* 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
},
DECLARE_OVERLAY_ENTRY(overlay_66E10),
{ /* __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
.vram_start = 0x80197B70,
.vram_end = 0x801F1510,
(u32)SEGMENT_ROM_START(overlay_6E660),
(u32)SEGMENT_ROM_END(overlay_6E660),
(u32)SEGMENT_BSS_START(overlay_6E660),
(u32)SEGMENT_BSS_END(overlay_6E660),
(u32)SEGMENT_TEXT_START(overlay_6E660),
(u32)SEGMENT_TEXT_END(overlay_6E660),
(u32)SEGMENT_DATA_START(overlay_6E660),
(u32)SEGMENT_RODATA_END(overlay_6E660)
},
DECLARE_OVERLAY_ENTRY(overlay_E48F0),
DECLARE_OVERLAY_ENTRY(overlay_EBBB0),
DECLARE_OVERLAY_ENTRY(overlay_F9FF0),
DECLARE_OVERLAY_ENTRY(overlay_FA5D0),
DECLARE_OVERLAY_ENTRY(overlay_FA5E0),
{ /* __SOME_OVERLAY_TABLE[7] */
.dst = 0x801AD5A0,
.field_0x4 = 0x801F4030,
.vram_start = 0x801AD5A0,
.vram_end = 0x801F4030,
.src_start = 0x101CE0,
.src_end = 0x145210,
.bss_start = 0x801F0AD0,
@ -98,33 +47,22 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.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
},
DECLARE_OVERLAY_ENTRY(overlay_145210),
{ /* __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
.vram_start = 0x801FDA70,
.vram_end = 0x80220F40,
(u32)SEGMENT_ROM_START(overlay_14EBE0),
(u32)SEGMENT_ROM_END(overlay_14EBE0),
(u32)SEGMENT_BSS_START(overlay_14EBE0),
(u32)SEGMENT_BSS_END(overlay_14EBE0),
(u32)SEGMENT_TEXT_START(overlay_14EBE0),
(u32)SEGMENT_TEXT_END(overlay_14EBE0),
(u32)SEGMENT_DATA_START(overlay_14EBE0),
(u32)SEGMENT_RODATA_END(overlay_14EBE0)
},
{ /* __SOME_OVERLAY_TABLE[10] */
.dst = 0x801AD5A0,
.field_0x4 = 0x801F70E0,
.vram_start = 0x801AD5A0,
.vram_end = 0x801F70E0,
.src_start = 0x1F0A30,
.src_end = 0x213B10,
.bss_start = 0x801D0680,
@ -135,8 +73,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x801D0680
},
{ /* __SOME_OVERLAY_TABLE[11] */
.dst = 0x801F70E0,
.field_0x4 = 0x8020A2E0,
.vram_start = 0x801F70E0,
.vram_end = 0x8020A2E0,
.src_start = 0x24BCA0,
.src_end = 0x25EE90,
.bss_start = 0x8020A2D0,
@ -147,8 +85,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x8020A2D0
},
{ /* __SOME_OVERLAY_TABLE[12] */
.dst = 0x8020A2E0,
.field_0x4 = 0x802210C0,
.vram_start = 0x8020A2E0,
.vram_end = 0x802210C0,
.src_start = 0x0025EE90,
.src_end = 0x00275850,
.bss_start = 0x80220CA0,
@ -159,8 +97,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x80220CA0
},
{ /* __SOME_OVERLAY_TABLE[13] */
.dst = 0x802210C0,
.field_0x4 = 0x80225890,
.vram_start = 0x802210C0,
.vram_end = 0x80225890,
.src_start = 0x00275850,
.src_end = 0x0027A020,
.bss_start = 0x80225890,
@ -171,8 +109,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x80225890
},
{ /* __SOME_OVERLAY_TABLE[14] */
.dst = 0x80225890,
.field_0x4 = 0x80243DB0,
.vram_start = 0x80225890,
.vram_end = 0x80243DB0,
.src_start = 0x00281860,
.src_end = 0x00286BD0,
.bss_start = 0x8022AC00,
@ -183,8 +121,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x8022AC00
},
{ /* __SOME_OVERLAY_TABLE[15] */
.dst = 0x80197B70,
.field_0x4 = 0x801BA710,
.vram_start = 0x80197B70,
.vram_end = 0x801BA710,
.src_start = 0x001CE070,
.src_end = 0x001F0A30,
.bss_start = 0x801BA530,
@ -195,8 +133,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x801BA530
},
{ /* __SOME_OVERLAY_TABLE[16] */
.dst = 0x80225890,
.field_0x4 = 0x8022D170,
.vram_start = 0x80225890,
.vram_end = 0x8022D170,
.src_start = 0x0027A020,
.src_end = 0x00281860,
.bss_start = 0x8022D0D0,
@ -207,8 +145,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x8022D0D0
},
{ /* __SOME_OVERLAY_TABLE[17] */
.dst = 0x80197B70,
.field_0x4 = 0x8019C930,
.vram_start = 0x80197B70,
.vram_end = 0x8019C930,
.src_start = 0x69900,
.src_end = 0x6E660,
.bss_start = 0x8019C8D0,
@ -219,8 +157,8 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
.data_end = 0x8019C8D0
},
{ /* __SOME_OVERLAY_TABLE[18] */
.dst = 0x80220F40,
.field_0x4 = 0x802305E0,
.vram_start = 0x80220F40,
.vram_end = 0x802305E0,
.src_start = 0x1BA050,
.src_end = 0x1C3300,
.bss_start = 0x8022A1F0,
@ -233,40 +171,37 @@ OverlayEntry __SOME_OVERLAY_TABLE[] = {
};
/* 38AB8 800A86B8 */
u8 D_800A86B8[] = {0x02, 0x01, 0xFF};
u8 D_800A86B8[] = {2, 1, -1};
/* 38ABC 800A86BC */
u8 D_800A86BC[] = {0x02, 0x03, 0x07, 0x08, 0x09, 0xFF};
u8 D_800A86BC[] = {2, 3, 7, 8, 9, -1};
/* 38AC4 800A86C4 */
u8 D_800A86C4[] = {0x02, 0x04, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0xFF};
u8 D_800A86C4[] = {2, 4, 10, 11, 12, 13, 14, -1};
/* 38ACC 800A86CC */
u8 D_800A86CC[] = {0x00, 0x0E, 0xFF};
u8 D_800A86CC[] = {0, 14, -1};
/* 38AD0 800A86D0 */
u8 D_800A86D0[] = {0x02, 0x03, 0x06, 0xFF};
u8 D_800A86D0[] = {2, 3, 6, -1};
/* 38AD4 800A86D4 */
u8 D_800A86D4[] = {0x0F, 0xFF};
u8 D_800A86D4[] = {15, -1};
/* 38AD8 800A86D8 */
u8 D_800A86D8[] = {
0x00, 0x01, 0x02, 0x07, 0x08, 0x09,
0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0xFF
};
u8 D_800A86D8[] = {0, 1, 2, 7, 8, 9, 10, 11, 12, 13, 14, -1};
/* 38AE4 800A86E4 */
u8 D_800A86E4[] = {0x02, 0x04, 0x0A, 0x0B, 0x0C, 0x0D, 0x10, 0xFF};
u8 D_800A86E4[] = {2, 4, 10, 11, 12, 13, 16, -1};
/* 38AEC 800A86EC */
u8 D_800A86EC[] = {0x11, 0x12, 0xFF};
u8 D_800A86EC[] = {17, 18, -1};
/* 38AF0 800A86F0 */
u8 D_800A86F0[] = {0x02, 0x03, 0x07, 0x08, 0x09, 0x12, 0xFF};
u8 D_800A86F0[] = {2, 3, 7, 8, 9, 18, -1};
/* 38AF8 800A86F8 */
u8 D_800A86F8[] = {0x02, 0x01, 0x12, 0xFF};
u8 D_800A86F8[] = {2, 1, 18, -1};
/* 38AFC 800A86FC */
u8* __SOME_OVERLAY_ID_ARRAY[] = {