Files
tww/include/d/d_menu_dmap.h
T
2026-08-11 20:08:27 -07:00

225 lines
7.1 KiB
C++

#ifndef D_MENU_DMAP_H
#define D_MENU_DMAP_H
#include "JSystem/J2DGraph/J2DPicture.h"
#include "dolphin/types.h"
#include "d/d_menu_base.h"
#include "f_op/f_op_msg_mng.h"
#include "m_Do/m_Do_hostIO.h"
class J2DPane;
class J2DScreen;
struct fopMsgM_pane_class;
class JKRArchive;
class JUTFont;
class STControl;
class dMap_Dmap_c;
struct ResTIMG;
struct dMap_pane_c {
/* 0x00 */ J2DPicture* ppane;
/* 0x04 */ f32 posX;
/* 0x08 */ f32 posY;
/* 0x0C */ f32 width;
/* 0x10 */ f32 height;
/* 0x14 */ s16 angle;
/* 0x16 */ u8 exists;
/* 0x17 */ u8 padding_0x17[1];
} /* Size: 0x18 */;
class dMenu_Dmap_c : public dMenu_base_c {
public:
void alphaChange(fopMsgM_pane_class*, float) {}
virtual void draw() { _draw(); }
void setArchive(JKRArchive* arc) { mpArc = arc; }
void setFont(JUTFont* font, JUTFont* rfont) {
mFont = font;
mRFont = rfont;
}
void setItemTexBuffer(int, void*) {}
void setTextArea(char* name0, char* name1, char* note0, char* note1, char* dummy0, char* dummy1) {
mTxtName[0] = name0;
mTxtName[1] = name1;
mTxtNote[0] = note0;
mTxtNote[1] = note1;
mTxtDummy[0] = dummy0;
mTxtDummy[1] = dummy1;
}
void changeFloorTexture(J2DPane*, int);
void screenSet();
void initialize();
void treasureSet();
void treasureDraw();
void paneMove(float);
void paneAlpha(float);
void decAlpha(float);
void cursorMove();
void cursorAnime();
void noteInit();
bool noteCheck();
void noteAppear();
void noteOpen();
void noteClose();
void noteOpenProc(short);
void itemScale();
void floorInit();
void mapMove();
f32 mapOffsetY();
void itemnameMove();
void dnameSet();
void itemnameSet();
void itemnoteSet();
void outFontInit();
void linkAnime();
void bossAnime();
void bossEyeAnime();
virtual void _create();
virtual void _delete();
virtual void _move();
virtual void _draw();
virtual bool _open();
virtual bool _close();
public:
/* 0x0004 */ J2DScreen* scrn;
/* 0x0008 */ J2DScreen* scrn2;
/* 0x000C */ fopMsgM_pane_class mFtPanes[15];
/* 0x0354 */ fopMsgM_pane_class mFdPanes[15];
/* 0x069C */ fopMsgM_pane_class mCarPanes[4];
/* 0x077C */ fopMsgM_pane_class mNm00Pane;
/* 0x07B4 */ fopMsgM_pane_class mNm01Pane;
/* 0x07EC */ fopMsgM_pane_class mItnmPane;
/* 0x0824 */ fopMsgM_pane_class mItnkPane;
/* 0x085C */ fopMsgM_pane_class mMsk0Pane;
/* 0x0894 */ fopMsgM_pane_class mStr0Pane;
/* 0x08CC */ fopMsgM_pane_class mSt00Pane;
/* 0x0904 */ fopMsgM_pane_class mNt00Pane;
/* 0x093C */ fopMsgM_pane_class mNk00Pane;
/* 0x0974 */ fopMsgM_pane_class mNo11Pane;
/* 0x09AC */ fopMsgM_pane_class mDtlePane;
/* 0x09E4 */ fopMsgM_pane_class mDt00Pane;
/* 0x0A1C */ fopMsgM_pane_class mDk00Pane;
/* 0x0A54 */ fopMsgM_pane_class mItPanes[3];
/* 0x0AFC */ fopMsgM_pane_class mIkPanes[3];
/* 0x0BA4 */ fopMsgM_pane_class mIpPanes[3];
/* 0x0C4C */ fopMsgM_pane_class mIp01Pane;
/* 0x0C84 */ fopMsgM_pane_class mLnkPanes[3];
/* 0x0D2C */ fopMsgM_pane_class mBey1Pane;
/* 0x0D64 */ fopMsgM_pane_class mBey2Pane;
/* 0x0D9C */ fopMsgM_pane_class mBossPane;
/* 0x0DD4 */ fopMsgM_pane_class mBos2Pane;
/* 0x0E0C */ u8 padding[0xE7C - 0xE0C];
/* 0x0E7C */ fopMsgM_pane_class mFlPanes[6];
/* 0x0FCC */ fopMsgM_pane_class mFbPanes[6];
/* 0x111C */ fopMsgM_pane_class mFbkPanes[6];
/* 0x126C */ fopMsgM_pane_class mFw00Pane;
/* 0x12A4 */ fopMsgM_pane_class mFw01Pane;
/* 0x12DC */ fopMsgM_pane_class mCc38Pane;
/* 0x1314 */ fopMsgM_pane_class mCc31Pane;
/* 0x134C */ fopMsgM_pane_class mCc24Pane;
/* 0x1384 */ fopMsgM_pane_class mCc17Pane;
/* 0x13BC */ fopMsgM_pane_class mCc10Pane;
/* 0x13F4 */ fopMsgM_pane_class mCc05pane;
/* 0x142C */ fopMsgM_pane_class mCc00Pane;
/* 0x1464 */ fopMsgM_pane_class mMskPane;
/* 0x149C */ STControl* stick;
/* 0x14A0 */ dMap_Dmap_c* dmap_c;
/* 0x14A4 */ JKRArchive* mpArc;
/* 0x14A8 */ JUTFont* mFont;
/* 0x14AC */ JUTFont* mRFont;
/* 0x14B0 */ u8 field_0x14B0[0x14B4 - 0x14B0];
/* 0x14B4 */ JUtility::TColor mFb5ContentsColor;
/* 0x14B8 */ JUtility::TColor mFb0ContentsColor;
/* 0x14BC */ JUtility::TColor mFb5White;
/* 0x14C0 */ JUtility::TColor mFb0White;
/* 0x14C4 */ JUtility::TColor mFb5Black;
/* 0x14C8 */ JUtility::TColor mFb0Black;
/* 0x14CC */ dMap_pane_c treasure_p[32];
/* 0x17CC */ dMap_pane_c door_p[32];
/* 0x1ACC */ dMap_pane_c npc_p;
/* 0x1AE4 */ dMap_pane_c boss_p;
/* 0x1AFC */ ResTIMG* mpTIMG[3];
/* 0x1B08 */ fopMsgM_msgDataProc_c field_0x1B08;
/* 0x1DA8 */ char* mTxtName[2];
/* 0x1DB0 */ char* mTxtNote[2];
/* 0x1DB8 */ char* mTxtDummy[2];
/* 0x1DC0 */ char field_0x1DC0[0x1DCC - 0x1DC0];
/* 0x1DCC */ f32 mCarOfsX[4];
/* 0x1DDC */ f32 mCarOfsY[4];
/* 0x1DEC */ f32 mCarFloorOfsX[4];
/* 0x1DFC */ f32 mCarFloorOfsY[4];
/* 0x1E0C */ s16 mNoteTimer;
/* 0x1E0E */ s16 mMapDrawOffsetY;
/* 0x1E10 */ s16 mCurFloorMapY;
/* 0x1E12 */ s16 mFloorListOffsetY;
/* 0x1E14 */ s16 mBossFloorListOffsetY;
/* 0x1E16 */ s16 mMpmkPosX;
/* 0x1E18 */ s16 mMpmkPosY;
/* 0x1E1A */ s16 mMpmkSizeX;
/* 0x1E1C */ s16 mMpmkSizeY;
/* 0x1E1E */ s16 mMpp1PosX;
/* 0x1E20 */ s16 mMpp1PosY;
/* 0x1E22 */ s16 mMpp1SizeX;
/* 0x1E24 */ s16 mMpp1SizeY;
/* 0x1E26 */ s16 mMppGapY;
/* 0x1E28 */ s16 mLnkTimer2;
/* 0x1E2A */ s16 mLnkTimer1;
/* 0x1E2C */ s16 mBossEyeTimer;
/* 0x1E2E */ u8 mSelectItem;
/* 0x1E2F */ u8 mCurFloor;
/* 0x1E30 */ u8 mBossFloor;
/* 0x1E31 */ u8 mTopFloor;
/* 0x1E32 */ u8 mBottomFloor;
/* 0x1E33 */ bool mLnkTexFlip2;
/* 0x1E34 */ bool mLnkTexFlip1;
/* 0x1E35 */ bool mCurFloorOnly;
/* 0x1E36 */ u8 mBossEyeState;
/* 0x1E37 */ u8 pad;
}; // Size: 0x1E38
STATIC_ASSERT(sizeof(dMenu_Dmap_c) == 0x1E38);
class dMd_HIO_c : public JORReflexible {
public:
dMd_HIO_c();
virtual ~dMd_HIO_c() {}
void genMessage(JORMContext*) {}
public:
/* 0x04 */ s8 mNo;
/* 0x06 */ s16 mBossOfsX;
/* 0x08 */ s16 mBossOfsY;
/* 0x0A */ s16 mTreasureWidth;
/* 0x0C */ s16 mTreasureHeight;
/* 0x0E */ u8 padding_0x0E[0x10 - 0x0E];
/* 0x10 */ JUtility::TColor mTreasureWhite;
/* 0x14 */ JUtility::TColor mTreasureBlack;
/* 0x18 */ s16 mBossWidth;
/* 0x1A */ s16 mBossHeight;
/* 0x1C */ JUtility::TColor mBossWhite;
/* 0x20 */ JUtility::TColor mBossBlack;
/* 0x24 */ s16 mDoorWidth;
/* 0x26 */ s16 mDoorHeight;
/* 0x28 */ JUtility::TColor mDoorWhite;
/* 0x2C */ JUtility::TColor mDoorBlack;
/* 0x30 */ s16 mNpcWidth;
/* 0x32 */ s16 mNpcHeight;
/* 0x34 */ JUtility::TColor mNpcWhite;
/* 0x38 */ JUtility::TColor mNpcBlack;
/* 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;
}; // Size: 0x4C
STATIC_ASSERT(sizeof(dMd_HIO_c) == 0x4C);
extern dMd_HIO_c g_mdHIO;
#endif /* D_MENU_DMAP_H */