mirror of
https://github.com/zeldaret/st
synced 2026-06-13 22:15:28 -04:00
69ef244371
* merge headers from nitro decomp * cleanup: use inlines from g2.h and gx.h when changing registers * cleanup: remove externs declarations in source files
219 lines
7.6 KiB
C++
219 lines
7.6 KiB
C++
#pragma once
|
|
|
|
#include "Player/TouchControl.hpp"
|
|
#include "TitleScreen/TitleScreen.hpp"
|
|
#include "Unknown/Common.hpp"
|
|
#include "Unknown/UnkStruct_0204a110.hpp"
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
#include <nitro/pad.h>
|
|
|
|
// Title Card Scene Message Index (see sBMGSceneMap)
|
|
typedef s32 TC_SceneMsgIdx;
|
|
enum TC_SceneMsgIdx_ {
|
|
/* -1 */ TC_SceneMsgIdx_None = -1,
|
|
/* 0 */ TC_SceneMsgIdx_ForestLand,
|
|
/* 1 */ TC_SceneMsgIdx_SnowLand,
|
|
/* 2 */ TC_SceneMsgIdx_OceanLand,
|
|
/* 3 */ TC_SceneMsgIdx_FireLand,
|
|
/* 4 */ TC_SceneMsgIdx_TowerOfSpirits,
|
|
/* 5 */ TC_SceneMsgIdx_TunnelToTheTower,
|
|
/* 6 */ TC_SceneMsgIdx_WoodedTemple,
|
|
/* 7 */ TC_SceneMsgIdx_BlizzardTemple,
|
|
/* 8 */ TC_SceneMsgIdx_MarineTemple,
|
|
/* 9 */ TC_SceneMsgIdx_MountainTemple,
|
|
/* 10 */ TC_SceneMsgIdx_DesertTemple,
|
|
/* 11 */ TC_SceneMsgIdx_PirateHideout,
|
|
/* 12 */ TC_SceneMsgIdx_HyruleCastle,
|
|
/* 13 */ TC_SceneMsgIdx_CastleTown,
|
|
/* 14 */ TC_SceneMsgIdx_Mayscore,
|
|
/* 15 */ TC_SceneMsgIdx_AnoukiVillage,
|
|
/* 16 */ TC_SceneMsgIdx_PapuziaVillage,
|
|
/* 17 */ TC_SceneMsgIdx_GoronVillage,
|
|
/* 18 */ TC_SceneMsgIdx_TradingPost,
|
|
/* 19 */ TC_SceneMsgIdx_IcySpring,
|
|
/* 20 */ TC_SceneMsgIdx_OutsetVillage,
|
|
/* 21 */ TC_SceneMsgIdx_WoodlandSanctuary,
|
|
/* 22 */ TC_SceneMsgIdx_SnowfallSanctuary,
|
|
/* 23 */ TC_SceneMsgIdx_IslandSanctuary,
|
|
/* 24 */ TC_SceneMsgIdx_ValleySanctuary,
|
|
/* 25 */ TC_SceneMsgIdx_DuneSanctuary,
|
|
/* 26 */ TC_SceneMsgIdx_BridgeWorkersHouse,
|
|
/* 27 */ TC_SceneMsgIdx_BossStagnox,
|
|
/* 28 */ TC_SceneMsgIdx_BossFraaz,
|
|
/* 29 */ TC_SceneMsgIdx_BossCactops,
|
|
/* 30 */ TC_SceneMsgIdx_BossVulcano,
|
|
/* 31 */ TC_SceneMsgIdx_BossCapbone,
|
|
/* 32 */ TC_SceneMsgIdx_BossGhostTrain,
|
|
/* 33 */ TC_SceneMsgIdx_BossStaven,
|
|
/* 34 */ TC_SceneMsgIdx_BossMalladus1,
|
|
/* 35 */ TC_SceneMsgIdx_BossMalladus2,
|
|
/* 36 */ TC_SceneMsgIdx_GoronTargetRange,
|
|
/* 37 */ TC_SceneMsgIdx_SnowdriftStation,
|
|
/* 38 */ TC_SceneMsgIdx_LostAtSeaStation,
|
|
/* 39 */ TC_SceneMsgIdx_DisorientationStation,
|
|
/* 40 */ TC_SceneMsgIdx_EndsOfTheEarthStation,
|
|
/* 41 */ TC_SceneMsgIdx_DarkOreMine,
|
|
/* 42 */ TC_SceneMsgIdx_RabbitHaven,
|
|
/* 43 */ TC_SceneMsgIdx_SlipperyStation,
|
|
};
|
|
|
|
class UnkTitleCardSystem1 {
|
|
public:
|
|
/* 000 (vtable) */
|
|
/* 004 */ unk16 mUnk_004;
|
|
/* 006 */ unk16 mUnk_006; // pad?
|
|
/* 008 */ UnkSystem2_UnkSubSystem11_Derived2 *mUnk_008;
|
|
/* 00C */ UnkSystem2_UnkSubSystem5_Base_10 *mUnk_00C;
|
|
/* 010 */ unk32 mUnk_010;
|
|
/* 014 */ GameModeManagerBase_004 *mUnk_014;
|
|
/* 018 */ UnkStruct_ov019_020d24c8_28_258 mUnk_018;
|
|
/* 030 */ UnkStruct_ov019_020d24c8_28_258 mUnk_030;
|
|
/* 048 */ UnkStruct_ov019_020d24c8_28_258 mUnk_048;
|
|
/* 060 */ Vec2s mUnk_060;
|
|
/* 064 */ UnkSystem2_UnkSubSystem9 mUnk_064;
|
|
/* 0A8 */ UnkSystem2_UnkSubSystem9 mUnk_0A8;
|
|
/* 0EC */ UnkSystem2_UnkSubSystem9 mUnk_0EC;
|
|
/* 130 */ unk32 mUnk_130;
|
|
/* 134 */ bool mUnk_134;
|
|
/* 135 */ unk8 mUnk_135; // pad?
|
|
/* 136 */ unk8 mUnk_136; // pad?
|
|
/* 137 */ unk8 mUnk_137; // pad?
|
|
/* 138 */
|
|
|
|
UnkTitleCardSystem1(GameModeManagerBase_004 *param1);
|
|
|
|
// data_ov024_020d7fd0
|
|
/* 00 */ virtual void vfunc_00();
|
|
/* 04 */ virtual void vfunc_04(unk8 *param1);
|
|
/* 08 */ virtual unk32 vfunc_08();
|
|
/* 0C */ virtual void vfunc_0C();
|
|
/* 10 */ virtual void vfunc_10();
|
|
/* 14 */ virtual bool vfunc_14();
|
|
/* 18 */ virtual unk32 vfunc_18();
|
|
/* 1C */
|
|
|
|
void func_ov024_020cb274(UnkSystem2_UnkSubSystem11_Derived2 *param1, UnkSystem2_UnkSubSystem5_Base_10 *param2);
|
|
void func_ov024_020cb280();
|
|
void func_ov024_020cb284(unk32 param1, unk32 param2);
|
|
void func_ov024_020cb490(UnkDataStruct2 *param1, unk32 *param2);
|
|
void func_ov024_020cb490(UnkDataStruct2 *param1, unk32 *param2, void *);
|
|
void func_ov024_020cb5bc();
|
|
void func_ov024_020cb654(unk8 *param1, UnkDataStruct1 *param2);
|
|
};
|
|
|
|
class UnkTitleCardSystem1_Derived1 : public UnkTitleCardSystem1 {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 138 */ unk32 mUnk_138;
|
|
/* 13C */ u16 mUnk_13C;
|
|
/* 13E */ u16 mUnk_13E;
|
|
/* 140 */ bool mUnk_140;
|
|
/* 141 */ unk8 mUnk_141; // pad?
|
|
/* 142 */ unk8 mUnk_142; // pad?
|
|
/* 143 */ unk8 mUnk_143; // pad?
|
|
/* 144 */
|
|
|
|
UnkTitleCardSystem1_Derived1(GameModeManagerBase_004 *param1);
|
|
|
|
// data_ov024_020d8044
|
|
/* 08 */ virtual unk32 vfunc_08() override;
|
|
/* 0C */ virtual void vfunc_0C() override;
|
|
/* 10 */ virtual void vfunc_10() override;
|
|
/* 18 */ virtual unk32 vfunc_18() override;
|
|
/* 1C */ virtual void vfunc_1C(u32 msgId, unk32 param2, bool param3);
|
|
/* 20 */
|
|
|
|
void func_ov024_020cbe94(unk32 param1);
|
|
void func_ov024_020cbeb8();
|
|
void func_ov024_020cbf74(unk32 param1);
|
|
void func_ov024_020cbf98();
|
|
void func_ov024_020cc05c(u32 msgId);
|
|
void func_ov024_020cc088(bool param1);
|
|
bool func_ov024_020cc0b4();
|
|
};
|
|
|
|
class UnkStruct_ov024_020d8694_01C : public UnkTitleCardSystem1_Derived1 {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 144 */ TitleScreen_Sub3 mUnk_144;
|
|
/* 168 */ bool mUnk_168;
|
|
/* 169 */ unk8 mUnk_169; // pad?
|
|
/* 16A */ unk8 mUnk_16A; // pad?
|
|
/* 16B */ unk8 mUnk_16B; // pad?
|
|
/* 16C */
|
|
|
|
UnkStruct_ov024_020d8694_01C(GameModeManagerBase_004 *param1);
|
|
|
|
// data_ov024_020d7ff4
|
|
/* 00 */ virtual void vfunc_00() override;
|
|
/* 1C */ virtual void vfunc_1C(u32 msgId, unk32 param2, bool param3) override;
|
|
};
|
|
|
|
class UnkStruct_ov024_020d8694_188 : public UnkTitleCardSystem1_Derived1 {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 144 */ UnkStruct_0204a110_Sub7_08 mUnk_144;
|
|
/* 174 */
|
|
|
|
UnkStruct_ov024_020d8694_188(GameModeManagerBase_004 *param1);
|
|
|
|
// data_ov024_020d801c
|
|
/* 00 */ virtual void vfunc_00() override;
|
|
/* 04 */ virtual void vfunc_04(unk8 *param1) override;
|
|
/* 14 */ virtual bool vfunc_14() override;
|
|
/* 1C */ virtual void vfunc_1C(u32 msgId, unk32 param2, bool param3) override;
|
|
};
|
|
|
|
class UnkStruct_ov024_020d8694_2FC : public UnkTitleCardSystem1 {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 138 */
|
|
|
|
UnkStruct_ov024_020d8694_2FC(GameModeManagerBase_004 *param1);
|
|
|
|
// data_ov024_020d7fac
|
|
/* 00 */ virtual void vfunc_00() override;
|
|
/* 08 */ virtual unk32 vfunc_08() override;
|
|
/* 0C */ virtual void vfunc_0C() override;
|
|
/* 10 */ virtual void vfunc_10() override;
|
|
|
|
void func_ov024_020ccb10(unk32 param1, Vec2s *param2, Vec2s *param3);
|
|
};
|
|
|
|
class UnkStruct_ov024_020d8694 : public GameModeManagerBase_104, public AutoInstance<UnkStruct_ov024_020d8694> {
|
|
public:
|
|
/* 000 (vtable) */
|
|
/* 01C */ UnkStruct_ov024_020d8694_01C mUnk_01C;
|
|
/* 188 */ UnkStruct_ov024_020d8694_188 mUnk_188;
|
|
/* 2FC */ UnkStruct_ov024_020d8694_2FC mUnk_2FC;
|
|
/* 434 */ UnkSystem2_UnkSubSystem11_Derived2 *mUnk_434;
|
|
/* 438 */ UnkSystem2_UnkSubSystem5_Base_10 *mUnk_438;
|
|
/* 43C */ GameModeManagerBase_004 *mUnk_43C;
|
|
/* 440 */
|
|
|
|
UnkStruct_ov024_020d8694(GameModeManagerBase_004 *param1);
|
|
|
|
// data_ov024_020d7f88
|
|
/* 00 */ virtual ~UnkStruct_ov024_020d8694();
|
|
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl);
|
|
/* 10 */ virtual void vfunc_10(unk8 *param1);
|
|
|
|
void func_ov024_020cafb8(unk32 param1);
|
|
void func_ov024_020cafd8(unk32 param1);
|
|
void func_ov024_020cb000(unk32 param1);
|
|
void func_ov024_020cb020(unk32 param1);
|
|
void func_ov024_020cb040();
|
|
void func_ov024_020cb054(unk32 param1, Vec2s *param2, Vec2s *param3);
|
|
u32 GetMessageID(int index);
|
|
void func_ov024_020cb0c4();
|
|
void func_ov024_020cb178(unk32 param1);
|
|
void func_ov024_020cb194(unk16 param1);
|
|
|
|
static UnkStruct_ov024_020d8694 *Create(GameModeManagerBase_004 *param1);
|
|
};
|
|
|
|
// related to title cards
|
|
extern UnkStruct_ov024_020d8694 *data_ov024_020d8694;
|