mirror of
https://github.com/zeldaret/st
synced 2026-08-24 07:20:15 -04:00
Decompile overlay 1 (Part 7) (#106)
* run ninja format * delink what's left from overlay 1 (except dsprotect) * fix regressions * UnkStruct_027e0ce0_1C_001 97% * UnkStruct_0204a110_001 OK * UnkStruct_ov024_020d86a0_001 OK * UnkStruct_ov000_020b50c0_001 OK * GameModeCreate OK * AdventureModeManager_001 OK * GameModeAdventure_001 OK * AdventureModeManager_001 OKn't because weak issues * ZeldaCollisionBinary OK * UnkStruct_027e09c0_001 OK * UnkStruct_ov000_020b504c_001 OK * UnkStruct_ov000_02067bc4.hpp -> UnkStruct_ov000_020b504c.hpp * match overlay 97 * match overlay 100 * run ninja format
This commit is contained in:
@@ -11,7 +11,7 @@
|
||||
#include "types.h"
|
||||
#include <nitro/reg.h>
|
||||
|
||||
extern const unk16 data_ov019_020d1bb0[];
|
||||
extern const s16 data_ov019_020d1bb0[];
|
||||
extern "C" void func_ov001_020bd6a8();
|
||||
|
||||
class FileSelect_UnkClass7_04 {
|
||||
@@ -87,7 +87,7 @@ public:
|
||||
/* 180 */
|
||||
|
||||
// clang-format off
|
||||
FileSelectManager(unk32 param1) NO_INLINE :
|
||||
FileSelectManager(UnkStruct_0204a110_Sub2* param1) NO_INLINE :
|
||||
GameModeManagerBase(param1),
|
||||
mUnk_154(&this->mUnk_104),
|
||||
mUnk_158(NULL),
|
||||
@@ -100,7 +100,7 @@ public:
|
||||
REG_DISPCNT_SUB &= 0xFFCFFFEF;
|
||||
REG_DISPCNT_SUB |= 0x00200010;
|
||||
|
||||
this->mUnk_004.func_ov001_020bd734((unk32*)data_ov019_020d1bb0);
|
||||
this->mUnk_004.func_ov001_020bd734(data_ov019_020d1bb0);
|
||||
func_ov001_020bd6a8();
|
||||
}
|
||||
// clang-format on
|
||||
@@ -116,7 +116,7 @@ public:
|
||||
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
|
||||
/* 2C */ virtual void DrawUI(unk8 *param1) override;
|
||||
|
||||
static GameModeManagerBase *Create(unk32 param1);
|
||||
static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1);
|
||||
};
|
||||
|
||||
// static initializers classes
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
// #include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeAdventure : public GameModeBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */
|
||||
|
||||
GameModeAdventure();
|
||||
|
||||
// data_ov024_020d7b68 vtable
|
||||
@@ -18,4 +20,7 @@ public:
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C() override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
|
||||
// overlay 1
|
||||
static GameModeBase *Create();
|
||||
};
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeBattle : public GameModeBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x4C);
|
||||
/* 4C */
|
||||
|
||||
GameModeBattle(unk32 param1);
|
||||
|
||||
/* 00 */ virtual ~GameModeBattle() override;
|
||||
/* 08 */ virtual void vfunc_08() override; // Init
|
||||
/* 0C */ virtual void vfunc_0C() override; // Update
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C() override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
/* 24 */ virtual unk32 vfunc_24() override;
|
||||
|
||||
// overlay 1
|
||||
static GameModeBase *Create();
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeContactMode : public GameModeBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x20);
|
||||
/* 20 */
|
||||
|
||||
GameModeContactMode();
|
||||
|
||||
/* 00 */ virtual ~GameModeContactMode() override;
|
||||
|
||||
// overlay 1
|
||||
static GameModeBase *Create();
|
||||
|
||||
// overlay 23
|
||||
static GameModeBase *CreateInstance();
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameMode.hpp"
|
||||
#include "Unknown/UnkStruct_0204a060.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeDownloadPlay : public GameModeBase {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x6C);
|
||||
/* 6C */
|
||||
|
||||
GameModeDownloadPlay();
|
||||
|
||||
/* 00 */ virtual ~GameModeDownloadPlay() override;
|
||||
|
||||
// overlay 1
|
||||
static GameModeBase *Create();
|
||||
|
||||
// overlay 22
|
||||
static GameModeBase *CreateInstance();
|
||||
};
|
||||
@@ -14,14 +14,26 @@
|
||||
class GameModeManagerBase;
|
||||
class GameModeManagerBase_104;
|
||||
class GameModeManagerBase_104_0C;
|
||||
class UnkStruct_0204a110_Sub2;
|
||||
|
||||
class GameModeManagerBase_004_00 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x38);
|
||||
/* 38 */
|
||||
|
||||
GameModeManagerBase_004_00(s16 param1);
|
||||
~GameModeManagerBase_004_00();
|
||||
};
|
||||
|
||||
class GameModeManagerBase_004 {
|
||||
public:
|
||||
unk32 *mUnk_00;
|
||||
/* 00 */ GameModeManagerBase_004_00 *mUnk_00[60];
|
||||
/* F0 */
|
||||
|
||||
GameModeManagerBase_004();
|
||||
~GameModeManagerBase_004();
|
||||
|
||||
// main
|
||||
void func_0201bf24();
|
||||
void func_0201bf54();
|
||||
void func_0201bf90();
|
||||
@@ -36,7 +48,8 @@ public:
|
||||
void func_0201c22c();
|
||||
bool func_0201c2b0(unk32 param1);
|
||||
|
||||
void func_ov001_020bd734(unk32 *param1);
|
||||
// overlay 1
|
||||
void func_ov001_020bd734(const s16 *param1);
|
||||
void func_ov001_020bd784();
|
||||
};
|
||||
|
||||
@@ -83,22 +96,13 @@ class GameModeManagerBase {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ GameModeManagerBase_004 mUnk_004;
|
||||
/* 008 */ void *mUnk_008;
|
||||
/* 00C */ STRUCT_PAD(0x0C, 0x1A);
|
||||
/* 01A */ bool mUnk_01A;
|
||||
/* 01C */ STRUCT_PAD(0x1C, 0xE0);
|
||||
/* 0E0 */ void *mUnk_0E0;
|
||||
/* 0E4 */ void *mUnk_0E4;
|
||||
/* 0E8 */ void *mUnk_0E8;
|
||||
/* 0EC */ unk32 mUnk_0EC;
|
||||
/* 0F0 */ unk32 mUnk_0F0;
|
||||
/* 0F4 */ bool mUnk_0F4;
|
||||
/* 0F4 */ bool mUnk_0F5;
|
||||
/* 0F4 */ unk8 mUnk_0F6;
|
||||
/* 0F4 */ unk8 mUnk_0F7;
|
||||
/* 0F8 */ unk32 mUnk_0F8;
|
||||
/* 0FC */ unk32 mUnk_0FC;
|
||||
/* 100 */ void *mUnk_100;
|
||||
/* 100 */ UnkStruct_0204a110_Sub2 *mUnk_100;
|
||||
/* 104 */ GameModeManagerBase_104 mUnk_104;
|
||||
/* 120 */ Input mButtons;
|
||||
/* 126 */ TouchControl mTouchControl;
|
||||
@@ -114,7 +118,7 @@ public:
|
||||
return this->mUnk_150;
|
||||
}
|
||||
|
||||
GameModeManagerBase(unk32 param1);
|
||||
GameModeManagerBase(UnkStruct_0204a110_Sub2 *param1);
|
||||
void func_02018550(void);
|
||||
void func_02018554(void);
|
||||
void func_02018634(u16 speed);
|
||||
@@ -153,7 +157,7 @@ public:
|
||||
/* 30 */ virtual void vfunc_30(unk32 param1);
|
||||
/* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2);
|
||||
|
||||
static GameModeManagerBase *Create(unk32 param1);
|
||||
static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1);
|
||||
};
|
||||
|
||||
class TitleScreenManager_Base : public GameModeManagerBase {
|
||||
|
||||
@@ -21,6 +21,9 @@ public:
|
||||
/* 18 */ virtual void vfunc_18() override;
|
||||
/* 1C */ virtual void vfunc_1C() override;
|
||||
/* 20 */ virtual void vfunc_20() override;
|
||||
|
||||
// overlay 1
|
||||
static GameModeBase *Create();
|
||||
};
|
||||
|
||||
extern void func_ov018_020c4b08(unk16 *param1);
|
||||
|
||||
@@ -947,7 +947,7 @@ public:
|
||||
/* 1C4 */ SceneInfos mUnk_1CC;
|
||||
/* 1D4 */
|
||||
|
||||
AdventureModeManager(unk32 param1);
|
||||
AdventureModeManager(UnkStruct_0204a110_Sub2 *param1);
|
||||
|
||||
// data_ov024_020d7c18 vtable
|
||||
/* 08 */ virtual ~AdventureModeManager() override;
|
||||
@@ -1007,7 +1007,7 @@ public:
|
||||
bool func_ov024_020c6dec();
|
||||
void func_ov024_020c699c();
|
||||
|
||||
static AdventureModeManager *Create(unk32 param1);
|
||||
static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1);
|
||||
static void func_ov001_020c00d4();
|
||||
static void func_ov001_020c0104();
|
||||
static void func_ov001_020c0194();
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_027e09a4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
|
||||
#include "math.hpp"
|
||||
#include "types.h"
|
||||
|
||||
@@ -38,7 +37,10 @@ struct UnkStruct_ov000_020ab4dc {
|
||||
/* 66 */ unk16 mUnk_70;
|
||||
/* 66 */ unk16 mUnk_72;
|
||||
/* 74 */ s16 mUnk_74;
|
||||
/* 78 */ STRUCT_PAD(0x78, 0x9C);
|
||||
/* 78 */ STRUCT_PAD(0x76, 0x86);
|
||||
/* 86 */ u8 mUnk_86[7];
|
||||
/* 8D */ STRUCT_PAD(0x8D, 0x98);
|
||||
/* 98 */ unk32 mUnk_98;
|
||||
/* 9C */
|
||||
};
|
||||
extern const UnkStruct_ov000_020ab4dc data_ov000_020ab4dc[PlayerCharacter_Max];
|
||||
@@ -66,6 +68,20 @@ inline bool PlayerCharacter_IsNotLink2(PlayerCharacter character) {
|
||||
return ret;
|
||||
}
|
||||
|
||||
class UnkStruct_PlayerGet_64 {
|
||||
public:
|
||||
/* 00 */ ActorRef *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ u16 mUnk_08; // makes link invisible when set
|
||||
/* 0A */ unk16 mUnk_0A;
|
||||
/* 0C */
|
||||
|
||||
UnkStruct_PlayerGet_64(void *param1);
|
||||
~UnkStruct_PlayerGet_64();
|
||||
|
||||
void func_ov000_0208a100();
|
||||
};
|
||||
|
||||
class ModelRender_Derived3 : public ModelRender {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
@@ -5,6 +5,81 @@
|
||||
class UnkStruct_027e0ce0_40;
|
||||
class PlayerLinkActor_A0_38;
|
||||
|
||||
class PlayerLinkActor_A0_04 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_02088268();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_10 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
|
||||
/* 00 */ virtual ~PlayerLinkActor_A0_10();
|
||||
|
||||
// overlay 31
|
||||
void func_ov031_020e076c();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_14 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
/* 00 */ virtual ~PlayerLinkActor_A0_14();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_18 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
~PlayerLinkActor_A0_18();
|
||||
|
||||
// overlay 82
|
||||
void func_ov082_02157bb8();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_1C {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
// overlay 101
|
||||
void func_ov101_02183290();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_28 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */
|
||||
|
||||
PlayerLinkActor_A0_28(PlayerLinkActor_A0_10 *param1, PlayerLinkActor_A0_14 *param2);
|
||||
~PlayerLinkActor_A0_28();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_2C {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
PlayerLinkActor_A0_2C();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0208e704();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_34 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
PlayerLinkActor_A0_34();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_02082748();
|
||||
};
|
||||
|
||||
class PlayerLinkActor_A0_38_04_Base : public LinkList<PlayerLinkActor_A0_38_04_Base> {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
@@ -69,17 +144,49 @@ public:
|
||||
|
||||
class PlayerLinkActor_A0 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x38);
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ PlayerLinkActor_A0_04 *mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ PlayerLinkActor_A0_10 *mUnk_10;
|
||||
/* 14 */ PlayerLinkActor_A0_14 *mUnk_14;
|
||||
/* 18 */ PlayerLinkActor_A0_18 *mUnk_18;
|
||||
/* 1C */ PlayerLinkActor_A0_1C *mUnk_1C;
|
||||
/* 20 */ PlayerLinkActor_A0_38 *mUnk_20;
|
||||
/* 24 */ void *mUnk_24;
|
||||
/* 28 */ PlayerLinkActor_A0_28 *mUnk_28;
|
||||
/* 2C */ PlayerLinkActor_A0_2C mUnk_2C;
|
||||
/* 30 */ unk32 mUnk_30;
|
||||
/* 34 */ PlayerLinkActor_A0_34 mUnk_34;
|
||||
/* 38 */ PlayerLinkActor_A0_38 *mUnk_38;
|
||||
/* 3C */ STRUCT_PAD(0x3C, 0x94);
|
||||
/* 3C */ STRUCT_PAD(0x3C, 0x5C);
|
||||
/* 5C */ UnkStruct_PlayerGet_64 mUnk_5C;
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 6C */ unk32 mUnk_6C;
|
||||
/* 70 */ u32 mUnk_70;
|
||||
/* 74 */ unk32 mUnk_74;
|
||||
/* 78 */ bool mUnk_78;
|
||||
/* 79 */ STRUCT_PAD(0x79, 0x7D);
|
||||
/* 7D */ bool mUnk_7D;
|
||||
/* 7E */ bool mUnk_7E;
|
||||
/* 80 */ void *mUnk_80;
|
||||
/* 84 */ unk32 mUnk_84;
|
||||
/* 88 */ unk32 mUnk_88;
|
||||
/* 8C */ unk32 mUnk_8C;
|
||||
/* 90 */ unk32 mUnk_90;
|
||||
/* 94 */
|
||||
|
||||
PlayerLinkActor_A0(unk32 param1, UnkStruct_027e0ce0_40 *param2, PlayerActorBase *pPlayer, PlayerLinkActor_9C *param4);
|
||||
~PlayerLinkActor_A0();
|
||||
|
||||
// overlay 0
|
||||
bool func_ov000_02091f08(unk32 param1);
|
||||
void func_ov000_020921e4(unk32 param1);
|
||||
void func_ov000_02091ea0();
|
||||
void func_ov000_020936ec();
|
||||
u32 func_ov000_02093718();
|
||||
u8 func_ov000_0209378c(); // bool?
|
||||
void func_ov000_02093a04();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bd2e0();
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "Save/AdventureFlags.hpp"
|
||||
#include "Save/SaveFile.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b504c.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
|
||||
@@ -394,16 +394,22 @@ public:
|
||||
const bool IsBossLast1() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast1; }
|
||||
const bool IsBossLast2() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast2; }
|
||||
const bool IsDungeonForest() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_DgnForest; }
|
||||
const bool IsDungeonDesert() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_DgnDesert; }
|
||||
const bool IsPirateHideout() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_FldAjito; }
|
||||
|
||||
const bool IsASR() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_ASR; }
|
||||
const bool IsPlayerSub() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_PlayerSub; }
|
||||
|
||||
const bool IsPlayerPhantom() const { return this->mLoadedOverlays[OverlaySlot_10] == OverlayIndex_PlayerPhantom; }
|
||||
const bool IsPlayerZelda() const { return this->mLoadedOverlays[OverlaySlot_10] == OverlayIndex_PlayerZelda; }
|
||||
|
||||
const bool IsMapLava() const { return this->mLoadedOverlays[OverlaySlot_12] == OverlayIndex_MapLava; }
|
||||
|
||||
const bool IsMapA6() const { return this->mLoadedOverlays[OverlaySlot_13] == OverlayIndex_MapA6; }
|
||||
|
||||
const bool IsMapB3() const { return this->mLoadedOverlays[OverlaySlot_14] == OverlayIndex_MapB3; }
|
||||
|
||||
const bool IsMapC1() const { return this->mLoadedOverlays[OverlaySlot_15] == OverlayIndex_MapC1; }
|
||||
// clang-format on
|
||||
|
||||
void Load(OverlaySlot slot, OverlayIndex index);
|
||||
|
||||
@@ -117,7 +117,7 @@ public:
|
||||
/* 154 */ GameModeBase *mpGameMode;
|
||||
/* 158 */
|
||||
|
||||
TitleScreenManager(unk32 param1) NO_INLINE {
|
||||
TitleScreenManager(UnkStruct_0204a110_Sub2 *param1) NO_INLINE {
|
||||
this->mpGameMode = NULL;
|
||||
GX_SetGraphicsMode(1, 0, 1);
|
||||
GXS_SetGraphicsMode(5);
|
||||
@@ -136,5 +136,5 @@ public:
|
||||
/* 2C */ virtual void DrawUI(unk8 *param1) override;
|
||||
/* 38 */ virtual void vfunc_38(u32 sceneIndex, u8 roomIndex, unk16 param3, unk16 param4) override;
|
||||
|
||||
static TitleScreenManager *Create(unk32 param1);
|
||||
static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1);
|
||||
};
|
||||
|
||||
@@ -944,6 +944,19 @@ public:
|
||||
void func_ov000_020a0334();
|
||||
};
|
||||
|
||||
class UnkSystem7_Derived2 : public UnkSystem7 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */
|
||||
|
||||
UnkSystem7_Derived2(UnkSystem7_UnkStruct_00 *param1, unk32 param2, unk32 param3) :
|
||||
UnkSystem7(param1),
|
||||
mUnk_04(param2),
|
||||
mUnk_08(param3) {}
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_ec : public UnkSystem7 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
@@ -1237,3 +1250,15 @@ public:
|
||||
|
||||
UnkStruct_PlayerGet_74_base();
|
||||
};
|
||||
|
||||
struct UnkStruct_ov000_020aa88c {
|
||||
/* 00 */ bool mUnk_00;
|
||||
/* 01 */ bool mUnk_01;
|
||||
/* 02 */ bool mUnk_02;
|
||||
/* 03 */ bool mUnk_03;
|
||||
/* 04 */ bool mUnk_04;
|
||||
/* 05 */ unk8 mUnk_05;
|
||||
/* 06 */ u16 mUnk_06;
|
||||
/* 08 */
|
||||
};
|
||||
extern UnkStruct_ov000_020aa88c data_ov000_020aa88c[];
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include "LinkList.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_02067bc4.hpp"
|
||||
#include "Unknown/UnkStruct_ov000_020b504c.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class GameModeFileSelect;
|
||||
|
||||
@@ -4,33 +4,37 @@
|
||||
#include "System/SysNew.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_0204a088_Base {
|
||||
public:
|
||||
UnkStruct_0204a088_Base();
|
||||
~UnkStruct_0204a088_Base(); //! TODO: most likely inlined but can't make it work for some reasons
|
||||
};
|
||||
|
||||
// members 00 04 and 08 are used in data_ov000_020b1d74 to figure out which overlay to load next in slot 1
|
||||
class UnkStruct_0204a088 : public UnkStruct_0204a088_Base {
|
||||
class UnkStruct_0204a088 : public AutoInstance<UnkStruct_0204a088> {
|
||||
public:
|
||||
/* 000 */ unk32 mUnk_00; // current index
|
||||
/* 000 */ unk32 mUnk_04; // prev index
|
||||
/* 000 */ unk32 mUnk_08; // next index
|
||||
/* 00C */ FileSelectManager_UnkDrawBase mUnk_0C[23]; // 23 possible overlays
|
||||
/* 120 */ u16 mUnk_120;
|
||||
/* 122 */ unk16 mUnk_122;
|
||||
/* 124 */ unk8 mUnk_124;
|
||||
/* 125 */ unk8 mUnk_125;
|
||||
/* 126 */ unk8 mUnk_126;
|
||||
/* 122 */ bool mUnk_122;
|
||||
/* 123 */ bool mUnk_123;
|
||||
/* 124 */ bool mUnk_124;
|
||||
/* 125 */ bool mUnk_125;
|
||||
/* 126 */ bool mUnk_126;
|
||||
/* 127 */ bool mUnk_127;
|
||||
/* 128 */ unk16 mUnk_128;
|
||||
/* 12C */
|
||||
|
||||
UnkStruct_0204a088();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_02061098(void);
|
||||
void func_ov000_020611dc(void *param1, unk32 param2);
|
||||
bool func_ov000_020611fc(unk32 param2); // sets new index
|
||||
bool func_ov000_02061224(void);
|
||||
void func_ov000_02061230(void);
|
||||
void func_ov000_02061248(void);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bd6f8();
|
||||
|
||||
static UnkStruct_0204a088 *Create();
|
||||
};
|
||||
|
||||
extern UnkStruct_0204a088 *data_0204a088;
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
#include <nitro/mi.h>
|
||||
|
||||
class GameModeManagerBase;
|
||||
class UnkStruct_0204a110_Sub2;
|
||||
|
||||
typedef GameModeManagerBase *(*GameModeMgrCreateCallback)(UnkStruct_0204a110_Sub2 *param1);
|
||||
|
||||
struct UnkStruct_0204a110_Sub2_000_158 {
|
||||
u32 mUnk_00[3];
|
||||
@@ -60,8 +63,13 @@ public:
|
||||
/* 360 */
|
||||
|
||||
UnkStruct_0204a110_Sub2();
|
||||
void func_0201c890(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
|
||||
// main
|
||||
void func_0201c890(unk32 param1, unk32 param2, bool param3, bool param4, bool param5);
|
||||
void func_0201ca28(unk32 param1);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bd7c0();
|
||||
};
|
||||
|
||||
class UnkStruct_0204a110_Sub3_00 {
|
||||
@@ -197,6 +205,7 @@ public:
|
||||
|
||||
UnkStruct_0204a110_Sub8();
|
||||
|
||||
void func_0201de24(void);
|
||||
void func_0201e588(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
|
||||
void func_0201e698(void);
|
||||
};
|
||||
@@ -236,7 +245,7 @@ public:
|
||||
/* DBC */ STRUCT_PAD(0xDBC, 0xDC0);
|
||||
/* DC0 */ UnkStruct_0204a110_Sub7 mUnk_DC0;
|
||||
/* DDC */ UnkStruct_0204a110_Sub8 mUnk_DDC;
|
||||
/* DEC */ GameModeManagerBase *mUnk_DEC;
|
||||
/* DEC */ GameModeManagerBase *mpManager;
|
||||
/* DF0 */ u16 mUnk_DF0;
|
||||
/* DF2 */ unk8 mUnk_DF2;
|
||||
/* DF3 */ unk8 mUnk_DF3;
|
||||
@@ -287,10 +296,10 @@ public:
|
||||
UnkStruct_func_02019590 *func_02019590(unk16 param1, unk32 param2);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bd514(unk32 param1, void *param2, unk32 param3, unk32 param4);
|
||||
void func_ov001_020bd514(unk32 param1, GameModeMgrCreateCallback createCallback, bool param3, bool param4);
|
||||
void func_ov001_020bd58c(void);
|
||||
void func_ov001_020bd638(void);
|
||||
void func_ov001_020bd5b0(void);
|
||||
void func_ov001_020bd638(void);
|
||||
void func_ov001_020bd678(void);
|
||||
void func_ov001_020bd68c(void);
|
||||
|
||||
|
||||
@@ -10,7 +10,9 @@
|
||||
struct UnkStruct_func_ov000_020702a8 {
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x10);
|
||||
/* 10 */ Vec2s mUnk_10;
|
||||
/* 14 */ STRUCT_PAD(0x14, 0x20);
|
||||
/* 14 */ u8 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */ unk16 mUnk_20;
|
||||
/* 22 */ unk16 mUnk_22;
|
||||
};
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
#include <nitro/mi.h>
|
||||
|
||||
struct SaveFile;
|
||||
struct GameSaveSlot;
|
||||
class UnkStruct_027e09a4;
|
||||
|
||||
#define ROOM_INDEX_NONE 0xFF
|
||||
@@ -315,7 +315,8 @@ public:
|
||||
bool func_ov000_02070a9c(EntranceInfo *param1);
|
||||
bool func_ov000_02072154(EntranceInfo *param1, unk32 param2);
|
||||
bool func_ov000_0207056c();
|
||||
void func_ov000_020705e8(SaveFile *param1, unk32 param2);
|
||||
bool func_ov000_0207059c();
|
||||
void func_ov000_020705e8(GameSaveSlot *param1, unk32 param2);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020b662c();
|
||||
|
||||
@@ -8,12 +8,56 @@
|
||||
|
||||
class UnkStruct_027e0cd8_0C_Base;
|
||||
|
||||
class UnkStruct_027e09c0 : public AutoInstance<UnkStruct_027e09c0> {
|
||||
class UnkStruct_027e09c0_60 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */
|
||||
|
||||
UnkStruct_027e09c0_60() {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_10 = 0;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mUnk_0C = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_027e09c0_04 {
|
||||
public:
|
||||
void func_ov000_0207f4d4();
|
||||
};
|
||||
|
||||
class UnkStruct_027e09c0 : public AutoInstance<UnkStruct_027e09c0> {
|
||||
public:
|
||||
/* 000 */ unk32 mUnk_000;
|
||||
/* 004 */ UnkStruct_027e09c0_04 *mUnk_004[16];
|
||||
/* 044 */ UnkStruct_027e09c0_04 **mUnk_044;
|
||||
/* 048 */ void *mUnk_048;
|
||||
/* 04C */ void *mUnk_04C;
|
||||
/* 050 */ unk32 mUnk_050;
|
||||
/* 054 */ void *mUnk_054;
|
||||
/* 058 */ void *mUnk_058;
|
||||
/* 05C */ unk32 mUnk_05C;
|
||||
/* 060 */ UnkStruct_027e09c0_60 mUnk_060[64];
|
||||
/* 760 */ void *mUnk_760;
|
||||
/* 764 */ void *mUnk_764;
|
||||
/* 768 */ unk32 mUnk_768;
|
||||
/* 76C */ void *mUnk_76C;
|
||||
/* 770 */ void *mUnk_770;
|
||||
/* 774 */ unk32 mUnk_774;
|
||||
/* 778 */ unk32 mUnk_778;
|
||||
/* 77C */ STRUCT_PAD(0x77C, 0x878);
|
||||
/* 878 */ unk32 mUnk_878;
|
||||
/* 87C */ STRUCT_PAD(0x87C, 0x978);
|
||||
/* 978 */
|
||||
|
||||
UnkStruct_027e09c0();
|
||||
~UnkStruct_027e09c0();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0207da40();
|
||||
@@ -27,6 +71,7 @@ public:
|
||||
|
||||
static UnkStruct_027e09c0 *Create();
|
||||
static void Destroy();
|
||||
static void DestroyImpl();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e09c0 *data_027e09c0;
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "files.h"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e09e8 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x24);
|
||||
/* 24 */ ZCBEntryPLCB *mpPolyClassTable;
|
||||
/* 28 */ ZCBEntryPLCB *mpPolyClassTableEnd;
|
||||
/* 2C */ u32 mNumPolyClasses;
|
||||
/* 30 */ VecFx32 *mpVerticesTable;
|
||||
/* 34 */ VecFx32 *mpVerticesTableEnd;
|
||||
/* 38 */ u32 mNumVertices;
|
||||
/* 3C */ ZCBEntryNRMB *mpNormalTable;
|
||||
/* 40 */ ZCBEntryNRMB *mpNormalTableEnd;
|
||||
/* 44 */ u32 mNumNormals;
|
||||
/* 48 */ VecFx32 mUnk_48;
|
||||
/* 54 */ VecFx32 mUnk_54;
|
||||
/* 60 */
|
||||
|
||||
UnkStruct_027e09e8();
|
||||
~UnkStruct_027e09e8();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0207ba84(UnkFileSystem1 *param1, UnkStruct_027e0cd8_0C_Base *param2); // calls `ZCB_ParseFile`
|
||||
void func_ov000_0207baa0();
|
||||
void func_ov000_0207bab4(ZCBEntryTRIB *pEntries, u16 nEntries);
|
||||
void func_ov000_0207e99c(ZCBSectionGRDB *pSection, UnkStruct_027e0cd8_0C_Base *param2);
|
||||
};
|
||||
|
||||
//! TODO: gCollisionManager? also not a pointer?
|
||||
extern UnkStruct_027e09e8 data_027e09e8;
|
||||
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0a48 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
|
||||
UnkStruct_027e0a48();
|
||||
~UnkStruct_027e0a48();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0207ef30();
|
||||
void func_ov000_0207f048();
|
||||
void func_ov000_0207f1f0();
|
||||
void func_ov000_0207f280(UnkStruct_027e0cd8_0C_Base *param1);
|
||||
void func_ov000_0207f2d8();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0a48 data_027e0a48;
|
||||
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
#include "global.h"
|
||||
#include "iterator.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_027e0b48_IteratorEntry {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x70);
|
||||
/* 70 */ void *mUnk_70;
|
||||
/* 74 */
|
||||
|
||||
UnkStruct_027e0b48_IteratorEntry() {
|
||||
this->mUnk_70 = this;
|
||||
}
|
||||
|
||||
~UnkStruct_027e0b48_IteratorEntry() {}
|
||||
};
|
||||
|
||||
class UnkStruct_027e0b48 {
|
||||
public:
|
||||
/* 000 */ Iterator<UnkStruct_027e0b48_IteratorEntry> mUnk_000;
|
||||
/* 008 */ unk8 mUnk_008[0x140];
|
||||
/* 148 */
|
||||
|
||||
UnkStruct_027e0b48();
|
||||
~UnkStruct_027e0b48();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020be474();
|
||||
void func_ov001_020be4e4();
|
||||
};
|
||||
|
||||
extern UnkStruct_027e0b48 data_027e0b48;
|
||||
@@ -194,9 +194,7 @@ public:
|
||||
/* 088 */ UnkStruct_027e0cd8_0C_Base_88 mUnk_088;
|
||||
/* 098 */ UnkStruct_027e0cd8_0C_Base_98 *mUnk_098;
|
||||
/* 09C */ Vec2us mUnk_09C;
|
||||
/* 0A0 */ unk32 mUnk_0A0;
|
||||
/* 0A4 */ unk32 mUnk_0A4;
|
||||
/* 0A8 */ unk32 mUnk_0A8;
|
||||
/* 0A0 */ VecFx32 mUnk_0A0;
|
||||
/* 0AC */ bool mUnk_0AC;
|
||||
/* 0AC */ bool mUnk_0AD;
|
||||
/* 0AC */ bool mUnk_0AE;
|
||||
|
||||
@@ -34,11 +34,57 @@ public:
|
||||
/* 00 */ virtual void vfunc_00(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_1C_00 {
|
||||
public:
|
||||
/* 00 */ u16 mUnk_00;
|
||||
|
||||
UnkStruct_027e0ce0_1C_00() {
|
||||
this->mUnk_00 = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_1C_08 : public MapObjectProfile_Derived2_20_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 94 */
|
||||
|
||||
UnkStruct_027e0ce0_1C_08(unk32 param1, unk32 param2, unk32 param3);
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_1C_C8 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x20);
|
||||
/* 20 */
|
||||
|
||||
UnkStruct_027e0ce0_1C_C8(unk32 param1, unk32 param2);
|
||||
~UnkStruct_027e0ce0_1C_C8();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_1C_D4 {
|
||||
public:
|
||||
/* 0000 */ STRUCT_PAD(0x00, 0x6AD8);
|
||||
/* 6AD8 */
|
||||
|
||||
UnkStruct_027e0ce0_1C_D4();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_1C_D8 {
|
||||
public:
|
||||
/* 0000 */ STRUCT_PAD(0x00, 0x6AB0);
|
||||
/* 6AB0 */
|
||||
|
||||
UnkStruct_027e0ce0_1C_D8();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_1C {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x0C);
|
||||
/* 0C */ MapObjectProfile_Derived2_20_Base *mUnk_0C;
|
||||
/* 10 */ STRUCT_PAD(0x10, 0xDC);
|
||||
/* 00 */ UnkStruct_027e0ce0_1C_00 mUnk_00[PlayerCharacter_Max];
|
||||
/* 06 */ unk16 mUnk_06; // pad?
|
||||
/* 08 */ UnkStruct_027e0ce0_1C_08 *mUnk_08[PlayerCharacter_Max][7];
|
||||
/* 5C */ UnkFileSystem5 *mUnk_5C[PlayerCharacter_Max][9];
|
||||
/* C8 */ UnkStruct_027e0ce0_1C_C8 *mUnk_C8[PlayerCharacter_Max];
|
||||
/* D4 */ UnkStruct_027e0ce0_1C_D4 *mUnk_D4;
|
||||
/* D8 */ UnkStruct_027e0ce0_1C_D8 *mUnk_D8;
|
||||
/* DC */
|
||||
|
||||
UnkStruct_027e0ce0_1C();
|
||||
@@ -424,9 +470,21 @@ public:
|
||||
~UnkStruct_027e0ce0_40_Base_78();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_40_Base_7C_04 {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0xB4);
|
||||
/* B4 */
|
||||
|
||||
UnkStruct_027e0ce0_40_Base_7C_04();
|
||||
~UnkStruct_027e0ce0_40_Base_7C_04();
|
||||
};
|
||||
|
||||
class UnkStruct_027e0ce0_40_Base_7C {
|
||||
public:
|
||||
/* 00 */ STRUCT_PAD(0x00, 0x18);
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ UnkStruct_027e0ce0_40_Base_7C_04 *mUnk_04;
|
||||
/* 08 */ UnkSystem7_Derived2 mUnk_08;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_027e0ce0_40_Base_7C(unk32 param1);
|
||||
|
||||
@@ -31,6 +31,10 @@ public:
|
||||
UnkStruct_027e0d08();
|
||||
~UnkStruct_027e0d08();
|
||||
|
||||
// overlay 1
|
||||
static void Destroy();
|
||||
|
||||
// overlay 24
|
||||
void func_ov024_020d5d10(unk32 param1);
|
||||
void func_ov024_020d5d18(unk32 param1);
|
||||
void func_ov024_020d5d34(unk32 param1);
|
||||
|
||||
@@ -1,185 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Message/BMG.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/UnkStruct_02049b18.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
#include <nitro/pad.h>
|
||||
|
||||
class UnkStruct_027e0cd8_04_0C;
|
||||
|
||||
class UnkStruct_ov000_02067bc4_Sub1 {
|
||||
public:
|
||||
unk32 func_02022128(void);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_02067bc4_Sub2 {
|
||||
public:
|
||||
unk8 mUnk_00[0x10];
|
||||
unk32 mUnk_10;
|
||||
unk8 mUnk_14[0x40];
|
||||
unk32 mUnk_54;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_02067bc4 {
|
||||
public:
|
||||
class UnkStruct1 {
|
||||
public:
|
||||
union {
|
||||
struct {
|
||||
unk16 mUnk_00;
|
||||
unk16 mUnk_02;
|
||||
unk32 mUnk_04;
|
||||
unk32 mUnk_08;
|
||||
u8 mUnk_0C;
|
||||
unk8 mUnk_0D;
|
||||
unk8 mUnk_0E;
|
||||
unk8 mUnk_0F;
|
||||
};
|
||||
|
||||
u32 data[4];
|
||||
};
|
||||
|
||||
UnkStruct1(unk32 param1, unk32 param2) {
|
||||
mUnk_00 = 0;
|
||||
mUnk_08 = param1;
|
||||
mUnk_0C = 0;
|
||||
mUnk_0D = 0;
|
||||
mUnk_04 = 0;
|
||||
}
|
||||
|
||||
UnkStruct1(unk32 param1) {
|
||||
mUnk_00 = 0;
|
||||
mUnk_04 = param1;
|
||||
mUnk_08 = param1;
|
||||
mUnk_0C = 0;
|
||||
mUnk_0D = 0;
|
||||
}
|
||||
|
||||
UnkStruct1() {
|
||||
mUnk_00 = 0;
|
||||
mUnk_08 = -1;
|
||||
mUnk_0C = 0;
|
||||
mUnk_0D = 0;
|
||||
mUnk_04 = 0;
|
||||
}
|
||||
};
|
||||
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 004 */ unk32 mUnk_004;
|
||||
/* 008 */ UnkStruct_ov000_02067bc4_Sub2 *mUnk_008;
|
||||
/* 00C */ STRUCT_PAD(0x0C, 0x28);
|
||||
/* 028 */ UnkStruct1 mUnk_028;
|
||||
/* 038 */ STRUCT_PAD(0x38, 0x160);
|
||||
/* 160 */ UnkStruct_ov000_02067bc4_Sub1 mUnk_160;
|
||||
|
||||
/* 00 */ virtual unk32 vfunc_00();
|
||||
/* 04 */ virtual unk32 vfunc_04();
|
||||
/* 08 */ virtual bool vfunc_08();
|
||||
|
||||
void func_02021bec(unk16 param1);
|
||||
void func_02021c08();
|
||||
void func_02021c2c();
|
||||
};
|
||||
|
||||
typedef void (*UnkCallback2)();
|
||||
|
||||
class BMGEntry {
|
||||
public:
|
||||
/* 00 */ SectionINF1 *mpINF1;
|
||||
/* 04 */ SectionFLW1 *mpFLW1;
|
||||
/* 08 */ SectionFLI1 *mpFLI1;
|
||||
/* 0C */ SectionDAT1 *mpDAT1;
|
||||
/* 10 */ unk32 mBMGGroup;
|
||||
/* 14 */
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_Sub3 {
|
||||
public:
|
||||
/* 00 */ BMGEntry **mpBMGTable;
|
||||
/* 04 */ BMGHeader **mUnk_04;
|
||||
/* 08 */ BMGHeader **mUnk_08;
|
||||
/* 0C */ SectionINF1 *mUnk_0C;
|
||||
/* 10 */ unk32 mUnk_10;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ov000_020b504c_Sub3(unk32 param1);
|
||||
void func_ov000_020676f8(const char *bmgFileName, unk32 param2);
|
||||
EntryINF1 *func_ov000_02067a2c(u32 msgId);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_Sub4_00 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_Sub4 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c {
|
||||
public:
|
||||
/* 000 */ UnkStruct_ov000_020b504c_Sub3 *mUnk_000;
|
||||
/* 004 */ GameModeManagerBase_004 *mUnk_004;
|
||||
/* 008 */ UnkStruct_ov000_02067bc4_Sub2 *mUnk_008;
|
||||
/* 00C */ UnkStruct_ov000_020b504c_Sub4 mUnk_00C[7];
|
||||
/* 028 */ unk32 mUnk_028; // pointer to the subsystem that handles drawing the textboxes
|
||||
/* 02C */ unk32 mUnk_02C;
|
||||
/* 030 */ unk32 mUnk_030;
|
||||
/* 034 */ Input mButtons;
|
||||
/* 03A */ TouchControl mTouchControl;
|
||||
/* 05C */ unk8 mUnk_05C[0x10];
|
||||
/* 06C */ unk8 mUnk_06C[2];
|
||||
/* 06E */ unk8 mUnk_06E;
|
||||
/* 06F */ unk8 mUnk_06F;
|
||||
|
||||
UnkStruct_ov000_020b504c();
|
||||
|
||||
// overlay 0
|
||||
void *func_ov000_02067bb4(unk32 param1);
|
||||
UnkStruct_ov000_02067bc4 *func_ov000_02067bc4(unk32);
|
||||
unk8 func_ov000_02067cf8(unk32 param1, unk32 param2, UnkStruct_ov000_02067bc4::UnkStruct1 *param3); // ShowText?
|
||||
void func_ov000_02067e60(u8 param1, unk32 param2);
|
||||
unk32 func_ov000_020682c0(unk32 param1);
|
||||
void func_ov000_02067f5c(unk32 param1);
|
||||
bool func_ov000_02067f88(unk32 param1, unk32 param2);
|
||||
UnkStruct_ov000_020b504c_Sub4_00 *func_ov000_02067bf0();
|
||||
void func_ov000_02067b20();
|
||||
void func_ov000_02068068(unk32 param1);
|
||||
bool func_ov000_0206807c(unk32 param1, void *param2);
|
||||
void func_ov000_02067b60();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020be504(void);
|
||||
void func_ov001_020be510();
|
||||
void func_ov001_020be668(void);
|
||||
void func_ov001_020be6f4(void);
|
||||
void func_ov001_020be8e0(void);
|
||||
void func_ov001_020be92c(UnkStruct_027e0cd8_04_0C *param1);
|
||||
void func_ov001_020be94c(void);
|
||||
void func_ov001_020be998(void);
|
||||
};
|
||||
|
||||
// gMessageManager?
|
||||
extern UnkStruct_ov000_020b504c data_ov000_020b504c;
|
||||
|
||||
struct UnkMsgDataStruct1 {
|
||||
unk32 mUnk_00;
|
||||
|
||||
void func_ov000_02067a60(void *, int);
|
||||
};
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "Actor/ActorRef.hpp"
|
||||
#include "Item/ItemManager.hpp"
|
||||
#include "Player/PlayerLink.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "math.hpp"
|
||||
|
||||
@@ -24,20 +25,6 @@ public:
|
||||
/* 90 */
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_64 {
|
||||
public:
|
||||
/* 00 */ ActorRef *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ u16 mUnk_08; // makes link invisible when set
|
||||
/* 0A */ unk16 mUnk_0A;
|
||||
/* 0C */
|
||||
|
||||
UnkStruct_PlayerGet_64(void *param1);
|
||||
~UnkStruct_PlayerGet_64();
|
||||
|
||||
void func_ov000_0208a100();
|
||||
};
|
||||
|
||||
class UnkStruct_PlayerGet_64_2 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
@@ -98,33 +85,6 @@ public:
|
||||
/* 150 */ ActorRef mUnk_150;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_30_10 {
|
||||
public:
|
||||
void func_ov031_020e076c();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_30 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk32 mUnk_0C;
|
||||
/* 10 */ UnkStruct_ov000_0208f820_30_10 *mUnk_10;
|
||||
/* 14 */ unk32 mUnk_14;
|
||||
/* 18 */ unk32 mUnk_18;
|
||||
/* 1C */ unk32 mUnk_1C;
|
||||
/* 20 */ unk32 mUnk_20;
|
||||
/* 24 */ unk32 mUnk_24;
|
||||
/* 28 */ STRUCT_PAD(0x28, 0x68);
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 6C */ unk32 mUnk_6C;
|
||||
/* 70 */ u32 mUnk_70;
|
||||
|
||||
void func_ov000_020921e4(unk32 param1);
|
||||
void func_ov000_020936ec();
|
||||
void func_ov000_02093a04();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_0208f820_40 {
|
||||
public:
|
||||
/* 00 */ u16 mUnk_00;
|
||||
@@ -196,7 +156,7 @@ public:
|
||||
/* 24 */ UnkStruct_ov000_0208f820_24 *mUnk_24;
|
||||
/* 28 */ UnkStruct_ov000_0208f820_28 *mUnk_28;
|
||||
/* 2C */ UnkStruct_ov000_0208f820_2c *mUnk_2C;
|
||||
/* 30 */ UnkStruct_ov000_0208f820_30 *mUnk_30;
|
||||
/* 30 */ PlayerLinkActor_A0 *mUnk_30;
|
||||
/* 34 */ VecFx32 *mUnk_34;
|
||||
/* 38 */ VecFx32 *mUnk_38;
|
||||
/* 3C */ VecFx32 *mUnk_3C;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "Save/SaveFile.hpp"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov000_020b4eec {
|
||||
@@ -10,7 +11,7 @@ public:
|
||||
|
||||
UnkStruct_ov000_020b4eec();
|
||||
|
||||
SaveFile *func_ov001_020be12c();
|
||||
GameSaveSlot *func_ov001_020be12c();
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_020b4eec data_ov000_020b4eec;
|
||||
|
||||
@@ -0,0 +1,413 @@
|
||||
#pragma once
|
||||
|
||||
#include "Animation/CellAnimObject.hpp"
|
||||
#include "Game/GameModeManager.hpp"
|
||||
#include "Item/Item.hpp"
|
||||
#include "Message/BMG.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_02049b18.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
#include <nitro/pad.h>
|
||||
|
||||
class UnkStruct_027e0cd8_04_0C;
|
||||
|
||||
class UnkTextStruct1 {
|
||||
public:
|
||||
/* 00 */ union {
|
||||
struct {
|
||||
/* 00 */ unk16 mUnk_00;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ u8 mUnk_0C;
|
||||
/* 0D */ unk8 mUnk_0D;
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
/* 0F */ unk8 mUnk_0F;
|
||||
};
|
||||
|
||||
/* 00 */ u32 data[4];
|
||||
};
|
||||
/* 10 */
|
||||
|
||||
UnkTextStruct1(unk32 param1, unk32 param2) {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_08 = param1;
|
||||
this->mUnk_0C = 0;
|
||||
this->mUnk_0D = 0;
|
||||
this->mUnk_04 = 0;
|
||||
}
|
||||
|
||||
UnkTextStruct1(unk32 param1) {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_04 = param1;
|
||||
this->mUnk_08 = param1;
|
||||
this->mUnk_0C = 0;
|
||||
this->mUnk_0D = 0;
|
||||
}
|
||||
|
||||
UnkTextStruct1() {}
|
||||
};
|
||||
|
||||
typedef void (*UnkCallback2)();
|
||||
|
||||
class BMGEntry {
|
||||
public:
|
||||
/* 00 */ SectionINF1 *mpINF1;
|
||||
/* 04 */ SectionFLW1 *mpFLW1;
|
||||
/* 08 */ SectionFLI1 *mpFLI1;
|
||||
/* 0C */ SectionDAT1 *mpDAT1;
|
||||
/* 10 */ unk32 mBMGGroup;
|
||||
/* 14 */
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_Sub3 {
|
||||
public:
|
||||
/* 00 */ BMGEntry **mpBMGTable;
|
||||
/* 04 */ BMGHeader **mUnk_04;
|
||||
/* 08 */ BMGHeader **mUnk_08;
|
||||
/* 0C */ SectionINF1 *mUnk_0C;
|
||||
/* 10 */ s16 mUnk_10;
|
||||
/* 12 */ unk16 mUnk_12;
|
||||
/* 14 */
|
||||
|
||||
UnkStruct_ov000_020b504c_Sub3(unk32 param1);
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_020676f8(const char *bmgFileName, HeapIndex heapIndex);
|
||||
void func_ov000_020677b0(const char *bmgFileName, HeapIndex heapIndex);
|
||||
void func_ov000_02067804(const char *bmgFileName, void *pDst, size_t size); // load BMG at specified address
|
||||
EntryINF1 *func_ov000_02067a2c(u32 msgId);
|
||||
void func_ov000_02068f0c();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_Sub4_00 {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 04 */
|
||||
|
||||
/* 00 */ virtual void vfunc_00();
|
||||
/* 04 */ virtual void vfunc_04();
|
||||
/* 08 */ virtual void vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_08_18C {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ unk16 mUnk_0A;
|
||||
/* 0C */ unk16 mUnk_0C;
|
||||
/* 0E */ STRUCT_PAD(0x0E, 0x18);
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_ov000_020b504c_08_18C() {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_0A = 0;
|
||||
this->mUnk_0C = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_08 : public GameModeManagerBase_104 {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 01C */ unk32 mUnk_01C;
|
||||
/* 020 */ CellAnimObject mUnk_020;
|
||||
/* 098 */ CellAnimObject mUnk_098;
|
||||
/* 110 */ CellAnimObject mUnk_110;
|
||||
/* 188 */ bool mUnk_188;
|
||||
/* 189 */ STRUCT_PAD(0x189, 0x18C);
|
||||
/* 18C */ UnkStruct_ov000_020b504c_08_18C mUnk_18C[2];
|
||||
/* 1BC */ STRUCT_PAD(0x1BC, 0x1C4);
|
||||
/* 1C4 */ bool mUnk_1C4;
|
||||
/* 1C5 */ STRUCT_PAD(0x1C5, 0x1C8);
|
||||
/* 1C8 */ CellAnimObject mUnk_1C8[2];
|
||||
/* 2B8 */ unk32 mUnk_2B8;
|
||||
/* 2BC */ unk32 mUnk_2BC;
|
||||
/* 2C0 */ bool mUnk_2C0;
|
||||
/* 2C1 */ STRUCT_PAD(0x2C1, 0x2C4);
|
||||
/* 2C4 */
|
||||
|
||||
UnkStruct_ov000_020b504c_08();
|
||||
|
||||
// data_ov000_020b1e60 vtable
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b504c_08() override;
|
||||
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override;
|
||||
/* 10 */ virtual void vfunc_10(unk8 *param1) override;
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_020a4764();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_0C_Base {
|
||||
public:
|
||||
/* 04 */ UnkSystem2_UnkSubSystem11_Derived2 *mUnk_04;
|
||||
/* 08 */ UnkStruct_ov000_020b504c_08 *mUnk_08;
|
||||
/* 0C */ STRUCT_PAD(0x0C, 0x1C);
|
||||
/* 1C */
|
||||
|
||||
UnkStruct_ov000_020b504c_0C_Base();
|
||||
|
||||
// data_020443e8
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b504c_0C_Base();
|
||||
/* 08 */ virtual bool vfunc_08();
|
||||
/* 0C */ virtual void vfunc_0C();
|
||||
/* 10 */ virtual void vfunc_10();
|
||||
/* 14 */ virtual void vfunc_14();
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1);
|
||||
/* 1C */ virtual void vfunc_1C();
|
||||
/* 20 */
|
||||
|
||||
void func_02021bec(unk16 param1);
|
||||
void func_02021c08();
|
||||
void func_02021c2c();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_0C_Derived1 : public UnkStruct_ov000_020b504c_0C_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 01C */ STRUCT_PAD(0x1C, 0x194);
|
||||
/* 194 */
|
||||
|
||||
UnkStruct_ov000_020b504c_0C_Derived1(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_0C_Derived2 : public UnkStruct_ov000_020b504c_0C_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 1C */ STRUCT_PAD(0x1C, 0xCC);
|
||||
/* CC */
|
||||
|
||||
UnkStruct_ov000_020b504c_0C_Derived2();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_0C_Derived3 : public UnkStruct_ov000_020b504c_0C_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 01C */ STRUCT_PAD(0x1C, 0x194);
|
||||
/* 194 */
|
||||
|
||||
UnkStruct_ov000_020b504c_0C_Derived3(unk32 param1);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_0C_Derived4 : public UnkStruct_ov000_020b504c_0C_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 1C */ STRUCT_PAD(0x1C, 0x28);
|
||||
/* 28 */
|
||||
|
||||
UnkStruct_ov000_020b504c_0C_Derived4();
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_28_Base_160 {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ bool mUnk_04;
|
||||
/* 05 */ STRUCT_PAD(0x05, 0x08);
|
||||
/* 08 */ CellAnimObject mUnk_08;
|
||||
/* 80 */
|
||||
|
||||
UnkStruct_ov000_020b504c_28_Base_160();
|
||||
|
||||
// main
|
||||
unk32 func_02022128(void);
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_28_Base_25C {
|
||||
public:
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk16 mUnk_04;
|
||||
/* 06 */ unk16 mUnk_06;
|
||||
/* 08 */ unk16 mUnk_08;
|
||||
/* 0A */ unk16 mUnk_0A;
|
||||
/* 0C */
|
||||
|
||||
UnkStruct_ov000_020b504c_28_Base_25C() {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_06 = 0;
|
||||
this->mUnk_08 = 0;
|
||||
this->mUnk_0A = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_28_Base_310 {
|
||||
public:
|
||||
/* 00 */ unk16 mUnk_00;
|
||||
/* 02 */ unk16 mUnk_02;
|
||||
/* 04 */ unk16 mUnk_04;
|
||||
/* 06 */ unk16 mUnk_06;
|
||||
/* 08 */
|
||||
|
||||
UnkStruct_ov000_020b504c_28_Base_310() {
|
||||
this->mUnk_00 = 0;
|
||||
this->mUnk_02 = 0;
|
||||
this->mUnk_04 = 0;
|
||||
this->mUnk_06 = 0;
|
||||
}
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_28_Base : public UnkStruct_ov000_020b504c_0C_Base {
|
||||
public:
|
||||
/* 000 (vtable) */
|
||||
/* 01C */ unk32 mUnk_01C;
|
||||
/* 020 */ bool mUnk_020;
|
||||
/* 024 */ unk32 mUnk_024;
|
||||
/* 028 */ UnkTextStruct1 mUnk_028; //! TODO: confirm
|
||||
/* 038 */ unk32 mUnk_038;
|
||||
/* 03C */ unk32 mUnk_03C;
|
||||
/* 040 */ unk16 mUnk_040;
|
||||
/* 042 */ unk16 mUnk_042;
|
||||
/* 044 */ unk16 mUnk_044;
|
||||
/* 046 */ unk16 mUnk_046;
|
||||
/* 048 */ unk32 mUnk_048;
|
||||
/* 04C */ unk32 mUnk_04C;
|
||||
/* 050 */ CellAnimObject mUnk_050;
|
||||
/* 0C8 */ CellAnimObject mUnk_0C8;
|
||||
/* 140 */ unk16 mUnk_140;
|
||||
/* 142 */ unk16 mUnk_142;
|
||||
/* 144 */ unk32 mUnk_144;
|
||||
/* 148 */ unk32 mUnk_148;
|
||||
/* 14C */ unk16 mUnk_14C;
|
||||
/* 14E */ unk16 mUnk_14E;
|
||||
/* 150 */ unk16 mUnk_150;
|
||||
/* 152 */ unk16 mUnk_152;
|
||||
/* 154 */ unk32 mUnk_154;
|
||||
/* 158 */ unk32 mUnk_158;
|
||||
/* 15C */ bool mUnk_15C;
|
||||
/* 15D */ bool mUnk_15D;
|
||||
/* 15E */ STRUCT_PAD(0x15E, 0x160);
|
||||
/* 160 */ UnkStruct_ov000_020b504c_28_Base_160 mUnk_160;
|
||||
/* 1E0 */ unk32 mUnk_1E0;
|
||||
/* 1E4 */ bool mUnk_1E4;
|
||||
/* 1E5 */ STRUCT_PAD(0x1E5, 0x1E8);
|
||||
/* 1E8 */ UnkSystem2_UnkSubSystem9 mUnk_1E8;
|
||||
/* 22C */ UnkSubStruct1 mUnk_22C;
|
||||
/* 25C */ UnkStruct_ov000_020b504c_28_Base_25C mUnk_25C[15];
|
||||
/* 310 */ UnkStruct_ov000_020b504c_28_Base_310 mUnk_310[15];
|
||||
/* 388 */ unk32 mUnk_388;
|
||||
/* 38C */ unk32 mUnk_38C;
|
||||
/* 390 */ unk32 mUnk_390;
|
||||
/* 394 */ unk16 mUnk_394;
|
||||
/* 396 */ unk8 mUnk_396;
|
||||
/* 397 */ bool mUnk_397;
|
||||
/* 398 */ unk32 mUnk_398;
|
||||
/* 39C */ unk32 mUnk_39C;
|
||||
/* 3A0 */ unk32 mUnk_3A0;
|
||||
/* 3A4 */ unk32 mUnk_3A4;
|
||||
/* 3A8 */ bool mUnk_3A8;
|
||||
/* 3A9 */ unk8 mUnk_3A9; // pad?
|
||||
/* 3AA */ unk16 mUnk_3AA;
|
||||
/* 3AC */ bool mUnk_3AC;
|
||||
/* 3AD */ STRUCT_PAD(0x3AD, 0x3B8);
|
||||
/* 3B8 */
|
||||
|
||||
UnkStruct_ov000_020b504c_28_Base();
|
||||
|
||||
// data_020444e8
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b504c_28_Base() override;
|
||||
/* 08 */ virtual bool vfunc_08() override;
|
||||
/* 0C */ virtual void vfunc_0C() override;
|
||||
/* 10 */ virtual void vfunc_10() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 18 */ virtual void vfunc_18(unk32 param1) override;
|
||||
/* 1C */ virtual void vfunc_1C() override;
|
||||
/* 20 */ virtual void vfunc_20();
|
||||
/* 24 */ virtual void vfunc_24();
|
||||
/* 28 */ virtual void vfunc_28();
|
||||
/* 2C */ virtual void vfunc_2C();
|
||||
/* 30 */ virtual void vfunc_30();
|
||||
/* 34 */ virtual void vfunc_34();
|
||||
/* 38 */ virtual void vfunc_38();
|
||||
/* 3C */ virtual void vfunc_3C();
|
||||
/* 40 */ virtual void vfunc_40();
|
||||
/* 44 */ virtual void vfunc_44();
|
||||
/* 48 */
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_28 : public UnkStruct_ov000_020b504c_28_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 3B8 */
|
||||
|
||||
UnkStruct_ov000_020b504c_28(unk32 param1);
|
||||
|
||||
// data_02044448
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b504c_28() override;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c_2C : public UnkStruct_ov000_020b504c_28_Base {
|
||||
public:
|
||||
/* 000 (base) */
|
||||
/* 3B8 */
|
||||
|
||||
UnkStruct_ov000_020b504c_2C(unk32 param1);
|
||||
|
||||
/* 00 */ virtual ~UnkStruct_ov000_020b504c_2C() override;
|
||||
};
|
||||
|
||||
class UnkStruct_ov000_020b504c {
|
||||
public:
|
||||
/* 000 */ UnkStruct_ov000_020b504c_Sub3 *mUnk_000;
|
||||
/* 004 */ GameModeManagerBase_004 *mUnk_004;
|
||||
/* 008 */ UnkStruct_ov000_020b504c_08 *mUnk_008;
|
||||
/* 00C */ UnkStruct_ov000_020b504c_0C_Base *mUnk_00C[7];
|
||||
/* 028 */ UnkStruct_ov000_020b504c_28 *mUnk_028; // pointer to the subsystem that handles drawing the textboxes
|
||||
/* 02C */ UnkStruct_ov000_020b504c_2C *mUnk_02C;
|
||||
/* 030 */ unk32 mUnk_030;
|
||||
/* 034 */ Input mButtons;
|
||||
/* 03A */ TouchControl mTouchControl;
|
||||
/* 05C */ unk8 mUnk_05C[0x10];
|
||||
/* 06C */ unk8 mUnk_06C[2];
|
||||
/* 06E */ unk8 mUnk_06E;
|
||||
/* 06F */ bool mUnk_06F;
|
||||
|
||||
UnkStruct_ov000_020b504c();
|
||||
|
||||
// overlay 0
|
||||
void *func_ov000_02067bb4(unk32 param1);
|
||||
UnkStruct_ov000_020b504c_28 *func_ov000_02067bc4(unk32 param1);
|
||||
unk8 func_ov000_02067cf8(unk32 param1, unk32 param2, UnkTextStruct1 *param3); // ShowText?
|
||||
void func_ov000_02067e60(u8 param1, unk32 param2);
|
||||
unk32 func_ov000_020682c0(unk32 param1);
|
||||
void func_ov000_02067f5c(unk32 param1);
|
||||
bool func_ov000_02067f88(unk32 param1, unk32 param2);
|
||||
UnkStruct_ov000_020b504c_Sub4_00 *func_ov000_02067bf0();
|
||||
void func_ov000_02067b20();
|
||||
void func_ov000_02068068(unk32 param1);
|
||||
bool func_ov000_0206807c(unk32 param1, void *param2);
|
||||
void func_ov000_02067b60();
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020be504(void);
|
||||
void func_ov001_020be5e8(void);
|
||||
void func_ov001_020be510(void);
|
||||
void func_ov001_020be668(void);
|
||||
void func_ov001_020be6d8(void);
|
||||
void func_ov001_020be6f4(void);
|
||||
void func_ov001_020be79c(u32 sceneIndex);
|
||||
void func_ov001_020be82c(u32 sceneIndex);
|
||||
void func_ov001_020be880(u32 sceneIndex);
|
||||
void func_ov001_020be8e0(void);
|
||||
void func_ov001_020be92c(UnkStruct_027e0cd8_04_0C *param1);
|
||||
void func_ov001_020be94c(void);
|
||||
void func_ov001_020be998(void);
|
||||
void func_ov001_020be9fc(void);
|
||||
void func_ov001_020bea2c(void);
|
||||
};
|
||||
|
||||
// gMessageManager?
|
||||
extern UnkStruct_ov000_020b504c data_ov000_020b504c;
|
||||
|
||||
struct UnkMsgDataStruct1 {
|
||||
unk32 mUnk_00;
|
||||
|
||||
void func_ov000_02067a60(void *, int);
|
||||
};
|
||||
@@ -5,13 +5,26 @@
|
||||
|
||||
class EntranceInfo;
|
||||
|
||||
//! TODO: use AutoInstance
|
||||
class UnkStruct_ov018_020c5ac0 {
|
||||
public:
|
||||
/* 00 */ unk8 mUnk_00;
|
||||
/* 00 */ unk8 mUnk_01;
|
||||
/* 00 */ unk16 mUnk_02;
|
||||
/* 00 */ bool mUnk_00;
|
||||
/* 00 */ bool mUnk_01;
|
||||
/* 00 */ u16 mUnk_02;
|
||||
/* 04 */
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0206f61c(unk32 param1);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bde6c();
|
||||
void func_ov001_020bde7c();
|
||||
void func_ov001_020bde90(const EntranceInfo *param1);
|
||||
void func_ov001_020bdfa0(const EntranceInfo *param1);
|
||||
void func_ov001_020bdfb8(const EntranceInfo *param1);
|
||||
void func_ov001_020be030();
|
||||
|
||||
// overlay 18
|
||||
UnkStruct_ov018_020c5ac0();
|
||||
void SetInstance();
|
||||
|
||||
@@ -46,26 +59,33 @@ public:
|
||||
UnkStruct_ov000_020b50c0();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_02069c78(void);
|
||||
void func_ov000_02069d3c(unk32 param1);
|
||||
void func_ov000_02069d7c(unk32 param1);
|
||||
void func_ov000_02069f58(void);
|
||||
void func_ov000_0206a014(void);
|
||||
void func_ov000_0206a260(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_0206a52c(unk32 param1);
|
||||
bool func_ov000_0206a5cc(unk32 param1);
|
||||
void *func_ov000_0206a5d8(unk32 param1);
|
||||
void func_ov000_0206a5fc(void);
|
||||
void func_ov000_0206a6a4(unk32 param1);
|
||||
void func_ov000_0206a704(unk32 param1);
|
||||
void func_ov000_0206a740(void);
|
||||
void func_ov000_0206a758(void);
|
||||
void func_ov000_0206a77c(void);
|
||||
void func_ov000_0206a014(void);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020bd854();
|
||||
void func_ov001_020bd854(void);
|
||||
void func_ov001_020bd87c(void);
|
||||
void func_ov001_020bd8dc(void);
|
||||
void func_ov001_020bd8ac(void);
|
||||
void func_ov001_020bd970(EntranceInfo *param1);
|
||||
void func_ov001_020bd8dc(void);
|
||||
void func_ov001_020bd8e8(void);
|
||||
void func_ov001_020bd910(void);
|
||||
void func_ov001_020bd934(bool param1);
|
||||
void func_ov001_020bd970(const EntranceInfo *param1);
|
||||
void func_ov001_020bde5c(void);
|
||||
void func_ov001_020bde04(EntranceInfo *param1);
|
||||
void func_ov001_020bde04(const EntranceInfo *param1);
|
||||
void func_ov001_020bde4c(const EntranceInfo *param1);
|
||||
|
||||
// overlay 18
|
||||
|
||||
@@ -62,6 +62,7 @@ public:
|
||||
UnkStruct_ov000_020b51b8();
|
||||
~UnkStruct_ov000_020b51b8();
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0206c608(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_ov000_0206c96c(unk32 param1);
|
||||
void func_ov000_0206c9a8(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
|
||||
@@ -70,6 +71,11 @@ public:
|
||||
void func_ov000_0206d134(unk32 param1);
|
||||
void func_ov000_0206d274(unk32 param1); // play seq?
|
||||
|
||||
// overlay 1
|
||||
void func_ov000_0206bbfc(unk32 param1);
|
||||
void func_ov000_0206c4ec(unk32 param1);
|
||||
|
||||
// overlay 18
|
||||
void func_ov018_020c5940();
|
||||
};
|
||||
|
||||
|
||||
@@ -45,8 +45,11 @@ public:
|
||||
|
||||
UnkStruct_ov000_020b5214();
|
||||
|
||||
void func_ov000_0206d43c();
|
||||
void func_ov000_0206d6b4(unk32 param1, unk32 param2);
|
||||
void func_ov000_0206d83c(unk32 param1);
|
||||
void func_ov000_0206d960();
|
||||
void func_ov000_0206d984();
|
||||
void func_ov000_0206db44(unk32 param1); // play sfx?
|
||||
void func_ov000_0206dc4c(unk32 param1);
|
||||
void func_ov000_0206e7e8(unk32 param1);
|
||||
|
||||
@@ -19,6 +19,7 @@ public:
|
||||
|
||||
// overlay 0
|
||||
ActorUnkMLCK_B4_00 *func_ov000_0206f980(unk32 param1);
|
||||
void func_ov000_0206f994();
|
||||
};
|
||||
|
||||
extern UnkStruct_ov000_020b52e8 data_ov000_020b52e8;
|
||||
|
||||
@@ -49,7 +49,6 @@ public:
|
||||
~UnkStruct_ov024_020d8660();
|
||||
|
||||
void func_ov024_020c4a8c(UnkActorSystem1 *param1);
|
||||
void func_ov024_020c4ac0();
|
||||
void func_ov024_020c4b10();
|
||||
void func_ov024_020c4b24();
|
||||
void func_ov024_020c4b4c(unk32 param1);
|
||||
@@ -59,6 +58,7 @@ public:
|
||||
void func_ov024_020c4d88(ActorId actorId, unk32 param2);
|
||||
void func_ov024_020c4dac(ActorId actorId, unk32 param2, UnkActorSystem_Infos1 *param3);
|
||||
|
||||
static void func_ov024_020c4ac0();
|
||||
static void SetInstance(UnkStruct_ov024_020d8660 *pInstance);
|
||||
static bool ClearInstance();
|
||||
};
|
||||
|
||||
@@ -24,11 +24,11 @@ public:
|
||||
/* 00 */ UnkStruct_ov024_020d86a0_00 *mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ unk8 mUnk_0C;
|
||||
/* 0D */ unk8 mUnk_0D;
|
||||
/* 0E */ unk8 mUnk_0E;
|
||||
/* 0C */ bool mUnk_0C;
|
||||
/* 0D */ bool mUnk_0D;
|
||||
/* 0E */ bool mUnk_0E;
|
||||
/* 0F */ bool mUnk_0F;
|
||||
/* 10 */ unk8 mUnk_10;
|
||||
/* 10 */ bool mUnk_10;
|
||||
/* 11 */ bool mUnk_11;
|
||||
/* 14 */
|
||||
|
||||
|
||||
@@ -45,14 +45,14 @@ public:
|
||||
class UnkSystem1_ov000_Derived1 : public UnkSystem1_ov000_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 0C */ UnkStruct_ov000_02067bc4::UnkStruct1 *mUnk_0C;
|
||||
/* 0C */ UnkTextStruct1 *mUnk_0C;
|
||||
/* 10 */ unk16 mUnk_10;
|
||||
/* 12 */ unk8 mUnk_12; // file slot index
|
||||
/* 13 */ unk8 mUnk_13;
|
||||
/* 14 */
|
||||
|
||||
UnkSystem1_ov000_Derived1();
|
||||
UnkSystem1_ov000_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov000_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
void func_ov000_0206738c();
|
||||
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov000_020673c8
|
||||
@@ -107,7 +107,7 @@ class UnkSystem1_ov010 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov010(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov010(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov010_020b8844
|
||||
/* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3) override; // func_ov010_020b8878
|
||||
@@ -118,7 +118,7 @@ class UnkSystem1_ov010_Derived1 : public UnkSystem1_ov010 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov010_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov010_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
/* 24 */ virtual ~UnkSystem1_ov010_Derived1() override; // func_ov010_020b88b0
|
||||
};
|
||||
|
||||
@@ -127,7 +127,7 @@ class UnkSystem1_ov016 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov016(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov016(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov016() override; // func_ov016_020b7650
|
||||
};
|
||||
@@ -136,7 +136,7 @@ class UnkSystem1_ov016_Derived1 : public UnkSystem1_ov016 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov016_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov016_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
/* 24 */ virtual ~UnkSystem1_ov016_Derived1() override; // func_ov016_020b7664
|
||||
/* 2C */ virtual void vfunc_2C(); // func_ov016_020b776c
|
||||
};
|
||||
@@ -147,7 +147,7 @@ public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov019_1();
|
||||
UnkSystem1_ov019_1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2) :
|
||||
UnkSystem1_ov019_1(unk32 param1, UnkTextStruct1 *param2) :
|
||||
UnkSystem1_ov000_Derived1(param1, param2) {}
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov019_1() override {} // func_ov019_020c4914
|
||||
@@ -163,7 +163,7 @@ public:
|
||||
/* 1C */
|
||||
|
||||
UnkSystem1_ov019_Derived1();
|
||||
UnkSystem1_ov019_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov019_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
void func_ov019_020c5200();
|
||||
unk32 func_ov019_020c5540(bool param1, unk16 param2);
|
||||
@@ -179,7 +179,7 @@ class UnkSystem1_ov019_2 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov019_2(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2) :
|
||||
UnkSystem1_ov019_2(unk32 param1, UnkTextStruct1 *param2) :
|
||||
UnkSystem1_ov000_Derived1(param1, param2) {}
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov019_2() override {} // func_ov019_020c4c38
|
||||
@@ -208,7 +208,7 @@ public:
|
||||
/* 00 (base) */
|
||||
/* 14 */
|
||||
|
||||
UnkSystem1_ov019_3(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2) :
|
||||
UnkSystem1_ov019_3(unk32 param1, UnkTextStruct1 *param2) :
|
||||
UnkSystem1_ov000_Derived1(param1, param2) {}
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov019_3() override {} // func_ov019_020c5fd0
|
||||
@@ -243,7 +243,7 @@ class UnkSystem1_ov036 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov036(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov036(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov036() override; // func_ov036_0211eb68
|
||||
};
|
||||
@@ -252,7 +252,7 @@ class UnkSystem1_ov036_Derived1 : public UnkSystem1_ov036 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov036_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov036_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov036_Derived1() override; // func_ov036_02120c18
|
||||
};
|
||||
@@ -262,7 +262,7 @@ class UnkSystem1_ov056 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov056(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov056(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov056() override; // func_ov056_0213b910
|
||||
};
|
||||
@@ -271,7 +271,7 @@ class UnkSystem1_ov056_Derived1 : public UnkSystem1_ov056 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov056_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov056_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov056_Derived1() override; // func_ov056_0213d4dc
|
||||
};
|
||||
@@ -281,7 +281,7 @@ class UnkSystem1_ov059 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov059(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov059(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov059() override; // func_ov059_021605c8 (?)
|
||||
};
|
||||
@@ -290,7 +290,7 @@ class UnkSystem1_ov059_Derived1 : public UnkSystem1_ov059 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov059_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov059_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov059_Derived1() override; // func_ov059_02160d98
|
||||
};
|
||||
@@ -300,7 +300,7 @@ class UnkSystem1_ov062 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov062(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov062(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov062() override; // func_ov062_0215cf18
|
||||
};
|
||||
@@ -309,7 +309,7 @@ class UnkSystem1_ov062_Derived1 : public UnkSystem1_ov062 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov062_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov062_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov062_Derived1() override; // func_ov062_0215e734
|
||||
};
|
||||
@@ -319,7 +319,7 @@ class UnkSystem1_ov063 : public UnkSystem1_ov000_Derived1 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov063(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov063(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov063() override; // func_ov063_0215f1c0
|
||||
};
|
||||
@@ -328,7 +328,7 @@ class UnkSystem1_ov063_Derived1 : public UnkSystem1_ov063 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
UnkSystem1_ov063_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2);
|
||||
UnkSystem1_ov063_Derived1(unk32 param1, UnkTextStruct1 *param2);
|
||||
|
||||
/* 24 */ virtual ~UnkSystem1_ov063_Derived1() override; // func_ov063_0215f29c
|
||||
};
|
||||
|
||||
+92
-10
@@ -20,6 +20,7 @@ enum FileType_ {
|
||||
FileType_ZMBv2 = 'ZMB2',
|
||||
FileType_CIB = 'ZCIB',
|
||||
FileType_CLB = 'ZCLB',
|
||||
FileType_ZCB = 'ZCB1',
|
||||
};
|
||||
|
||||
typedef struct FileInfos {
|
||||
@@ -238,19 +239,19 @@ extern BOOL ZAB_GetRoomEntry(FileInfos *pFileInfos, u8 param2, const CourseListE
|
||||
|
||||
// .zmb
|
||||
typedef u32 ZMBSectionType;
|
||||
enum ZMBSectionType_ {
|
||||
enum ZMBSectionType_ { // clang-format off
|
||||
ZMBSectionType_ROMB = 'ROMB', // unknown
|
||||
ZMBSectionType_ROOM = 'ROOM', // room settings
|
||||
ZMBSectionType_LDLB = 'LDLB', // related to script triggers
|
||||
ZMBSectionType_MapObjects = 'MPOB', // map object list, parameters are stored here
|
||||
ZMBSectionType_ARAB = 'ARAB', // locations? (?)
|
||||
ZMBSectionType_RALB = 'RALB', // paths?
|
||||
ZMBSectionType_NPCA = 'NPCA', // actor list, same as above
|
||||
ZMBSectionType_PLYR = 'PLYR', // player entrances?
|
||||
ZMBSectionType_WARP = 'WARP', // exits?
|
||||
ZMBSectionType_CAME = 'CAME', // camera settings?
|
||||
ZMBSectionType_CMPT = 'CMPT', // ?
|
||||
};
|
||||
ZMBSectionType_MapObjects = 'MPOB', // map object list
|
||||
ZMBSectionType_ARAB = 'ARAB', // "area block", used to define an area (X1-X2-Y1-Y2 for a cubic area, or can simply be a radius)
|
||||
ZMBSectionType_RALB = 'RALB', // "rail block", paths
|
||||
ZMBSectionType_NPCA = 'NPCA', // actor list
|
||||
ZMBSectionType_PLYR = 'PLYR', // player entrances?
|
||||
ZMBSectionType_WARP = 'WARP', // exits?
|
||||
ZMBSectionType_CAME = 'CAME', // camera settings (like fixed camera points used by shops for instance)
|
||||
ZMBSectionType_CMPT = 'CMPT', // ?
|
||||
}; // clang-format on
|
||||
|
||||
typedef struct ZMBFileInfos {
|
||||
/* 00 */ void *pFile;
|
||||
@@ -478,6 +479,87 @@ extern BOOL ZMB_ParsePLYR(ZMBFileInfos *pFileInfos, ZMBSectionPLYR *pPLYR, UnkSt
|
||||
extern BOOL ZMB_ParseCAME(ZMBFileInfos *pFileInfos, ZMBSectionCAME *pCAME, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
extern BOOL ZMB_ParseCMPT(ZMBFileInfos *pFileInfos, ZMBSectionCMPT *pCMPT, UnkStruct_027e0cd8_0C_Base *pDst);
|
||||
|
||||
// .zcb
|
||||
struct UnkStruct_027e09e8;
|
||||
struct UnkFileSystem1;
|
||||
|
||||
typedef u32 ZCBSectionType;
|
||||
enum ZCBSectionType_ {
|
||||
ZCBSectionType_VTXB = 'VTXB', // vertices
|
||||
ZCBSectionType_NRMB = 'NRMB', // normals
|
||||
ZCBSectionType_PCLB = 'PCLB', // polygon classes
|
||||
ZCBSectionType_TRIB = 'TRIB', // triangles
|
||||
ZCBSectionType_GRDB = 'GRDB', // grid
|
||||
};
|
||||
|
||||
typedef struct ZCBFileInfos {
|
||||
/* 00 */ UnkFileSystem1 *pFile;
|
||||
/* 04 */ size_t size;
|
||||
} ZCBFileInfos;
|
||||
|
||||
typedef struct ZCBHeader {
|
||||
/* 00 */ u32 magic; // 'BLCM'
|
||||
/* 04 */ FileType type; // always "ZCB1"
|
||||
/* 08 */ size_t nSize;
|
||||
/* 0C */ u32 nSections;
|
||||
/* 10 */ u8 unused[0x10];
|
||||
} ZCBHeader; // size = 0x20
|
||||
|
||||
typedef struct ZCBSectionHeader {
|
||||
/* 00 */ ZCBSectionType type;
|
||||
/* 04 */ size_t nSize;
|
||||
/* 08 */ u16 nEntries;
|
||||
/* 0A */ u8 unk_0A;
|
||||
/* 0B */ u8 unk_0B;
|
||||
} ZCBSectionHeader; // size = 0x0C
|
||||
|
||||
typedef struct ZCBSectionVTXB {
|
||||
/* 00 */ ZCBSectionHeader header;
|
||||
/* 0C */ VecFx32 entries[];
|
||||
} ZCBSectionVTXB;
|
||||
|
||||
typedef struct ZCBEntryNRMB {
|
||||
/* 00 */ unk32 unk_00;
|
||||
/* 04 */ unk16 unk_04;
|
||||
} ZCBEntryNRMB; // size = 0x06
|
||||
|
||||
typedef struct ZCBSectionNRMB {
|
||||
/* 00 */ ZCBSectionHeader header;
|
||||
/* 0C */ ZCBEntryNRMB entries[];
|
||||
} ZCBSectionNRMB;
|
||||
|
||||
typedef struct ZCBEntryPLCB {
|
||||
/* 00 */ unk32 unk_00;
|
||||
} ZCBEntryPLCB; // size = 0x04
|
||||
|
||||
typedef struct ZCBSectionPCLB {
|
||||
/* 00 */ ZCBSectionHeader header;
|
||||
/* 0C */ ZCBEntryPLCB entries[];
|
||||
} ZCBSectionPCLB;
|
||||
|
||||
typedef struct ZCBEntryTRIB {
|
||||
/* 00 */ unk32 unk_00;
|
||||
} ZCBEntryTRIB; // size = ?
|
||||
|
||||
typedef struct ZCBSectionTRIB {
|
||||
/* 00 */ ZCBSectionHeader header;
|
||||
/* 0C */ ZCBEntryTRIB entries[];
|
||||
} ZCBSectionTRIB;
|
||||
|
||||
typedef struct ZCBSectionGRDB {
|
||||
/* 00 */ ZCBSectionHeader header;
|
||||
/* 0C */
|
||||
} ZCBSectionGRDB;
|
||||
|
||||
extern BOOL ZCB_ParseFile(ZCBFileInfos *pFileInfos, UnkStruct_027e09e8 *pDst, UnkStruct_027e0cd8_0C_Base *param3);
|
||||
extern void ZCB_ParseVTXB(ZCBFileInfos *pFileInfos, ZCBSectionVTXB *pSection, UnkStruct_027e09e8 *pDst,
|
||||
UnkStruct_027e0cd8_0C_Base *param3);
|
||||
extern void ZCB_ParseNRMB(ZCBFileInfos *pFileInfos, ZCBSectionNRMB *pSection, UnkStruct_027e09e8 *pDst);
|
||||
extern void ZCB_ParsePCLB(ZCBFileInfos *pFileInfos, ZCBSectionPCLB *pSection, UnkStruct_027e09e8 *pDst);
|
||||
extern void ZCB_ParseTRIB(ZCBFileInfos *pFileInfos, ZCBSectionTRIB *pSection, UnkStruct_027e09e8 *pDst);
|
||||
extern void ZCB_ParseGRDB(ZCBFileInfos *pFileInfos, ZCBSectionGRDB *pSection, UnkStruct_027e09e8 *pDst,
|
||||
UnkStruct_027e0cd8_0C_Base *param3);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} // extern "C"
|
||||
#endif
|
||||
|
||||
@@ -28,9 +28,9 @@ public:
|
||||
}
|
||||
|
||||
// allocate the list and run the constructors for each element
|
||||
void Init(size_t arrayLength) {
|
||||
void Init(size_t arrayLength, size_t factor = 4) {
|
||||
this->Destroy();
|
||||
this->Set(arrayLength * 4);
|
||||
this->Set(arrayLength * factor);
|
||||
|
||||
if (this->begin != this->end) {
|
||||
T *it = (T *) this->begin;
|
||||
|
||||
Reference in New Issue
Block a user