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*); extern void func_8008B1D0(u8*);
typedef struct { typedef struct {
/* 0x00 */ u32 dst; /* 0x00 */ u32 vram_start;
/* 0x04 */ u32 field_0x4; /* 0x04 */ u32 vram_end;
/* 0x08 */ u32 src_start; /* 0x08 */ u32 src_start;
/* 0x0c */ u32 src_end; /* 0x0c */ u32 src_end;
/* 0x10 */ u32 bss_start; /* 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_ROM_SEGMENT(n64_wave_table_01);
DECLARE_SEGMENT(overlay_66E10); 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_71280);
DECLARE_SEGMENT(overlay_79730); DECLARE_SEGMENT(overlay_79730);
DECLARE_SEGMENT(overlay_87200); DECLARE_SEGMENT(overlay_87200);

View File

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

View File

@ -19,7 +19,6 @@ void func_800761A4(void) {
func_80073164(0, 1, 1, 0x80, 1, 0x100, 0x2000); 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", __loads_overlay_array);
INCLUDE_ASM(const s32, "_ob_overconfident_mother", func_80076324); INCLUDE_ASM(const s32, "_ob_overconfident_mother", func_80076324);

View File

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