mirror of https://github.com/zeldaret/tp
345 lines
11 KiB
C++
345 lines
11 KiB
C++
#ifndef D_METER_D_METER_BUTTON_H
|
|
#define D_METER_D_METER_BUTTON_H
|
|
|
|
#include "JSystem/J2DGraph/J2DScreen.h"
|
|
#include "JSystem/J2DGraph/J2DTextBox.h"
|
|
#include "d/d_drawlist.h"
|
|
|
|
class CPaneMgr;
|
|
class dMsgString_c;
|
|
class COutFont_c;
|
|
|
|
class dMeterButton_c : public dDlst_base_c {
|
|
public:
|
|
enum {
|
|
BUTTON_A_e,
|
|
BUTTON_B_e,
|
|
BUTTON_R_e,
|
|
BUTTON_Z_e,
|
|
BUTTON_3D_e,
|
|
BUTTON_C_e,
|
|
BUTTON_S_e,
|
|
BUTTON_X_e,
|
|
BUTTON_Y_e,
|
|
BUTTON_NUN_e,
|
|
BUTTON_REMO_e,
|
|
BUTTON_REMO2_e,
|
|
BUTTON_AR_e,
|
|
BUTTON_3DB_e,
|
|
BUTTON_NURE_e,
|
|
BUTTON_REEL_e,
|
|
BUTTON_REEL2_e,
|
|
BUTTON_AB_e,
|
|
BUTTON_TATE_e,
|
|
BUTTON_NUNZ_e,
|
|
BUTTON_NUNC_e,
|
|
BUTTON_BIN_e,
|
|
BUTTON_NONE_e,
|
|
};
|
|
|
|
enum {
|
|
DIR_LEFT_e = (1 << 0),
|
|
DIR_DOWN_e = (1 << 1),
|
|
DIR_RIGHT_e = (1 << 2),
|
|
DIR_UP_e = (1 << 3),
|
|
};
|
|
|
|
dMeterButton_c();
|
|
int _create();
|
|
int _execute(u32, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
|
|
bool, bool, bool, bool, bool, bool, bool, bool, bool, bool, bool,
|
|
bool);
|
|
int _delete();
|
|
bool alphaAnimeButtonA(u32, bool);
|
|
bool alphaAnimeButtonB(u32, bool);
|
|
bool alphaAnimeButtonR(u32, bool);
|
|
bool alphaAnimeButtonZ(u32, bool);
|
|
bool alphaAnimeButton3D(u32, bool);
|
|
bool alphaAnimeButtonC(u32, bool);
|
|
bool alphaAnimeButtonS(u32, bool);
|
|
bool alphaAnimeButtonX(u32, bool);
|
|
bool alphaAnimeButtonY(u32, bool);
|
|
bool alphaAnimeButtonNun(u32, bool);
|
|
bool alphaAnimeButtonRemo(u32, bool);
|
|
bool alphaAnimeButtonRemo2(u32, bool);
|
|
bool alphaAnimeButtonAR(u32, bool);
|
|
bool alphaAnimeButton3DB(u32, bool);
|
|
bool alphaAnimeButtonNURE(u32, bool);
|
|
bool alphaAnimeButtonReel(u32, bool);
|
|
bool alphaAnimeButtonReel2(u32, bool);
|
|
bool alphaAnimeButtonAB(u32, bool);
|
|
bool alphaAnimeButtonTate(u32, bool);
|
|
bool alphaAnimeButtonNunZ(u32, bool);
|
|
bool alphaAnimeButtonNunC(u32, bool);
|
|
bool alphaAnimeButtonBin(u32, bool);
|
|
void screenInitButton();
|
|
void screenInitText();
|
|
void updateButton();
|
|
void updateText(u32);
|
|
void setAlphaButtonAAnimeMin();
|
|
bool isFastSet(int);
|
|
void setAlphaButtonAAnimeMax();
|
|
void setAlphaButtonBAnimeMin();
|
|
void setAlphaButtonBAnimeMax();
|
|
void setAlphaButtonRAnimeMin();
|
|
void setAlphaButtonRAnimeMax();
|
|
void setAlphaButtonZAnimeMin();
|
|
void setAlphaButtonZAnimeMax();
|
|
void setAlphaButton3DAnimeMin();
|
|
void setAlphaButton3DAnimeMax();
|
|
void setAlphaButton3DVAnimeMin();
|
|
void setAlphaButton3DVAnimeMax();
|
|
void setAlphaButtonCAnimeMin();
|
|
void setAlphaButtonCAnimeMax();
|
|
void setAlphaButtonSAnimeMin();
|
|
void setAlphaButtonSAnimeMax();
|
|
void setAlphaButtonXAnimeMin();
|
|
void setAlphaButtonXAnimeMax();
|
|
void setAlphaButtonYAnimeMin();
|
|
void setAlphaButtonYAnimeMax();
|
|
void setAlphaButtonNunAnimeMin();
|
|
void setAlphaButtonNunAnimeMax();
|
|
void setAlphaButtonRemoAnimeMin();
|
|
void setAlphaButtonRemoAnimeMax();
|
|
void setAlphaButtonRemo2AnimeMin();
|
|
void setAlphaButtonRemo2AnimeMax();
|
|
void setAlphaButtonARAnimeMin();
|
|
void setAlphaButtonARAnimeMax();
|
|
void setAlphaButton3DBAnimeMin();
|
|
void setAlphaButton3DBAnimeMax();
|
|
void setAlphaButtonNUREAnimeMin();
|
|
void setAlphaButtonNUREAnimeMax();
|
|
void setAlphaButtonReelAnimeMin();
|
|
void setAlphaButtonReelAnimeMax();
|
|
void setAlphaButtonReel2AnimeMin();
|
|
void setAlphaButtonReel2AnimeMax();
|
|
void setAlphaButtonABAnimeMin();
|
|
void setAlphaButtonABAnimeMax();
|
|
void setAlphaButtonTateAnimeMin();
|
|
void setAlphaButtonTateAnimeMax();
|
|
void setAlphaButtonNunZAnimeMin();
|
|
void setAlphaButtonNunZAnimeMax();
|
|
void setAlphaButtonNunCAnimeMin();
|
|
void setAlphaButtonNunCAnimeMax();
|
|
void setAlphaButtonBinAnimeMin();
|
|
void setAlphaButtonBinAnimeMax();
|
|
void setAlphaButtonOAnimeMin(int);
|
|
void setAlphaButtonOAnimeMax(int);
|
|
void setAlphaIconAnimeMin();
|
|
void setAlphaIconAnimeMax();
|
|
bool isClose();
|
|
void setString(char*, u8, u8, u8);
|
|
void hideAll();
|
|
f32 getCenterPosCalc(u8, char*, int);
|
|
void trans_button(int, f32);
|
|
void hide_button(u8);
|
|
void pikariCheck();
|
|
void paneTrans(CPaneMgr*, f32, f32, u8);
|
|
|
|
virtual void draw();
|
|
virtual ~dMeterButton_c();
|
|
|
|
bool isSetButton(u8 i_no) { return mButtonTimers[i_no] <= 0; }
|
|
void onButtonShowBit(int i_bit) { field_0x4b0 |= (u16)(1 << i_bit); }
|
|
void offButtonShowBit(int i_bit) { field_0x4b0 &= ~(u16)(1 << i_bit); }
|
|
bool isButtonShowBit(int i_bit) { return field_0x4b0 & (u16)(1 << i_bit); }
|
|
|
|
static const int BUTTON_NUM = 22;
|
|
|
|
/* 0x004 */ dMsgString_c* mpString_c;
|
|
/* 0x008 */ J2DScreen* mpButtonScreen;
|
|
/* 0x00C */ J2DScreen* field_0x00c;
|
|
/* 0x010 */ J2DScreen* mpScreen;
|
|
/* 0x014 */ J2DScreen* mpTextScreen;
|
|
/* 0x018 */ CPaneMgr* mpParent;
|
|
/* 0x01C */ CPaneMgr* mpButtonA;
|
|
/* 0x020 */ CPaneMgr* mpButtonR;
|
|
/* 0x024 */ CPaneMgr* mpButtonB;
|
|
/* 0x028 */ CPaneMgr* mpButtonZ;
|
|
/* 0x02C */ CPaneMgr* mpButton3D;
|
|
/* 0x030 */ CPaneMgr* mpButtonC;
|
|
/* 0x034 */ CPaneMgr* mpButtonS;
|
|
/* 0x038 */ CPaneMgr* mpButtonX;
|
|
/* 0x03C */ CPaneMgr* mpButtonY;
|
|
/* 0x040 */ CPaneMgr* mpButtonNun;
|
|
/* 0x044 */ CPaneMgr* mpButtonRemo;
|
|
/* 0x048 */ CPaneMgr* mpButtonRemo2;
|
|
/* 0x04C */ CPaneMgr* mpButtonAR;
|
|
/* 0x050 */ CPaneMgr* mpButton3DB;
|
|
/* 0x054 */ CPaneMgr* mpButtonNURE;
|
|
/* 0x058 */ CPaneMgr* mpButtonReel;
|
|
/* 0x05C */ CPaneMgr* mpButtonReel2;
|
|
/* 0x060 */ CPaneMgr* mpButtonAB;
|
|
/* 0x064 */ CPaneMgr* mpButtonTate;
|
|
/* 0x068 */ CPaneMgr* mpButtonNunZ;
|
|
/* 0x06C */ CPaneMgr* mpButtonNunC;
|
|
/* 0x070 */ CPaneMgr* mpButtonBin;
|
|
/* 0x074 */ u8 field_0x074[0x078 - 0x074];
|
|
/* 0x078 */ CPaneMgr* mpText[2];
|
|
/* 0x080 */ CPaneMgr* field_0x080;
|
|
/* 0x084 */ J2DTextBox* mpTextBox[10];
|
|
/* 0x0AC */ u8 field_0x0AC[0x0D4 - 0x0AC];
|
|
/* 0x0D4 */ COutFont_c* mpOutFont;
|
|
/* 0x0D8 */ CPaneMgr* mpFkAll_c;
|
|
/* 0x0DC */ CPaneMgr* mpFkRoot_c;
|
|
/* 0x0E0 */ CPaneMgr* mpTmRoot_c;
|
|
/* 0x0E4 */ CPaneMgr* mpTm_c[2];
|
|
/* 0x0EC */ CPaneMgr* field_0x0ec[2];
|
|
/* 0x0F4 */ CPaneMgr* mpItem_c;
|
|
/* 0x0F8 */ CPaneMgr* mpMidona;
|
|
/* 0x0FC */ CPaneMgr* field_0x0fc[4];
|
|
/* 0x10C */ JKRHeap* mpHeap;
|
|
/* 0x110 */ void* mpFishingTex;
|
|
/* 0x114 */ char mButtonText[2][15];
|
|
/* 0x132 */ u8 field_0x132[0x134 - 0x132];
|
|
/* 0x134 */ f32 field_0x134;
|
|
/* 0x138 */ f32 field_0x138;
|
|
/* 0x13C */ f32 field_0x13c;
|
|
/* 0x140 */ f32 field_0x140;
|
|
/* 0x144 */ f32 field_0x144;
|
|
/* 0x148 */ f32 field_0x148;
|
|
/* 0x14C */ f32 field_0x14c;
|
|
/* 0x150 */ f32 field_0x150;
|
|
/* 0x154 */ f32 field_0x154;
|
|
/* 0x158 */ f32 field_0x158;
|
|
/* 0x15C */ f32 field_0x15c;
|
|
/* 0x160 */ f32 field_0x160;
|
|
/* 0x164 */ f32 field_0x164;
|
|
/* 0x168 */ f32 field_0x168;
|
|
/* 0x16C */ f32 field_0x16c;
|
|
/* 0x170 */ f32 field_0x170;
|
|
/* 0x174 */ f32 field_0x174;
|
|
/* 0x178 */ f32 field_0x178;
|
|
/* 0x17C */ f32 field_0x17c;
|
|
/* 0x180 */ f32 field_0x180;
|
|
/* 0x184 */ f32 field_0x184;
|
|
/* 0x188 */ f32 field_0x188;
|
|
/* 0x18C */ f32 field_0x18c[BUTTON_NUM];
|
|
/* 0x1E4 */ f32 field_0x1e4[2];
|
|
/* 0x1EC */ f32 mButtonWidth[BUTTON_NUM];
|
|
/* 0x244 */ f32 field_0x244[BUTTON_NUM];
|
|
/* 0x29C */ f32 field_0x29c[2];
|
|
/* 0x2A4 */ f32 field_0x2a4;
|
|
/* 0x2A8 */ f32 field_0x2a8;
|
|
/* 0x2AC */ u8 field_0x2AC[0x2E0 - 0x2AC];
|
|
/* 0x2E0 */ f32 field_0x2e0[2];
|
|
/* 0x2E8 */ f32 field_0x2e8[2];
|
|
/* 0x2F0 */ f32 mParentCenterX;
|
|
/* 0x2F4 */ f32 field_0x2f4[2];
|
|
/* 0x2FC */ f32 field_0x2fc[2];
|
|
/* 0x304 */ f32 field_0x304[BUTTON_NUM];
|
|
/* 0x35C */ f32 field_0x35c;
|
|
/* 0x360 */ f32 field_0x360;
|
|
/* 0x364 */ Vec mVtxCenterA;
|
|
/* 0x370 */ Vec mVtxCenterB;
|
|
/* 0x37C */ Vec mVtxCenterR;
|
|
/* 0x388 */ Vec mVtxCenterZ;
|
|
/* 0x394 */ Vec mVtxCenter3D;
|
|
/* 0x3A0 */ Vec mVtxCenterC;
|
|
/* 0x3AC */ Vec mVtxCenterS;
|
|
/* 0x3B8 */ Vec mVtxCenterX;
|
|
/* 0x3C4 */ Vec mVtxCenterY;
|
|
/* 0x3D0 */ u8 field_0x3D0[0x400 - 0x3D0];
|
|
/* 0x400 */ Vec mVtxCenter3DB;
|
|
/* 0x40C */ u8 field_0x40C[0x460 - 0x40C];
|
|
/* 0x460 */ Vec mVtxCenterBin;
|
|
/* 0x46C */ Vec mVtxCenterText0;
|
|
/* 0x478 */ Vec mVtxCenterText1;
|
|
/* 0x484 */ s16 mButtonTimers[BUTTON_NUM];
|
|
/* 0x4B0 */ u16 field_0x4b0;
|
|
/* 0x4B2 */ u16 mMsgID;
|
|
/* 0x4B4 */ s16 field_0x4b4;
|
|
/* 0x4B6 */ s16 field_0x4b6;
|
|
/* 0x4B8 */ s16 field_0x4b8[2];
|
|
/* 0x4BC */ u8 field_0x4bc[2];
|
|
/* 0x4BE */ u8 field_0x4be[2];
|
|
/* 0x4C0 */ bool mPlayedButtonSound[BUTTON_NUM];
|
|
/* 0x4D6 */ u8 mMeterSubContent;
|
|
/* 0x4D7 */ u8 field_0x4d7[2];
|
|
/* 0x4D9 */ u8 field_0x4d9;
|
|
/* 0x4DA */ u8 field_0x4da[4];
|
|
/* 0x4E0 */ f32 mParentPosX;
|
|
/* 0x4E4 */ f32 mParentPosY;
|
|
/* 0x4E8 */ f32 mParentScale;
|
|
/* 0x4EC */ f32 mButtonAPosX;
|
|
/* 0x4F0 */ f32 mButtonAPosY;
|
|
/* 0x4F4 */ f32 mButtonAScale;
|
|
/* 0x4F8 */ f32 mButtonBPosX;
|
|
/* 0x4FC */ f32 mButtonBPosY;
|
|
/* 0x500 */ f32 mButtonBScale;
|
|
/* 0x504 */ f32 mButtonRPosX;
|
|
/* 0x508 */ f32 mButtonRPosY;
|
|
/* 0x50C */ f32 mButtonRScale;
|
|
/* 0x510 */ f32 mButtonZPosX;
|
|
/* 0x514 */ f32 mButtonZPosY;
|
|
/* 0x518 */ f32 mButtonZScale;
|
|
/* 0x51C */ f32 mButton3DPosX;
|
|
/* 0x520 */ f32 mButton3DPosY;
|
|
/* 0x524 */ f32 mButton3DScale;
|
|
/* 0x528 */ f32 mButtonCPosX;
|
|
/* 0x52C */ f32 mButtonCPosY;
|
|
/* 0x530 */ f32 mButtonCScale;
|
|
/* 0x534 */ f32 mButtonSPosX;
|
|
/* 0x538 */ f32 mButtonSPosY;
|
|
/* 0x53C */ f32 mButtonSScale;
|
|
/* 0x540 */ f32 mButtonXPosX;
|
|
/* 0x544 */ f32 mButtonXPosY;
|
|
/* 0x548 */ f32 mButtonXScale;
|
|
/* 0x54C */ f32 mButtonYPosX;
|
|
/* 0x550 */ f32 mButtonYPosY;
|
|
/* 0x554 */ f32 mButtonYScale;
|
|
/* 0x558 */ f32 field_0x558;
|
|
/* 0x55C */ f32 field_0x55c;
|
|
/* 0x560 */ f32 field_0x560;
|
|
/* 0x564 */ f32 field_0x564;
|
|
/* 0x568 */ f32 field_0x568;
|
|
/* 0x56C */ f32 field_0x56c;
|
|
/* 0x570 */ f32 field_0x570;
|
|
/* 0x574 */ f32 field_0x574;
|
|
/* 0x578 */ f32 field_0x578;
|
|
/* 0x57C */ f32 field_0x57c;
|
|
/* 0x580 */ f32 field_0x580;
|
|
/* 0x584 */ f32 field_0x584;
|
|
/* 0x588 */ f32 mButton3DBPosX;
|
|
/* 0x58C */ f32 mButton3DBPosY;
|
|
/* 0x590 */ f32 mButton3DBScale;
|
|
/* 0x594 */ f32 field_0x594;
|
|
/* 0x598 */ f32 field_0x598;
|
|
/* 0x59C */ f32 field_0x59c;
|
|
/* 0x5A0 */ f32 field_0x5a0;
|
|
/* 0x5A4 */ f32 field_0x5a4;
|
|
/* 0x5A8 */ f32 field_0x5a8;
|
|
/* 0x5AC */ f32 field_0x5ac;
|
|
/* 0x5B0 */ f32 field_0x5b0;
|
|
/* 0x5B4 */ f32 field_0x5b4;
|
|
/* 0x5B8 */ f32 field_0x5b8;
|
|
/* 0x5BC */ f32 field_0x5bc;
|
|
/* 0x5C0 */ f32 field_0x5c0;
|
|
/* 0x5C4 */ f32 field_0x5c4;
|
|
/* 0x5C8 */ f32 field_0x5c8;
|
|
/* 0x5CC */ f32 field_0x5cc;
|
|
/* 0x5D0 */ f32 field_0x5d0;
|
|
/* 0x5D4 */ f32 field_0x5d4;
|
|
/* 0x5D8 */ f32 field_0x5d8;
|
|
/* 0x5DC */ f32 field_0x5dc;
|
|
/* 0x5E0 */ f32 field_0x5e0;
|
|
/* 0x5E4 */ f32 field_0x5e4;
|
|
/* 0x5E8 */ f32 mButtonBinPosX;
|
|
/* 0x5EC */ f32 mButtonBinPosY;
|
|
/* 0x5F0 */ f32 field_0x5f0;
|
|
/* 0x5F4 */ f32 field_0x5f4;
|
|
/* 0x5F8 */ f32 field_0x5f8;
|
|
/* 0x5FC */ f32 field_0x5fc;
|
|
/* 0x600 */ f32 mTextPosX[2];
|
|
/* 0x608 */ f32 mTextPosY[2];
|
|
/* 0x610 */ f32 mTextScale[2];
|
|
/* 0x618 */ f32 mItemPosX;
|
|
/* 0x61C */ f32 mItemPosY;
|
|
/* 0x620 */ f32 mItemScale;
|
|
/* 0x624 */ f32 mMidonaPosX;
|
|
/* 0x628 */ f32 mMidonaPosY;
|
|
/* 0x62C */ f32 mMidonaScale;
|
|
};
|
|
|
|
#endif /* D_METER_D_METER_BUTTON_H */
|