tp/include/d/d_meter_map.h

125 lines
3.5 KiB
C++

#ifndef D_METER_D_METER_MAP_H
#define D_METER_D_METER_MAP_H
#include "d/d_map_path_dmap.h"
#include "JSystem/JHostIO/JORReflexible.h"
class J2DPicture;
class dMap_c;
class dMap_HIO_c;
class dMeter_map_HIO_c : public JORReflexible {
public:
dMeter_map_HIO_c();
virtual void listenPropertyEvent(const JORPropertyEvent*);
virtual void genMessage(JORMContext*);
virtual ~dMeter_map_HIO_c() {
mMySelfPointer = NULL;
mAreaMap = NULL;
field_0x38 = 0;
}
void update();
static dMeter_map_HIO_c* mMySelfPointer;
/* 0x04 */ s8 field_0x4;
/* 0x05 */ u8 mDebugMapExpansion;
/* 0x06 */ u8 mMapDisplayLocation;
/* 0x08 */ s16 mWideBottomLeftX;
/* 0x0A */ s16 mWideY;
/* 0x0C */ s16 mNormalBottomLeftX;
/* 0x0E */ s16 mNormalY;
/* 0x10 */ s16 mGcBottomLeftX;
/* 0x12 */ s16 mGcY;
/* 0x14 */ s16 mHiddenRightX;
/* 0x16 */ u8 field_0x16;
/* 0x17 */ u8 mSizeTypeChange;
/* 0x18 */ s16 field_0x18;
/* 0x1A */ s16 mMediumHorizontal;
/* 0x1C */ s16 mMediumVertical;
/* 0x1E */ s16 mBigHorizontal;
/* 0x20 */ s16 mBigVertical;
/* 0x22 */ s16 mSmallHorizontal;
/* 0x24 */ s16 mSmallVertical;
/* 0x26 */ u8 mMapDisplaySize;
/* 0x28 */ s16 field_0x28;
/* 0x2A */ s16 field_0x2a;
/* 0x2C */ u8 mMapAlphaTest;
/* 0x2D */ u8 mAlpha;
/* 0x2E */ u8 mTextureResolutionHalved;
/* 0x2F */ u8 mForcedMapTopEdgeChange;
/* 0x30 */ s16 field_0x30;
/* 0x32 */ u8 mMapDisplayProhibited;
/* 0x33 */ u8 mMapRenderingProhibited;
/* 0x34 */ dMap_HIO_c* mAreaMap;
/* 0x38 */ int field_0x38;
};
class dMeterMap_c : public dDlst_base_c {
public:
static bool isEnableDispMap();
static int getMapDispSizeTypeNo();
static bool isEnableDispMapAndMapDispSizeTypeNo();
f32 getMapDispEdgeBottomY_Layout();
bool isEventRunCheck();
f32 getMapDispEdgeLeftX_Layout();
f32 getMapDispEdgeTop();
s16 getDispPosInside_OffsetX();
s16 getDispPosOutSide_OffsetX();
void setDispPosInsideFlg_SE_On();
void setDispPosOutsideFlg_SE_On();
void setMapAlpha(u8);
static bool isMapOpenCheck();
dMeterMap_c(J2DScreen*);
void _create(J2DScreen*);
void setDispPosOutSide();
void setDispPosInSide();
void _delete();
void _move(u32);
void _draw();
void ctrlShowMap();
u8 checkMoveStatus();
static bool isShow(u32);
static bool isFmapScreen();
static bool isDmapScreen();
static void meter_map_move(u32);
void keyCheck();
virtual void draw();
virtual ~dMeterMap_c();
bool isDispPosInsideFlg() { return field_0x2d != 0; }
dMeterMap_c* getMapPointer() { return (dMeterMap_c*)mMap; }
void setSizeW(f32 w) { mSizeW = w; }
void setSizeH(f32 h) { mSizeH = h; }
enum { MAP_SIZE_TYPE_BIG = 2, MAP_SIZE_TYPE_SMALL = 3, MAP_SIZE_TYPE_MEDIUM = 4, MAP_SIZE_TYPE_STAGE = 7 };
static dMeterMap_c* mMySelfPointer;
#if DEBUG
/* 0x04 */ u8 field_0x4_debug;
/* 0x08 */ int field_0x8_debug;
#endif
private:
/* 0x04 */ J2DPicture* mMapJ2DPicture;
/* 0x08 */ dMap_c* mMap;
/* 0x0C */ s32 mIsCompass;
/* 0x10 */ s32 mIsMap;
/* 0x14 */ u32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 mSizeW;
/* 0x24 */ f32 mSizeH;
/* 0x28 */ s16 field_0x28;
/* 0x2A */ u8 field_0x2a;
/* 0x2B */ u8 field_0x2b;
/* 0x2C */ u8 mMapAlpha;
/* 0x2D */ u8 field_0x2d;
/* 0x2E */ u8 field_0x2e;
/* 0x30 */ int field_0x30;
};
#endif /* D_METER_D_METER_MAP_H */