Files
tww/include/d/d_2dnumber.h
T
Teddy Heidmann 7735a21e14 d_menu_fmap (#1195)
* checkDspLargeMapLink()

* close on dispEndSalvageLargeMark()

* setDspHugeMapLink(), dispEndSalvageHugeMark()

* checkDspHugeMapLink(), checkDspHugeMapShip(), _close_normalMode()

* _delete()

* decomp.me help

* FmapProcMain()

* SelectGrid(), zoom1000x1000Init()

* ZoomGridLv1In()

* ZoomGridLv2Out(), fmap2Move(), paneTransBase(), paneTranceZoomMapAlpah()

* paneTranceZoomMap()

* paneTranceZoom2Map(), _open_warpMode(), init_warpMode()

* enums for procIdx values

* paneTranceWarpMsg(), paneAlphaWarpMsgBack(), fmMapWrite(), fmMapWait(), paneAlphaZoom2Map()

* wrapMove()

* warpAreaAnime0(), warpSelCursorAnime()

* areaTextChangeAnimeInit()

* fmDispArea(), fmZoomGridLv1/2In/Out

* wtf setDspWarpBackCornerColor

* screenSet() .data order

* cleanup u8/bool

* field renames

* bool/BOOL cleanup, enum for confusing fmapZoom

* configure.py

* GZLP01

* GZLJ01
2026-09-04 18:01:21 -04:00

136 lines
3.8 KiB
C++

#ifndef D_2DNUMBER_H
#define D_2DNUMBER_H
#include "d/d_drawlist.h"
struct ResTIMG;
class JUTFont;
struct fopMsgM_pane_class;
class dDlst_2DNumber_c : public dDlst_base_c {
public:
dDlst_2DNumber_c();
~dDlst_2DNumber_c();
bool init(int, s16, s16, s16, s16, u8);
void draw();
private:
/* 0x04 */ J2DPicture* mNum[4];
/* 0x14 */ cXy mPos[4];
/* 0x34 */ f32 mWidth;
/* 0x38 */ f32 mHeight;
/* 0x3C */ int mValue;
/* 0x40 */ u8 mFlag;
/* 0x41 */ u8 mDigitNum;
};
class dDlst_2DMinigame_c : public dDlst_base_c {
public:
bool init(ResTIMG* img1, ResTIMG* img2);
void draw();
void setTitlePos(f32 x, f32 y) { mTitlePos.x = x; mTitlePos.y = y; }
void setScorePos(f32 x, f32 y) { mScorePos.x = x; mScorePos.y = y; }
void setTitleAlpha(u8 alpha) { mTitle->setAlpha(alpha); }
void setScoreAlpha(u8 alpha) { mScore->setAlpha(0xFF); mScoreShadow->setAlpha(alpha); } // ???
public:
/* 0x04 */ J2DPicture* mTitle;
/* 0x08 */ J2DPicture* mScore;
/* 0x0C */ J2DPicture* mScoreShadow;
/* 0x10 */ cXy mTitlePos;
/* 0x18 */ cXy mTitleSize;
/* 0x20 */ cXy mScorePos;
/* 0x28 */ cXy mScoreSize;
};
class dDlst_2DBattery_c : public dDlst_base_c {
public:
BOOL init(ResTIMG*, ResTIMG*, ResTIMG*, ResTIMG*);
void setRotate(float);
void draw();
public:
/* 0x04 */ J2DPicture* mRule;
/* 0x08 */ J2DPicture* mBattery;
/* 0x0C */ J2DPicture* mBatteryBase;
/* 0x10 */ J2DPicture* mNum[3][2]; /* [tens, ones, degree][no shadow, shadow] */
/* 0x28 */ cXy mPicturePos;
/* 0x28 */ cXy mNumPos;
/* 0x38 */ cXy mRuleSize;
/* 0x40 */ cXy mBatterySize;
/* 0x48 */ cXy mBatteryBaseSize;
/* 0x50 */ cXy mNumSize;
/* 0x58 */ f32 mRotation;
}; // size = 0x5C
class dDlst_2DObject_c : public dDlst_base_c {
public:
BOOL init(ResTIMG*, ResTIMG*);
void draw();
void setPosition(f32 x, f32 y) { mPos.x = x; mPos.y = y; }
void setScale(f32 scale) { mScale = scale; }
void onBeforeTex() { mCurrentNo = 0; }
void offBeforeTex() { mCurrentNo = 1; }
public:
/* 0x04 */ J2DPicture* mPicture[2];
/* 0x0C */ cXy mPos;
/* 0x14 */ cXy mSize[2];
/* 0x24 */ f32 mScale;
/* 0x28 */ u8 mCurrentNo;
}; // size = 0x2C
class dDlst_2DOutFont_c {
public:
dDlst_2DOutFont_c() {
m20 = NULL;
m18 = NULL;
m2C = NULL;
#if VERSION > VERSION_JPN
m74 = 0;
#endif
}
void setLeftUpPos(f32 x, f32 y) { mPosTopLeftX = x; mPosTopLeftY = y; }
void initial();
void setPane(JUTFont*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*);
void setPaneEx(JUTFont*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*, fopMsgM_pane_class*, char*);
void setRuby(JUTFont*, fopMsgM_pane_class*);
void setRubyEx(JUTFont*, fopMsgM_pane_class*, char*);
void charWidth(int);
void rubyCharWidth(int);
void iconset(int, char**);
void messageSet(u32);
void outFontStickAnime1(u8);
void outFontStickAnime2(u8, u8);
void outFontStickAnime3(u8, u8);
void outFontStickAnimePiece(u8, u8);
void move();
void setAlpha(u8);
#if VERSION > VERSION_JPN
/* 0x00 */ u8 m00[0x08 - 0x00];
#endif
/* 0x08 */ J2DPane* m08[3];
/* 0x14 */ J2DPane* m14;
/* 0x18 */ J2DPane* m18;
/* 0x1C */ u8 m1C[0x20 - 0x1C];
/* 0x20 */ JUTFont* m20;
/* 0x24 */ u8 m24[0x2C - 0x24];
/* 0x2C */ JUTFont* m2C;
/* 0x30 */ f32 mPosTopLeftX;
/* 0x34 */ f32 mPosTopLeftY;
#if VERSION > VERSION_JPN
/* 0x38 */ u8 m38[0x74 - 0x38];
/* 0x74 */ u8 m74;
/* 0x75 */ u8 m75[0x150 - 0x75];
#else
/* 0x30 */ u8 m30[0x148 - 0x30];
#endif
}; // Size = 0x150
STATIC_ASSERT(sizeof(dDlst_2DOutFont_c) == VERSION_SELECT(0x148, 0x148, 0x150, 0x150));
#endif /* D_2DNUMBER_H */