From 383ca6aaa2b322869fe304eb5c277150859bfcc0 Mon Sep 17 00:00:00 2001 From: Aetias <144526980+AetiasHax@users.noreply.github.com> Date: Tue, 22 Jul 2025 15:54:46 +0200 Subject: Game 99% (#125) * Game 74% * Game 99% * Fix symbol name --- include/DTCM/UnkStruct_027e077c.hpp | 1 + include/DTCM/UnkStruct_027e080c.hpp | 3 ++- include/DTCM/UnkStruct_027e08e4.hpp | 11 +++++++++++ include/DTCM/UnkStruct_027e08f8.hpp | 4 ++++ include/DTCM/UnkStruct_027e0c38.hpp | 1 + include/DTCM/UnkStruct_027e0c54.hpp | 1 + include/DTCM/UnkStruct_027e0ffc.hpp | 3 +++ include/Game/Game.hpp | 12 +++++++----- include/Message/MessageManager.hpp | 2 +- include/Message/MsgProc.hpp | 4 ++-- include/Unknown/UnkStruct_02038aa0.hpp | 2 +- include/Unknown/UnkStruct_020397f8.hpp | 4 ++-- include/Unknown/UnkStruct_02068894.hpp | 11 +++++++++++ include/Unknown/UnkStruct_02075dac.hpp | 1 + include/Unknown/UnkStruct_020eec68.hpp | 10 +++++++++- include/types.h | 12 ++++++++++++ 16 files changed, 69 insertions(+), 13 deletions(-) create mode 100644 include/DTCM/UnkStruct_027e08e4.hpp create mode 100644 include/Unknown/UnkStruct_02068894.hpp (limited to 'include') diff --git a/include/DTCM/UnkStruct_027e077c.hpp b/include/DTCM/UnkStruct_027e077c.hpp index f7f2cf32..1e5a2aff 100644 --- a/include/DTCM/UnkStruct_027e077c.hpp +++ b/include/DTCM/UnkStruct_027e077c.hpp @@ -15,6 +15,7 @@ public: bool func_0202e740(unk32 param1); void func_ov009_02116364(); + void func_ov009_0211653c(); inline volatile unk32 GetUnk0() const { return mUnk_0; diff --git a/include/DTCM/UnkStruct_027e080c.hpp b/include/DTCM/UnkStruct_027e080c.hpp index 8c021336..66fa5c94 100644 --- a/include/DTCM/UnkStruct_027e080c.hpp +++ b/include/DTCM/UnkStruct_027e080c.hpp @@ -19,11 +19,12 @@ public: /* 02 */ u8 mUnk_02; /* 04 */ unk32 mUnk_04; /* 08 */ unk32 mUnk_08; - /* 0c */ unk8 mUnk_0c[0x4]; + /* 0c */ unk32 mUnk_0c; /* 10 */ UnkStruct_027e080c_010 mUnk_10[2]; /* d8 */ void func_0202eebc(unk32); + unk32 func_0202eef8(); }; extern UnkStruct_027e080c data_027e080c; diff --git a/include/DTCM/UnkStruct_027e08e4.hpp b/include/DTCM/UnkStruct_027e08e4.hpp new file mode 100644 index 00000000..1c4bb934 --- /dev/null +++ b/include/DTCM/UnkStruct_027e08e4.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include "global.h" +#include "types.h" + +struct UnkStruct_027e08e4 { + void func_0202f2ac(); + unk32 func_0202f328(); +}; + +extern UnkStruct_027e08e4 data_027e08e4; diff --git a/include/DTCM/UnkStruct_027e08f8.hpp b/include/DTCM/UnkStruct_027e08f8.hpp index c4f91b86..f7ac25a0 100644 --- a/include/DTCM/UnkStruct_027e08f8.hpp +++ b/include/DTCM/UnkStruct_027e08f8.hpp @@ -3,6 +3,10 @@ #include "types.h" struct UnkStruct_027e08f8 { + /* 0 */ bool mUnk_0; + /* 1 */ bool mUnk_1; + /* 2 */ + void func_0202f9a0(unk32); }; diff --git a/include/DTCM/UnkStruct_027e0c38.hpp b/include/DTCM/UnkStruct_027e0c38.hpp index 8957bc80..e42d0d10 100644 --- a/include/DTCM/UnkStruct_027e0c38.hpp +++ b/include/DTCM/UnkStruct_027e0c38.hpp @@ -15,6 +15,7 @@ public: void func_02033d70(s32 param1); void func_02033d40(); + void func_02033d84(u16 *param0); }; extern "C" UnkStruct_027e0c38 data_027e0c38; diff --git a/include/DTCM/UnkStruct_027e0c54.hpp b/include/DTCM/UnkStruct_027e0c54.hpp index 57a5db1f..5f0c85b5 100644 --- a/include/DTCM/UnkStruct_027e0c54.hpp +++ b/include/DTCM/UnkStruct_027e0c54.hpp @@ -15,6 +15,7 @@ public: void func_02036050(); bool func_02036174(); bool func_020361d0(); + void func_02036240(u16 *param0); void func_020363b0(); }; diff --git a/include/DTCM/UnkStruct_027e0ffc.hpp b/include/DTCM/UnkStruct_027e0ffc.hpp index 571c3761..e8d5b4df 100644 --- a/include/DTCM/UnkStruct_027e0ffc.hpp +++ b/include/DTCM/UnkStruct_027e0ffc.hpp @@ -3,6 +3,7 @@ #include "global.h" #include "types.h" +#include "Actor/Actor.hpp" #include "Physics/Cylinder.hpp" struct UnkStruct_027e0ffc { @@ -22,7 +23,9 @@ struct UnkStruct_027e0ffc { /* 39 */ void func_ov000_020ce704(); + void func_ov000_020ceacc(unk32 param1, Vec3p *param2, unk32 param3); void func_ov000_020cebcc(u32 param1, unk16 param2, unk32 param3); + void func_ov000_020cec60(u16, Vec3p *, Actor *, unk32); void func_ov000_020ced64(Cylinder *param1, u32 param2, u32 param3); void func_ov000_020ced7c(Vec3p *param1, s32 param2, s32 param3, unk32 param4); }; diff --git a/include/Game/Game.hpp b/include/Game/Game.hpp index 53c03988..607d13a3 100644 --- a/include/Game/Game.hpp +++ b/include/Game/Game.hpp @@ -32,12 +32,12 @@ public: /* 00c */ unk8 mUnk_00c[0xc0]; /* 0cc */ FadeControl mFadeControl; /* 0f0 */ u16 mUnk_0f0; - /* 0f2 */ u16 mUnk_0f2; + /* 0f2 */ vu16 mUnk_0f2; /* 0f4 */ s32 mUnk_0f4; - /* 0f8 */ s32 mUnk_0f8; + /* 0f8 */ vs32 mUnk_0f8; /* 0fc */ u16 mUnk_0fc; /* 0fe */ u16 mUnk_0fe; - /* 100 */ unk8 mUnk_100; + /* 100 */ bool mUnk_100; /* 101 */ u8 mUnk_101; /* 102 */ bool mUnk_102; /* 103 */ u8 mUnk_103; @@ -46,12 +46,14 @@ public: Game(); ~Game(); + void func_0202c678(); + void func_0202c69c(); void EndGameMode(); bool StartGameMode(); - void func_0202c974(); + static void func_0202c974(Game *game); void func_0202c97c(); void Run(); - void func_0202cec8(s32 param1, unk32 param2); + bool func_0202cec8(s32 param1, bool param2); void func_0202cf34(); void func_0202cf44(); diff --git a/include/Message/MessageManager.hpp b/include/Message/MessageManager.hpp index d7cbc98e..221d6c31 100644 --- a/include/Message/MessageManager.hpp +++ b/include/Message/MessageManager.hpp @@ -58,7 +58,7 @@ public: bool func_020368f4(UnkStruct_02037750 *param_2); void func_0203690c(unk32 param_2); void func_02036bbc(void); - void func_02036c50(unk32 param_2); + void func_02036c50(u16 *param_2); void func_02036ca4(unk32 param_2); bool func_02036ce4(UnkStruct_020386d8 *param_2, unk32 param_3); bool func_02036d30(UnkStruct_02037750 *param_2); diff --git a/include/Message/MsgProc.hpp b/include/Message/MsgProc.hpp index 81497633..81cea949 100644 --- a/include/Message/MsgProc.hpp +++ b/include/Message/MsgProc.hpp @@ -79,10 +79,8 @@ extern "C" u32 func_01ff9b4c(unk32, unk32); extern "C" unk32 func_0203c084(void); extern "C" unk32 func_ov000_02079e04(void); extern "C" unk32 func_02016fcc(unk32); -extern "C" void func_02032304(unk32 *, char *, unk32, unk32, unk32); extern "C" unk32 func_0202d5b4(char *, char *, unk32, unk32, unk32); extern unk32 data_020691a0; -extern unk32 *data_02068894; extern unk32 data_02056af0; extern unk32 *data_02056a00; extern char *data_02057f08; // "MSP" @@ -95,6 +93,7 @@ struct Struct_027e0db0 { void func_ov000_0207b288(GameModeId modeId); void func_ov000_0207b378(unk32 param_1); + void func_ov000_0207b43c(); }; extern Struct_027e0db0 data_027e0db0; @@ -104,6 +103,7 @@ public: void func_0203d5c0(); void func_0203d64c(s32); void func_0203d664(s32); + void func_0203d67c(u16 *); void func_0203d6d0(); unk32 func_0203d7e0(unk32); unk32 func_0203d77c(unk32, s32, s32); diff --git a/include/Unknown/UnkStruct_02038aa0.hpp b/include/Unknown/UnkStruct_02038aa0.hpp index c0f31f16..b43a2908 100644 --- a/include/Unknown/UnkStruct_02038aa0.hpp +++ b/include/Unknown/UnkStruct_02038aa0.hpp @@ -144,7 +144,7 @@ public: unk32 func_0203cb5c(unk8, s16); void func_0203dcfc(unk32 param_2, unk32 param_3, unk32 param_4, unk32 param_5); - unk32 func_0203de14(unk32); + unk32 func_0203de14(u16 *); void func_0203e090(void); void func_0203e1b0(unk32, unk32, unk32); diff --git a/include/Unknown/UnkStruct_020397f8.hpp b/include/Unknown/UnkStruct_020397f8.hpp index 668f1922..1448176a 100644 --- a/include/Unknown/UnkStruct_020397f8.hpp +++ b/include/Unknown/UnkStruct_020397f8.hpp @@ -90,7 +90,7 @@ public: /* 4c */ virtual void vfunc_4c(); /* 2c */ virtual void vfunc_2c(); void func_02039ca8(); - /* 3c */ virtual void vfunc_3c(unk32 param1); + /* 3c */ virtual void vfunc_3c(u16 *param1); /* 40 */ virtual void vfunc_40(s32 param1, s32 param2); void func_0203a188(s32 param1, s32 param2); // void func_0203a188(unk32 param_2, unk32 param_3, unk32 param_4); bool func_0203a2c0(); @@ -201,7 +201,7 @@ public: MsgProc_Type2(unk32 param_2, unk16 param_3, unk32 param_4); /* 00 */ virtual ~MsgProc_Type2(); /* 14 */ /* func_0203c5c4 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override; - /* 3c */ /* func_0203c414 */ virtual void vfunc_3C(unk32 param_2) override; + /* 3c */ /* func_0203c414 */ virtual void vfunc_3C(u16 *param_2) override; /* 40 */ /* func_0203c460 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override; /* 4c */ /* func_0203c39c */ virtual void vfunc_4C(void) override; // func_02039a3c? diff --git a/include/Unknown/UnkStruct_02068894.hpp b/include/Unknown/UnkStruct_02068894.hpp new file mode 100644 index 00000000..7a51e9b8 --- /dev/null +++ b/include/Unknown/UnkStruct_02068894.hpp @@ -0,0 +1,11 @@ +#pragma once + +#include "global.h" +#include "types.h" + +struct UnkStruct_02068894 { + void func_0203235c(); + void func_02032304(char *param1, unk32 param2, unk32 param3, unk32 param4); +}; + +extern UnkStruct_02068894 data_02068894; diff --git a/include/Unknown/UnkStruct_02075dac.hpp b/include/Unknown/UnkStruct_02075dac.hpp index 934a2919..3e933b5e 100644 --- a/include/Unknown/UnkStruct_02075dac.hpp +++ b/include/Unknown/UnkStruct_02075dac.hpp @@ -6,6 +6,7 @@ class UnkStruct_02075dac { public: void func_0203f904(); + void func_0203f974(); unk32 func_0203f9b8(void *); }; extern UnkStruct_02075dac data_02075dac; diff --git a/include/Unknown/UnkStruct_020eec68.hpp b/include/Unknown/UnkStruct_020eec68.hpp index d8bf62d4..4d13abc3 100644 --- a/include/Unknown/UnkStruct_020eec68.hpp +++ b/include/Unknown/UnkStruct_020eec68.hpp @@ -1,9 +1,11 @@ #pragma once -#include "Unknown/UnkStruct_func_0201f704.hpp" #include "global.h" #include "types.h" +#include "Sound/Sfx.hpp" +#include "Unknown/UnkStruct_func_0201f704.hpp" + struct UnkStruct_020eec68_0c { unk32 mUnk_00; @@ -31,6 +33,12 @@ public: UnkStruct_020eec68(); + void func_ov000_020d70a4(unk32 param1, unk32 param2, unk32 param3); + void func_ov000_020d716c(unk32 param1); + void func_ov000_020d72b8(); + void PlaySoundEffect(SfxId sfx); + unk32 func_ov000_020d7424(); + void func_ov008_021132cc(); }; diff --git a/include/types.h b/include/types.h index 06b45bbb..b5ca70bb 100644 --- a/include/types.h +++ b/include/types.h @@ -7,16 +7,28 @@ typedef unsigned long long u64; typedef unsigned int u32; typedef unsigned short u16; typedef unsigned char u8; +typedef volatile u64 vu64; +typedef volatile u32 vu32; +typedef volatile u16 vu16; +typedef volatile u8 vu8; typedef long long s64; typedef int s32; typedef short s16; typedef char s8; +typedef volatile s64 vs64; +typedef volatile s32 vs32; +typedef volatile s16 vs16; +typedef volatile s8 vs8; typedef s8 unk8; typedef s16 unk16; typedef s32 unk32; typedef s64 unk64; +typedef volatile unk8 vunk8; +typedef volatile unk16 vunk16; +typedef volatile unk32 vunk32; +typedef volatile unk64 vunk64; #ifndef __cplusplus typedef s32 bool; -- cgit v1.2.3