Files

165 lines
4.8 KiB
C++

#ifndef D_MENU_ITEM_H
#define D_MENU_ITEM_H
#include "dolphin/types.h"
#include "d/d_menu_base.h"
#include "m_Do/m_Do_hostIO.h"
struct fopMsgM_pane_class;
class JKRArchive;
class JUTFont;
class J2DPane;
class dMenu_Item_c : public dMenu_base_c {
public:
void alphaChange(fopMsgM_pane_class*, f32) {}
virtual void draw() {}
u8 getItemMode() { return mItemMode; }
u8 getNowItem() { return mNowItem; }
void setNowItem(u8 val) { mNowItem = val; }
void setArchive(JKRArchive* arc) { mpArc = arc; }
void setFont(JUTFont* font, JUTFont* rfont) {
mFont = font;
mRFont = rfont;
}
void setItemTexBuffer(int idx, void* buffer) { mItemTexBuffer[idx] = buffer; }
void setSubItemTexBuffer(int idx, void* buffer) { mSubItemTexBuffer[idx] = buffer; }
void setTextArea(char* name0, char* name1, char* note0, char* note1, char* dummy0, char* dummy1) {
name[0] = name0;
name[1] = name1;
note[0] = note0;
note[1] = note1;
dummy[0] = dummy0;
dummy[1] = dummy1;
}
void setTimer(s16 val) { mTimer = val; }
void setTriggerInfo(u8 info) { mTriggerInfo = info; }
void initialize();
void screenSet();
void cursorAnime();
void cursorMainMove();
void cursorSubMove();
void checkMove();
void itemplaceCheck(int);
void itemDecide();
void itemMove();
void itemScale();
void subWindowInit();
void subWindowDelete();
void subItemDecide();
void itemnameMove();
void itemnameSet();
void itemnoteSet();
void outFontInit();
void outFontMove();
void outFontDraw();
u8 noteCheck();
void noteInit();
void noteAppear();
void noteOpen();
void noteClose();
void mainTrans(float, float);
void titleTrans(float, float);
void noteRotate(float, float);
void nameTrans(float, float);
void mainOpenProc(short, short, short);
void titleOpenProc(short, short);
void noteOpenProc(short, short);
void nameOpenProc(short, short);
void numberSet(J2DPane*, unsigned char);
void numberColor(J2DPane*, unsigned char);
void itemNumberSet();
void itemCheck(int);
void itemBitCheck(bool);
void arrowLightAnime();
void bottleFwaterCheck();
void recollectBossCheck();
void cornerMove();
void equipBeastItem(int);
virtual void _create();
virtual void _delete();
virtual void _move();
virtual void _draw();
virtual bool _open();
virtual bool _close();
bool _open2();
bool _close2();
private:
/* 0x0004 */ u8 field_0x0004[0x2310 - 0x4];
/* 0x2310 */ JKRArchive* mpArc;
/* 0x2314 */ JUTFont* mFont;
/* 0x2318 */ JUTFont* mRFont;
/* 0x231C */ u8 padding_0x231C[0x2320 - 0x231C];
/* 0x2320 */ JUtility::TColor color_0x2320;
/* 0x2324 */ JUtility::TColor color_0x2324;
/* 0x2328 */ JUtility::TColor color_0x2328;
/* 0x232C */ JUtility::TColor color_0x232C;
/* 0x2330 */ u8 field_0x2330[0x2334 - 0x2330];
/* 0x2334 */ void* mItemTexBuffer[21];
/* 0x2388 */ u8 padding_0x2388[0x2394 - 0x2388];
/* 0x2394 */ void* mSubItemTexBuffer[9];
/* 0x23B8 */ u8 padding_0x23B8[0x23E0 - 0x23B8];
/* 0x23E0 */ char* name[2];
/* 0x23E8 */ char* note[2];
/* 0x23F0 */ char* dummy[2];
/* 0x23F8 */ u16 mTimer;
/* 0x23FA */ u8 field_0x23FA[0x23FE - 0x23FA];
/* 0x23FE */ u8 mItemMode;
/* 0x23FF */ u8 mNowItem;
/* 0x2400 */ u8 padding_0x2400[0x2421 - 0x2400];
/* 0x2421 */ u8 mTriggerInfo;
/* 0x2422 */ u8 field_0x2422;
/* 0x2423 */ u8 field_0x2423;
}; // Size: 0x2424
STATIC_ASSERT(sizeof(dMenu_Item_c) == 0x2424);
class dMi_HIO_c : public JORReflexible {
public:
dMi_HIO_c();
virtual ~dMi_HIO_c() {}
void genMessage(JORMContext* ctx) {}
static const int ARR_SIZE = 5;
public:
/* 0x04 */ s8 mNo;
/* 0x08 */ f32 field_0x08;
/* 0x0C */ s16 field_0x0C;
/* 0x0E */ s16 arr_0x0E[ARR_SIZE];
/* 0x18 */ s16 field_0x18;
/* 0x1A */ s16 arr_0x1A[ARR_SIZE];
/* 0x24 */ s16 field_0x24;
/* 0x26 */ s16 field_0x26;
/* 0x28 */ s16 field_0x28;
/* 0x2A */ s16 field_0x2A;
/* 0x2C */ s16 field_0x2C;
/* 0x2E */ s16 field_0x2E;
/* 0x30 */ s16 field_0x30;
/* 0x32 */ s16 field_0x32;
/* 0x34 */ s16 field_0x34;
/* 0x36 */ s16 field_0x36;
/* 0x38 */ s16 field_0x38;
/* 0x3A */ s16 field_0x3A;
/* 0x3C */ s16 field_0x3C;
/* 0x3E */ s16 field_0x3E;
/* 0x40 */ s16 field_0x40;
/* 0x42 */ s16 field_0x42;
/* 0x44 */ s16 field_0x44;
/* 0x46 */ s16 field_0x46;
/* 0x48 */ s16 field_0x48;
/* 0x4A */ u8 padding_0x4A[0x4C - 0x4A];
/* 0x4C */ JUtility::TColor mBlackColor;
/* 0x50 */ JUtility::TColor mWhiteColor;
/* 0x54 */ GXColor mClothColor;
/* 0x58 */ GXColor mShadowColor;
/* 0x5C */ u8 field_0x5C;
};
extern dMi_HIO_c g_miHIO;
#endif /* D_MENU_ITEM_H */