summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--linker_scripts/jp/symbol_addrs_overlays.txt20
-rw-r--r--relocs/reloc_addrs-jp.txt41
-rw-r--r--src/overlays/actors/ovl_FallSESW/ac_fallSESW.c2
-rw-r--r--src/overlays/actors/ovl_Npc2/ac_npc2.c2
-rw-r--r--src/overlays/actors/ovl_Npc_Guide2/ac_npc_guide2.c2
-rw-r--r--src/overlays/actors/ovl_Npc_Police/ac_npc_police.c4
-rw-r--r--src/overlays/actors/ovl_Structure/ac_structure.c4
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];