diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index d5cc163f..5954466c 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -406,14 +406,14 @@ _ZN7MapBase18func_ov00_0208008cEj kind:function(arm,size=0x10) addr:0x208008c _ZN7MapBase7AddExitEP4Exit kind:function(arm,size=0xa4) addr:0x208009c _ZN7MapBase18func_ov00_02080140EP4Exit kind:function(arm,size=0x1e4) addr:0x2080140 _ZN12MapBase_Unk118func_ov00_02080324Eiii kind:function(arm,size=0x78) addr:0x2080324 -_ZN7MapBase8FindExitEiP4Exit kind:function(arm,size=0xd0) addr:0x208039c +_ZN7MapBase8FindExitEjP4Exit kind:function(arm,size=0xd0) addr:0x208039c _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint kind:function(arm,size=0xa4) addr:0x208046c _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint kind:function(arm,size=0xc0) addr:0x2080510 _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint kind:function(arm,size=0xb8) addr:0x20805d0 _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi kind:function(arm,size=0xf8) addr:0x2080688 _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei kind:function(arm,size=0x54) addr:0x2080780 _ZN7MapBase8vfunc_b8Ev kind:function(arm,size=0x50) addr:0x20807d4 -_ZN7MapBase18func_ov00_02080824Eii kind:function(arm,size=0xac) addr:0x2080824 +_ZN7MapBase18func_ov00_02080824EjPc kind:function(arm,size=0xac) addr:0x2080824 _ZN7MapBase10AddUnk_130Ei kind:function(arm,size=0xe8) addr:0x20808d0 _ZN7MapBase18func_ov00_020809b8Ei kind:function(arm,size=0xc0) addr:0x20809b8 _ZN7MapBase18func_ov00_02080a78EP5Vec3p kind:function(arm,size=0x58) addr:0x2080a78 @@ -421,7 +421,7 @@ _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ kind:function(arm,size= _ZN7MapBase18func_ov00_02080b24EP5Vec2b kind:function(arm,size=0x1e4) addr:0x2080b24 _ZN7MapBase18func_ov00_02080d08Ei kind:function(arm,size=0x6c) addr:0x2080d08 _ZN7MapBase8vfunc_bcEv kind:function(arm,size=0x4) addr:0x2080d74 -_ZN7MapBase8vfunc_98Ev kind:function(arm,size=0x4) addr:0x2080d78 +_ZN7MapBase8vfunc_98Eiii kind:function(arm,size=0x4) addr:0x2080d78 _ZN7MapBase8vfunc_c0Ev kind:function(arm,size=0x4) addr:0x2080d7c _ZN7MapBase22TriggerOfType_vfunc_10Ei kind:function(arm,size=0x5c) addr:0x2080d80 _ZN11TriggerBase8vfunc_10Ev kind:function(arm,size=0x8) addr:0x2080ddc @@ -585,32 +585,32 @@ _ZN10MapManager23IsTriggerTypeOverlappedEjP5Vec3p kind:function(arm,size=0x10) a _ZN10MapManager21GetOverlappingTriggerEP5Vec3p kind:function(arm,size=0x10) addr:0x2083780 _ZN10MapManager18func_ov00_02083790Ei kind:function(arm,size=0xb0) addr:0x2083790 _ZN10MapManager18func_ov00_02083840Ei kind:function(arm,size=0x88) addr:0x2083840 -_ZN10MapManager18func_ov00_020838c8Ei kind:function(arm,size=0x10) addr:0x20838c8 +_ZN10MapManager10AddTriggerEi kind:function(arm,size=0x10) addr:0x20838c8 _ZN10MapManager18func_ov00_020838d8Ei kind:function(arm,size=0x10) addr:0x20838d8 -_ZN10MapManager18func_ov00_020838e8EjPi kind:function(arm,size=0x10) addr:0x20838e8 -_ZN10MapManager18func_ov00_020838f8EPi kind:function(arm,size=0x10) addr:0x20838f8 -_ZN10MapManager18func_ov00_02083908EcPi kind:function(arm,size=0x10) addr:0x2083908 -_ZN10MapManager18func_ov00_02083918EiPi kind:function(arm,size=0x10) addr:0x2083918 -_ZN10MapManager18func_ov00_02083928EPci kind:function(arm,size=0x10) addr:0x2083928 +_ZN10MapManager8FindExitEjP4Exit kind:function(arm,size=0x10) addr:0x20838e8 +_ZN10MapManager18func_ov00_020838f8EP4Exit kind:function(arm,size=0x10) addr:0x20838f8 +_ZN10MapManager18func_ov00_02083908EcP15CameraViewpoint kind:function(arm,size=0x10) addr:0x2083908 +_ZN10MapManager18func_ov00_02083918EiP15CameraViewpoint kind:function(arm,size=0x10) addr:0x2083918 +_ZN10MapManager19GetCurrentViewpointEP15CameraViewpointi kind:function(arm,size=0x10) addr:0x2083928 _ZN10MapManager18func_ov00_02083938Ei kind:function(arm,size=0x10) addr:0x2083938 -_ZN10MapManager18Set_MapData_Unk_16Eci kind:function(arm,size=0x10) addr:0x2083948 +_ZN10MapManager21SetCurrentViewpointIdEci kind:function(arm,size=0x10) addr:0x2083948 _ZN10MapManager18func_ov00_02083958Ei kind:function(arm,size=0x10) addr:0x2083958 _ZN10MapManager18func_ov00_02083968EjPc kind:function(arm,size=0x10) addr:0x2083968 -_ZN10MapManager18func_ov00_02083978EiP5Vec3p kind:function(arm,size=0x3c) addr:0x2083978 +_ZN10MapManager18func_ov00_02083978EP5Vec3pS1_ kind:function(arm,size=0x3c) addr:0x2083978 _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x20839b4 _ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x20839c4 -_ZN10MapManager18func_ov00_020839d4Ev kind:function(arm,size=0x24) addr:0x20839d4 -_ZN10MapManager18func_ov00_020839f8Ev kind:function(arm,size=0x24) addr:0x20839f8 -_ZN10MapManager18func_ov00_02083a1cEPcPS_P5Vec3p kind:function(arm,size=0x38) addr:0x2083a1c -_ZN10MapManager18func_ov00_02083a54EPhPS_Pihh kind:function(arm,size=0x130) addr:0x2083a54 -_ZN10MapManager18func_ov00_02083b84Ev kind:function(arm,size=0x28) addr:0x2083b84 -_ZN10MapManager18func_ov00_02083bacEv kind:function(arm,size=0x28) addr:0x2083bac -_ZN10MapManager18func_ov00_02083bd4Ev kind:function(arm,size=0x28) addr:0x2083bd4 -_ZN10MapManager18func_ov00_02083bfcEv kind:function(arm,size=0x28) addr:0x2083bfc +_ZN10MapManager18func_ov00_020839d4Ei kind:function(arm,size=0x24) addr:0x20839d4 +_ZN10MapManager18func_ov00_020839f8Ei kind:function(arm,size=0x24) addr:0x20839f8 +_ZN10MapManager18func_ov00_02083a1cEPiPS_P5Vec3p kind:function(arm,size=0x38) addr:0x2083a1c +_ZN10MapManager18func_ov00_02083a54EPhPS_PiiS2_ kind:function(arm,size=0x130) addr:0x2083a54 +_ZN10MapManager13GetTileStartXEi kind:function(arm,size=0x28) addr:0x2083b84 +_ZN10MapManager13GetTileStartZEi kind:function(arm,size=0x28) addr:0x2083bac +_ZN10MapManager11GetTileEndXEi kind:function(arm,size=0x28) addr:0x2083bd4 +_ZN10MapManager11GetTileEndZEi kind:function(arm,size=0x28) addr:0x2083bfc _ZN10MapManager18func_ov00_02083c24Ei kind:function(arm,size=0x2c) addr:0x2083c24 _ZN10MapManager18func_ov00_02083c50Ei kind:function(arm,size=0x2c) addr:0x2083c50 -_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi kind:function(arm,size=0x6c) addr:0x2083c7c -_ZN10MapManager18func_ov00_02083ce8Ecccci kind:function(arm,size=0x14c) addr:0x2083ce8 +_ZN10MapManager18func_ov00_02083c7cEP5Vec3pj kind:function(arm,size=0x6c) addr:0x2083c7c +_ZN10MapManager18func_ov00_02083ce8EPS_Pijij kind:function(arm,size=0x14c) addr:0x2083ce8 _ZN10MapManager18func_ov00_02083e34Ecci kind:function(arm,size=0x24) addr:0x2083e34 _ZN10MapManager16MapData_vfunc_60Ev kind:function(arm,size=0x18) addr:0x2083e58 _ZN10MapManager18func_ov00_02083e70Ev kind:function(arm,size=0x70) addr:0x2083e70 diff --git a/config/usa/arm9/overlays/ov000/symbols.txt b/config/usa/arm9/overlays/ov000/symbols.txt index b62b90c3..5aa4da4f 100644 --- a/config/usa/arm9/overlays/ov000/symbols.txt +++ b/config/usa/arm9/overlays/ov000/symbols.txt @@ -406,14 +406,14 @@ _ZN7MapBase18func_ov00_0208008cEj kind:function(arm,size=0x10) addr:0x208002c _ZN7MapBase7AddExitEP4Exit kind:function(arm,size=0xa4) addr:0x208003c _ZN7MapBase18func_ov00_02080140EP4Exit kind:function(arm,size=0x1e4) addr:0x20800e0 _ZN12MapBase_Unk118func_ov00_02080324Eiii kind:function(arm,size=0x78) addr:0x20802c4 -_ZN7MapBase8FindExitEiP4Exit kind:function(arm,size=0xd0) addr:0x208033c +_ZN7MapBase8FindExitEjP4Exit kind:function(arm,size=0xd0) addr:0x208033c _ZN7MapBase18AddCameraViewpointEP15CameraViewpoint kind:function(arm,size=0xa4) addr:0x208040c _ZN7MapBase19FindViewpoint_Unk_4EcP15CameraViewpoint kind:function(arm,size=0xc0) addr:0x20804b0 _ZN7MapBase19FindViewpoint_Unk_0EiP15CameraViewpoint kind:function(arm,size=0xb8) addr:0x2080570 _ZN7MapBase19GetCurrentViewpointEP15CameraViewpointi kind:function(arm,size=0xf8) addr:0x2080628 _ZN7MapBase26GetCurrentViewpoint_Unk_00Ei kind:function(arm,size=0x54) addr:0x2080720 _ZN7MapBase8vfunc_b8Ev kind:function(arm,size=0x50) addr:0x2080774 -_ZN7MapBase18func_ov00_02080824Eii kind:function(arm,size=0xac) addr:0x20807c4 +_ZN7MapBase18func_ov00_02080824EjPc kind:function(arm,size=0xac) addr:0x20807c4 _ZN7MapBase10AddUnk_130Ei kind:function(arm,size=0xe8) addr:0x2080870 _ZN7MapBase18func_ov00_020809b8Ei kind:function(arm,size=0xc0) addr:0x2080958 _ZN7MapBase18func_ov00_02080a78EP5Vec3p kind:function(arm,size=0x58) addr:0x2080a18 @@ -421,7 +421,7 @@ _ZN12MapBase_Unk218func_ov00_02080ad0EPP11TriggerBaseS2_ kind:function(arm,size= _ZN7MapBase18func_ov00_02080b24EP5Vec2b kind:function(arm,size=0x1e4) addr:0x2080ac4 _ZN7MapBase18func_ov00_02080d08Ei kind:function(arm,size=0x6c) addr:0x2080ca8 _ZN7MapBase8vfunc_bcEv kind:function(arm,size=0x4) addr:0x2080d14 -_ZN7MapBase8vfunc_98Ev kind:function(arm,size=0x4) addr:0x2080d18 +_ZN7MapBase8vfunc_98Eiii kind:function(arm,size=0x4) addr:0x2080d18 _ZN7MapBase8vfunc_c0Ev kind:function(arm,size=0x4) addr:0x2080d1c _ZN7MapBase22TriggerOfType_vfunc_10Ei kind:function(arm,size=0x5c) addr:0x2080d20 _ZN11TriggerBase8vfunc_10Ev kind:function(arm,size=0x8) addr:0x2080d7c @@ -585,32 +585,32 @@ _ZN10MapManager23IsTriggerTypeOverlappedEjP5Vec3p kind:function(arm,size=0x10) a _ZN10MapManager21GetOverlappingTriggerEP5Vec3p kind:function(arm,size=0x10) addr:0x2083720 _ZN10MapManager18func_ov00_02083790Ei kind:function(arm,size=0xb0) addr:0x2083730 _ZN10MapManager18func_ov00_02083840Ei kind:function(arm,size=0x88) addr:0x20837e0 -_ZN10MapManager18func_ov00_020838c8Ei kind:function(arm,size=0x10) addr:0x2083868 +_ZN10MapManager10AddTriggerEi kind:function(arm,size=0x10) addr:0x2083868 _ZN10MapManager18func_ov00_020838d8Ei kind:function(arm,size=0x10) addr:0x2083878 -_ZN10MapManager18func_ov00_020838e8EjPi kind:function(arm,size=0x10) addr:0x2083888 -_ZN10MapManager18func_ov00_020838f8EPi kind:function(arm,size=0x10) addr:0x2083898 -_ZN10MapManager18func_ov00_02083908EcPi kind:function(arm,size=0x10) addr:0x20838a8 -_ZN10MapManager18func_ov00_02083918EiPi kind:function(arm,size=0x10) addr:0x20838b8 -_ZN10MapManager18func_ov00_02083928EPci kind:function(arm,size=0x10) addr:0x20838c8 +_ZN10MapManager8FindExitEjP4Exit kind:function(arm,size=0x10) addr:0x2083888 +_ZN10MapManager18func_ov00_020838f8EP4Exit kind:function(arm,size=0x10) addr:0x2083898 +_ZN10MapManager18func_ov00_02083908EcP15CameraViewpoint kind:function(arm,size=0x10) addr:0x20838a8 +_ZN10MapManager18func_ov00_02083918EiP15CameraViewpoint kind:function(arm,size=0x10) addr:0x20838b8 +_ZN10MapManager19GetCurrentViewpointEP15CameraViewpointi kind:function(arm,size=0x10) addr:0x20838c8 _ZN10MapManager18func_ov00_02083938Ei kind:function(arm,size=0x10) addr:0x20838d8 -_ZN10MapManager18Set_MapData_Unk_16Eci kind:function(arm,size=0x10) addr:0x20838e8 +_ZN10MapManager21SetCurrentViewpointIdEci kind:function(arm,size=0x10) addr:0x20838e8 _ZN10MapManager18func_ov00_02083958Ei kind:function(arm,size=0x10) addr:0x20838f8 _ZN10MapManager18func_ov00_02083968EjPc kind:function(arm,size=0x10) addr:0x2083908 -_ZN10MapManager18func_ov00_02083978EiP5Vec3p kind:function(arm,size=0x3c) addr:0x2083918 +_ZN10MapManager18func_ov00_02083978EP5Vec3pS1_ kind:function(arm,size=0x3c) addr:0x2083918 _ZN10MapManager18func_ov00_020839b4Ei kind:function(arm,size=0x10) addr:0x2083954 _ZN10MapManager18func_ov00_020839c4Ei kind:function(arm,size=0x10) addr:0x2083964 -_ZN10MapManager18func_ov00_020839d4Ev kind:function(arm,size=0x24) addr:0x2083974 -_ZN10MapManager18func_ov00_020839f8Ev kind:function(arm,size=0x24) addr:0x2083998 -_ZN10MapManager18func_ov00_02083a1cEPcPS_P5Vec3p kind:function(arm,size=0x38) addr:0x20839bc -_ZN10MapManager18func_ov00_02083a54EPhPS_Pihh kind:function(arm,size=0x130) addr:0x20839f4 -_ZN10MapManager18func_ov00_02083b84Ev kind:function(arm,size=0x28) addr:0x2083b24 -_ZN10MapManager18func_ov00_02083bacEv kind:function(arm,size=0x28) addr:0x2083b4c -_ZN10MapManager18func_ov00_02083bd4Ev kind:function(arm,size=0x28) addr:0x2083b74 -_ZN10MapManager18func_ov00_02083bfcEv kind:function(arm,size=0x28) addr:0x2083b9c +_ZN10MapManager18func_ov00_020839d4Ei kind:function(arm,size=0x24) addr:0x2083974 +_ZN10MapManager18func_ov00_020839f8Ei kind:function(arm,size=0x24) addr:0x2083998 +_ZN10MapManager18func_ov00_02083a1cEPiPS_P5Vec3p kind:function(arm,size=0x38) addr:0x20839bc +_ZN10MapManager18func_ov00_02083a54EPhPS_PiiS2_ kind:function(arm,size=0x130) addr:0x20839f4 +_ZN10MapManager13GetTileStartXEi kind:function(arm,size=0x28) addr:0x2083b24 +_ZN10MapManager13GetTileStartZEi kind:function(arm,size=0x28) addr:0x2083b4c +_ZN10MapManager11GetTileEndXEi kind:function(arm,size=0x28) addr:0x2083b74 +_ZN10MapManager11GetTileEndZEi kind:function(arm,size=0x28) addr:0x2083b9c _ZN10MapManager18func_ov00_02083c24Ei kind:function(arm,size=0x2c) addr:0x2083bc4 _ZN10MapManager18func_ov00_02083c50Ei kind:function(arm,size=0x2c) addr:0x2083bf0 -_ZN10MapManager18func_ov00_02083c7cEP5Vec3pi kind:function(arm,size=0x6c) addr:0x2083c1c -_ZN10MapManager18func_ov00_02083ce8Ecccci kind:function(arm,size=0x14c) addr:0x2083c88 +_ZN10MapManager18func_ov00_02083c7cEP5Vec3pj kind:function(arm,size=0x6c) addr:0x2083c1c +_ZN10MapManager18func_ov00_02083ce8EPS_Pijij kind:function(arm,size=0x14c) addr:0x2083c88 _ZN10MapManager18func_ov00_02083e34Ecci kind:function(arm,size=0x24) addr:0x2083dd4 _ZN10MapManager16MapData_vfunc_60Ev kind:function(arm,size=0x18) addr:0x2083df8 _ZN10MapManager18func_ov00_02083e70Ev kind:function(arm,size=0x70) addr:0x2083e10 diff --git a/include/Map/MapBase.hpp b/include/Map/MapBase.hpp index f668956f..2d62a670 100644 --- a/include/Map/MapBase.hpp +++ b/include/Map/MapBase.hpp @@ -65,7 +65,7 @@ public: /* 013 */ unk8 mUnk_013; /* 014 */ unk8 mUnk_014; /* 015 */ unk8 mUnk_015; - /* 016 */ unk8 mUnk_016[2]; + /* 016 */ unk8 mCurrViewpointId[2]; /* 018 */ unk8 mUnk_018[2]; /* 01a */ unk8 mUnk_01a; /* 01b */ unk8 mUnk_01b; @@ -190,14 +190,14 @@ public: s32 GetTileEndX(unk32 x); s32 GetTileEndZ(unk32 z); void GetTileBounds(Vec2b *tilePos, AABB *bounds); - unk8 GetClampedTileX(unk32 worldX); - unk8 GetClampedTileY(unk32 worldZ); - unk8 GetTileX(unk32 worldX); - unk8 GetTileY(unk32 worldZ); + s32 GetClampedTileX(s32 worldX); + s32 GetClampedTileY(s32 worldZ); + unk8 GetTileX(s32 worldX); + unk8 GetTileY(s32 worldZ); bool IsInBounds(Vec3p *tileWorldPos); s32 AddEntrance(Entrance *param_2); Entrance *FindEntrance(unk32 id); - unk8 func_ov00_0207f924(unk32 param_2); + void func_ov00_0207f924(s32 param_2); unk8 func_ov00_0207f934(); unk8 func_ov00_0207f948(unk32 param_2); void AddTrigger(TriggerParams *param_2); @@ -210,22 +210,22 @@ public: bool AnyTrigger_func_0c(unk32 type); unk8 Trigger_vfunc_08(); bool AddTrigger(unk32 param_2); - bool func_ov00_0207ff88(unk32 param_2); + bool func_ov00_0207ff88(s32 param_2); void func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4); void func_ov00_0208006c(unk32 param_2, s32 param_3); void func_ov00_0208007c(s32 param_2, s32 param_3); void func_ov00_0208008c(u32 param_2); unk8 AddExit(Exit *param_2); - unk8 func_ov00_02080140(Exit *param_2); - bool FindExit(unk32 param_2, Exit *param_3); + char func_ov00_02080140(Exit *param_2); + bool FindExit(u32 param_2, Exit *param_3); unk8 AddCameraViewpoint(CameraViewpoint *param_2); bool FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3); - bool FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3); - void GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3); - unk8 GetCurrentViewpoint_Unk_00(s32 param_2); - bool func_ov00_02080824(unk32 param_2, unk32 param_3); - bool AddUnk_130(unk32 param_2); - bool func_ov00_020809b8(unk32 param_2); + bool FindViewpoint_Unk_0(s32 param_2, CameraViewpoint *param_3); + void GetCurrentViewpoint(CameraViewpoint *param_2, s32 param_3); + unk32 GetCurrentViewpoint_Unk_00(s32 param_2); + bool func_ov00_02080824(u32 param_2, unk8 *param_3); + bool AddUnk_130(s32 param_2); + bool func_ov00_020809b8(s32 param_2); unk8 func_ov00_02080a78(Vec3p *param_2); unk8 func_ov00_02080b24(Vec2b *param_2); void func_ov00_02080d08(unk32 param_2); diff --git a/include/Map/MapManager.hpp b/include/Map/MapManager.hpp index ea8854c0..7c3bd859 100644 --- a/include/Map/MapManager.hpp +++ b/include/Map/MapManager.hpp @@ -135,34 +135,34 @@ public: bool func_ov00_020836dc(u32 param_2, u32 actorId); bool IsTriggerTypeOverlapped(u32 param_2, Vec3p *param_3); bool GetOverlappingTrigger(Vec3p *param_2); - bool func_ov00_02083790(unk32 param_2); - unk8 func_ov00_02083840(unk32 param_2); - bool func_ov00_020838c8(s32 param_2); + bool func_ov00_02083790(s32 param_2); + bool func_ov00_02083840(s32 param_2); + bool AddTrigger(s32 param_2); bool func_ov00_020838d8(s32 param_2); - bool func_ov00_020838e8(u32 param_2, unk32 *param_3); - char func_ov00_020838f8(unk32 *param_2); - bool func_ov00_02083908(char param_2, unk32 *param_3); - void func_ov00_02083918(s32 param_2, s32 *param_3); - void func_ov00_02083928(unk8 *param_2, s32 param_3); + bool FindExit(u32 param_2, Exit *param_3); + char func_ov00_020838f8(Exit *param_2); + bool func_ov00_02083908(char param_2, CameraViewpoint *param_3); + void func_ov00_02083918(s32 param_2, CameraViewpoint *param_3); + void GetCurrentViewpoint(CameraViewpoint *param_2, s32 param_3); unk32 func_ov00_02083938(s32 param_2); - unk8 Set_MapData_Unk_16(unk8 value, unk32 index); + void SetCurrentViewpointId(unk8 value, s32 index); void func_ov00_02083958(s32 param_2); void func_ov00_02083968(u32 param_2, unk8 *param_3); - bool func_ov00_02083978(unk32 param_2, Vec3p *param_3); + bool func_ov00_02083978(Vec3p *param_2, Vec3p *param_3); bool func_ov00_020839b4(s32 param_2); bool func_ov00_020839c4(s32 param_2); - static unk8 func_ov00_020839d4(); - static unk8 func_ov00_020839f8(); - static void func_ov00_02083a1c(unk8 *param_1, MapManager *param_2, Vec3p *param_3); - static unk8 func_ov00_02083a54(u8 *param_1, MapManager *param_2, s32 *param_3, u8 param_4, u8 param_5); - static unk8 func_ov00_02083b84(); - static unk8 func_ov00_02083bac(); - static unk8 func_ov00_02083bd4(); - static unk8 func_ov00_02083bfc(); - unk8 func_ov00_02083c24(unk32 param_2); - unk8 func_ov00_02083c50(unk32 param_2); - unk8 func_ov00_02083c7c(Vec3p *param_2, unk32 param_3); - static unk8 func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5); + s32 func_ov00_020839d4(s32 param_2); + s32 func_ov00_020839f8(s32 param_2); + static void func_ov00_02083a1c(s32 *param_1, MapManager *param_2, Vec3p *param_3); + static void func_ov00_02083a54(u8 *param_1, MapManager *param_2, s32 *param_3, s32 param_4, s32 *param_5); + s32 GetTileStartX(unk32 x); + s32 GetTileStartZ(unk32 z); + s32 GetTileEndX(unk32 x); + s32 GetTileEndZ(unk32 z); + s32 func_ov00_02083c24(unk32 x); + s32 func_ov00_02083c50(unk32 z); + void func_ov00_02083c7c(Vec3p *param_2, u32 param_3); + static void func_ov00_02083ce8(MapManager *param_1, s32 *param_2, u32 param_3, s32 param_4, u32 param_5); unk8 func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4); unk8 MapData_vfunc_60(); static unk8 func_ov00_02083e70(); diff --git a/src/00_Core/Map/MapBase.cpp b/src/00_Core/Map/MapBase.cpp index 01020023..76703c4f 100644 --- a/src/00_Core/Map/MapBase.cpp +++ b/src/00_Core/Map/MapBase.cpp @@ -56,14 +56,14 @@ unk8 MapBase::GetTileStartZ(unk32 z) {} s32 MapBase::GetTileEndX(unk32 x) {} s32 MapBase::GetTileEndZ(unk32 z) {} void MapBase::GetTileBounds(Vec2b *tilePos, AABB *bounds) {} -unk8 MapBase::GetClampedTileX(unk32 worldX) {} -unk8 MapBase::GetClampedTileY(unk32 worldZ) {} -unk8 MapBase::GetTileX(unk32 worldX) {} -unk8 MapBase::GetTileY(unk32 worldZ) {} +s32 MapBase::GetClampedTileX(s32 worldX) {} +s32 MapBase::GetClampedTileY(s32 worldZ) {} +unk8 MapBase::GetTileX(s32 worldX) {} +unk8 MapBase::GetTileY(s32 worldZ) {} bool MapBase::IsInBounds(Vec3p *tileWorldPos) {} s32 MapBase::AddEntrance(Entrance *param_2) {} Entrance *MapBase::FindEntrance(unk32 id) {} -unk8 MapBase::func_ov00_0207f924(unk32 param_2) {} +void MapBase::func_ov00_0207f924(s32 param_2) {} unk8 MapBase::func_ov00_0207f934() {} unk8 MapBase::func_ov00_0207f948(unk32 param_2) {} void MapBase::AddTrigger(TriggerParams *param_2) {} @@ -80,24 +80,24 @@ bool MapBase::AnyTrigger_func_0c(unk32 type) {} unk32 TriggerBase::vfunc_0c() {} unk8 MapBase::Trigger_vfunc_08() {} bool MapBase::AddTrigger(unk32 param_2) {} -bool MapBase::func_ov00_0207ff88(unk32 param_2) {} +bool MapBase::func_ov00_0207ff88(s32 param_2) {} void MapBase::func_ov00_0208005c(s32 param_2, s32 param_3, unk32 param_4) {} void MapBase::func_ov00_0208006c(unk32 param_2, s32 param_3) {} void MapBase::func_ov00_0208007c(s32 param_2, s32 param_3) {} void MapBase::func_ov00_0208008c(u32 param_2) {} unk8 MapBase::AddExit(Exit *param_2) {} -unk8 MapBase::func_ov00_02080140(Exit *param_2) {} +char MapBase::func_ov00_02080140(Exit *param_2) {} void MapBase_Unk1::func_ov00_02080324(s32 param_2, s32 param_3, s32 param_4) {} -bool MapBase::FindExit(unk32 param_2, Exit *param_3) {} +bool MapBase::FindExit(u32 param_2, Exit *param_3) {} unk8 MapBase::AddCameraViewpoint(CameraViewpoint *param_2) {} -bool MapBase::FindViewpoint_Unk_4(unk8 id, CameraViewpoint *param_3) {} -bool MapBase::FindViewpoint_Unk_0(unk32 param_2, CameraViewpoint *param_3) {} -void MapBase::GetCurrentViewpoint(CameraViewpoint *param_2, unk32 param_3) {} -unk8 MapBase::GetCurrentViewpoint_Unk_00(s32 param_2) {} +bool MapBase::FindViewpoint_Unk_4(char id, CameraViewpoint *param_3) {} +bool MapBase::FindViewpoint_Unk_0(s32 param_2, CameraViewpoint *param_3) {} +void MapBase::GetCurrentViewpoint(CameraViewpoint *param_2, s32 param_3) {} +unk32 MapBase::GetCurrentViewpoint_Unk_00(s32 param_2) {} unk32 MapBase::vfunc_b8() {} -bool MapBase::func_ov00_02080824(unk32 param_2, unk32 param_3) {} -bool MapBase::AddUnk_130(unk32 param_2) {} -bool MapBase::func_ov00_020809b8(unk32 param_2) {} +bool MapBase::func_ov00_02080824(u32 param_2, unk8 *param_3) {} +bool MapBase::AddUnk_130(s32 param_2) {} +bool MapBase::func_ov00_020809b8(s32 param_2) {} unk8 MapBase::func_ov00_02080a78(Vec3p *param_2) {} void MapBase_Unk2::func_ov00_02080ad0(TriggerBase **param_2, TriggerBase **param_3) {} unk8 MapBase::func_ov00_02080b24(Vec2b *param_2) {} diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp index 613f7cb9..07d22009 100644 --- a/src/00_Core/Map/MapManager.cpp +++ b/src/00_Core/Map/MapManager.cpp @@ -200,7 +200,6 @@ ARM void MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) { } this->mMap = mapBase; } - return; } ARM void MapManager::DestroyMap() { @@ -484,7 +483,7 @@ ARM void MapManager::func_ov00_0208306c(s32 *param_2, s32 *param_3) { local_1c.y = gPlayerPos->y; local_1c.x = gPlayerPos->x; local_1c.z = gPlayerPos->z; - this->func_ov00_02083a1c(auStack_2c, this, &local_1c); + this->func_ov00_02083a1c((s32 *) auStack_2c, this, &local_1c); this->func_ov00_02082d84(auStack_2c, param_2, param_3); } @@ -551,6 +550,7 @@ ARM void MapManager::func_ov00_02083298(u32 param_2, Vec3p *param_3, s32 *param_ 0x800 >> 0xc); */ + // [!] BELOW IS NOT CODE: // PTR_MapManager_Unk1_overlay_d_0__020e24c8_overlay_d_0__02083300 // PTR_MapManager_Unk2_overlay_d_0__020e24e8_overlay_d_0__020832fc // PTR_MapManager_Unk1_overlay_d_0__020e24c8.field1_0x4_overlay_d_0__02083308 @@ -786,34 +786,246 @@ ARM bool MapManager::GetOverlappingTrigger(Vec3p *param_2) { return this->mMap->GetOverlappingTrigger(param_2); } -bool MapManager::func_ov00_02083790(unk32 param_2) {} -unk8 MapManager::func_ov00_02083840(unk32 param_2) {} -bool MapManager::func_ov00_020838c8(s32 param_2) {} -bool MapManager::func_ov00_020838d8(s32 param_2) {} -bool MapManager::func_ov00_020838e8(u32 param_2, unk32 *param_3) {} -char MapManager::func_ov00_020838f8(unk32 *param_2) {} -bool MapManager::func_ov00_02083908(char param_2, unk32 *param_3) {} -void MapManager::func_ov00_02083918(s32 param_2, s32 *param_3) {} -void MapManager::func_ov00_02083928(unk8 *param_2, s32 param_3) {} -unk32 MapManager::func_ov00_02083938(s32 param_2) {} -unk8 MapManager::Set_MapData_Unk_16(unk8 value, unk32 index) {} -void MapManager::func_ov00_02083958(s32 param_2) {} -void MapManager::func_ov00_02083968(u32 param_2, unk8 *param_3) {} -bool MapManager::func_ov00_02083978(unk32 param_2, Vec3p *param_3) {} -bool MapManager::func_ov00_020839b4(s32 param_2) {} -bool MapManager::func_ov00_020839c4(s32 param_2) {} -unk8 MapManager::func_ov00_020839d4() {} -unk8 MapManager::func_ov00_020839f8() {} -void MapManager::func_ov00_02083a1c(unk8 *param_1, MapManager *param_2, Vec3p *param_3) {} -unk8 MapManager::func_ov00_02083a54(u8 *param_1, MapManager *param_2, s32 *param_3, u8 param_4, u8 param_5) {} -unk8 MapManager::func_ov00_02083b84() {} -unk8 MapManager::func_ov00_02083bac() {} -unk8 MapManager::func_ov00_02083bd4() {} -unk8 MapManager::func_ov00_02083bfc() {} -unk8 MapManager::func_ov00_02083c24(unk32 param_2) {} -unk8 MapManager::func_ov00_02083c50(unk32 param_2) {} -unk8 MapManager::func_ov00_02083c7c(Vec3p *param_2, unk32 param_3) {} -unk8 MapManager::func_ov00_02083ce8(unk8 param_1, unk8 param_2, unk8 param_3, unk8 param_4, unk32 param_5) {} +ARM bool MapManager::func_ov00_02083790(s32 param_2) { + unk8 *puVar1; + unk8 *puVar2; + bool bVar3; + s32 iVar4; + s32 iStack_18; + s32 aiStack_14[2]; + + // puVar2 = PTR_PTR_overlay_d_0__02083834; + // puVar1 = PTR_DWORD_overlay_d_0__02083830; + if (param_2 != 0) { + // *(s32 *) (*(s32 *) (*(s32 *) PTR_DWORD_overlay_d_0__02083830 + 8) + 0x1b4) = param_2; + *(s32 *) (*(s32 *) (*(s32 *) puVar1 + 4) + 0x1b4) = param_2; + // iVar4 = UnkStruct_027e0d38::FUN_overlay_d_0__02078b40(*(UnkStruct_027e0d38 **) puVar2); + if ((iVar4 != 0) && (bVar3 = this->func_ov00_02082e1c(aiStack_14, &iStack_18), !bVar3)) { + // FUN_overlay_d_0__02079898(*(undefined4 *) PTR_DWORD_overlay_d_0__02083838, param_2, 0x10); + gActorManager->func_ov00_020c3ce8(param_2, true); + } + bVar3 = this->mMap->AnyTrigger_func_0c(param_2); + return bVar3; + } + return true; +} + +ARM bool MapManager::func_ov00_02083840(s32 param_2) { + unk8 *puVar1; + unk8 *puVar2; + bool bVar3; + s32 iVar4; + + // puVar2 = PTR_DWORD_overlay_d_0__020838c0; + // puVar1 = PTR_DWORD_overlay_d_0__020838bc; + if (param_2 != 0) { + // *(unk32 *) (*(int *) (*(int *) PTR_DWORD_overlay_d_0__020838bc + 8) + 0x1b4) = 0xffffffff; + // *(unk32 *) (*(int *) (*(int *) puVar1 + 4) + 0x1b4) = 0xffffffff; + // iVar4 = FUN_overlay_d_0__02078fe8(*(unk32 *) puVar2); + if (-1 < iVar4) { + // FUN_overlay_d_0__020798bc(*(unk32 *) PTR_DWORD_overlay_d_0__020838c0, 0x10); + gActorManager->func_ov00_020c3ce8(param_2, false); + } + bVar3 = this->mMap->TriggerOfType_vfunc_10(param_2); + return bVar3; + } + return true; +} + +ARM bool MapManager::AddTrigger(s32 param_2) { + return this->mMap->AddTrigger(param_2); +} + +ARM bool MapManager::func_ov00_020838d8(s32 param_2) { + return this->mMap->func_ov00_0207ff88(param_2); +} + +ARM bool MapManager::FindExit(u32 param_2, Exit *param_3) { + return this->mMap->FindExit(param_2, param_3); +} + +ARM char MapManager::func_ov00_020838f8(Exit *param_2) { + return this->mMap->func_ov00_02080140(param_2); +} + +ARM bool MapManager::func_ov00_02083908(char id, CameraViewpoint *param_3) { + return this->mMap->FindViewpoint_Unk_4(id, param_3); +} + +ARM void MapManager::func_ov00_02083918(s32 param_2, CameraViewpoint *param_3) { + this->mMap->FindViewpoint_Unk_0(param_2, param_3); +} + +ARM void MapManager::GetCurrentViewpoint(CameraViewpoint *param_2, s32 param_3) { + this->mMap->GetCurrentViewpoint(param_2, param_3); +} + +ARM unk32 MapManager::func_ov00_02083938(s32 param_2) { + return this->mMap->GetCurrentViewpoint_Unk_00(param_2); +} + +ARM void MapManager::SetCurrentViewpointId(unk8 value, s32 index) { + this->mMap->mCurrViewpointId[index] = value; +} + +ARM void MapManager::func_ov00_02083958(s32 param_2) { + this->mMap->func_ov00_0207f924(param_2); +} + +ARM void MapManager::func_ov00_02083968(u32 param_2, unk8 *param_3) { + this->mMap->func_ov00_02080824(param_2, param_3); +} + +ARM bool MapManager::func_ov00_02083978(Vec3p *param_2, Vec3p *param_3) { + s32 iVar1 = this->mMap->func_ov00_02080a78(param_2); + if (iVar1 != 0) { + param_3->x = *(s32 *) (iVar1 + 0x8); + param_3->y = *(s32 *) (iVar1 + 0xc); + param_3->z = *(s32 *) (iVar1 + 0x10); + return true; + } + return false; +} + +ARM bool MapManager::func_ov00_020839b4(s32 param_2) { + return this->mMap->AddUnk_130(param_2); +} + +ARM bool MapManager::func_ov00_020839c4(s32 param_2) { + return this->mMap->func_ov00_020809b8(param_2); +} + +ARM s32 MapManager::func_ov00_020839d4(s32 param_2) { + return this->mMap->GetClampedTileX(param_2 - this->GetMapCenterX()); +} + +ARM s32 MapManager::func_ov00_020839f8(s32 param_2) { + return this->mMap->GetClampedTileY(param_2 - this->GetMapCenterZ()); +} + +ARM void MapManager::func_ov00_02083a1c(s32 *param_1, MapManager *param_2, Vec3p *param_3) { + *param_1 = param_2->func_ov00_020839f8(param_3->z); + param_1[1] = param_2->func_ov00_020839d4(param_3->x); +} + +ARM void MapManager::func_ov00_02083a54(u8 *param_1, MapManager *param_2, s32 *param_3, s32 param_4, s32 *param_5) { + bool bVar1; + unk8 uVar2; + unk8 uVar3; + s32 iVar4; + u32 uVar5; + s32 *piVar6; + Vec3p local_38; + Vec3p local_2c; + Vec3p VStack_20; + + piVar6 = param_3; + iVar4 = param_2->GetCourseData_Unk_25c(); + if (iVar4 == 0) { + uVar2 = param_2->func_ov00_020839f8(param_3[2]); + uVar3 = param_2->func_ov00_020839d4(*param_3); + *param_1 = uVar3; + param_1[1] = uVar2; + return; + } + if (param_4 != -1) { + piVar6 = param_5; + } + if (param_4 != -1 && piVar6 != (int *) 0xffffffff) { + uVar5 = (u32) * (u8 *) ((s32) piVar6 + (s32) (param_2->mCourse->mMapGrid + param_4)); + } else { + uVar5 = param_2->func_ov00_02082d08(); + } + bVar1 = param_2->IsMapInMainGrid(uVar5); + if (!bVar1) { + uVar2 = param_2->func_ov00_020839f8(param_3[2]); + uVar3 = param_2->func_ov00_020839d4(*param_3); + *param_1 = uVar3; + param_1[1] = uVar2; + return; + } + param_2->func_ov00_02083524(&VStack_20, param_4, *param_5); + local_38.x = *param_3; + local_38.y = param_3[1]; + local_38.z = param_3[2]; + Vec3p_Sub(&local_38, &VStack_20, &local_2c); + uVar2 = param_2->mMap->GetClampedTileY(local_2c.z); + uVar3 = param_2->mMap->GetClampedTileX(local_2c.x); + *param_1 = uVar3; + param_1[1] = uVar2; +} + +ARM s32 MapManager::GetTileStartX(unk32 x) { + return this->GetMapCenterX() + this->mMap->GetTileStartX(x); +} + +ARM s32 MapManager::GetTileStartZ(unk32 z) { + return this->GetMapCenterZ() + this->mMap->GetTileStartZ(z); +} + +ARM s32 MapManager::GetTileEndX(unk32 x) { + return this->GetMapCenterX() + this->mMap->GetTileEndX(x); +} + +ARM s32 MapManager::GetTileEndZ(unk32 z) { + return this->GetMapCenterZ() + this->mMap->GetTileEndZ(z); +} + +ARM s32 MapManager::func_ov00_02083c24(unk32 x) { + return this->GetMapCenterX() + this->mMap->GetTileStartX(x) + 0x800; +} + +ARM s32 MapManager::func_ov00_02083c50(unk32 z) { + return this->GetMapCenterZ() + this->mMap->GetTileStartZ(z) + 0x800; +} + +ARM void MapManager::func_ov00_02083c7c(Vec3p *param_2, u32 param_3) { + Vec3p local_28; // Unused. So why, ghidra? Why? Tell me why. + param_2->x = this->func_ov00_02083c24(param_3 & 0xff); + param_2->z = this->func_ov00_02083c50(param_3 >> 8 & 0xff); + param_2->y = this->MapData_vfunc_68(); +} + +ARM void MapManager::func_ov00_02083ce8(MapManager *param_1, s32 *param_2, u32 param_3, s32 param_4, u32 param_5) { + bool bVar1; + s32 iVar2; + u32 uVar3; + Vec3p local_2c; + + uVar3 = param_3; + iVar2 = param_1->GetCourseData_Unk_25c(); + if (iVar2 == 0) { + iVar2 = param_1->mMap->GetTileStartX(param_3 & 0xff); + *param_2 = iVar2 + 0x800; + iVar2 = param_1->mMap->GetTileStartZ(param_3 >> 8 & 0xff); + param_2[2] = iVar2 + 0x800; + } else { + if (param_4 != -1) { + uVar3 = param_5; + } + if (param_4 != -1 && uVar3 != 0xffffffff) { + uVar3 = (u32) (u8) param_1->mCourse->mMapGrid[param_4][uVar3]; + } else { + uVar3 = param_1->func_ov00_02082d08(); + } + bVar1 = param_1->IsMapInMainGrid(uVar3); + if (bVar1) { + param_1->func_ov00_02083524(&local_2c, param_4, param_5); + iVar2 = param_1->mMap->GetTileStartX(param_3 & 0xff); + *param_2 = local_2c.x + iVar2 + 0x800; + iVar2 = param_1->mMap->GetTileStartZ(param_3 >> 8 & 0xff); + param_2[2] = local_2c.z + iVar2 + 0x800; + } else { + iVar2 = param_1->mMap->GetTileStartX(param_3 & 0xff); + *param_2 = iVar2 + 0x800; + iVar2 = param_1->mMap->GetTileStartZ(param_3 >> 8 & 0xff); + param_2[2] = iVar2 + 0x800; + } + } + iVar2 = param_1->MapData_vfunc_68(); + param_2[1] = iVar2; +} + unk8 MapManager::func_ov00_02083e34(unk8 param_2, unk8 param_3, unk32 param_4) {} unk8 MapManager::MapData_vfunc_60() {} unk8 MapManager::func_ov00_02083e70() {}