From d92d3c645b8382e855587ee3003cc08777803169 Mon Sep 17 00:00:00 2001 From: Yanis002 <35189056+Yanis002@users.noreply.github.com> Date: Sat, 5 Jul 2025 16:58:46 +0200 Subject: [PATCH] UnkStruct_02082348 -> FlagsUnk2 --- include/DTCM/UnkStruct_027e0d38.hpp | 30 +----------- include/Save/AdventureFlags.hpp | 36 +++++++++----- src/00_Core/Map/MapManager.cpp | 54 ++++++++------------- src/09_Adventure/Game/GameModeAdventure.cpp | 22 ++++----- 4 files changed, 58 insertions(+), 84 deletions(-) diff --git a/include/DTCM/UnkStruct_027e0d38.hpp b/include/DTCM/UnkStruct_027e0d38.hpp index ab7b7794..f2f0ac51 100644 --- a/include/DTCM/UnkStruct_027e0d38.hpp +++ b/include/DTCM/UnkStruct_027e0d38.hpp @@ -1,36 +1,10 @@ #pragma once +#include "Save/AdventureFlags.hpp" #include "global.h" #include "nds/math.h" #include "types.h" -struct UnkStruct_027e0d38_UnkC { - /* 00 */ unk32 mUnk_00; - - s32 func_ov000_020a5e9c(void); -}; - -class UnkStruct_02082348_04 { -public: - /* 00 */ Vec3p mPos; - /* 0c */ unk16 mAngle; - /* 0e */ u8 mId; - /* 0f */ u8 mUnk_0f; - /* 10 */ u8 mUnk_10; - /* 11 */ u8 mUnk_11; - /* 14 */ -}; - -// This might be FlagsUnk2 -struct UnkStruct_02082348 { - /* 00 */ UnkStruct_027e0d38_UnkC mUnk_00; - /* 04 */ UnkStruct_02082348_04 mUnk_04; - /* 18 */ - - void func_ov000_02078bf0(UnkStruct_02082348 *param_2); - void func_ov004_02100ae0(); -}; - struct UnkStruct_027e0d38_Unk28 { /* 000 */ unk32 *mUnk_00; /* 004 */ unk32 mUnk_04; @@ -64,7 +38,7 @@ struct UnkStruct_027e0d38_Unk28 { /* 057 */ unk8 mUnk_57; /* 058 */ unk32 mUnk_58; /* 05c */ UnkStruct_02082348_04 mUnk_5c; - /* 070 */ UnkStruct_02082348 mUnk_70; + /* 070 */ FlagsUnk2 mUnk_70; /* 088 */ unk8 pad1[0x9A - 0x88]; /* 09a */ u8 mUnk_9a; /* 09b */ u8 mUnk_9b; diff --git a/include/Save/AdventureFlags.hpp b/include/Save/AdventureFlags.hpp index 39d2e409..0841cf32 100644 --- a/include/Save/AdventureFlags.hpp +++ b/include/Save/AdventureFlags.hpp @@ -57,21 +57,35 @@ enum AdventureFlag_ { /* 0x187 */ AdventureFlag_COUNT = 391, }; -struct FlagsUnk2 { +struct UnkStruct_027e0d38_UnkC { /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; - /* 0c */ unk32 mUnk_0c; - /* 10 */ unk16 mUnk_10; - /* 12 */ unk8 mUnk_12; - /* 13 */ unk8 mUnk_13; - /* 14 */ unk8 mUnk_14; - /* 15 */ unk8 mUnk_15; - /* 16 */ unk8 mUnk_16; - /* 17 */ unk8 mUnk_17; + + s32 func_ov000_020a5e9c(void); +}; + +class UnkStruct_02082348_04 { +public: + /* 00 */ unk32 mUnk_00; + /* 00 */ unk32 mUnk_04; + /* 00 */ unk32 mUnk_08; + /* 0c */ unk16 mUnk_0c; + /* 0e */ u8 mUnk_0e; + /* 0f */ u8 mUnk_0f; + /* 10 */ u8 mUnk_10; + /* 11 */ u8 mUnk_11; + /* 12 */ u8 mUnk_12; + /* 13 */ u8 mUnk_13; + /* 14 */ +}; + +struct FlagsUnk2 { + /* 00 */ struct UnkStruct_027e0d38_UnkC mUnk_00; + /* 04 */ UnkStruct_02082348_04 mUnk_04; /* 18 */ ~FlagsUnk2(); + void func_ov000_02078bf0(FlagsUnk2 *param_2); + void func_ov004_02100ae0(); }; struct FlagsUnk { diff --git a/src/00_Core/Map/MapManager.cpp b/src/00_Core/Map/MapManager.cpp index 0351a7a6..7de4d030 100644 --- a/src/00_Core/Map/MapManager.cpp +++ b/src/00_Core/Map/MapManager.cpp @@ -84,20 +84,6 @@ struct astruct_16 { /* 2c */ }; // What is this struct? -// This might be FlagsUnk2 -struct UnkStruct_02082348 { - /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; - /* 0c */ unk32 mUnk_0c; - /* 10 */ unk16 mUnk_10; - /* 12 */ u8 mUnk_12; - /* 13 */ u8 mUnk_13; - /* 14 */ u8 mUnk_14; - /* 15 */ u8 mUnk_15; - /* 16 */ -}; - struct UnkStruct_027e077c { /* 00 */ unk32 mUnk_00; /* 04 */ unk32 mUnk_04; @@ -203,17 +189,17 @@ ARM void MapManager::func_ov00_020820fc(s32 param_2, unk32 param_3, unk32 param_ ARM void MapManager::func_ov00_0208210c(unk32 param_2, unk32 *param_3) { void *pvVar3; unk32 uVar2; - UnkStruct_02082348 local_40[2]; + FlagsUnk2 local_40[2]; - local_40[1].mUnk_00 = 0x47; - local_40[1].mUnk_04 = 0; - local_40[1].mUnk_08 = 0; - local_40[1].mUnk_0c = -2; - local_40[1].mUnk_10 = 0; - local_40[1].mUnk_12 = -1; - local_40[1].mUnk_13 = 0; - local_40[1].mUnk_14 = 0; - local_40[1].mUnk_15 = 0; + local_40[1].mUnk_00.mUnk_00 = 0x47; + local_40[1].mUnk_04.mUnk_00 = 0; + local_40[1].mUnk_04.mUnk_04 = 0; + local_40[1].mUnk_04.mUnk_08 = -2; + local_40[1].mUnk_04.mUnk_0c = 0; + local_40[1].mUnk_04.mUnk_0e = -1; + local_40[1].mUnk_04.mUnk_0f = 0; + local_40[1].mUnk_04.mUnk_10 = 0; + local_40[1].mUnk_04.mUnk_11 = 0; if (param_2 != 0) { *param_3 = 0xb; *(unk8 *) (param_3 + 1) = 2; @@ -268,16 +254,16 @@ ARM void MapManager::func_ov00_0208230c(s32 *param_2) { } ARM void MapManager::func_ov00_02082348(unk32 *param_2) { - UnkStruct_02082348 unkStruct; - unkStruct.mUnk_00 = 0x47; - unkStruct.mUnk_04 = 0; - unkStruct.mUnk_08 = 0; - unkStruct.mUnk_0c = -2; - unkStruct.mUnk_10 = 0; - unkStruct.mUnk_12 = -1; - unkStruct.mUnk_13 = 0; - unkStruct.mUnk_14 = 0; - unkStruct.mUnk_15 = 0; + FlagsUnk2 unkStruct; + unkStruct.mUnk_00.mUnk_00 = 0x47; + unkStruct.mUnk_04.mUnk_00 = 0; + unkStruct.mUnk_04.mUnk_04 = 0; + unkStruct.mUnk_04.mUnk_08 = -2; + unkStruct.mUnk_04.mUnk_0c = 0; + unkStruct.mUnk_04.mUnk_0e = -1; + unkStruct.mUnk_04.mUnk_0f = 0; + unkStruct.mUnk_04.mUnk_10 = 0; + unkStruct.mUnk_04.mUnk_11 = 0; this->func_ov00_0208230c((s32 *) &unkStruct); func_ov000_02078bf0((s32 *) &unkStruct, param_2); } diff --git a/src/09_Adventure/Game/GameModeAdventure.cpp b/src/09_Adventure/Game/GameModeAdventure.cpp index 630c4c07..dbfa9690 100644 --- a/src/09_Adventure/Game/GameModeAdventure.cpp +++ b/src/09_Adventure/Game/GameModeAdventure.cpp @@ -37,7 +37,7 @@ THUMB GameModeAdventure *GameModeAdventure::Create(unk32 param1) { // non-matching THUMB GameModeAdventure::GameModeAdventure(unk32 param1) : GameModePlay(param1) { - UnkStruct_02082348 local_28; + FlagsUnk2 local_28; this->mUnk_008 = new(data_027e0ce0[1], 4) UnkStruct_0211a9ac(); this->mUnk_00c = new(data_027e0ce0[1], 4) UnkStruct_020fadf4(this->mUnk_008); @@ -47,30 +47,30 @@ THUMB GameModeAdventure::GameModeAdventure(unk32 param1) : func_ov003_020f4510(); local_28.mUnk_00.mUnk_00 = 0x47; - local_28.mUnk_04.mPos.x = 0; - local_28.mUnk_04.mPos.y = 0; - local_28.mUnk_04.mPos.z = -2; - local_28.mUnk_04.mAngle = 0; - local_28.mUnk_04.mId = -1; + local_28.mUnk_04.mUnk_00 = 0; + local_28.mUnk_04.mUnk_04 = 0; + local_28.mUnk_04.mUnk_08 = -2; + local_28.mUnk_04.mUnk_0c = 0; + local_28.mUnk_04.mUnk_0e = -1; local_28.mUnk_04.mUnk_0f = 0; local_28.mUnk_04.mUnk_10 = 0; local_28.mUnk_04.mUnk_11 = 0; if (gGame.mUnk_102 != 0) { - AdventureFlags::Get_FlagsUnk_00(0x17, (FlagsUnk2 *) &local_28); + AdventureFlags::Get_FlagsUnk_00(0x17, &local_28); } else { if (gGame.mPrevModeId == 1) { - AdventureFlags::Get_FlagsUnk_00(0x17, (FlagsUnk2 *) &local_28); + AdventureFlags::Get_FlagsUnk_00(0x17, &local_28); } else if (data_ov000_020eab04 == 0x47) { - AdventureFlags::Get_FlagsUnk_00(0x01, (FlagsUnk2 *) &local_28); + AdventureFlags::Get_FlagsUnk_00(0x01, &local_28); } else { unk32 index = AdventureFlags::func_ov00_02097ecc(); if (index != 0x21) { - AdventureFlags::Get_FlagsUnk_00(index, (FlagsUnk2 *) &local_28); + AdventureFlags::Get_FlagsUnk_00(index, &local_28); } else { local_28.mUnk_00.mUnk_00 = data_ov000_020eab04; - local_28.mUnk_04.mId = data_ov000_020eab08; + local_28.mUnk_04.mUnk_0e = data_ov000_020eab08; local_28.mUnk_04.mUnk_0f = data_ov000_020eab09; } }