mirror of
https://github.com/zeldaret/st
synced 2026-05-23 06:54:21 -04:00
0f74fd4201
* name item 31 to 34 * name item 25 to 29 * decompile PassengerManager (95%) * started cargo manager * local attribute * passenger/cargo manager ov001 functions * name item manager functions * fix build issues & more docs on 027e0cd8 * format
179 lines
6.0 KiB
C++
179 lines
6.0 KiB
C++
#pragma once
|
|
|
|
#include "FileSelect/FileSelectMicTest.hpp"
|
|
#include "Game/GameModeManager.hpp"
|
|
#include "System/SysNew.hpp"
|
|
#include "Unknown/Common.hpp"
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
typedef u32 FSOptionsState;
|
|
enum FSOptionsState_ {
|
|
/* 0x00 */ FSOptionsState_Idle = 0,
|
|
/* 0x01 */ FSOptionsState_OptionsFromChooseMode = 1,
|
|
/* 0x02 */ FSOptionsState_OptionsToChooseMode = 2,
|
|
/* 0x03 */ FSOptionsState_OptionsToMicTest = 3,
|
|
/* 0x04 */ FSOptionsState_MicTestIdle = 4,
|
|
/* 0x05 */ FSOptionsState_OptionsFromMicTest = 5,
|
|
/* 0x06 */ FSOptionsState_SaveSettings = 6,
|
|
/* 0x07 */ FSOptionsState_Max = 7
|
|
};
|
|
|
|
class UnkStruct_ov019_020d24c8_2C_24_FC3 {
|
|
public:
|
|
/* 00 */ u8 mUnk_00;
|
|
/* 01 */ u8 mUnk_01;
|
|
/* 02 */
|
|
|
|
UnkStruct_ov019_020d24c8_2C_24_FC3() {}
|
|
};
|
|
|
|
class UnkStruct_ov019_020d24c8_2C_24_FB0 : public SysObject {
|
|
public:
|
|
/* 00 */ UnkSystem2_UnkSubSystem5 *mUnk_00[6];
|
|
/* 18 */
|
|
|
|
UnkStruct_ov019_020d24c8_2C_24_FB0() {}
|
|
};
|
|
|
|
class UnkStruct_ov019_020d24c8_2C_24_FB8 : public SysObject {
|
|
public:
|
|
/* 00 */ UnkSystem2_UnkSubSystem1_Derived1 *mUnk_00[6];
|
|
/* 18 */
|
|
|
|
UnkStruct_ov019_020d24c8_2C_24_FB8() {}
|
|
};
|
|
|
|
class UnkStruct_ov019_020d24c8_2C_24 {
|
|
public:
|
|
/* 0000 */ s32 mSaveSlotIndex;
|
|
/* 0004 */ Vec2s mUnk_004;
|
|
/* 0008 */ UnkStruct_ov019_020d24c8_28_258 mUnk_008;
|
|
|
|
// message speed
|
|
/* 0020 */ UnkSystem2_UnkSubSystem5 mUnk_020; // label
|
|
/* 0258 */ UnkSystem2_UnkSubSystem5 mUnk_258; // current string
|
|
/* 0490 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_490; // left arrow
|
|
/* 04F0 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_4F0; // right arrow
|
|
|
|
// sound settings
|
|
/* 0550 */ UnkSystem2_UnkSubSystem5 mUnk_550; // label
|
|
/* 0788 */ UnkSystem2_UnkSubSystem5 mUnk_788; // current string
|
|
/* 09C0 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_9C0; // left arrow
|
|
/* 0A20 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_A20; // right arrow
|
|
|
|
// handedness
|
|
/* 0A80 */ UnkSystem2_UnkSubSystem5 mUnk_A80; // label
|
|
/* 0CB8 */ UnkSystem2_UnkSubSystem5 mUnk_CB8; // current type string
|
|
/* 0EF0 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_EF0; // left arrow
|
|
/* 0F50 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_F50; // right arrow
|
|
|
|
/* 0FB0 */ UnkStruct_ov019_020d24c8_2C_24_FB0 *mUnk_FB0;
|
|
/* 0FB4 */ UnkStruct_ov019_020d24c8_2C_24_FB0 *mUnk_FB4;
|
|
/* 0FB8 */ UnkStruct_ov019_020d24c8_2C_24_FB8 *mUnk_FB8;
|
|
/* 0FBC */ UnkStruct_ov019_020d24c8_2C_24_FB8 *mUnk_FBC;
|
|
/* 0FC0 */ u8 mUnk_FC0;
|
|
/* 0FC1 */ u8 mUnk_FC1;
|
|
/* 0FC2 */ u8 mUnk_FC2;
|
|
/* 0FC3 */ UnkStruct_ov019_020d24c8_2C_24_FC3 mUnk_FC3[61];
|
|
/* 103D */ unk8 mUnk_103D; // pad?
|
|
/* 103E */ unk16 mUnk_103E;
|
|
/* 1040 */
|
|
|
|
UnkStruct_ov019_020d24c8_2C_24(GameModeManagerBase_104_0C *param1, s32 saveSlotIndex);
|
|
~UnkStruct_ov019_020d24c8_2C_24();
|
|
|
|
void func_ov019_020ce414();
|
|
void func_ov019_020ce4dc();
|
|
void func_ov019_020ce61c(bool decrement);
|
|
void func_ov019_020ce668(bool decrement);
|
|
void func_ov019_020ce6c8();
|
|
unk32 func_ov019_020ce704(u8 param1);
|
|
unk32 func_ov019_020ce74c(u8 param1);
|
|
unk32 func_ov019_020ce7a0(u8 param1);
|
|
void func_ov019_020ce7d4(unk32 param1);
|
|
};
|
|
|
|
// defines the options screen (022ea1c8)
|
|
class FileSelectOptions : public GameModeManagerBase_104 {
|
|
public:
|
|
/* 0000 (base) */
|
|
/* 001C */ FSOptionsState mState;
|
|
/* 0020 */ u8 mUnk_0020; // bool?
|
|
/* 0020 */ unk8 mUnk_0021;
|
|
/* 0020 */ unk8 mUnk_0022;
|
|
/* 0020 */ unk8 mUnk_0023;
|
|
/* 0024 */ UnkStruct_ov019_020d24c8_2C_24 mUnk_0024;
|
|
/* 1064 */ UnkSystem2_UnkSubSystem9 mUnk_1064;
|
|
|
|
// "options" string
|
|
/* 10A8 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_10A8;
|
|
/* 1108 */ UnkSystem2_UnkSubSystem3 mUnk_1108;
|
|
/* 1344 */ UnkSystem2_UnkSubSystem9 mUnk_1344;
|
|
|
|
// "mic test" button
|
|
/* 1388 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_1388;
|
|
/* 13E8 */ unk8 mUnk_13E8[0x38];
|
|
/* 1420 */ UnkSystem2_UnkSubSystem8 mUnk_1420;
|
|
/* 1470 */ UnkSystem2_UnkSubSystem3 mUnk_1470;
|
|
|
|
// "ok" button
|
|
/* 16AC */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_16AC;
|
|
/* 170C */ unk8 mUnk_170C[0x38];
|
|
/* 1744 */ UnkSystem2_UnkSubSystem8 mUnk_1744;
|
|
/* 1794 */ UnkSystem2_UnkSubSystem3 mUnk_1794;
|
|
|
|
// "cancel" button
|
|
/* 19D0 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_19D0;
|
|
/* 1A30 */ unk8 mUnk_1A30[0x38];
|
|
/* 1A68 */ UnkSystem2_UnkSubSystem8 mUnk_1A68;
|
|
/* 1AB8 */ UnkSystem2_UnkSubSystem3 mUnk_1AB8;
|
|
|
|
/* 1CF4 */ unk8 mUnk_1CF4;
|
|
/* 1CF5 */ bool mUnk_1CF5;
|
|
/* 1CF6 */ unk8 mUnk_1CF6;
|
|
/* 1CF7 */ unk8 mUnk_1CF7;
|
|
/* 1CF8 */
|
|
|
|
GameModeLinkListNode *GetNode() {
|
|
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
|
|
if (this != NULL) {
|
|
node = (GameModeLinkListNode *) ((u32 *) node + 1);
|
|
}
|
|
return node;
|
|
}
|
|
|
|
FileSelectOptions(s32 saveSlotIndex);
|
|
void func_ov019_020ccd40();
|
|
void func_ov019_020ccdf4();
|
|
void func_ov019_020cd8d4();
|
|
bool func_ov019_020cdbdc();
|
|
void func_ov019_020cde8c(FSOptionsState state);
|
|
void func_ov019_020cde9c();
|
|
|
|
// data_ov019_020d2188
|
|
void func_ov019_020cd7f8(void);
|
|
void func_ov019_020cdc0c(void);
|
|
void func_ov019_020cdc38(void);
|
|
void func_ov019_020cdc60(void);
|
|
void func_ov019_020cdc5c(void);
|
|
void func_ov019_020cdc8c(void);
|
|
void func_ov019_020cdcb8(void);
|
|
|
|
// data_ov019_020d21c0
|
|
void func_ov019_020cce04(void);
|
|
void func_ov019_020cce30(void);
|
|
void func_ov019_020cd16c(void);
|
|
void func_ov019_020cd41c(void);
|
|
void func_ov019_020cd5f8(void);
|
|
void func_ov019_020cd614(void);
|
|
void func_ov019_020cd788(void);
|
|
|
|
// data_ov019_020d2200 vtable
|
|
/* 00 */ virtual ~FileSelectOptions() override;
|
|
/* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override;
|
|
/* 10 */ virtual void vfunc_10(unk8 *param1) override;
|
|
|
|
static GameModeManagerBase_104 *Create(void *param1, s32 saveSlotIndex);
|
|
};
|