mirror of
https://github.com/zeldaret/ph
synced 2026-05-26 23:47:18 -04:00
Decomp progress 35%
This commit is contained in:
@@ -83,7 +83,7 @@ _ZN18UnkStruct_027e0d3819func_ov000_02078b40Ev kind:function(arm,size=0x24) addr
|
||||
_ZN18UnkStruct_027e0d3819func_ov000_02078b64Ev kind:function(arm,size=0x24) addr:0x2078b64
|
||||
_ZN18UnkStruct_027e0d3819func_ov000_02078b88Ev kind:function(arm,size=0x3c) addr:0x2078b88
|
||||
_Z19func_ov000_02078bc4i kind:function(thumb,size=0x2c) addr:0x2078bc4
|
||||
func_ov000_02078bf0 kind:function(thumb,size=0x11c) addr:0x2078bf0
|
||||
_Z19func_ov000_02078bf0Pii kind:function(thumb,size=0x11c) addr:0x2078bf0
|
||||
func_ov000_02078d0c kind:function(thumb,size=0x24) addr:0x2078d0c
|
||||
func_ov000_02078d30 kind:function(thumb,size=0x24) addr:0x2078d30
|
||||
func_ov000_02078d54 kind:function(thumb,size=0x3c) addr:0x2078d54
|
||||
@@ -283,7 +283,7 @@ _ZN6Course14GetMCSFilePathEiii kind:function(arm,size=0xf0) addr:0x207cc84
|
||||
_ZN6Course14GetMRCFilePathEiii kind:function(arm,size=0xac) addr:0x207cd74
|
||||
_ZN6Course18func_ov00_0207ce20EiiPci kind:function(arm,size=0x2c) addr:0x207ce20
|
||||
_ZN6Course18func_ov00_0207ce4cEiiiPci kind:function(arm,size=0x5b8) addr:0x207ce4c
|
||||
_ZN6Course18func_ov00_0207d404Eiii kind:function(arm,size=0x78) addr:0x207d404
|
||||
_ZN6Course18func_ov00_0207d404Eiiii kind:function(arm,size=0x78) addr:0x207d404
|
||||
_ZN6Course22IsCurrentMapInMainGridEv kind:function(arm,size=0x14) addr:0x207d47c
|
||||
_ZN6Course12IsInMainGridEii kind:function(arm,size=0x54) addr:0x207d490
|
||||
_ZN6Course15IsMapInMainGridEj kind:function(arm,size=0x34) addr:0x207d4e4
|
||||
@@ -516,7 +516,7 @@ _ZN10MapManager18func_ov00_02082650Eiii kind:function(arm,size=0x10) addr:0x2082
|
||||
_ZN10MapManager18func_ov00_02082660Eii kind:function(arm,size=0x10) addr:0x2082660
|
||||
_ZN10MapManager18func_ov00_02082670Eii kind:function(arm,size=0x10) addr:0x2082670
|
||||
_ZN10MapManager18func_ov00_02082680Eii kind:function(arm,size=0x20) addr:0x2082680
|
||||
_ZN10MapManager18func_ov00_020826a0Eiii kind:function(arm,size=0x20) addr:0x20826a0
|
||||
_ZN10MapManager18func_ov00_020826a0Eii kind:function(arm,size=0x20) addr:0x20826a0
|
||||
_ZN10MapManager9CreateMapEiii kind:function(arm,size=0x100) addr:0x20826c0
|
||||
_ZN10MapManager10DestroyMapEv kind:function(arm,size=0x30) addr:0x20827c0
|
||||
_ZN10MapManager16MapData_vfunc_44Ev kind:function(arm,size=0x18) addr:0x20827f0
|
||||
@@ -571,7 +571,7 @@ _ZN10MapManager18func_ov00_02083570Eii kind:function(arm,size=0x18) addr:0x20835
|
||||
_ZN10MapManager18func_ov00_02083588Ev kind:function(arm,size=0x1c) addr:0x2083588
|
||||
_ZN10MapManager18func_ov00_020835a4Ev kind:function(arm,size=0x10) addr:0x20835a4
|
||||
_ZN10MapManager18func_ov00_020835b4Ev kind:function(arm,size=0x10) addr:0x20835b4
|
||||
_ZN10MapManager18func_ov00_020835c4EPS_ii kind:function(arm,size=0x20) addr:0x20835c4
|
||||
_ZN10MapManager18func_ov00_020835c4Eii kind:function(arm,size=0x20) addr:0x20835c4
|
||||
_ZN10MapManager18func_ov00_020835e4EiPiPc kind:function(arm,size=0x10) addr:0x20835e4
|
||||
_ZN10MapManager18func_ov00_020835f4Ei kind:function(arm,size=0x10) addr:0x20835f4
|
||||
_ZN10MapManager18func_ov00_02083604Ei kind:function(arm,size=0x10) addr:0x2083604
|
||||
@@ -647,7 +647,7 @@ _ZN10MapManager18func_ov00_020847f0Ev kind:function(arm,size=0x48) addr:0x20847f
|
||||
_ZN10MapManager18func_ov00_02084838Ev kind:function(arm,size=0x80) addr:0x2084838
|
||||
_ZN10MapManager18func_ov00_020848b8Ev kind:function(arm,size=0x6c) addr:0x20848b8
|
||||
_ZN10MapManager18func_ov00_02084924Ej kind:function(arm,size=0x10) addr:0x2084924
|
||||
_ZN10MapManager18func_ov00_02084934EPi kind:function(arm,size=0x50) addr:0x2084934
|
||||
_ZN10MapManager18func_ov00_02084934EP5Vec3p kind:function(arm,size=0x50) addr:0x2084934
|
||||
_ZN10MapManager17GetMapData_Unk_06Ev kind:function(arm,size=0xc) addr:0x2084984
|
||||
_ZN10MapManager17GetMapData_Unk_07Ev kind:function(arm,size=0xc) addr:0x2084990
|
||||
_ZN10MapManager18func_ov00_0208499cEv kind:function(arm,size=0x24) addr:0x208499c
|
||||
@@ -672,7 +672,7 @@ _ZN10MapManager18func_ov00_02084cc8Ei kind:function(arm,size=0x1c) addr:0x2084cc
|
||||
_ZN10MapManager18func_ov00_02084ce4Ei kind:function(arm,size=0x18) addr:0x2084ce4
|
||||
_ZN10MapManager18func_ov00_02084cfcEi kind:function(arm,size=0x1c) addr:0x2084cfc
|
||||
_ZN10MapManager17GetMapData_Unk_09Ev kind:function(arm,size=0xc) addr:0x2084d18
|
||||
_ZN10MapManager18func_ov00_02084d24Ecci kind:function(arm,size=0x28) addr:0x2084d24
|
||||
_ZN10MapManager18func_ov00_02084d24Eiii kind:function(arm,size=0x28) addr:0x2084d24
|
||||
_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p kind:function(arm,size=0x170) addr:0x2084d4c
|
||||
_ZN10MapManager18func_ov00_02084ebcEP5Vec3p kind:function(arm,size=0x24c) addr:0x2084ebc
|
||||
_ZN10MapManager18func_ov00_02085108EPi kind:function(arm,size=0x174) addr:0x2085108
|
||||
@@ -1459,7 +1459,7 @@ func_ov000_0209d6d0 kind:function(arm,size=0x4) addr:0x209d6d0
|
||||
func_ov000_0209d6d4 kind:function(arm,size=0x14) addr:0x209d6d4
|
||||
_Z19func_ov000_0209d6e8ii kind:function(arm,size=0x28) addr:0x209d6e8
|
||||
func_ov000_0209d710 kind:function(arm,size=0xc) addr:0x209d710
|
||||
func_ov000_0209d71c kind:function(arm,size=0xc) addr:0x209d71c
|
||||
_Z19func_ov000_0209d71cPii kind:function(arm,size=0xc) addr:0x209d71c
|
||||
func_ov000_0209d728 kind:function(arm,size=0x10) addr:0x209d728
|
||||
func_ov000_0209d738 kind:function(arm,size=0x10) addr:0x209d738
|
||||
func_ov000_0209d748 kind:function(arm,size=0x10) addr:0x209d748
|
||||
@@ -4054,7 +4054,7 @@ data_ov000_020e250c kind:data(any) addr:0x20e250c
|
||||
data_ov000_020e2510 kind:data(any) addr:0x20e2510
|
||||
data_ov000_020e2520 kind:data(any) addr:0x20e2520
|
||||
data_ov000_020e2524 kind:data(any) addr:0x20e2524
|
||||
data_ov000_020e2528 kind:data(any) addr:0x20e2528
|
||||
@1495 kind:data(any) addr:0x20e2528
|
||||
data_ov000_020e2544 kind:data(any) addr:0x20e2544
|
||||
data_ov000_020e2568 kind:data(any) addr:0x20e2568
|
||||
data_ov000_020e2588 kind:data(any) addr:0x20e2588
|
||||
|
||||
@@ -478,7 +478,7 @@ func_0200c7c4 kind:function(arm,size=0x30) addr:0x200c7c4
|
||||
func_0200c7f4 kind:function(arm,size=0x30) addr:0x200c7f4
|
||||
func_0200c824 kind:function(arm,size=0x54) addr:0x200c824
|
||||
func_0200c878 kind:function(arm,size=0x58) addr:0x200c878
|
||||
sprintf kind:function(arm,size=0x28) addr:0x200c8d0
|
||||
_Z7sprintfrPcrPKcz kind:function(arm,size=0x28) addr:0x200c8d0
|
||||
vsprintf kind:function(arm,size=0x18) addr:0x200c8f8
|
||||
va_sprintf kind:function(arm,size=0x28) addr:0x200c910
|
||||
vsnprintf kind:function(arm,size=0x8fc) addr:0x200c938
|
||||
|
||||
@@ -283,7 +283,7 @@ _ZN6Course14GetMCSFilePathEiii kind:function(arm,size=0xf0) addr:0x207cc24
|
||||
_ZN6Course14GetMRCFilePathEiii kind:function(arm,size=0xac) addr:0x207cd14
|
||||
_ZN6Course18func_ov00_0207ce20EiiPci kind:function(arm,size=0x2c) addr:0x207cdc0
|
||||
_ZN6Course18func_ov00_0207ce4cEiiiPci kind:function(arm,size=0x5b8) addr:0x207cdec
|
||||
_ZN6Course18func_ov00_0207d404Eiii kind:function(arm,size=0x78) addr:0x207d3a4
|
||||
_ZN6Course18func_ov00_0207d404Eiiii kind:function(arm,size=0x78) addr:0x207d3a4
|
||||
_ZN6Course22IsCurrentMapInMainGridEv kind:function(arm,size=0x14) addr:0x207d41c
|
||||
_ZN6Course12IsInMainGridEii kind:function(arm,size=0x54) addr:0x207d430
|
||||
_ZN6Course15IsMapInMainGridEj kind:function(arm,size=0x34) addr:0x207d484
|
||||
@@ -516,7 +516,7 @@ _ZN10MapManager18func_ov00_02082650Eiii kind:function(arm,size=0x10) addr:0x2082
|
||||
_ZN10MapManager18func_ov00_02082660Eii kind:function(arm,size=0x10) addr:0x2082600
|
||||
_ZN10MapManager18func_ov00_02082670Eii kind:function(arm,size=0x10) addr:0x2082610
|
||||
_ZN10MapManager18func_ov00_02082680Eii kind:function(arm,size=0x20) addr:0x2082620
|
||||
_ZN10MapManager18func_ov00_020826a0Eiii kind:function(arm,size=0x20) addr:0x2082640
|
||||
_ZN10MapManager18func_ov00_020826a0Eii kind:function(arm,size=0x20) addr:0x2082640
|
||||
_ZN10MapManager9CreateMapEiii kind:function(arm,size=0x100) addr:0x2082660
|
||||
_ZN10MapManager10DestroyMapEv kind:function(arm,size=0x30) addr:0x2082760
|
||||
_ZN10MapManager16MapData_vfunc_44Ev kind:function(arm,size=0x18) addr:0x2082790
|
||||
@@ -571,7 +571,7 @@ _ZN10MapManager18func_ov00_02083570Eii kind:function(arm,size=0x18) addr:0x20835
|
||||
_ZN10MapManager18func_ov00_02083588Ev kind:function(arm,size=0x1c) addr:0x2083528
|
||||
_ZN10MapManager18func_ov00_020835a4Ev kind:function(arm,size=0x10) addr:0x2083544
|
||||
_ZN10MapManager18func_ov00_020835b4Ev kind:function(arm,size=0x10) addr:0x2083554
|
||||
_ZN10MapManager18func_ov00_020835c4EPS_ii kind:function(arm,size=0x20) addr:0x2083564
|
||||
_ZN10MapManager18func_ov00_020835c4Eii kind:function(arm,size=0x20) addr:0x2083564
|
||||
_ZN10MapManager18func_ov00_020835e4EiPiPc kind:function(arm,size=0x10) addr:0x2083584
|
||||
_ZN10MapManager18func_ov00_020835f4Ei kind:function(arm,size=0x10) addr:0x2083594
|
||||
_ZN10MapManager18func_ov00_02083604Ei kind:function(arm,size=0x10) addr:0x20835a4
|
||||
@@ -647,7 +647,7 @@ _ZN10MapManager18func_ov00_020847f0Ev kind:function(arm,size=0x48) addr:0x208479
|
||||
_ZN10MapManager18func_ov00_02084838Ev kind:function(arm,size=0x80) addr:0x20847d8
|
||||
_ZN10MapManager18func_ov00_020848b8Ev kind:function(arm,size=0x6c) addr:0x2084858
|
||||
_ZN10MapManager18func_ov00_02084924Ej kind:function(arm,size=0x10) addr:0x20848c4
|
||||
_ZN10MapManager18func_ov00_02084934EPi kind:function(arm,size=0x50) addr:0x20848d4
|
||||
_ZN10MapManager18func_ov00_02084934EP5Vec3p kind:function(arm,size=0x50) addr:0x20848d4
|
||||
_ZN10MapManager17GetMapData_Unk_06Ev kind:function(arm,size=0xc) addr:0x2084924
|
||||
_ZN10MapManager17GetMapData_Unk_07Ev kind:function(arm,size=0xc) addr:0x2084930
|
||||
_ZN10MapManager18func_ov00_0208499cEv kind:function(arm,size=0x24) addr:0x208493c
|
||||
@@ -672,7 +672,7 @@ _ZN10MapManager18func_ov00_02084cc8Ei kind:function(arm,size=0x1c) addr:0x2084c6
|
||||
_ZN10MapManager18func_ov00_02084ce4Ei kind:function(arm,size=0x18) addr:0x2084c84
|
||||
_ZN10MapManager18func_ov00_02084cfcEi kind:function(arm,size=0x1c) addr:0x2084c9c
|
||||
_ZN10MapManager17GetMapData_Unk_09Ev kind:function(arm,size=0xc) addr:0x2084cb8
|
||||
_ZN10MapManager18func_ov00_02084d24Ecci kind:function(arm,size=0x28) addr:0x2084cc4
|
||||
_ZN10MapManager18func_ov00_02084d24Eiii kind:function(arm,size=0x28) addr:0x2084cc4
|
||||
_ZN10MapManager18func_ov00_02084d4cEiiP5Vec3p kind:function(arm,size=0x170) addr:0x2084cec
|
||||
_ZN10MapManager18func_ov00_02084ebcEP5Vec3p kind:function(arm,size=0x24c) addr:0x2084e5c
|
||||
_ZN10MapManager18func_ov00_02085108EPi kind:function(arm,size=0x174) addr:0x20850a8
|
||||
|
||||
@@ -78,7 +78,7 @@ public:
|
||||
void GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4);
|
||||
void func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5);
|
||||
void func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6);
|
||||
bool func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4);
|
||||
bool func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4, unk32 param_5);
|
||||
bool IsCurrentMapInMainGrid();
|
||||
bool IsInMainGrid(s32 x, s32 y);
|
||||
bool IsMapInMainGrid(u32 map);
|
||||
|
||||
@@ -12,7 +12,7 @@ public:
|
||||
/* 00 */ Vec3p mPos;
|
||||
/* 0c */ unk16 mAngle;
|
||||
/* 0e */ u8 mId;
|
||||
/* 0f */ unk8 mUnk_0f;
|
||||
/* 0f */ // unk8 mUnk_0f;
|
||||
/* 10 */ s32 mUnk_10;
|
||||
/* 14 */
|
||||
};
|
||||
|
||||
@@ -73,7 +73,7 @@ public:
|
||||
void func_ov00_02082660(s32 param_2, s32 param_3);
|
||||
void func_ov00_02082670(unk32 param_2, s32 param_3);
|
||||
void func_ov00_02082680(unk32 param_2, unk32 param_3);
|
||||
void func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
void func_ov00_020826a0(unk32 param_2, unk32 param_3);
|
||||
void CreateMap(unk32 mapType, unk32 param_3, unk32 param_4);
|
||||
void DestroyMap();
|
||||
void MapData_vfunc_44();
|
||||
@@ -128,7 +128,7 @@ public:
|
||||
unk32 func_ov00_02083588();
|
||||
unk32 func_ov00_020835a4();
|
||||
unk32 func_ov00_020835b4();
|
||||
unk8 func_ov00_020835c4(MapManager *param_1, s32 param_2, unk32 param_3);
|
||||
bool func_ov00_020835c4(s32 param_2, unk32 param_3);
|
||||
bool func_ov00_020835e4(s32 param_2, unk32 *param_3, unk8 *param_4);
|
||||
unk32 func_ov00_020835f4(s32 param_2);
|
||||
void func_ov00_02083604(s32 param_2);
|
||||
@@ -204,7 +204,7 @@ public:
|
||||
bool func_ov00_02084838();
|
||||
bool func_ov00_020848b8();
|
||||
void func_ov00_02084924(u32 param_2);
|
||||
bool func_ov00_02084934(s32 *param_2);
|
||||
bool func_ov00_02084934(Vec3p *param_2);
|
||||
u8 GetMapData_Unk_06();
|
||||
u8 GetMapData_Unk_07();
|
||||
bool func_ov00_0208499c();
|
||||
@@ -229,7 +229,7 @@ public:
|
||||
void func_ov00_02084ce4(unk32 param_2);
|
||||
bool func_ov00_02084cfc(unk32 param_2);
|
||||
u8 GetMapData_Unk_09();
|
||||
unk8 func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4);
|
||||
void func_ov00_02084d24(unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
s32 func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4);
|
||||
unk32 func_ov00_02084ebc(Vec3p *param_2);
|
||||
s32 func_ov00_02085108(s32 *param_2);
|
||||
|
||||
@@ -15,7 +15,7 @@ void Course::GetMCSFilePath(unk32 buf, s32 fileIndex, unk32 fileType) {}
|
||||
void Course::GetMRCFilePath(unk32 param_2, unk32 buf, unk32 param_4) {}
|
||||
void Course::func_ov00_0207ce20(unk32 param_2, unk32 param_3, char *param_4, unk32 param_5) {}
|
||||
void Course::func_ov00_0207ce4c(s32 param_2, s32 param_3, unk32 param_4, char *param_5, unk32 param_6) {}
|
||||
bool Course::func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4) {}
|
||||
bool Course::func_ov00_0207d404(s32 param_2, unk32 param_3, unk32 param_4, unk32 param_5) {}
|
||||
bool Course::IsCurrentMapInMainGrid() {}
|
||||
bool Course::IsInMainGrid(s32 x, s32 y) {}
|
||||
bool Course::IsMapInMainGrid(u32 map) {}
|
||||
|
||||
+122
-129
@@ -1,6 +1,11 @@
|
||||
// TODO: Make sure every function has either ARM or THUMB
|
||||
// TODO: Optimise functions' bodies as much as possible (without affecting asm)
|
||||
// Clear these comments when done
|
||||
|
||||
#include "Map/MapManager.hpp"
|
||||
#include "Actor/Actor.hpp"
|
||||
#include "Actor/ActorManager.hpp"
|
||||
#include "DTCM/UnkStruct_027e0d38.hpp"
|
||||
#include "Player/PlayerBase.hpp"
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
|
||||
@@ -33,6 +38,7 @@ extern void func_ov000_02093a1c(u32 *param_1, s32 *param_2);
|
||||
extern void func_ov000_02096324(s32 *param_1, s32 param_2);
|
||||
extern s32 *func_ov000_02096418(s32 *param_1);
|
||||
extern void func_ov000_0209d6e8(s32 param_1, s32 param_2);
|
||||
extern s32 func_ov000_0209d71c(s32 *param_1, s32 param_2);
|
||||
extern unk32 func_ov000_020a5e9c(unk32 *param_1);
|
||||
|
||||
extern void func_ov004_021024c4(MapManager *param_1, s32 param_2, bool param_3, s32 param_4);
|
||||
@@ -42,20 +48,32 @@ extern void func_ov004_02102e3c(s32 *param_1);
|
||||
extern void func_ov004_02105578(ActorManager *param_1, u32 param_2);
|
||||
extern void func_ov004_02105608(ActorManager *param_1, unk32 param_2, unk32 param_3, unk32 param_4);
|
||||
|
||||
extern MapBase *func_ov012_0212b358(MapBase *param_1, unk32 param_2, unk32 param_3);
|
||||
|
||||
extern MapBase *func_ov015_02128dd8(MapBase *param_1, unk32 param_2, unk32 param_3);
|
||||
extern s32 func_ov015_02129c14(MapBase *param_1);
|
||||
extern bool func_ov015_02129c24(MapBase *param_1, Vec3p *param_2, Vec3p *param_3);
|
||||
extern bool func_ov015_02129c34(MapBase *param_1, s32 param_2);
|
||||
extern bool func_ov015_02129c44(MapBase *param_1, s32 param_2);
|
||||
|
||||
struct UnkStruct_027e0d38 {
|
||||
/* 00 */ unk8 mUnk_00[0xc];
|
||||
extern MapBase *func_ov017_0215b4e8(MapBase *param_1, unk32 param_2, unk32 param_3);
|
||||
|
||||
extern MapBase *func_ov018_0215b4a0(MapBase *param_1, unk32 param_2, unk32 param_3);
|
||||
|
||||
// Should this be defined?
|
||||
extern int sprintf(char *__restrict s, const char *__restrict format, ...);
|
||||
|
||||
struct UnkStruct_02082348 {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0c */ unk32 mUnk_0c;
|
||||
/* 10 */ unk8 mUnk_10[0x18];
|
||||
/* 28 */ unk32 mUnk_28;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk8 mUnk_12[0x4];
|
||||
};
|
||||
|
||||
extern s32 *data_027e0c68;
|
||||
extern UnkStruct_027e0d38 *data_027e0d38;
|
||||
extern u32 *data_027e0ce4;
|
||||
extern s32 *data_027e0d3c;
|
||||
extern s32 *data_027e0f64;
|
||||
extern s32 *data_027e0f68;
|
||||
@@ -117,8 +135,8 @@ unk8 MapManager::func_ov00_0208210c(unk32 param_2, unk32 *param_3) {
|
||||
*(unk8 *) (param_3 + 1) = 2;
|
||||
uVar2 = 4;
|
||||
}
|
||||
*(unk8 *) ((int) param_3 + 5) = uVar2;
|
||||
uVar3 = func_ov000_020a5e9c(&data_027e0d38->mUnk_28) + 0x1c;
|
||||
*(unk8 *) ((int) param_3 + 5) = uVar2;
|
||||
// uVar3 = func_ov000_020a5e9c(data_027e0d38->mUnk_28) + 0x1c;
|
||||
puVar1 = (s32 *) data_027e0d38;
|
||||
param_3[2] = uVar3;
|
||||
*(unk8 *) (param_3 + 4) = *(unk8 *) (*(s32 *) (*(s32 *) puVar1 + 0x28) + 0x2e);
|
||||
@@ -169,13 +187,18 @@ ARM void MapManager::func_ov00_0208230c(s32 *param_2) {
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_02082348(unk32 *param_2) {
|
||||
s32 var[4];
|
||||
var[0] = 0x47;
|
||||
var[1] = 0;
|
||||
var[2] = 0;
|
||||
var[3] = 0xfffffffe;
|
||||
this->func_ov00_0208230c(var);
|
||||
func_ov000_02078bf0(var, *param_2);
|
||||
UnkStruct_02082348 unkStruct;
|
||||
unkStruct.mUnk_00 = 0x47;
|
||||
unkStruct.mUnk_04 = 0;
|
||||
unkStruct.mUnk_08 = 0;
|
||||
unkStruct.mUnk_0c = 0;
|
||||
unkStruct.mUnk_10 = 0;
|
||||
unkStruct.mUnk_12[0] = 0xff;
|
||||
unkStruct.mUnk_12[1] = 0;
|
||||
unkStruct.mUnk_12[2] = 0;
|
||||
unkStruct.mUnk_12[3] = 0;
|
||||
this->func_ov00_0208230c((s32 *) &unkStruct);
|
||||
func_ov000_02078bf0((s32 *) &unkStruct, *param_2);
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_020823a4(unk32 param_2) {
|
||||
@@ -265,14 +288,13 @@ ARM void MapManager::func_ov00_020825ac() {
|
||||
}
|
||||
|
||||
ARM s32 MapManager::GetCourseFilePath(char *courseName, char *buf) {
|
||||
// s32 var = sprintf(buf, "Map/%s/course.bin", courseName); // Should we manually define sprintf?
|
||||
// return var;
|
||||
s32 var = sprintf(buf, "Map/%s/course.bin", courseName); // Should we manually define sprintf?
|
||||
return var;
|
||||
// reference to func_ov000_020e2528 (changed to @1495 in symbols)
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_020825e4(unk32 param_2, char *buf) {
|
||||
// param2 unused.
|
||||
// return value of GetCourseFilePath unused.
|
||||
char *courseName; // = (char *) func_ov000_0209d71c(*(unk32 *) DWORD_027e0f7c) does not exist.
|
||||
char *courseName = (char *) func_ov000_0209d71c(data_027e0f7c, param_2);
|
||||
this->GetCourseFilePath(courseName, buf);
|
||||
}
|
||||
|
||||
@@ -300,10 +322,8 @@ ARM void MapManager::func_ov00_02082680(unk32 param_2, unk32 param_3) {
|
||||
this->mMap->vfunc_98(param_2, 5, param_3);
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_020826a0(unk32 param_2, unk32 param_3, unk32 param_4) {
|
||||
this->mMap->vfunc_98(param_2, 7, param_3 /*, param_4*/);
|
||||
// vfunc_98 takes either three params or four ??? This doesn't make sense
|
||||
// objdiff says 100%
|
||||
ARM void MapManager::func_ov00_020826a0(unk32 param_2, unk32 param_3) {
|
||||
this->mMap->vfunc_98(param_2, 7, param_3);
|
||||
}
|
||||
|
||||
ARM void MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) {
|
||||
@@ -312,33 +332,33 @@ ARM void MapManager::CreateMap(unk32 mapType, unk32 param_3, unk32 param_4) {
|
||||
if (this->mMap == NULL) {
|
||||
switch (mapType) {
|
||||
case 0:
|
||||
// mapBase = (MapBase *) SysObject::operator_new(0x1dc, (astruct_19 **)(DWORD_027e0ce0 + 4), 4);
|
||||
// What is astruct_19 ** ? What is DWORD_027e0ce0 ?
|
||||
// data_027e0ce4 (data_027e0ce0) of type UnkStruct_0202e894
|
||||
SysObject::operator new(0x1dc, data_027e0ce4, 4);
|
||||
if (mapBase != NULL) {
|
||||
// mapBase = (MapBase *)func_ov018_0215b4a0(mapBase, param_3, param_4); // Does not exist.
|
||||
mapBase = (MapBase *) func_ov018_0215b4a0(mapBase, param_3, param_4); // Does not exist.
|
||||
}
|
||||
this->mMap = mapBase;
|
||||
return;
|
||||
case 1: break;
|
||||
case 2:
|
||||
// mapBase = (MapBase *) SysObject::operator_new(0x1b0, (astruct_19 **)(DWORD_027e0ce0 + 4), 4);
|
||||
mapBase = (MapBase *) SysObject::operator new(0x1b0, data_027e0ce4, 4);
|
||||
if (mapBase != NULL) {
|
||||
// mapBase = (MapBase *)func_ov015_02128dd8(mapBase, param_3, param_4); // Does not exist.
|
||||
mapBase = (MapBase *) func_ov015_02128dd8(mapBase, param_3, param_4); // Does not exist.
|
||||
}
|
||||
this->mMap = mapBase;
|
||||
return;
|
||||
case 3: break;
|
||||
case 4:
|
||||
// mapBase = (MapBase *) SysObject::operator_new(0x790, (astruct_19 **)(DWORD_027e0ce0 + 4), 4);
|
||||
mapBase = (MapBase *) SysObject::operator new(0x790, data_027e0ce4, 4);
|
||||
if (mapBase != NULL) {
|
||||
// mapBase = (MapBase *)func_ov012_0212b358(mapBase, param_3, param_4); // Does not exist.
|
||||
mapBase = (MapBase *) func_ov012_0212b358(mapBase, param_3, param_4); // Does not exist.
|
||||
}
|
||||
this->mMap = mapBase;
|
||||
return;
|
||||
}
|
||||
// mapBase = (MapBase *) SysObject::operator_new(0x790, (astruct_19 **)(DWORD_027e0ce0 + 4), 4);
|
||||
mapBase = (MapBase *) SysObject::operator new(0x790, data_027e0ce4, 4);
|
||||
if (mapBase != NULL) {
|
||||
// mapBase = (MapBase *)func_ov017_0215b4e8(mapBase, param_3, param_4); // Does not exist.
|
||||
mapBase = (MapBase *) func_ov017_0215b4e8(mapBase, param_3, param_4); // Does not exist.
|
||||
}
|
||||
this->mMap = mapBase;
|
||||
}
|
||||
@@ -360,26 +380,25 @@ ARM void MapManager::MapData_vfunc_44() {
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_02082808(s32 param_2) {
|
||||
// How to define PTR_027e0d38 ?
|
||||
// if (*(int*)(*(int*)PTR_027e0d38 + 0x14) == 1) {
|
||||
// return;
|
||||
// }
|
||||
s32 var1; // = func_ov00_02084740()
|
||||
if (*(int *) (*(int *) data_027e0d38 + 0x14) == 1) {
|
||||
return;
|
||||
}
|
||||
s32 var1 = this->func_ov00_02084740();
|
||||
s32 var2;
|
||||
if (param_2 == 0) {
|
||||
// var2 = thunk_FUN_0201f91c(DWORD_overlay_d_0_bss__020eec68); // What are these?
|
||||
if (var1 == var2) {
|
||||
return;
|
||||
}
|
||||
// func_ov00_020d70a4(DWORD_overlay_d_0_bss__020eec68, var1, 0, 0x7f, param_3); // And these?
|
||||
// func_ov000_020d70a4(DWORD_overlay_d_0_bss__020eec68, var1, 0, 0x7f, param_3); // And these?
|
||||
} else {
|
||||
// var2 = func_ov00_020a5e9c(*(s32 *) PTR_027e0d38 + 0xc);
|
||||
var2 = func_ov000_020a5e9c((unk32 *) data_027e0d38 + 0xc);
|
||||
if (var2 == 0) {
|
||||
// func_ov015_021849a4(DWORD_overlay_d_15_bss__02190458);
|
||||
}
|
||||
// func_ov00_020a5e9c(DWORD_overlay_d_0_bss__020eec68, var1, 0, 0x7f, param_3);
|
||||
}
|
||||
// var1 = func_ov00_020a5e9c(*(s32 *) PTR_027e0d38 + 0xc);
|
||||
var1 = func_ov000_020a5e9c((unk32 *) data_027e0d38 + 0xc);
|
||||
if (var1 == 0) {
|
||||
return;
|
||||
}
|
||||
@@ -564,14 +583,14 @@ ARM u32 MapManager::func_ov00_02082d74(unk32 param_2) {
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_02082d84(unk8 *param_2, s32 *param_3, s32 *param_4) {
|
||||
s32 mapWidth = this->GetMapWidth();
|
||||
u32 uVar3; // = CoDivide64By32(0x100000, mapWidth << 0xc); Not defined ?
|
||||
s32 mapWidth = this->GetMapWidth();
|
||||
u32 uVar3 = CoDivide64By32(0x100000, mapWidth << 0xc);
|
||||
s32 mapHeight = this->GetMapHeight();
|
||||
u32 uVar4; // = CoDivide64By32(0xc0000, mapHeight << 0xc); Not defined ?
|
||||
s64 lVar1 = (s64) (s32) ((u32) *param_2 << 0xc);
|
||||
*param_3 = (s32) (((u32) lVar1 >> 0xc | (s32) ((u64) lVar1 >> 0x20) * 0x100000) + ((s32) uVar4 >> 1) + 0x800) >> 0xc;
|
||||
lVar1 = (s64) (s32) ((u32) param_2[1] << 0xc) * (s64) (s32) uVar4 + 0x800;
|
||||
*param_4 = (s32) (((u32) lVar1 >> 0xc | (s32) ((u64) lVar1 >> 0x20) * 0x100000) + ((s32) uVar4 >> 1) + 0x800) >> 0xc;
|
||||
u32 uVar4 = CoDivide64By32(0xc0000, mapHeight << 0xc);
|
||||
s64 lVar1 = (s64) (s32) ((u32) *param_2 << 0xc);
|
||||
*param_3 = (s32) (((u32) lVar1 >> 0xc | (s32) ((u64) lVar1 >> 0x20) * 0x100000) + ((s32) uVar4 >> 1) + 0x800) >> 0xc;
|
||||
lVar1 = (s64) (s32) ((u32) param_2[1] << 0xc) * (s64) (s32) uVar4 + 0x800;
|
||||
*param_4 = (s32) (((u32) lVar1 >> 0xc | (s32) ((u64) lVar1 >> 0x20) * 0x100000) + ((s32) uVar4 >> 1) + 0x800) >> 0xc;
|
||||
}
|
||||
|
||||
ARM bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {
|
||||
@@ -597,7 +616,7 @@ ARM bool MapManager::func_ov00_02082e1c(s32 *param_2, s32 *param_3) {
|
||||
local_44[0] = -0x100;
|
||||
local_48 = -0x100;
|
||||
bVar1 = this->mMap->mUnk_01a;
|
||||
// iVar5 = UnkStruct_027e0d38::FUN_overlay_d_0__02078b40(*(UnkStruct_027e0d38 **) PTR_PTR_overlay_d_0__02083068);
|
||||
iVar5 = data_027e0d38->func_ov000_02078b40();
|
||||
if (iVar5 == 0) {
|
||||
// bVar2 = *(u8 *) (*(s32 *) (*(s32 *) PTR_PTR_overlay_d_0__02083068 + 0x28) + 0x9a);
|
||||
} else {
|
||||
@@ -894,8 +913,8 @@ ARM unk32 MapManager::func_ov00_020835b4() {
|
||||
return this->mCourse->Get_Unk_c8_04();
|
||||
}
|
||||
|
||||
ARM unk8 MapManager::func_ov00_020835c4(MapManager *param_1, s32 param_2, unk32 param_3) {
|
||||
return param_1->mCourse->func_ov00_0207d404(param_2, 0, param_3);
|
||||
ARM bool MapManager::func_ov00_020835c4(s32 param_1, unk32 param_2) {
|
||||
return this->mCourse->func_ov00_0207d404(param_1, 0, param_2, 3);
|
||||
}
|
||||
|
||||
ARM bool MapManager::func_ov00_020835e4(s32 param_2, unk32 *param_3, unk8 *param_4) {
|
||||
@@ -916,14 +935,7 @@ ARM unk8 MapManager::func_ov00_02083614(s32 param_2) {
|
||||
|
||||
ARM bool MapManager::GetEntrancePos(Entrance *param_1, unk32 entranceId) {
|
||||
Entrance *entrance = this->mMap->FindEntrance(entranceId);
|
||||
q20 y = entrance->mPos.y;
|
||||
q20 z = entrance->mPos.z;
|
||||
param_1->mPos.x = entrance->mPos.x;
|
||||
param_1->mPos.y = y;
|
||||
param_1->mPos.z = z;
|
||||
param_1->mAngle = entrance->mAngle;
|
||||
param_1->mId = entrance->mId;
|
||||
param_1->mUnk_10 = entrance->mUnk_10;
|
||||
*param_1 = *entrance;
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -1099,8 +1111,10 @@ ARM s32 MapManager::func_ov00_020839f8(s32 param_2) {
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_02083a1c(Vec2b *param_1, MapManager *param_2, Vec3p *param_3) {
|
||||
param_1->x /*or y?*/ = param_2->func_ov00_020839f8(param_3->z);
|
||||
param_1->y /*or x?*/ = param_2->func_ov00_020839d4(param_3->x);
|
||||
s8 x = param_2->func_ov00_020839f8(param_3->z);
|
||||
s8 y = param_2->func_ov00_020839d4(param_3->x);
|
||||
param_1->x = y;
|
||||
param_1->y = x;
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_02083a54(u8 *param_1, MapManager *param_2, s32 *param_3, s32 param_4, s32 *param_5) {
|
||||
@@ -1175,13 +1189,16 @@ ARM s32 MapManager::func_ov00_02083c50(unk32 z) {
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_02083c7c(Vec3p *param_2, u32 param_3) {
|
||||
q20 x;
|
||||
q20 z;
|
||||
q20 y;
|
||||
Vec3p local_28;
|
||||
q20 x = this->func_ov00_02083c24(param_3 & 0xff);
|
||||
// param_2->x = x;
|
||||
q20 z = this->func_ov00_02083c50(param_3 >> 8 & 0xff);
|
||||
// param_2->z = z;
|
||||
q20 y = this->MapData_vfunc_68(&local_28, true);
|
||||
// param_2->y = y;
|
||||
x = this->func_ov00_02083c24(param_3 & 0xff);
|
||||
param_2->x = x;
|
||||
z = this->func_ov00_02083c50(param_3 >> 8 & 0xff);
|
||||
param_2->z = z;
|
||||
y = this->MapData_vfunc_68(&local_28, true);
|
||||
param_2->y = y;
|
||||
}
|
||||
|
||||
ARM void MapManager::func_ov00_02083ce8(MapManager *param_1, s32 *param_2, u32 param_3, s32 param_4, u32 param_5) {
|
||||
@@ -1612,6 +1629,7 @@ ARM s32 MapManager::func_ov00_02084700(MapManager *pMapManager) {
|
||||
|
||||
unk8 MapManager::func_ov00_02084740() {
|
||||
static const s32 data_ov000_020d88f0[] = {
|
||||
// Map IDs?
|
||||
0x51, 0x6e, 0x65, 0x50, 0x30, 0x74, 0x49, 0x50, 0x51, 0x54, 0x52, 0x53, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5a, 0x5f,
|
||||
0x60, 0x61, 0x5c, 0x5b, 0x5e, 0x62, 0x63, 0x64, 0x3f, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x5d, 0x31, 0x39,
|
||||
0x3a, 0x3b, 0x3c, 0x32, 0x33, 0x34, 0x35, 0x38, 0x3d, 0xd9, 0xdc, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0x6f, 0x72,
|
||||
@@ -1625,7 +1643,7 @@ unk8 MapManager::func_ov00_02084740() {
|
||||
unk32 uVar5;
|
||||
unk32 uVar6;
|
||||
unk32 uVar7;
|
||||
unk32 *puVar8;
|
||||
s32 *puVar8;
|
||||
unk32 *puVar9;
|
||||
unk32 local_1c8;
|
||||
unk32 local_1c4;
|
||||
@@ -1645,7 +1663,7 @@ unk8 MapManager::func_ov00_02084740() {
|
||||
}
|
||||
puVar9 = local_1bc;
|
||||
iVar3 = 0x1b;
|
||||
// puVar8 = (unk32 *) PTR_DWORD_overlay_d_0__020d88f0_overlay_d_0__020847dc;
|
||||
puVar8 = (s32 *) data_ov000_020d88f0;
|
||||
do {
|
||||
uVar4 = *puVar8;
|
||||
uVar5 = puVar8[1];
|
||||
@@ -1717,17 +1735,17 @@ void MapManager::func_ov00_02084924(u32 param_2) {
|
||||
this->mMap->func_ov00_0208008c(param_2);
|
||||
}
|
||||
|
||||
bool MapManager::func_ov00_02084934(s32 *param_2) {
|
||||
int iVar2;
|
||||
int iVar3;
|
||||
int iVar4;
|
||||
bool MapManager::func_ov00_02084934(Vec3p *param_2) {
|
||||
q20 iVar2;
|
||||
q20 iVar3;
|
||||
q20 iVar4;
|
||||
Vec3p local_20;
|
||||
|
||||
iVar2 = this->GetMapCenterZ();
|
||||
iVar3 = param_2[2];
|
||||
iVar4 = param_2[1];
|
||||
iVar3 = param_2->z;
|
||||
iVar4 = param_2->y;
|
||||
local_20.x = this->GetMapCenterX();
|
||||
local_20.x = *param_2 - local_20.x;
|
||||
local_20.x = param_2->x - local_20.x;
|
||||
local_20.y = iVar4;
|
||||
local_20.z = iVar3 - iVar2;
|
||||
return this->mMap->IsInBounds(&local_20);
|
||||
@@ -1822,22 +1840,20 @@ unk8 MapManager::func_ov00_02084b38(unk32 param_2, unk32 param_3, unk32 param_4)
|
||||
if (param_2 != 0) {
|
||||
// value = SUB41(param_4, 0); // What is SUB41 and where is it defined?
|
||||
switch (param_3) {
|
||||
case 0: goto LAB_overlay_d_0__02084b60;
|
||||
case 0:
|
||||
pMVar1 = this->mMap;
|
||||
if (param_4 == 0) {
|
||||
pMVar1->mUnk_180[param_2 >> 5].mUnk_0 = pMVar1->mUnk_180[param_2 >> 5].mUnk_0 & ~(1 << (param_2 & 0x1f));
|
||||
return;
|
||||
}
|
||||
pMVar1->mUnk_180[param_2 >> 5].mUnk_0 = pMVar1->mUnk_180[param_2 >> 5].mUnk_0 | 1 << (param_2 & 0x1f);
|
||||
return;
|
||||
case 1: this->mCourse->SetMapDataFlag0(param_2, value); return;
|
||||
case 2: this->mCourse->SetFlag0(param_2, value); return;
|
||||
case 3: this->mCourse->SetFlag1(param_2, value); return;
|
||||
default: return;
|
||||
}
|
||||
}
|
||||
return;
|
||||
LAB_overlay_d_0__02084b60:
|
||||
pMVar1 = this->mMap;
|
||||
if (param_4 == 0) {
|
||||
pMVar1->mUnk_180[param_2 >> 5].mUnk_0 = pMVar1->mUnk_180[param_2 >> 5].mUnk_0 & ~(1 << (param_2 & 0x1f));
|
||||
return;
|
||||
}
|
||||
pMVar1->mUnk_180[param_2 >> 5].mUnk_0 = pMVar1->mUnk_180[param_2 >> 5].mUnk_0 | 1 << (param_2 & 0x1f);
|
||||
return;
|
||||
}
|
||||
|
||||
bool MapManager::func_ov00_02084be0(u32 param_2, unk32 param_3) {
|
||||
@@ -1924,14 +1940,14 @@ u8 MapManager::GetMapData_Unk_09() {
|
||||
return this->mMap->mUnk_009;
|
||||
}
|
||||
|
||||
unk8 MapManager::func_ov00_02084d24(unk8 param_2, unk8 param_3, unk32 param_4) {
|
||||
ARM void MapManager::func_ov00_02084d24(unk32 param_2, unk32 param_3, unk32 param_4) {
|
||||
unk8 local_8;
|
||||
unk8 local_7;
|
||||
unk16 uStack_6;
|
||||
|
||||
uStack_6 = (unk16) ((u32) param_4 >> 0x10);
|
||||
// _local_8 = CONCAT11(param_3, param_2); // What is CONCAT11 ?
|
||||
// this->mMap->vfunc_90(&local_8, param_4); // Missing parameter ?
|
||||
// _local_8 = CONCAT11(param_3, param_2); // What is CONCAT11 ?
|
||||
this->mMap->vfunc_90(param_2, param_3, param_4); // Missing parameter ?
|
||||
}
|
||||
|
||||
s32 MapManager::func_ov00_02084d4c(unk32 param_2, unk32 param_3, Vec3p *param_4) {
|
||||
@@ -2028,48 +2044,25 @@ unk32 MapManager::func_ov00_02084ebc(Vec3p *param_2) {
|
||||
}
|
||||
if (iVar2 < 0x2a) {
|
||||
switch (iVar2) {
|
||||
case 0: break;
|
||||
case 1: return 0;
|
||||
case 2: return 0;
|
||||
case 3: return 0;
|
||||
case 4: return 0;
|
||||
case 5: return 0;
|
||||
case 6: return 0;
|
||||
case 7: break;
|
||||
case 8: return 0;
|
||||
case 9: return 0;
|
||||
case 10: break;
|
||||
case 0xb: break;
|
||||
case 0xc: break;
|
||||
case 0xd: break;
|
||||
case 0xe: break;
|
||||
case 0xf: break;
|
||||
case 0x10: break;
|
||||
case 0x11: break;
|
||||
case 0x12: break;
|
||||
case 0x13: break;
|
||||
case 0x14: return 0;
|
||||
case 0x15: break;
|
||||
case 0x16: return 0;
|
||||
case 0x17: return 0;
|
||||
case 0x18: break;
|
||||
case 0x19: return 0;
|
||||
case 0x1a: break;
|
||||
case 0x1b: break;
|
||||
case 0x1c: break;
|
||||
case 0x1d: return 0;
|
||||
case 0x1e: return 0;
|
||||
case 0x1f: return 0;
|
||||
case 0x20: break;
|
||||
case 0x21: break;
|
||||
case 0x22: break;
|
||||
case 0x23: break;
|
||||
case 0x24: break;
|
||||
case 0x25: break;
|
||||
case 0x26: break;
|
||||
case 0x27: return 0;
|
||||
case 0x28: return 0;
|
||||
case 1:
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
case 5:
|
||||
case 6:
|
||||
case 8:
|
||||
case 9:
|
||||
case 0x14:
|
||||
case 0x16:
|
||||
case 0x17:
|
||||
case 0x19:
|
||||
case 0x1d:
|
||||
case 0x1e:
|
||||
case 0x1f:
|
||||
case 0x27:
|
||||
case 0x28:
|
||||
case 0x29: return 0;
|
||||
default: break;
|
||||
}
|
||||
} else if (iVar2 == 0x37) {
|
||||
return 0;
|
||||
|
||||
Reference in New Issue
Block a user