From b819408f842b73d0117e648be30cd98b862c3816 Mon Sep 17 00:00:00 2001 From: Maide Date: Mon, 23 Sep 2024 16:51:29 +0100 Subject: [PATCH] 2FEA0 --- include/macros.h | 4 +- include/sections.h | 20 +++++- src/22630.h | 1 + src/29BA0.c | 44 ++++++------- src/2E110.c | 16 +++-- src/2E460.c | 69 +++++++++++++++++++- src/2FEA0.c | 118 +++++++++++++++++++++++++++++++++- src/30640.c | 12 ++-- src/373A0.h | 9 ++- src/3D140.h | 1 + src/DDC0.c | 12 +--- src/E1C0.c | 2 +- src/fragments/10/fragment10.c | 2 +- src/fragments/11/fragment11.c | 2 +- src/fragments/6/fragment6.c | 2 +- src/fragments/7/fragment7.c | 2 +- src/fragments/8/fragment8.c | 2 +- src/fragments/9/fragment9.c | 2 +- yamls/us/rom.yaml | 3 +- 19 files changed, 260 insertions(+), 63 deletions(-) diff --git a/include/macros.h b/include/macros.h index c9ce3f5a..3beddba4 100644 --- a/include/macros.h +++ b/include/macros.h @@ -54,8 +54,8 @@ #define FRAGMENT_ID(fragment) ((((u32)fragment##_TEXT_START & 0x0FF00000) >> 0x14) - 0x10) #define ASSET_ID(asset) (((u32)asset & 0x0F000000) >> 0x18) -#define FRAGMENT_LOAD(load_func, fragment) ( \ - load_func(FRAGMENT_ID(fragment), fragment##_ROM_START, fragment##_relocs_ROM_END) \ +#define FRAGMENT_LOAD(fragment) ( \ + func_80004454(FRAGMENT_ID(fragment), fragment##_ROM_START, fragment##_relocs_ROM_END) \ ) #define FRAGMENT_LOAD_AND_CALL(fragment, arg0, arg1) (\ diff --git a/include/sections.h b/include/sections.h index 4fb4f70f..3a752b77 100644 --- a/include/sections.h +++ b/include/sections.h @@ -5,6 +5,7 @@ extern u8 fragment1_TEXT_START[]; extern u8 fragment1_ROM_START[]; extern u8 fragment1_ROM_END[]; +extern u8 fragment1_relocs_ROM_END[]; // fragment 2 extern u8 fragment2_TEXT_START[]; @@ -28,16 +29,19 @@ extern u8 fragment4_relocs_ROM_END[]; extern u8 fragment5_TEXT_START[]; extern u8 fragment5_ROM_START[]; extern u8 fragment5_ROM_END[]; +extern u8 fragment5_relocs_ROM_END[]; // fragment 6 extern u8 fragment6_TEXT_START[]; extern u8 fragment6_ROM_START[]; extern u8 fragment6_ROM_END[]; +extern u8 fragment6_relocs_ROM_END[]; // fragment 7 extern u8 fragment7_TEXT_START[]; extern u8 fragment7_ROM_START[]; extern u8 fragment7_ROM_END[]; +extern u8 fragment7_relocs_ROM_END[]; // fragment 8 extern u8 fragment8_TEXT_START[]; @@ -49,26 +53,31 @@ extern u8 fragment8_relocs_ROM_END[]; extern u8 fragment9_TEXT_START[]; extern u8 fragment9_ROM_START[]; extern u8 fragment9_ROM_END[]; +extern u8 fragment9_relocs_ROM_END[]; // fragment 10 extern u8 fragment10_TEXT_START[]; extern u8 fragment10_ROM_START[]; extern u8 fragment10_ROM_END[]; +extern u8 fragment10_relocs_ROM_END[]; // fragment 11 extern u8 fragment11_TEXT_START[]; extern u8 fragment11_ROM_START[]; extern u8 fragment11_ROM_END[]; +extern u8 fragment11_relocs_ROM_END[]; // fragment 12 extern u8 fragment12_TEXT_START[]; extern u8 fragment12_ROM_START[]; extern u8 fragment12_ROM_END[]; +extern u8 fragment12_relocs_ROM_END[]; // fragment 13 extern u8 fragment13_TEXT_START[]; extern u8 fragment13_ROM_START[]; extern u8 fragment13_ROM_END[]; +extern u8 fragment13_relocs_ROM_END[]; // fragment 14 extern u8 fragment14_TEXT_START[]; @@ -104,21 +113,25 @@ extern u8 fragment18_relocs_ROM_END[]; extern u8 fragment19_TEXT_START[]; extern u8 fragment19_ROM_START[]; extern u8 fragment19_ROM_END[]; +extern u8 fragment19_relocs_ROM_END[]; // fragment 20 extern u8 fragment20_TEXT_START[]; extern u8 fragment20_ROM_START[]; extern u8 fragment20_ROM_END[]; +extern u8 fragment20_relocs_ROM_END[]; // fragment 21 extern u8 fragment21_TEXT_START[]; extern u8 fragment21_ROM_START[]; extern u8 fragment21_ROM_END[]; +extern u8 fragment21_relocs_ROM_END[]; // fragment 22 extern u8 fragment22_TEXT_START[]; extern u8 fragment22_ROM_START[]; extern u8 fragment22_ROM_END[]; +extern u8 fragment22_relocs_ROM_END[]; // fragment 23 extern u8 fragment23_TEXT_START[]; @@ -179,6 +192,7 @@ extern u8 fragment33_TEXT_START[]; extern u8 fragment33_ROM_START[]; extern u8 fragment33_ROM_END[]; extern u8 fragment33_relocs_ROM_END[]; +extern u8 fragment33_misc_ROM_START[]; // fragment 34 extern u8 fragment34_TEXT_START[]; @@ -214,6 +228,7 @@ extern u8 fragment38_relocs_ROM_END[]; extern u8 fragment39_TEXT_START[]; extern u8 fragment39_ROM_START[]; extern u8 fragment39_ROM_END[]; +extern u8 fragment39_relocs_ROM_END[]; // fragment 40 extern u8 fragment40_TEXT_START[]; @@ -225,6 +240,7 @@ extern u8 fragment40_relocs_ROM_END[]; extern u8 fragment41_TEXT_START[]; extern u8 fragment41_ROM_START[]; extern u8 fragment41_ROM_END[]; +extern u8 fragment41_relocs_ROM_END[]; // fragment 42 extern u8 fragment42_TEXT_START[]; @@ -479,11 +495,9 @@ extern u8 _6C4E50_ROM_END[]; extern u8 D_124570[]; -extern u32 fragment1_relocs_ROM_END[]; - extern u8 _675FA0_ROM_START[]; extern u8 _675FA0_ROM_END[]; - +extern u8 _696350_ROM_START[]; extern u8 textdata_ROM_START[]; // 783760 extern u8 textdata_ROM_END[]; // 783760 diff --git a/src/22630.h b/src/22630.h index 853a8778..71dd603f 100644 --- a/src/22630.h +++ b/src/22630.h @@ -86,6 +86,7 @@ void func_800238D8(UNUSED MainPoolBlock* arg0, u32 arg1); void func_80023990(s32 arg0); s32 func_80023A04(s32 arg0); void func_80023AF8(s32); +void func_80023D60(s32); void func_80023F78(s32 arg0); void func_80024040(s32 arg0); s32 func_800240A0(void); diff --git a/src/29BA0.c b/src/29BA0.c index 73f58972..e11e21e7 100644 --- a/src/29BA0.c +++ b/src/29BA0.c @@ -97,9 +97,9 @@ s32 func_800290E4(s16 arg0) { main_pool_push_state('Demo'); - FRAGMENT_LOAD(func_80004454, fragment34); - FRAGMENT_LOAD(func_80004454, fragment2); - FRAGMENT_LOAD(func_80004454, fragment3); + FRAGMENT_LOAD(fragment34); + FRAGMENT_LOAD(fragment2); + FRAGMENT_LOAD(fragment3); D_800AE540.unk_0000 = arg0; @@ -113,9 +113,9 @@ s32 func_800290E4(s16 arg0) { void func_800291E0(void) { main_pool_push_state('demo'); - FRAGMENT_LOAD(func_80004454, fragment34); - FRAGMENT_LOAD(func_80004454, fragment2); - FRAGMENT_LOAD(func_80004454, fragment3); + FRAGMENT_LOAD(fragment34); + FRAGMENT_LOAD(fragment2); + FRAGMENT_LOAD(fragment3); if (D_800AE540.unk_11F2 != 0) { FRAGMENT_LOAD_AND_CALL(fragment16, 0, 0); @@ -149,26 +149,26 @@ void func_800293CC(void) { main_pool_push_state('DEMO'); if (D_800AE540.unk_0000 == 0x10) { - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); } else { ASSET_LOAD(D_3000000, _675FA0, 0); - FRAGMENT_LOAD(func_80004454, fragment2); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment2); + FRAGMENT_LOAD(fragment34); switch (D_800AE540.unk_0003) { case 3: - FRAGMENT_LOAD(func_80004454, fragment4); + FRAGMENT_LOAD(fragment4); FRAGMENT_LOAD_AND_CALL(fragment8, 1, 0); break; case 9: - FRAGMENT_LOAD(func_80004454, fragment3); + FRAGMENT_LOAD(fragment3); FRAGMENT_LOAD_AND_CALL(fragment14, 1, 0); break; case 13: - FRAGMENT_LOAD(func_80004454, fragment3); + FRAGMENT_LOAD(fragment3); FRAGMENT_LOAD_AND_CALL(fragment18, 1, 0); break; } @@ -198,7 +198,7 @@ void func_800296E0(void) { func_80005E40(0x10000, 0); temp_s0 = func_80007444(1, 1, 2, 0, 2, 1); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); func_80007678(temp_s0); FRAGMENT_LOAD_AND_CALL2(fragment67, 1, 0); @@ -302,7 +302,7 @@ void func_80029BC0(void) { main_pool_push_state('STAD'); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); main_pool_pop_state('STAD'); @@ -400,7 +400,7 @@ void func_8002A06C(void) { main_pool_push_state('FREE'); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); main_pool_pop_state('FREE'); @@ -476,7 +476,7 @@ void func_8002A400(void) { main_pool_push_state('STAD'); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); main_pool_pop_state('STAD'); @@ -633,7 +633,7 @@ void func_8002AAA8(void) { main_pool_push_state('STAD'); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); main_pool_pop_state('STAD'); @@ -681,7 +681,7 @@ void func_8002ADE8(s32 arg0) { main_pool_push_state('FIGT'); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); main_pool_pop_state('FIGT'); @@ -701,7 +701,7 @@ void func_8002AF38(void) { main_pool_push_state('FIGT'); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); main_pool_pop_state('FIGT'); @@ -720,10 +720,10 @@ void func_8002B07C(void) { main_pool_push_state('DOSE'); - frag_43_entry = FRAGMENT_LOAD(func_80004454, fragment43); + frag_43_entry = FRAGMENT_LOAD(fragment43); frag_43_entry(); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment75, 0, 0); gCurrentGameState = STATE_TITLE_SCREEN; @@ -737,7 +737,7 @@ void func_8002B180(void) { func_8002BC64(1, 0, 2, 0); func_800367A0(0xA0, 0xA, 0); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment34); FRAGMENT_LOAD_AND_CALL(fragment62, 0, &D_800AE540); main_pool_pop_state('STAD'); diff --git a/src/2E110.c b/src/2E110.c index 58188a00..0976dd53 100644 --- a/src/2E110.c +++ b/src/2E110.c @@ -2,17 +2,19 @@ #include "src/3FB0.h" #include "src/memory.h" +#define D_800AF740_NUM_FILES 42 + static BinArchive* D_800AF740; -static char** D_800AF744; +static s32* D_800AF744; void func_8002D510(void) { s32 i; D_800AF740 = func_800044F4(textdata_ROM_START, NULL, 1, 0); - D_800AF744 = main_pool_alloc(0xA8, 0); + D_800AF744 = main_pool_alloc(D_800AF740_NUM_FILES * sizeof(s32), 0); - for (i = 0; i < 42; i++) { - D_800AF744[i] = NULL; + for (i = 0; i < D_800AF740_NUM_FILES; i++) { + D_800AF744[i] = 0; } } @@ -58,9 +60,9 @@ void func_8002D628(char* arg0, u32 arg1, s8* arg2) { if (temp_v0 == 0x23) { temp_v0 = *arg2++; - temp_v0 -= 0x30; - temp_v0 = (*arg2++ + (temp_v0 * 10)) - 0x30; - if ((temp_v0 > 0) && (temp_v0 < 0xA)) { + temp_v0 -= '0'; + temp_v0 = (*arg2++ + (temp_v0 * 10)) - '0'; + if ((temp_v0 > 0) && (temp_v0 < 10)) { sprintf(&sp58, "%d", D_800AF744[temp_v0]); var_s4 = &sp58; var_s2 = 1; diff --git a/src/2E460.c b/src/2E460.c index d91f3609..105df8f4 100644 --- a/src/2E460.c +++ b/src/2E460.c @@ -1,4 +1,13 @@ -#include "global.h" +#include "2E460.h" +#include "src/20330.h" +#include "src/22630.h" +#include "src/26820.h" +#include "src/29BA0.h" +#include "src/49790.h" +#include "src/6A40.h" +#include "src/controller.h" +#include "src/memory.h" +#include "src/stage_loader.h" #pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002D860.s") @@ -52,7 +61,63 @@ #pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002EF18.s") -#pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002EF44.s") +void func_8002EF44(void) { + s32 game_state; + s32 var_s4; + + FRAGMENT_LOAD_AND_CALL(fragment33, 1, 0); + + if (func_80029080() == -1) { + gCurrentGameState = STATE_AREA_SELECT; + return; + } + + var_s4 = 0; + game_state = STATE_POKEMON_LAB; + + do { + if (game_state == STATE_POKEMON_LAB) { + main_pool_push_state('PLAB'); + + if (func_80029080() != -1) { + func_80028AFC(3); + func_80023D60(func_80029080()); + } + + func_80005E40(0x16000, 0); + func_80007678(func_80007444(1, 1, 2, 0, 2, 1)); + + FRAGMENT_LOAD_AND_CALL2(fragment22, var_s4, 0); + + while ((game_state == STATE_POKEMON_LAB) && (D_800AE520.unk_00 != 0)) { + D_800AE520.unk_00 = 0; + game_state = func_80029008(D_800AE520.fragment_id, D_800AE520.rom_start, D_800AE520.rom_end, + D_800AE520.arg0, D_800AE520.arg1); + } + + func_800076C0(); + func_80005EAC(); + + main_pool_pop_state('PLAB'); + } else { + switch (game_state) { + case 0x10000: + FRAGMENT_LOAD_AND_CALL(fragment41, 0, 0); + var_s4 = 2; + game_state = STATE_POKEMON_LAB; + break; + + case 0x10001: + FRAGMENT_LOAD_AND_CALL(fragment33, 0, 0); + var_s4 = 1; + game_state = STATE_POKEMON_LAB; + break; + } + } + } while (game_state != STATE_AREA_SELECT); + + gCurrentGameState = STATE_AREA_SELECT; +} #pragma GLOBAL_ASM("asm/us/nonmatchings/2E460/func_8002F1C0.s") diff --git a/src/2FEA0.c b/src/2FEA0.c index 4e2af789..af343cee 100644 --- a/src/2FEA0.c +++ b/src/2FEA0.c @@ -1,3 +1,119 @@ #include "2FEA0.h" +#include "src/29BA0.h" +#include "src/3FB0.h" +#include "src/memory.h" -#pragma GLOBAL_ASM("asm/us/nonmatchings/2FEA0/func_8002F2A0.s") +void func_8002F2A0(void) { + u32 var_s0; + u32 sp60; + void (*func)(void); + s32 sp58; + UNUSED s32 pad[2]; + + main_pool_push_state('KDCM'); + + sp60 = 0; + var_s0 = 0; + sp58 = 1; + + func = FRAGMENT_LOAD(fragment2); + func(); + + while (sp58 != 0) { + if ((var_s0 == 0) || (var_s0 == 1) || (var_s0 == 4)) { + sp60 = FRAGMENT_LOAD_AND_CALL(fragment39, var_s0, sp60); + } + + if (sp60 != 0) { + main_pool_push_state('mini'); + + ASSET_LOAD(D_3000000, _675FA0, 0); + FRAGMENT_LOAD(fragment34); + + switch (sp60) { + case 1: + FRAGMENT_LOAD(fragment4); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment6, 0, 0); + break; + case 2: + FRAGMENT_LOAD(fragment4); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment7, 0, 0); + break; + case 3: + FRAGMENT_LOAD(fragment4); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment8, 0, 0); + break; + case 4: + FRAGMENT_LOAD(fragment4); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment9, 0, 0); + break; + case 5: + FRAGMENT_LOAD(fragment5); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment10, 0, 0); + break; + case 6: + FRAGMENT_LOAD(fragment5); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment11, 0, 0); + break; + case 7: + FRAGMENT_LOAD(fragment5); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment12, 0, 0); + break; + case 8: + FRAGMENT_LOAD(fragment5); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment13, 0, 0); + break; + case 9: + FRAGMENT_LOAD(fragment3); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment14, 0, 0); + break; + case 10: + FRAGMENT_LOAD(fragment3); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment15, 0, 0); + break; + case 11: + FRAGMENT_LOAD(fragment5); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment16, 0, 0); + break; + case 12: + FRAGMENT_LOAD(fragment3); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment17, 0, 0); + break; + case 13: + FRAGMENT_LOAD(fragment3); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment18, 0, 0); + break; + case 14: + FRAGMENT_LOAD(fragment3); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment19, 0, 0); + break; + case 15: + FRAGMENT_LOAD(fragment3); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment20, 0, 0); + break; + case 16: + FRAGMENT_LOAD(fragment3); + var_s0 = FRAGMENT_LOAD_AND_CALL(fragment21, 0, 0); + break; + } + + main_pool_pop_state('mini'); + + switch (var_s0) { + case 0: + case 1: + case 3: + case 4: + break; + + case 2: + sp58 = 0; + break; + } + } else { + sp58 = 0; + } + } + + main_pool_pop_state('KDCM'); +} diff --git a/src/30640.c b/src/30640.c index 2f5084dd..d116cad1 100644 --- a/src/30640.c +++ b/src/30640.c @@ -38,8 +38,8 @@ void func_8002FA40(void) { main_pool_push_state('SNPM'); func_8004B1CC(0x4B); - FRAGMENT_LOAD(func_80004454, fragment43)(); - FRAGMENT_LOAD(func_80004454, fragment34); + FRAGMENT_LOAD(fragment43)(); + FRAGMENT_LOAD(fragment34); do { temp_s0 = Util_ConvertAddrToVirtAddr(val); @@ -72,10 +72,10 @@ void func_8002FA40(void) { case 1: case 6: - FRAGMENT_LOAD(func_80004454, fragment2)(); + FRAGMENT_LOAD(fragment2)(); ASSET_LOAD(D_3000000, _675FA0, 0); - FRAGMENT_LOAD(func_80004454, fragment3); - FRAGMENT_LOAD(func_80004454, fragment31); + FRAGMENT_LOAD(fragment3); + FRAGMENT_LOAD(fragment31); if (var_s5 == 1) { var_s0 = 0; @@ -144,7 +144,7 @@ void func_8002FA40(void) { break; case 5: - FRAGMENT_LOAD(func_80004454, fragment61); + FRAGMENT_LOAD(fragment61); switch (var_s2) { case 1: var_s0 = 1; diff --git a/src/373A0.h b/src/373A0.h index 833160e3..41a1c72d 100644 --- a/src/373A0.h +++ b/src/373A0.h @@ -64,8 +64,11 @@ extern ALSeqFile* D_800FC708; extern ALSeqFile* D_800FC714; extern u32* D_800FC798; -s32 func_800367A0(u32, s32, s32); -s32 func_80037234(s32, u32); -void func_80037360(u32*, u32, s32); +s32 func_800367A0(u32 arg0, s32 arg1, s32 arg2); +s32 func_80037234(s32 arg0, u32 arg1); +void func_8003733C(void); +void func_80037340(void* arg0); +void func_80037360(u32* arg0, u32 arg1, s32 arg2); +s32 func_800373D8(void); #endif // _373A0_H_ diff --git a/src/3D140.h b/src/3D140.h index 3b431284..6dbdbdc5 100644 --- a/src/3D140.h +++ b/src/3D140.h @@ -25,6 +25,7 @@ OSTask* func_8003CADC(OSTask*); void __clearAudioDMA(void); void func_8003D32C(void); s32 func_8003D494(void); +void func_8003D4A0(s32); void func_8003D68C(s32); void func_8003D918(u32 arg0, u32 arg1); void func_8003DB84(s32 arg0); diff --git a/src/DDC0.c b/src/DDC0.c index 068fdbaa..3300f120 100644 --- a/src/DDC0.c +++ b/src/DDC0.c @@ -6,6 +6,9 @@ #include "5580.h" #include "373A0.h" #include "src/50860.h" +#include "src/490A0.h" +#include "src/4BA90.h" +#include "src/4BDC0.h" extern s32 D_800A83A0; @@ -18,15 +21,6 @@ extern OSThread D_800A8480; extern u8 D_800AA660[]; -s32 func_800484E0(void); -void func_80009210(void); -void func_8004FD44(void); -void func_8004B9C4(); -void func_8003D4A0(s32); -void func_8004AF24(s32); -void func_8004FD64(s32); -void func_8004AE90(s32, s32); - void func_8000D1C0(void) { } diff --git a/src/E1C0.c b/src/E1C0.c index 4380569c..39139222 100644 --- a/src/E1C0.c +++ b/src/E1C0.c @@ -63,7 +63,7 @@ void func_8000D738(UnkInputStruct8000D738* arg0) { D_800AA660 = main_pool_alloc(0x2210, 0); D_800AA664 = main_pool_alloc(0x21E0, 0); - func_80004454(FRAGMENT_ID(fragment1), fragment1_ROM_START, fragment1_relocs_ROM_END); + FRAGMENT_LOAD(fragment1); temp_v0 = ASSET_LOAD2(func_800044F4, fonts, 1, 1); D_800AA660->unk_21FC = func_8000484C(temp_v0, 0); diff --git a/src/fragments/10/fragment10.c b/src/fragments/10/fragment10.c index 1fd3ac56..57a4d776 100644 --- a/src/fragments/10/fragment10.c +++ b/src/fragments/10/fragment10.c @@ -952,7 +952,7 @@ void func_864025A0(UNUSED s32 arg0, UNUSED s32 arg1) { sp24 = func_80007444(0, 1, 3, 1, 2, 1); D_87B000E0 = func_8001E94C(0x16, 0); ASSET_LOAD(D_1000000, _4BD6B0, 0); - FRAGMENT_LOAD(func_80004454, fragment31); + FRAGMENT_LOAD(fragment31); func_86402130(); func_80007678(sp24); func_86401B3C(); diff --git a/src/fragments/11/fragment11.c b/src/fragments/11/fragment11.c index f0d9eb14..45e25cdc 100644 --- a/src/fragments/11/fragment11.c +++ b/src/fragments/11/fragment11.c @@ -830,7 +830,7 @@ void func_86501E9C(UNUSED s32 arg0, UNUSED s32 arg1) { D_87B000E0 = func_8001E94C(0x16, 0); ASSET_LOAD(D_1000000, _4BD6B0, 0); - FRAGMENT_LOAD(func_80004454, fragment31); + FRAGMENT_LOAD(fragment31); func_86501AAC(); func_80007678(sp24); diff --git a/src/fragments/6/fragment6.c b/src/fragments/6/fragment6.c index 3c17d929..c2f3f73e 100644 --- a/src/fragments/6/fragment6.c +++ b/src/fragments/6/fragment6.c @@ -1204,7 +1204,7 @@ void func_86002778(UNUSED s32 arg0, UNUSED s32 arg1) { D_86003B7C = func_8001E94C(0x36, 0); ASSET_LOAD(D_1000000, _4BD6B0, 0); - FRAGMENT_LOAD(func_80004454, fragment31); + FRAGMENT_LOAD(fragment31); func_80004454((((u32)D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7A70_ROM_END); diff --git a/src/fragments/7/fragment7.c b/src/fragments/7/fragment7.c index fd0f55b1..e7ff4c8e 100644 --- a/src/fragments/7/fragment7.c +++ b/src/fragments/7/fragment7.c @@ -1890,7 +1890,7 @@ void func_86104474(UNUSED s32 arg0, UNUSED s32 arg1) { D_861054B4 = func_8001E94C(0x36, 0); ASSET_LOAD(D_1000000, _4BD6B0, 0); - FRAGMENT_LOAD(func_80004454, fragment31); + FRAGMENT_LOAD(fragment31); func_80004454((((u32)D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7A70_ROM_END); diff --git a/src/fragments/8/fragment8.c b/src/fragments/8/fragment8.c index 88b46685..1dba267a 100644 --- a/src/fragments/8/fragment8.c +++ b/src/fragments/8/fragment8.c @@ -1404,7 +1404,7 @@ void func_8620369C(s32 arg0, UNUSED s32 arg1) { ASSET_LOAD(D_1000000, _4BD6B0, 0); ASSET_LOAD(D_4000000, _6C4CE0, 0); - FRAGMENT_LOAD(func_80004454, fragment31); + FRAGMENT_LOAD(fragment31); func_80004454((((u32)&D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7AD0_ROM_START); diff --git a/src/fragments/9/fragment9.c b/src/fragments/9/fragment9.c index a01cba6d..b6230c42 100644 --- a/src/fragments/9/fragment9.c +++ b/src/fragments/9/fragment9.c @@ -586,7 +586,7 @@ void func_86301474(UNUSED s32 arg0, UNUSED s32 arg1) { D_86301728 = func_8001E94C(0x26, 0); ASSET_LOAD(D_1000000, _4BD6B0, 0); - FRAGMENT_LOAD(func_80004454, fragment31); + FRAGMENT_LOAD(fragment31); func_80004454((((u32)&D_8D000000 & 0x0FF00000) >> 0x14) - 0x10, _5C7A70_ROM_START, _5C7AD0_ROM_START); diff --git a/yamls/us/rom.yaml b/yamls/us/rom.yaml index c7439adc..f679070d 100644 --- a/yamls/us/rom.yaml +++ b/yamls/us/rom.yaml @@ -420,7 +420,8 @@ - [0x7CEC0, .rodata, 29BA0] - [0x7CFD0, .rodata, 2C1C0] - [0x7D030, .rodata, 2E110] - - [0x7D040, rodata, rom_rodata_7D040] + - [0x7D040, rodata, rom_rodata_7D040] # 2E460 + - [0x7D090, .rodata, 2FEA0] - [0x7D0F0, .rodata, 30640] - [0x7D110, rodata, rom_rodata_7D110] - [0x7D1B0, rodata, rom_rodata_7D1B0]