mirror of
https://github.com/doldecomp/sms.git
synced 2026-11-10 01:51:38 -10:00
131 lines
3.5 KiB
C++
131 lines
3.5 KiB
C++
#ifndef GC2D_GUIDE_HPP
|
|
#define GC2D_GUIDE_HPP
|
|
|
|
#include <JSystem/JDrama/JDRViewObj.hpp>
|
|
#include <JSystem/JUtility/JUTRect.hpp>
|
|
|
|
class JKRMemArchive;
|
|
class J2DPane;
|
|
class J2DPicture;
|
|
class J2DSetScreen;
|
|
class J2DTextBox;
|
|
class JUTTexture;
|
|
class TBoundPane;
|
|
class TExPane;
|
|
class TMarioGamePad;
|
|
|
|
struct TGuideStageData {
|
|
/* 0x0 */ u8 unk0;
|
|
/* 0x1 */ u8 shineCount;
|
|
/* 0x2 */ u8 etcShineCount;
|
|
/* 0x3 */ u8 unk3;
|
|
/* 0x4 */ u16 coinCount;
|
|
/* 0x6 */ u8 etcShine;
|
|
/* 0x7 */ u8 blueCoinCount;
|
|
};
|
|
|
|
class TGuide : public JDrama::TViewObj {
|
|
public:
|
|
enum State {
|
|
STATE_SELECT = 0,
|
|
STATE_APPEARING = 1,
|
|
STATE_SELECTED = 2,
|
|
STATE_DISAPPEARING = 3,
|
|
STATE_UNK4 = 4,
|
|
STATE_UNK5 = 5,
|
|
STATE_UNK6 = 6,
|
|
STATE_CLOSE = 7,
|
|
STATE_CLOSED = 8,
|
|
STATE_OPEN = 9,
|
|
STATE_OPENING = 10,
|
|
STATE_CLOSING = 11,
|
|
};
|
|
TGuide(const char* name = "<Guide>");
|
|
void load(JSUMemoryInputStream& stream);
|
|
void resetObjects();
|
|
void resetScore();
|
|
JKRMemArchive* setup(JKRMemArchive*);
|
|
void setup2(JKRMemArchive*);
|
|
void startMoveCursor();
|
|
void startMoveCursor2();
|
|
void linkSelect();
|
|
void changePattern(J2DPicture*, short, u32);
|
|
void mirrorPattern(J2DPicture*, short, u32);
|
|
void rotatePattern(J2DPicture*, short, u32, short);
|
|
void shinePattern(TBoundPane*, short, u32);
|
|
void mmarkPattern(TExPane*, short, u32);
|
|
void searchNearPoint(short*, short*, short, short);
|
|
int checkPoint(int, int);
|
|
void changeBotStatus(int);
|
|
void placeMario();
|
|
void appearGuidePane(int);
|
|
void disappearGuidePane(int);
|
|
|
|
// fabricated
|
|
void disappearSelectedPane() { disappearGuidePane(unk42C); }
|
|
|
|
void perform(u32 cue, JDrama::TGraphics* graphics);
|
|
|
|
public:
|
|
/* 0x10 */ s32 unk10;
|
|
/* 0x14 */ TGuideStageData unk14[10];
|
|
/* 0x64 */ char unk64[0xBC - 0x64];
|
|
/* 0xBC */ J2DSetScreen* unkBC;
|
|
/* 0xC0 */ TMarioGamePad* mGamePad;
|
|
/* 0xC4 */ u8 unkC4;
|
|
/* 0xC5 */ u8 unkC5;
|
|
/* 0xC8 */ JUTTexture* unkC8[10];
|
|
/* 0xF0 */ u16 unkF0;
|
|
/* 0xF2 */ char unkF2[2];
|
|
/* 0xF4 */ J2DPane* unkF4;
|
|
/* 0xF8 */ J2DPane* unkF8[2];
|
|
/* 0x100 */ J2DPane* unk100;
|
|
/* 0x104 */ J2DPane* unk104[2];
|
|
/* 0x10C */ J2DPane* unk10C[3];
|
|
/* 0x118 */ J2DPane* unk118;
|
|
/* 0x11C */ J2DPane* unk11C[2];
|
|
/* 0x124 */ J2DTextBox* unk124;
|
|
/* 0x128 */ TExPane* unk128[2];
|
|
/* 0x130 */ char unk130[4];
|
|
/* 0x134 */ J2DPicture* unk134;
|
|
/* 0x138 */ J2DPicture* unk138;
|
|
/* 0x13C */ J2DPicture* unk13C;
|
|
/* 0x140 */ J2DPicture* unk140;
|
|
/* 0x144 */ J2DPicture* unk144;
|
|
/* 0x148 */ J2DPicture* unk148;
|
|
/* 0x14C */ J2DPicture* unk14C;
|
|
/* 0x150 */ J2DPicture* unk150;
|
|
/* 0x154 */ J2DPicture* unk154;
|
|
/* 0x158 */ J2DPicture* unk158;
|
|
/* 0x15C */ u8 unk15C;
|
|
/* 0x160 */ s32 unk160;
|
|
/* 0x164 */ u8 unk164;
|
|
/* 0x168 */ J2DPane* unk168[14];
|
|
/* 0x1A0 */ char unk1A0[0x1C0 - 0x1A0];
|
|
/* 0x1C0 */ TExPane* unk1C0[14];
|
|
/* 0x1F8 */ char unk1F8[0x218 - 0x1F8];
|
|
/* 0x218 */ JUTRect unk218[22];
|
|
/* 0x378 */ TExPane* unk378[14];
|
|
/* 0x3B0 */ char unk3B0[0x3D0 - 0x3B0];
|
|
/* 0x3D0 */ J2DPane* unk3D0[10];
|
|
/* 0x3F8 */ char unk3F8[0x424 - 0x3F8];
|
|
/* 0x424 */ TExPane* unk424;
|
|
/* 0x428 */ TExPane* unk428;
|
|
/* 0x42C */ s16 unk42C;
|
|
/* 0x42E */ char unk42E[2];
|
|
/* 0x430 */ J2DPane* unk430;
|
|
/* 0x434 */ JUTRect unk434;
|
|
/* 0x444 */ TBoundPane* unk444;
|
|
/* 0x448 */ J2DPane* unk448;
|
|
/* 0x44C */ J2DPane* unk44C[10];
|
|
/* 0x474 */ void* unk474;
|
|
/* 0x478 */ TExPane* unk478;
|
|
/* 0x47C */ u8 unk47C;
|
|
/* 0x480 */ s32 unk480;
|
|
/* 0x484 */ char unk484[0x48C - 0x484];
|
|
/* 0x48C */ JUTRect unk48C;
|
|
/* 0x49C */ char unk49C[0x6F8 - 0x49C];
|
|
};
|
|
|
|
#endif
|