Various d_ work (#2968)

* map work

* various meter work

* d_meter_button ShieldD almost equivalent

* error fix
This commit is contained in:
Carco_21
2025-12-20 18:06:17 -08:00
committed by GitHub
parent a1c691ec92
commit c434c2edde
20 changed files with 949 additions and 353 deletions
+41 -32
View File
@@ -2,6 +2,7 @@
#define D_METER_D_METER_MAP_H
#include "d/d_map_path_dmap.h"
#include "JSystem/JHostIO/JORReflexible.h"
class J2DPicture;
class dMap_c;
@@ -12,43 +13,47 @@ public:
dMeter_map_HIO_c();
virtual void listenPropertyEvent(const JORPropertyEvent*);
virtual void genMessage(JORMContext*);
virtual ~dMeter_map_HIO_c();
virtual ~dMeter_map_HIO_c() {
mMySelfPointer = NULL;
mAreaMap = NULL;
field_0x38 = 0;
}
void update();
static dMeter_map_HIO_c* mMySelfPointer;
private:
/* 0x04 */ u8 field_0x4;
/* 0x05 */ u8 field_0x5;
/* 0x06 */ u8 field_0x6;
/* 0x07 */ u8 field_0x7;
/* 0x08 */ s16 field_0x8;
/* 0x0A */ s16 field_0xa;
/* 0x0C */ s16 field_0xc;
/* 0x0E */ s16 field_0xe;
/* 0x10 */ s16 field_0x10;
/* 0x12 */ s16 field_0x12;
/* 0x14 */ s16 field_0x14;
/* 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 field_0x17;
/* 0x17 */ u8 mSizeTypeChange;
/* 0x18 */ s16 field_0x18;
/* 0x1A */ s16 field_0x1a;
/* 0x1C */ s16 field_0x1c;
/* 0x1E */ s16 field_0x1e;
/* 0x20 */ s16 field_0x20;
/* 0x22 */ s16 field_0x22;
/* 0x24 */ s16 field_0x24;
/* 0x26 */ u8 field_0x26;
/* 0x27 */ u8 field_0x27[0x2a - 0x27];
/* 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 field_0x2c;
/* 0x2D */ u8 field_0x2d;
/* 0x2E */ u8 field_0x2e;
/* 0x2F */ u8 field_0x2f;
/* 0x2C */ u8 mMapAlphaTest;
/* 0x2D */ u8 mAlpha;
/* 0x2E */ u8 mTextureResolutionHalved;
/* 0x2F */ u8 mForcedMapTopEdgeChange;
/* 0x30 */ s16 field_0x30;
/* 0x32 */ u8 field_0x32;
/* 0x33 */ u8 field_0x33;
/* 0x34 */ dMap_HIO_c* field_0x34;
/* 0x32 */ u8 mMapDisplayProhibited;
/* 0x33 */ u8 mMapRenderingProhibited;
/* 0x34 */ dMap_HIO_c* mAreaMap;
/* 0x38 */ int field_0x38;
};
class dMeterMap_c : public dDlst_base_c {
@@ -68,6 +73,8 @@ public:
static bool isMapOpenCheck();
dMeterMap_c(J2DScreen*);
void _create(J2DScreen*);
void setDispPosOutSide();
void setDispPosInSide();
void _delete();
void _move(u32);
void _draw();
@@ -83,17 +90,19 @@ public:
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_STAGE = 7 };
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;
private:
#if DEBUG
/* 0x04 */ u8 field_0x4_debug;
/* 0x08 */ int field_0x8_debug;
#endif
private:
/* 0x04 */ J2DPicture* mMapJ2DPicture;
/* 0x08 */ dMap_c* mMap;
/* 0x0C */ s32 mIsCompass;