From 370e632197490213fd0a8e18f0967c39c14e1ba3 Mon Sep 17 00:00:00 2001 From: Aetias Date: Sat, 18 Jan 2025 16:24:12 +0100 Subject: [PATCH] Move ITCM documentation from Ghidra --- config/eur/arm9/itcm/symbols.txt | 18 +++++++++--------- config/usa/arm9/itcm/symbols.txt | 18 +++++++++--------- include/Map/MapManager.hpp | 5 +++++ libs/nds/include/nds/math.h | 4 ++++ libs/nds/src/itcm/{math.c => math_1.c} | 1 + libs/nds/src/itcm/math_2.c | 7 +++++++ src/ITCM/Map/MapManager.cpp | 6 ++++++ 7 files changed, 41 insertions(+), 18 deletions(-) rename libs/nds/src/itcm/{math.c => math_1.c} (98%) create mode 100644 libs/nds/src/itcm/math_2.c create mode 100644 src/ITCM/Map/MapManager.cpp diff --git a/config/eur/arm9/itcm/symbols.txt b/config/eur/arm9/itcm/symbols.txt index fcfd9864..dcffc2b4 100644 --- a/config/eur/arm9/itcm/symbols.txt +++ b/config/eur/arm9/itcm/symbols.txt @@ -82,10 +82,10 @@ func_01ffbbcc kind:function(arm,size=0x2c) addr:0x1ffbbcc func_01ffbbf8 kind:function(arm,size=0x1d8) addr:0x1ffbbf8 func_01ffbdd0 kind:function(arm,size=0x64) addr:0x1ffbdd0 func_01ffbe34 kind:function(arm,size=0x44) addr:0x1ffbe34 -func_01ffbe78 kind:function(arm,size=0xe4) addr:0x1ffbe78 -func_01ffbf5c kind:function(arm,size=0x1bc) addr:0x1ffbf5c -func_01ffc118 kind:function(arm,size=0x10c8) addr:0x1ffc118 -func_01ffd1e0 kind:function(arm,size=0xfec) addr:0x1ffd1e0 +_ZN10MapManager13func_01ffbe78EP5Vec3pS1_S1_P5Vec4p kind:function(arm,size=0xe4) addr:0x1ffbe78 +_ZN10MapManager13func_01ffbf5cEiP5Vec3pS1_i kind:function(arm,size=0x1bc) addr:0x1ffbf5c +_ZN10MapManager13func_01ffc118EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0x10c8) addr:0x1ffc118 +_ZN10MapManager13func_01ffd1e0EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0xfec) addr:0x1ffd1e0 func_01ffe1cc kind:function(arm,size=0x29c) addr:0x1ffe1cc func_01ffe468 kind:function(arm,size=0x1b4) addr:0x1ffe468 func_01ffe61c kind:function(arm,size=0x4c) addr:0x1ffe61c @@ -101,11 +101,11 @@ func_01fff264 kind:function(arm,size=0x228) addr:0x1fff264 func_01fff48c kind:function(arm,size=0x3c) addr:0x1fff48c func_01fff4c8 kind:function(arm,size=0x48) addr:0x1fff4c8 func_01fff510 kind:function(arm,size=0x63c) addr:0x1fff510 -func_01fffb4c kind:function(arm,size=0x34) addr:0x1fffb4c -func_01fffb80 kind:function(arm,size=0x6c) addr:0x1fffb80 -func_01fffbec kind:function(arm,size=0x58) addr:0x1fffbec -func_01fffc44 kind:function(arm,size=0x50) addr:0x1fffc44 -func_01fffc94 kind:function(arm,size=0x44) addr:0x1fffc94 +Vec3p_TryNormalize kind:function(arm,size=0x34) addr:0x1fffb4c +Vec3p_DistanceSquared kind:function(arm,size=0x6c) addr:0x1fffb80 +Vec3p_Scale kind:function(arm,size=0x58) addr:0x1fffbec +Vec3p_CalculateNormal kind:function(arm,size=0x50) addr:0x1fffc44 +Vec3p_func_01fffc94 kind:function(arm,size=0x44) addr:0x1fffc94 _Z12GetLinkStatei kind:function(arm,size=0x14) addr:0x1fffcd8 _ZN11ItemManager21GetEquipItemUncheckedEi kind:function(arm,size=0x18) addr:0x1fffcec _ZN5Actor13func_01fffd04Ei kind:function(arm,size=0x204) addr:0x1fffd04 diff --git a/config/usa/arm9/itcm/symbols.txt b/config/usa/arm9/itcm/symbols.txt index fcfd9864..dcffc2b4 100644 --- a/config/usa/arm9/itcm/symbols.txt +++ b/config/usa/arm9/itcm/symbols.txt @@ -82,10 +82,10 @@ func_01ffbbcc kind:function(arm,size=0x2c) addr:0x1ffbbcc func_01ffbbf8 kind:function(arm,size=0x1d8) addr:0x1ffbbf8 func_01ffbdd0 kind:function(arm,size=0x64) addr:0x1ffbdd0 func_01ffbe34 kind:function(arm,size=0x44) addr:0x1ffbe34 -func_01ffbe78 kind:function(arm,size=0xe4) addr:0x1ffbe78 -func_01ffbf5c kind:function(arm,size=0x1bc) addr:0x1ffbf5c -func_01ffc118 kind:function(arm,size=0x10c8) addr:0x1ffc118 -func_01ffd1e0 kind:function(arm,size=0xfec) addr:0x1ffd1e0 +_ZN10MapManager13func_01ffbe78EP5Vec3pS1_S1_P5Vec4p kind:function(arm,size=0xe4) addr:0x1ffbe78 +_ZN10MapManager13func_01ffbf5cEiP5Vec3pS1_i kind:function(arm,size=0x1bc) addr:0x1ffbf5c +_ZN10MapManager13func_01ffc118EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0x10c8) addr:0x1ffc118 +_ZN10MapManager13func_01ffd1e0EPiP5Vec3pS2_iS0_jS0_ kind:function(arm,size=0xfec) addr:0x1ffd1e0 func_01ffe1cc kind:function(arm,size=0x29c) addr:0x1ffe1cc func_01ffe468 kind:function(arm,size=0x1b4) addr:0x1ffe468 func_01ffe61c kind:function(arm,size=0x4c) addr:0x1ffe61c @@ -101,11 +101,11 @@ func_01fff264 kind:function(arm,size=0x228) addr:0x1fff264 func_01fff48c kind:function(arm,size=0x3c) addr:0x1fff48c func_01fff4c8 kind:function(arm,size=0x48) addr:0x1fff4c8 func_01fff510 kind:function(arm,size=0x63c) addr:0x1fff510 -func_01fffb4c kind:function(arm,size=0x34) addr:0x1fffb4c -func_01fffb80 kind:function(arm,size=0x6c) addr:0x1fffb80 -func_01fffbec kind:function(arm,size=0x58) addr:0x1fffbec -func_01fffc44 kind:function(arm,size=0x50) addr:0x1fffc44 -func_01fffc94 kind:function(arm,size=0x44) addr:0x1fffc94 +Vec3p_TryNormalize kind:function(arm,size=0x34) addr:0x1fffb4c +Vec3p_DistanceSquared kind:function(arm,size=0x6c) addr:0x1fffb80 +Vec3p_Scale kind:function(arm,size=0x58) addr:0x1fffbec +Vec3p_CalculateNormal kind:function(arm,size=0x50) addr:0x1fffc44 +Vec3p_func_01fffc94 kind:function(arm,size=0x44) addr:0x1fffc94 _Z12GetLinkStatei kind:function(arm,size=0x14) addr:0x1fffcd8 _ZN11ItemManager21GetEquipItemUncheckedEi kind:function(arm,size=0x18) addr:0x1fffcec _ZN5Actor13func_01fffd04Ei kind:function(arm,size=0x204) addr:0x1fffd04 diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index b346a4d0..de53ebe9 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -40,6 +40,11 @@ public: /* 0f */ unk8 mUnk_0f; /* 10 */ + bool func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Vec4p *param4); + bool func_01ffbf5c(s32 param1, Vec3p *param2, Vec3p *param3, s32 length); + bool func_01ffc118(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7); + bool func_01ffd1e0(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7); + void func_ov00_020820ec(unk32 *param_2); void func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_4); unk8 func_ov00_0208210c(unk32 param_2, unk32 param_3); diff --git a/libs/nds/include/nds/math.h b/libs/nds/include/nds/math.h index 162625c3..517cbde2 100644 --- a/libs/nds/include/nds/math.h +++ b/libs/nds/include/nds/math.h @@ -120,6 +120,10 @@ q20 Vec3p_Length(Vec3p *a); void Vec3p_Normalize(Vec3p *vec, Vec3p *out); void Vec3p_Axpy(q20 a, Vec3p *x, Vec3p *y, Vec3p *out); q20 Vec3p_Distance(Vec3p *a, Vec3p *b); +bool Vec3p_TryNormalize(Vec3p *vec); +q20 Vec3p_DistanceSquared(Vec3p *a, Vec3p *b); +void Vec3p_Scale(Vec3p *vec, q20 scale); +bool Vec3p_CalculateNormal(Vec3p *vec, Vec3p *a, Vec3p *b, Vec3p *c); inline void Vec3p_Rotate(Vec3p *vec, q20 sin, q20 cos, Vec3p *out) { out->x += MUL_Q20(vec->z, sin); diff --git a/libs/nds/src/itcm/math.c b/libs/nds/src/itcm/math_1.c similarity index 98% rename from libs/nds/src/itcm/math.c rename to libs/nds/src/itcm/math_1.c index 962fd2bf..ee452869 100644 --- a/libs/nds/src/itcm/math.c +++ b/libs/nds/src/itcm/math_1.c @@ -58,6 +58,7 @@ q20 Vec3p_Length(Vec3p *a) {} void Vec3p_Normalize(Vec3p *vec, Vec3p *out) {} void Vec3p_Axpy(q20 a, Vec3p *x, Vec3p *y, Vec3p *out) {} q20 Vec3p_Distance(Vec3p *a, Vec3p *b) {} +void Vec3p_func_01fffc94(Vec3p *a, Vec3p *b); u32 func_01ff9f3c(s32 a, s32 b) {} s32 Atan2(s32 x, s32 y) {} diff --git a/libs/nds/src/itcm/math_2.c b/libs/nds/src/itcm/math_2.c new file mode 100644 index 00000000..b63286fb --- /dev/null +++ b/libs/nds/src/itcm/math_2.c @@ -0,0 +1,7 @@ +#include "nds/math.h" + +bool Vec3p_TryNormalize(Vec3p *vec) {} +q20 Vec3p_DistanceSquared(Vec3p *a, Vec3p *b) {} +void Vec3p_Scale(Vec3p *vec, q20 scale) {} +bool Vec3p_CalculateNormal(Vec3p *vec, Vec3p *a, Vec3p *b, Vec3p *c) {} +void Vec3p_func_01fffc94(Vec3p *a, Vec3p *b) {} diff --git a/src/ITCM/Map/MapManager.cpp b/src/ITCM/Map/MapManager.cpp new file mode 100644 index 00000000..1ed5d73e --- /dev/null +++ b/src/ITCM/Map/MapManager.cpp @@ -0,0 +1,6 @@ +#include "Map/MapManager.hpp" + +bool MapManager::func_01ffbe78(Vec3p *param1, Vec3p *param2, Vec3p *param3, Vec4p *param4) {} +bool MapManager::func_01ffbf5c(s32 param1, Vec3p *param2, Vec3p *param3, s32 length) {} +bool MapManager::func_01ffc118(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7) {} +bool MapManager::func_01ffd1e0(s32 *param1, Vec3p *param2, Vec3p *param3, s32 param4, s32 *param5, u32 param6, s32 *param7) {}