diff options
| -rw-r--r-- | linker_scripts/jp/symbol_addrs_overlays.txt | 20 | ||||
| -rw-r--r-- | relocs/reloc_addrs-jp.txt | 41 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_FallSESW/ac_fallSESW.c | 2 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_Npc2/ac_npc2.c | 2 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2.c | 2 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_Npc_Police/ac_npc_police.c | 4 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_Structure/ac_structure.c | 4 |
7 files changed, 51 insertions, 24 deletions
diff --git a/linker_scripts/jp/symbol_addrs_overlays.txt b/linker_scripts/jp/symbol_addrs_overlays.txt index 4b25975..261e94f 100644 --- a/linker_scripts/jp/symbol_addrs_overlays.txt +++ b/linker_scripts/jp/symbol_addrs_overlays.txt @@ -9874,8 +9874,7 @@ func_8099DF30_jp = 0x8099DF30; // type:func func_8099DF68_jp = 0x8099DF68; // type:func func_8099DF90_jp = 0x8099DF90; // type:func func_8099DFF0_jp = 0x8099DFF0; // type:func -func_8099E020_jp = 0x8099E020; // type:func -D_8099E1F0_jp = 0x8099E1F0; // +func_8099E020_jp = 0x8099E020; // type:func size:0x3C0 func_8099E3E0_jp = 0x8099E3E0; // type:func func_8099E410_jp = 0x8099E410; // type:func func_8099E44C_jp = 0x8099E44C; // type:func @@ -10666,8 +10665,7 @@ aNG2_actor_save = 0x809B134C; // type:func aNG2_actor_dt = 0x809B1378; // type:func aNG2_actor_init = 0x809B13AC; // type:func func_809B13D8_jp = 0x809B13D8; // type:func -func_809B141C_jp = 0x809B141C; // type:func -D_809B15CC_jp = 0x809B15CC; // +func_809B141C_jp = 0x809B141C; // type:func size:0x3A8 func_809B17C4_jp = 0x809B17C4; // type:func func_809B1808_jp = 0x809B1808; // type:func func_809B1834_jp = 0x809B1834; // type:func @@ -11360,11 +11358,8 @@ func_809C1A48_jp = 0x809C1A48; // type:func func_809C1B4C_jp = 0x809C1B4C; // type:func func_809C1C00_jp = 0x809C1C00; // type:func func_809C1C6C_jp = 0x809C1C6C; // type:func -func_809C1D28_jp = 0x809C1D28; // type:func -D_809C1D2C_jp = 0x809C1D2C; // -D_809C1D44_jp = 0x809C1D44; // -func_809C1D48_jp = 0x809C1D48; // type:func -D_809C1D5C_jp = 0x809C1D5C; // +func_809C1D28_jp = 0x809C1D28; // type:func size:0x20 +func_809C1D48_jp = 0x809C1D48; // type:func size:0x2C func_809C1D74_jp = 0x809C1D74; // type:func // .data @@ -13349,8 +13344,8 @@ RO_STR_809E9B74_jp = 0x809E9B74; // type:asciz // .bss -aSTR_actor_cl = 0x809E9B90; // -aSTR_overlay = 0x809EB528; // +aSTR_actor_cl = 0x809E9B90; // size:0x1998 +aSTR_overlay = 0x809EB528; // size:0x12000 aSTR_bss_padding_1 = 0x809FD528; // aSTR_object_start_addresses = 0x809FD530; // aSTR_bss_padding_2 = 0x809FD810; // @@ -13560,8 +13555,7 @@ FallS_Profile = 0x80A03440; // // .text func_80A034A0_jp = 0x80A034A0; // type:func -func_80A034B0_jp = 0x80A034B0; // type:func -D_80A03528_jp = 0x80A03528; // +func_80A034B0_jp = 0x80A034B0; // type:func size:0x8C aFLEW_actor_move = 0x80A0353C; // type:func aFLEW_actor_draw = 0x80A03590; // type:func diff --git a/relocs/reloc_addrs-jp.txt b/relocs/reloc_addrs-jp.txt index df42fc3..a135725 100644 --- a/relocs/reloc_addrs-jp.txt +++ b/relocs/reloc_addrs-jp.txt @@ -1,4 +1,5 @@ // Try to keep the list sorted by rom address + // boot rom:0x001000 symbol:boot_BSS_START reloc:MIPS_HI16 @@ -73,8 +74,48 @@ rom:0x82D4A0 symbol:D_80100C30_jp reloc:MIPS_LO16 addend:-0x7D04 rom:0x875080 symbol:D_80981940_jp reloc:MIPS_HI16 addend:-0x182B0 rom:0x875088 symbol:D_80981940_jp reloc:MIPS_LO16 addend:-0x182B0 +// ovl_Npc_Conv_Master tries to load a from an address in the middle of a +// function of another overlay +// It is suspected to be a negative addend to an unknown symbol. +// Use the first data symbol of this overlay in the meanwhile +rom:0x88C8E0 symbol:Npc_Conv_Master_Profile reloc:MIPS_HI16 addend:-0xB490 +rom:0x88C8F0 symbol:Npc_Conv_Master_Profile reloc:MIPS_LO16 addend:-0xB490 + +// TODO tries to load a from an address in the middle of a +// function of another overlay +// It is suspected to be a negative addend to an unknown symbol. +// Use the first data symbol of this overlay in the meanwhile +rom:0x89D358 symbol:D_809BA130_jp reloc:MIPS_HI16 addend:-0x8B64 +rom:0x89D368 symbol:D_809BA130_jp reloc:MIPS_LO16 addend:-0x8B64 + +// ovl_Npc_Police tries to load a from an address in the middle of a +// function of another overlay +// It is suspected to be a negative addend to an unknown symbol. +// Use the first data symbol of this overlay in the meanwhile +rom:0x8A52E4 symbol:Npc_Police_Profile reloc:MIPS_HI16 addend:-0x74 +rom:0x8A52F0 symbol:Npc_Police_Profile reloc:MIPS_LO16 addend:-0x74 + +// ovl_Npc_Police tries to load a from an address in the middle of a +// function of another overlay +// It is suspected to be a negative addend to an unknown symbol. +// Use the first data symbol of this overlay in the meanwhile +rom:0x8A52FC symbol:Npc_Police_Profile reloc:MIPS_HI16 addend:-0x5C +rom:0x8A5308 symbol:Npc_Police_Profile reloc:MIPS_LO16 addend:-0x5C + +// ovl_Npc_Police tries to load a from an address in the middle of a +// function of another overlay +// It is suspected to be a negative addend to an unknown symbol. +// Use the first data symbol of this overlay in the meanwhile +rom:0x8A5318 symbol:Npc_Police_Profile reloc:MIPS_HI16 addend:-0x44 +rom:0x8A5324 symbol:Npc_Police_Profile reloc:MIPS_LO16 addend:-0x44 + // ovl_Npc_Shop_Master tries to load a branch target from another overlay. // It is suspected to be a negative addend to an unknown symbol. // Use the first data symbol of this overlay in the meanwhile rom:0x8B136C symbol:Npc_Shop_Master_Profile reloc:MIPS_HI16 addend:-0xB560 rom:0x8B137C symbol:Npc_Shop_Master_Profile reloc:MIPS_LO16 addend:-0xB560 + +// ovl_Structure uses an OoB reference to check if a pointer itererator +// has reached the end of the loop. +rom:0x8CCCA4 symbol:aSTR_overlay reloc:MIPS_HI16 addend:0x18000 +rom:0x8CCCA8 symbol:aSTR_overlay reloc:MIPS_LO16 addend:0x18000 diff --git a/src/overlays/actors/ovl_FallSESW/ac_fallSESW.c b/src/overlays/actors/ovl_FallSESW/ac_fallSESW.c index e98d424..68c8eb2 100644 --- a/src/overlays/actors/ovl_FallSESW/ac_fallSESW.c +++ b/src/overlays/actors/ovl_FallSESW/ac_fallSESW.c @@ -28,8 +28,6 @@ ActorProfile FallSESW_Profile = { #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_FallSESW/ac_fallSESW/func_80A034B0_jp.s") -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_FallSESW/ac_fallSESW/D_80A03528_jp.s") - #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_FallSESW/ac_fallSESW/aFLEW_actor_move.s") #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_FallSESW/ac_fallSESW/aFLEW_actor_draw.s") diff --git a/src/overlays/actors/ovl_Npc2/ac_npc2.c b/src/overlays/actors/ovl_Npc2/ac_npc2.c index 411240a..d6e3d8e 100644 --- a/src/overlays/actors/ovl_Npc2/ac_npc2.c +++ b/src/overlays/actors/ovl_Npc2/ac_npc2.c @@ -469,8 +469,6 @@ CollisionCheck_Status_Init aNPC_StatusData = { 0, 0x14, 0x1E, 0, 50 }; #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc2/ac_npc2/func_8099E020_jp.s") -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc2/ac_npc2/D_8099E1F0_jp.s") - #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc2/ac_npc2/func_8099E3E0_jp.s") #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc2/ac_npc2/func_8099E410_jp.s") diff --git a/src/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2.c b/src/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2.c index 64ee56b..34d0aa8 100644 --- a/src/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2.c +++ b/src/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2.c @@ -37,8 +37,6 @@ ActorProfile Npc_Guide2_Profile = { #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2/func_809B141C_jp.s") -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2/D_809B15CC_jp.s") - #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2/func_809B17C4_jp.s") #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2/func_809B1808_jp.s") diff --git a/src/overlays/actors/ovl_Npc_Police/ac_npc_police.c b/src/overlays/actors/ovl_Npc_Police/ac_npc_police.c index 14108bd..47648f2 100644 --- a/src/overlays/actors/ovl_Npc_Police/ac_npc_police.c +++ b/src/overlays/actors/ovl_Npc_Police/ac_npc_police.c @@ -73,8 +73,6 @@ ActorProfile Npc_Police_Profile = { #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Police/ac_npc_police/func_809C1D28_jp.s") -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Police/ac_npc_police/D_809C1D44_jp.s") - -#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Police/ac_npc_police/D_809C1D5C_jp.s") +#pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Police/ac_npc_police/func_809C1D48_jp.s") #pragma GLOBAL_ASM("asm/jp/nonmatchings/overlays/actors/ovl_Npc_Police/ac_npc_police/func_809C1D74_jp.s") diff --git a/src/overlays/actors/ovl_Structure/ac_structure.c b/src/overlays/actors/ovl_Structure/ac_structure.c index 64cdaf9..f4501dd 100644 --- a/src/overlays/actors/ovl_Structure/ac_structure.c +++ b/src/overlays/actors/ovl_Structure/ac_structure.c @@ -18,8 +18,8 @@ void aSTR_actor_move(Actor* thisx, Game_Play* game_play); void aSTR_init_clip_area(Game_Play* game_play); void aSTR_free_clip_area(void); -StructureActor aSTR_actor_cl[9]; -s8 aSTR_overlay[9][8192]; +StructureActor aSTR_actor_cl[STRUCTURE_CLIP_STRUCTURE_ACTOR_COUNT]; +s8 aSTR_overlay[STRUCTURE_CLIP_STRUCTURE_ACTOR_COUNT][8192]; // Original name unknown. Unused s8 aSTR_bss_padding_1[8]; |
