mirror of
https://github.com/zeldaret/tp
synced 2026-05-22 22:44:28 -04:00
d_map debug (#3066)
This commit is contained in:
@@ -28251,9 +28251,9 @@ lbl_8053AA90 = .sbss:0x8053AA90; // type:object size:0x1 data:byte
|
||||
lbl_8053AA91 = .sbss:0x8053AA91; // type:object size:0x1 data:byte
|
||||
it$98928 = .sbss:0x8053AA94; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
lbl_8053AA98 = .sbss:0x8053AA98; // type:object size:0x8 data:byte
|
||||
lbl_8053AAA0 = .sbss:0x8053AAA0; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNo__10dMapInfo_c = .sbss:0x8053AAA0; // type:object size:0x1 data:byte
|
||||
mNowStayRoomNo__10dMapInfo_c = .sbss:0x8053AAA4; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_8053AAA8 = .sbss:0x8053AAA8; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x8053AAA8; // type:object size:0x1 data:byte
|
||||
mLayerList__8dMpath_c = .sbss:0x8053AAAC; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mAllCenterX__8dMpath_c = .sbss:0x8053AAB0; // type:object size:0x4 scope:global align:4 data:float
|
||||
mAllCenterZ__8dMpath_c = .sbss:0x8053AAB4; // type:object size:0x4 scope:global align:4 data:float
|
||||
|
||||
@@ -27776,9 +27776,9 @@ lbl_80520A98 = .sbss:0x80520A98; // type:object size:0x1 data:byte
|
||||
lbl_80520A99 = .sbss:0x80520A99; // type:object size:0x1 data:byte
|
||||
it$98965 = .sbss:0x80520A9C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_80520AA0 = .sbss:0x80520AA0; // type:object size:0x8 data:byte
|
||||
lbl_80520AA8 = .sbss:0x80520AA8; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNo__10dMapInfo_c = .sbss:0x80520AA8; // type:object size:0x1 data:byte
|
||||
mNowStayRoomNo__10dMapInfo_c = .sbss:0x80520AAC; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_80520AB0 = .sbss:0x80520AB0; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x80520AB0; // type:object size:0x1 data:byte
|
||||
mLayerList__8dMpath_c = .sbss:0x80520AB4; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mAllCenterX__8dMpath_c = .sbss:0x80520AB8; // type:object size:0x4 scope:global align:4 data:float
|
||||
mAllCenterZ__8dMpath_c = .sbss:0x80520ABC; // type:object size:0x4 scope:global align:4 data:float
|
||||
|
||||
@@ -27782,9 +27782,9 @@ lbl_8051E918 = .sbss:0x8051E918; // type:object size:0x1 data:byte
|
||||
lbl_8051E919 = .sbss:0x8051E919; // type:object size:0x1 data:byte
|
||||
it$98965 = .sbss:0x8051E91C; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
lbl_8051E920 = .sbss:0x8051E920; // type:object size:0x8 data:byte
|
||||
lbl_8051E928 = .sbss:0x8051E928; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNo__10dMapInfo_c = .sbss:0x8051E928; // type:object size:0x1 data:byte
|
||||
mNowStayRoomNo__10dMapInfo_c = .sbss:0x8051E92C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_8051E930 = .sbss:0x8051E930; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x8051E930; // type:object size:0x1 data:byte
|
||||
mLayerList__8dMpath_c = .sbss:0x8051E934; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mAllCenterX__8dMpath_c = .sbss:0x8051E938; // type:object size:0x4 scope:global align:4 data:float
|
||||
mAllCenterZ__8dMpath_c = .sbss:0x8051E93C; // type:object size:0x4 scope:global align:4 data:float
|
||||
|
||||
@@ -27667,9 +27667,9 @@ lbl_80521258 = .sbss:0x80521258; // type:object size:0x1 data:byte
|
||||
lbl_80521259 = .sbss:0x80521259; // type:object size:0x1 data:byte
|
||||
it$98965 = .sbss:0x8052125C; // type:object size:0x4 scope:local align:4 data:4byte
|
||||
lbl_80521260 = .sbss:0x80521260; // type:object size:0x8 data:byte
|
||||
lbl_80521268 = .sbss:0x80521268; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNo__10dMapInfo_c = .sbss:0x80521268; // type:object size:0x1 data:byte
|
||||
mNowStayRoomNo__10dMapInfo_c = .sbss:0x8052126C; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
lbl_80521270 = .sbss:0x80521270; // type:object size:0x1 data:byte
|
||||
mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x80521270; // type:object size:0x1 data:byte
|
||||
mLayerList__8dMpath_c = .sbss:0x80521274; // type:object size:0x4 scope:global align:4 data:4byte
|
||||
mAllCenterX__8dMpath_c = .sbss:0x80521278; // type:object size:0x4 scope:global align:4 data:float
|
||||
mAllCenterZ__8dMpath_c = .sbss:0x8052127C; // type:object size:0x4 scope:global align:4 data:float
|
||||
|
||||
@@ -25340,9 +25340,9 @@ lbl_80508C71 = .sbss:0x80508C71; // type:object size:0x1 data:byte hash:0x7EAE93
|
||||
@LOCAL@getDemoIDData__13dDemo_actor_cFPiPiPiPUsPUc@it@0 = .sbss:0x80508C74; // type:object size:0x4 scope:local data:4byte hash:0x7437A06F dhash:0xD35046F1
|
||||
lbl_80508C78 = .sbss:0x80508C78; // type:object size:0x1 data:byte hash:0xCB27AC4D dhash:0x3A9725EA
|
||||
sDrawStage = .sbss:0x80508C80; // type:object size:0x4 scope:global data:4byte hash:0x32D6CDF2
|
||||
lbl_80508C88 = .sbss:0x80508C88; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072
|
||||
mNowStayFloorNo__10dMapInfo_c = .sbss:0x80508C88; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072
|
||||
mNowStayRoomNo__10dMapInfo_c = .sbss:0x80508C8C; // type:object size:0x4 scope:global data:4byte hash:0xAB465BF4 dhash:0xA4A954B5
|
||||
lbl_80508C90 = .sbss:0x80508C90; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF
|
||||
mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x80508C90; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF
|
||||
mLayerList__8dMpath_c = .sbss:0x80508C94; // type:object size:0x4 scope:global data:4byte hash:0x10631C09 dhash:0x89F28E31
|
||||
mAllCenterX__8dMpath_c = .sbss:0x80508C98; // type:object size:0x4 scope:global align:4 data:float hash:0x4FEB5F9A dhash:0x67799F02
|
||||
mAllCenterZ__8dMpath_c = .sbss:0x80508C9C; // type:object size:0x4 scope:global align:4 data:float hash:0x1B7B1558 dhash:0x67799F00
|
||||
|
||||
@@ -64390,9 +64390,9 @@ lbl_8074C6B3 = .sbss:0x8074C6B3; // type:object size:0x1 data:byte hash:0x7EAE93
|
||||
lbl_8074C6B8 = .sbss:0x8074C6B8; // type:object size:0x8 data:byte hash:0xCB27AC4D dhash:0x3A9725EA
|
||||
lbl_8074C6C0 = .sbss:0x8074C6C0; // type:object size:0x1 data:byte hash:0x04D34995
|
||||
mMySelfPointer__14dMapInfo_HIO_c = .sbss:0x8074C6C8; // type:object size:0x4 scope:global data:4byte hash:0x42174B45 dhash:0x5B0F4B00
|
||||
lbl_8074C6CC = .sbss:0x8074C6CC; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072
|
||||
mNowStayFloorNo__10dMapInfo_c = .sbss:0x8074C6CC; // type:object size:0x1 data:byte hash:0xBAF1AF73 dhash:0x8E0D0072
|
||||
mNowStayRoomNo__10dMapInfo_c = .sbss:0x8074C6D0; // type:object size:0x4 scope:global data:4byte hash:0xAB465BF4 dhash:0xA4A954B5
|
||||
lbl_8074C6D4 = .sbss:0x8074C6D4; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF
|
||||
mNowStayFloorNoDecisionFlg__10dMapInfo_c = .sbss:0x8074C6D4; // type:object size:0x1 data:byte hash:0x991A382E dhash:0x1A2339EF
|
||||
mLayerList__8dMpath_c = .sbss:0x8074C6D8; // type:object size:0x4 scope:global data:4byte hash:0x10631C09 dhash:0x89F28E31
|
||||
mAllCenterX__8dMpath_c = .sbss:0x8074C6DC; // type:object size:0x4 scope:global align:4 data:float hash:0x4FEB5F9A dhash:0x67799F02
|
||||
mAllCenterZ__8dMpath_c = .sbss:0x8074C6E0; // type:object size:0x4 scope:global align:4 data:float hash:0x1B7B1558 dhash:0x67799F00
|
||||
|
||||
+103
-39
@@ -4,33 +4,45 @@
|
||||
#include "d/d_map_path_dmap.h"
|
||||
#include "JSystem/JHostIO/JORReflexible.h"
|
||||
|
||||
struct dMap_HIO_prm_res_src_s {
|
||||
|
||||
};
|
||||
|
||||
class dMap_HIO_list_c : public dMpath_HIO_n::hioList_c {
|
||||
public:
|
||||
virtual void copySrcToHio();
|
||||
virtual void copyHioToDst();
|
||||
virtual void copyBufToHio(const char*);
|
||||
};
|
||||
|
||||
class dMap_HIO_c : public dMpath_HIO_file_base_c {
|
||||
public:
|
||||
dMap_HIO_c();
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual u32 addString(char*, u32, u32);
|
||||
virtual u32 addData(char*, u32, u32);
|
||||
virtual void copyReadBufToData(const char*, s32);
|
||||
virtual u32 addStringBinary(char*, u32, u32);
|
||||
|
||||
/* 0x04 */ u8 field_0x4[0x08 - 0x04];
|
||||
/* 0x08 */ dMap_HIO_list_c mList;
|
||||
|
||||
static dMap_HIO_c* mMySelfPointer;
|
||||
static dMpath_HIO_n::list_s l_list;
|
||||
static dMap_HIO_prm_res_src_s* m_res_src_p;
|
||||
struct dMap_HIO_prm_other_s {
|
||||
/* 0x00 */ u8 field_0x0;
|
||||
/* 0x04 */ f32 field_0x4;
|
||||
/* 0x08 */ u8 field_0x8;
|
||||
/* 0x0C */ f32 field_0xc;
|
||||
/* 0x10 */ u8 field_0x10;
|
||||
/* 0x11 */ u8 field_0x11;
|
||||
/* 0x12 */ u8 field_0x12;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x1C */ u8 field_0x1c;
|
||||
/* 0x1D */ u8 field_0x1d;
|
||||
/* 0x1E */ u8 field_0x1e;
|
||||
/* 0x1F */ u8 field_0x1f;
|
||||
/* 0x20 */ u8 field_0x20;
|
||||
/* 0x21 */ u8 field_0x21;
|
||||
/* 0x22 */ u8 field_0x22;
|
||||
/* 0x23 */ u8 field_0x23;
|
||||
/* 0x24 */ u8 field_0x24[0x2C - 0x24];
|
||||
/* 0x2C */ u8 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ u8 field_0x34;
|
||||
/* 0x35 */ u8 field_0x35;
|
||||
/* 0x36 */ s16 field_0x36;
|
||||
/* 0x38 */ u8 field_0x38;
|
||||
/* 0x38 */ s16 field_0x3a;
|
||||
/* 0x3C */ u8 field_0x3c;
|
||||
/* 0x3D */ u8 field_0x3d;
|
||||
/* 0x3E */ s16 field_0x3e;
|
||||
/* 0x40 */ u8 field_0x40;
|
||||
/* 0x41 */ u8 field_0x41[0x44 - 0x41];
|
||||
/* 0x44 */ f32 field_0x44[17];
|
||||
/* 0x88 */ u8 field_0x88;
|
||||
/* 0x89 */ u8 field_0x89;
|
||||
/* 0x8A */ u8 field_0x8a;
|
||||
/* 0x8C */ f32 field_0x8c[17];
|
||||
/* 0xD0 */ u8 field_0xd0[0x114 - 0xD0];
|
||||
/* 0x114 */ dTres_c::typeGroupData_c field_0x114[1];
|
||||
/* 0x130 */ u8 field_0x130[0x2f0 - 0x130];
|
||||
};
|
||||
|
||||
struct dMap_prm_res_s {
|
||||
@@ -63,8 +75,19 @@ struct dMap_prm_res_s {
|
||||
/* 0x1B8 */ f32 cursor_size;
|
||||
};
|
||||
|
||||
struct dMap_prm_hio_s {
|
||||
/* 0x00 */ GXColor field_0x0[51];
|
||||
/* 0xCC */ u8 field_0xcc[0x24];
|
||||
/* 0xF0 */ dMap_HIO_prm_other_s field_0xf0;
|
||||
};
|
||||
|
||||
struct dMap_HIO_prm_res_src_s {
|
||||
static const u8 m_other[0x2f0];
|
||||
};
|
||||
|
||||
struct dMap_HIO_prm_res_dst_s {
|
||||
static dMap_prm_res_s* m_res;
|
||||
static dMap_HIO_prm_other_s m_other;
|
||||
};
|
||||
|
||||
class renderingAmap_c : public renderingPlusDoorAndCursor_c {
|
||||
@@ -104,7 +127,11 @@ public:
|
||||
virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0;
|
||||
virtual bool isSpecialOutline() = 0;
|
||||
|
||||
#if DEBUG
|
||||
static const int PALETTE_NUMBER = 51;
|
||||
#else
|
||||
static const int PALETTE_NUMBER = 50;
|
||||
#endif
|
||||
|
||||
private:
|
||||
/* 0x34 */ s32 m_outSideBlackLineCnt;
|
||||
@@ -130,7 +157,12 @@ public:
|
||||
void _move(f32, f32, int, f32);
|
||||
void _draw();
|
||||
|
||||
virtual ~dMap_c() { _remove(); }
|
||||
virtual ~dMap_c() {
|
||||
#if DEBUG
|
||||
m_mySelfPointer = NULL;
|
||||
#endif
|
||||
_remove();
|
||||
}
|
||||
virtual bool isDrawType(int);
|
||||
virtual const GXColor* getColor(int);
|
||||
virtual bool isRendAllRoom() const;
|
||||
@@ -143,6 +175,11 @@ public:
|
||||
virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
|
||||
virtual bool isSpecialOutline();
|
||||
|
||||
#if DEBUG
|
||||
virtual bool isSwitch(const dDrawPath_c::group_class*);
|
||||
virtual void beforeDrawPath();
|
||||
#endif
|
||||
|
||||
bool isDraw() const { return renderingDAmap_c::isDraw(); }
|
||||
|
||||
ResTIMG* getResTIMGPointer() { return mResTIMG; }
|
||||
@@ -150,7 +187,7 @@ public:
|
||||
f32 getPackPlusZ() { return mPackPlusZ; }
|
||||
f32 getPackZ() const { return mPackZ; }
|
||||
f32 getTexelPerCm() const { return 1.0f / field_0x58; }
|
||||
u16 getTexSizeY() const { return mTexSizeH; }
|
||||
u16 getTexSizeY() const { return mTexSizeY; }
|
||||
f32 getRightEdgePlus() { return mRightEdgePlus; }
|
||||
f32 getPackX() const { return mPackX; }
|
||||
int getStayRoomNo() const { return mStayRoomNo; }
|
||||
@@ -173,8 +210,8 @@ private:
|
||||
/* 0x6C */ f32 mRightEdgePlus;
|
||||
/* 0x70 */ f32 mTopEdgePlus;
|
||||
/* 0x74 */ int field_0x74;
|
||||
/* 0x78 */ u16 mTexSizeW;
|
||||
/* 0x7A */ u16 mTexSizeH;
|
||||
/* 0x78 */ u16 mTexSizeX;
|
||||
/* 0x7A */ u16 mTexSizeY;
|
||||
/* 0x7C */ int mStayRoomNo;
|
||||
/* 0x80 */ int field_0x80;
|
||||
/* 0x84 */ int field_0x84;
|
||||
@@ -184,17 +221,44 @@ private:
|
||||
/* 0x8E */ u8 field_0x8e;
|
||||
/* 0x8F */ u8 field_0x8f;
|
||||
/* 0x90 */ u8 field_0x90;
|
||||
/* 0x91 */ u8 field_0x91;
|
||||
}; // Size: 0x94
|
||||
|
||||
#if DEBUG
|
||||
class dMpath_RGBA_c {
|
||||
class dMap_HIO_list_c : public dMpath_HIO_n::hioList_c {
|
||||
public:
|
||||
GXColor getGXColor() { return mColor; }
|
||||
|
||||
GXColor mColor;
|
||||
|
||||
virtual ~dMpath_RGBA_c() {}
|
||||
virtual void copySrcToHio();
|
||||
virtual void copyHioToDst();
|
||||
virtual void copyBufToHio(const char*);
|
||||
};
|
||||
|
||||
class dMap_HIO_c : public dMpath_HIO_file_base_c {
|
||||
public:
|
||||
dMap_HIO_c();
|
||||
virtual void listenPropertyEvent(const JORPropertyEvent*);
|
||||
virtual void genMessage(JORMContext*);
|
||||
virtual u32 addString(char* param_1, u32 param_2, u32 param_3) { return mList.addString(param_1, param_2, param_3); }
|
||||
virtual u32 addData(char* param_1, u32 param_2, u32 param_3) {
|
||||
UNUSED(param_2);
|
||||
UNUSED(param_3);
|
||||
memcpy(param_1, dMap_HIO_prm_res_dst_s::m_res, 0x1bc);
|
||||
return 0x1bc;
|
||||
}
|
||||
virtual void copyReadBufToData(const char* param_1, s32 param_2) {
|
||||
UNUSED(param_2);
|
||||
mList.copyBufToHio(param_1);
|
||||
}
|
||||
virtual u32 addStringBinary(char* param_1, u32 param_2, u32 param_3) {
|
||||
return mList.addStringBinary(param_1, param_2, param_3);
|
||||
}
|
||||
|
||||
/* 0x04 */ u8 field_0x4[0x08 - 0x04];
|
||||
/* 0x08 */ dMap_HIO_list_c mList;
|
||||
|
||||
static dMap_HIO_c* mMySelfPointer;
|
||||
static const u8 l_listData[];
|
||||
static const dMpath_HIO_n::list_s l_list;
|
||||
static dMap_prm_res_s* m_res_src_p;
|
||||
static dMap_prm_hio_s m_prm_hio;
|
||||
};
|
||||
#endif
|
||||
|
||||
#endif /* D_MAP_D_MAP_H */
|
||||
|
||||
+77
-19
@@ -4,22 +4,50 @@
|
||||
#include "d/d_drawlist.h"
|
||||
#include "JSystem/JHostIO/JORMContext.h"
|
||||
|
||||
struct dMpath_RGB5A3_s {
|
||||
u16 color;
|
||||
};
|
||||
|
||||
namespace dMpath_ColorCnv_n {
|
||||
void convertRGB5A3_To_GXColor(_GXColor&, const dMpath_RGB5A3_s&);
|
||||
}
|
||||
|
||||
struct dMpath_RGB5A3_palDt_s {
|
||||
/* 0x0 */ dMpath_RGB5A3_s field_0x0;
|
||||
/* 0x2 */ dMpath_RGB5A3_s field_0x2;
|
||||
/* 0x4 */ dMpath_RGB5A3_s field_0x4;
|
||||
/* 0x6 */ dMpath_RGB5A3_s field_0x6;
|
||||
};
|
||||
|
||||
class dMpath_RGBA_c {
|
||||
public:
|
||||
GXColor mColor;
|
||||
|
||||
dMpath_RGBA_c() {}
|
||||
virtual ~dMpath_RGBA_c() {}
|
||||
GXColor getGXColor() const { return mColor; }
|
||||
void setGXColor(const GXColor&);
|
||||
void setRGB5A3_palDt(const dMpath_RGB5A3_palDt_s&);
|
||||
};
|
||||
|
||||
namespace dMpath_HIO_n {
|
||||
struct list_s {
|
||||
/* 0x00 */ void* field_0x0;
|
||||
/* 0x00 */ const void* field_0x0;
|
||||
/* 0x04 */ u32 field_0x4;
|
||||
};
|
||||
|
||||
class hioList_c {
|
||||
public:
|
||||
/* 0x00 */ list_s mList;
|
||||
struct resData_s {};
|
||||
struct hioList_s : public list_s, resData_s {};
|
||||
|
||||
// RTTI does not match debug
|
||||
class hioList_c : public hioList_s {
|
||||
public:
|
||||
virtual ~hioList_c() {}
|
||||
virtual void copySrcToHio() = 0;
|
||||
virtual void copyHioToDst() = 0;
|
||||
virtual void copyBufToHio(const char*) = 0;
|
||||
|
||||
void set(const list_s& param_1) { mList = param_1; }
|
||||
void set(const list_s& param_1) { *static_cast<list_s*>(this) = param_1; }
|
||||
void gen(JORMContext*);
|
||||
void update(JORMContext*);
|
||||
u32 addString(char*, u32, u32) const;
|
||||
@@ -44,6 +72,42 @@ public:
|
||||
bool readBinaryFile(const char*);
|
||||
};
|
||||
|
||||
class dMpath_RGB5A3_c {
|
||||
public:
|
||||
dMpath_RGB5A3_s mColor;
|
||||
|
||||
dMpath_RGB5A3_c(GXColor c) { set(c); }
|
||||
virtual ~dMpath_RGB5A3_c() {}
|
||||
void set(u8 r, u8 g, u8 b, u8 a) {
|
||||
u32 color;
|
||||
if (a >= 224) {
|
||||
color = (r & 0xf8) << 7 | (g & 0xf8) << 2 | (b & 0xf8) >> 3 | 0x8000;
|
||||
} else {
|
||||
color = (r & 0xf0) << 4 | g & 0xf0 | (b & 0xf0) >> 4 | (a & 0xe0) << 7;
|
||||
}
|
||||
mColor.color = color;
|
||||
}
|
||||
void set(const GXColor& c) { set(c.r, c.g, c.b, c.a); }
|
||||
const dMpath_RGB5A3_s& getRGB5A3() const { return mColor; }
|
||||
};
|
||||
|
||||
class dMpath_RGB5A3_palDt_c {
|
||||
public:
|
||||
dMpath_RGB5A3_palDt_s field_0x0;
|
||||
|
||||
dMpath_RGB5A3_palDt_c() {}
|
||||
virtual ~dMpath_RGB5A3_palDt_c() {}
|
||||
dMpath_RGB5A3_palDt_s& getRGB5A3_palDt_s() { return field_0x0; }
|
||||
|
||||
void setGXColor(const GXColor& c) {
|
||||
dMpath_RGB5A3_c rgb5a3(c);
|
||||
field_0x0.field_0x0 = rgb5a3.getRGB5A3();
|
||||
field_0x0.field_0x2 = rgb5a3.getRGB5A3();
|
||||
field_0x0.field_0x4 = rgb5a3.getRGB5A3();
|
||||
field_0x0.field_0x6 = rgb5a3.getRGB5A3();
|
||||
}
|
||||
};
|
||||
|
||||
class dDrawPath_c : public dDlst_base_c {
|
||||
public:
|
||||
struct line_class {
|
||||
@@ -176,19 +240,24 @@ public:
|
||||
struct dMpath_n {
|
||||
class dTexObjAggregate_c {
|
||||
public:
|
||||
static const int TEX_OBJ_NUMBER = 7;
|
||||
|
||||
void create();
|
||||
void remove();
|
||||
~dTexObjAggregate_c() { remove(); };
|
||||
|
||||
GXTexObj* getTexObjPointer(int i_no) { return mp_texObj[i_no]; }
|
||||
GXTexObj* getTexObjPointer(int i_no) {
|
||||
JUT_ASSERT(44, i_no >= 0 && i_no < TEX_OBJ_NUMBER);
|
||||
return mp_texObj[i_no];
|
||||
}
|
||||
|
||||
dTexObjAggregate_c() {
|
||||
for (int i = 0; i < 7; i++) {
|
||||
for (int i = 0; i < TEX_OBJ_NUMBER; i++) {
|
||||
mp_texObj[i] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* 0x0 */ GXTexObj* mp_texObj[7];
|
||||
/* 0x0 */ GXTexObj* mp_texObj[TEX_OBJ_NUMBER];
|
||||
};
|
||||
|
||||
static dTexObjAggregate_c m_texObjAgg;
|
||||
@@ -196,15 +265,4 @@ struct dMpath_n {
|
||||
|
||||
STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c) == 28);
|
||||
|
||||
struct dMpath_RGB5A3_s {
|
||||
u16 color;
|
||||
};
|
||||
|
||||
struct dMpath_RGB5A3_palDt_s {
|
||||
/* 0x0 */ dMpath_RGB5A3_s field_0x0;
|
||||
/* 0x2 */ dMpath_RGB5A3_s field_0x2;
|
||||
/* 0x4 */ dMpath_RGB5A3_s field_0x4;
|
||||
/* 0x6 */ dMpath_RGB5A3_s field_0x6;
|
||||
};
|
||||
|
||||
#endif /* D_MAP_D_MAP_PATH_H */
|
||||
|
||||
@@ -74,9 +74,9 @@ public:
|
||||
static void remove();
|
||||
|
||||
static s8 getNowStayFloorNo() {
|
||||
JUT_ASSERT(0, mNowStayFloorNoDecisionFlg);
|
||||
|
||||
s8 floor_no = 0;
|
||||
JUT_ASSERT(195, mNowStayFloorNoDecisionFlg);
|
||||
|
||||
if (mNowStayFloorNoDecisionFlg) {
|
||||
floor_no = mNowStayFloorNo;
|
||||
}
|
||||
|
||||
+2
-2
@@ -1543,11 +1543,11 @@ inline u16 dStage_FileList_dt_GetMsg(dStage_FileList_dt_c* p_fList) {
|
||||
return p_fList->mMsg;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) {
|
||||
inline f32 dStage_FileList2_dt_GetLeftRmX(const dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mLeftRmX;
|
||||
}
|
||||
|
||||
inline f32 dStage_FileList2_dt_GetRightRmX(dStage_FileList2_dt_c* p_fList2) {
|
||||
inline f32 dStage_FileList2_dt_GetRightRmX(const dStage_FileList2_dt_c* p_fList2) {
|
||||
return p_fList2->mRightRmX;
|
||||
}
|
||||
|
||||
|
||||
+16
-7
@@ -5,6 +5,8 @@
|
||||
|
||||
class dTres_c {
|
||||
public:
|
||||
static const int TYPE_GROUP_ENUM_NUMBER = 17;
|
||||
|
||||
struct data_s {
|
||||
/* 0x00 */ u8 mNo;
|
||||
/* 0x01 */ s8 mRoomNo;
|
||||
@@ -21,18 +23,25 @@ public:
|
||||
public:
|
||||
data_s* getDataPointer() { return (data_s*)this; }
|
||||
const data_s* getConstDataPointer() const { return (data_s*)this; }
|
||||
typeGroupData_c* getNextDataPointer() const { return mNextData; }
|
||||
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
|
||||
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
|
||||
u8 getNo() const { return mNo; }
|
||||
void setNo(u8 no) { mNo = no; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
void setRoomNo(s8 roomNo) { mRoomNo = roomNo; }
|
||||
u8 getStatus() const { return mStatus; }
|
||||
void setStatus(u8 status) { mStatus = status; }
|
||||
void setRoomNo(s8 roomNo) { mRoomNo = roomNo; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
void setArg1(u8 arg1) { mArg1 = arg1; }
|
||||
const Vec* getPos() const { return &mPos; }
|
||||
void setPos(const Vec& pos) { mPos = pos; }
|
||||
u8 getSwBit() const { return mSwBit; }
|
||||
const Vec* getPos() const { return &mPos; }
|
||||
void setSwBit(u8 swBit) { mSwBit = swBit; }
|
||||
void setType(u8 type) { mType = type; }
|
||||
void setArg2(u8 arg2) { mArg2 = arg2; }
|
||||
int getAngleY() const { return mAngleY; }
|
||||
void setAngleY(s8 angleY) { mAngleY = angleY; }
|
||||
typeGroupData_c* getNextDataPointer() const { return mNextData; }
|
||||
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
|
||||
u8 getTypeGroupNo() { return mTypeGroupNo; }
|
||||
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
|
||||
|
||||
/* 0x14 */ typeGroupData_c* mNextData;
|
||||
/* 0x18 */ u8 mTypeGroupNo;
|
||||
@@ -63,7 +72,7 @@ public:
|
||||
static typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
|
||||
static typeGroupData_c* getNextData(dTres_c::typeGroupData_c const*);
|
||||
static void setPosition(int, u8, Vec const*, int);
|
||||
static int getTypeGroupNoToType(u8);
|
||||
static u8 getTypeGroupNoToType(u8);
|
||||
static u8 getTypeToTypeGroupNo(u8);
|
||||
|
||||
static int getTypeGroupNumber(int index) {
|
||||
|
||||
+731
-199
File diff suppressed because it is too large
Load Diff
+42
-3
@@ -36,6 +36,43 @@ void dMpath_n::dTexObjAggregate_c::remove() {
|
||||
}
|
||||
}
|
||||
|
||||
void dMpath_ColorCnv_n::convertRGB5A3_To_GXColor(_GXColor& color32, const dMpath_RGB5A3_s& color16) {
|
||||
int r, g, b, a;
|
||||
u16 color = color16.color;
|
||||
if (color & 0x8000) {
|
||||
r = color16.color >> 7 & 0xf8;
|
||||
r |= r >> 5;
|
||||
g = color16.color >> 2 & 0xf8;
|
||||
g |= g >> 5;
|
||||
b = color16.color << 3 & 0xf8;
|
||||
b |= b >> 5;
|
||||
a = 255;
|
||||
} else {
|
||||
r = color16.color >> 4 & 0xf0;
|
||||
r |= r >> 4;
|
||||
g = color16.color & 0xf0;
|
||||
g |= g >> 4;
|
||||
b = color16.color << 4 & 0xf0;
|
||||
b |= b >> 4;
|
||||
a = color16.color >> 7 & 0xe0;
|
||||
a |= a >> 3 | a >> 6;
|
||||
}
|
||||
color32.r = r;
|
||||
color32.g = g;
|
||||
color32.b = b;
|
||||
color32.a = a;
|
||||
}
|
||||
|
||||
void dMpath_RGBA_c::setGXColor(const GXColor& color) {
|
||||
mColor = color;
|
||||
}
|
||||
|
||||
void dMpath_RGBA_c::setRGB5A3_palDt(const dMpath_RGB5A3_palDt_s& pal_data) {
|
||||
GXColor color;
|
||||
dMpath_ColorCnv_n::convertRGB5A3_To_GXColor(color, pal_data.field_0x0);
|
||||
setGXColor(color);
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
void dMpath_HIO_n::hioList_c::gen(JORMContext* mctx) {
|
||||
static const char* number[] = {
|
||||
@@ -381,7 +418,7 @@ void dRenderingFDAmap_c::preRenderingMap() {
|
||||
Mtx44 matrix;
|
||||
C_MTXOrtho(matrix, top, -top, -right, right, 0.0f, 10000.0f);
|
||||
GXSetProjection(matrix, GX_ORTHOGRAPHIC);
|
||||
GXLoadPosMtxImm(g_mDoMtx_identity, GX_PNMTX0);
|
||||
GXLoadPosMtxImm(cMtx_getIdentity(), GX_PNMTX0);
|
||||
GXSetCurrentMtx(0);
|
||||
drawBack();
|
||||
}
|
||||
@@ -418,7 +455,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_POS, GX_POS_XY, GX_F32, 0);
|
||||
GXSetVtxAttrFmt(GX_VTXFMT0, GX_VA_TEX0, GX_POS_XYZ, GX_F32, 0);
|
||||
GXSetNumTevStages(1);
|
||||
GXLoadTexObj(dMpath_n::m_texObjAgg.mp_texObj[6], GX_TEXMAP0);
|
||||
GXLoadTexObj(dMpath_n::m_texObjAgg.getTexObjPointer(6), GX_TEXMAP0);
|
||||
|
||||
u16* data_p = p_line->mpData;
|
||||
s32 data_num = p_line->mDataNum;
|
||||
@@ -429,7 +466,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li
|
||||
lineColor.r = lineColor.r - 4;
|
||||
GXSetTevColor(GX_TEVREG1, lineColor);
|
||||
|
||||
for (int i = 0; i < data_num; data_p++, i++) {
|
||||
for (int i = 0; i < data_num; i++) {
|
||||
#ifndef HYRULE_FIELD_SPEEDHACK
|
||||
if (i < data_num - 1) {
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_ZERO, GX_CC_ZERO, GX_CC_C0);
|
||||
@@ -443,6 +480,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li
|
||||
GXTexCoord2f32(0, 0);
|
||||
GXPosition1x16(data_p[1]);
|
||||
GXTexCoord2f32(0, 0);
|
||||
GXEnd();
|
||||
}
|
||||
GXSetTevColorIn(GX_TEVSTAGE0, GX_CC_ZERO, GX_CC_KONST, GX_CC_TEXC, GX_CC_C1);
|
||||
GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV);
|
||||
@@ -453,6 +491,7 @@ void dRenderingFDAmap_c::renderingDecoration(dDrawPath_c::line_class const* p_li
|
||||
GXPosition1x16(data_p[0]);
|
||||
GXTexCoord2f32(0, 0);
|
||||
GXEnd();
|
||||
data_p++;
|
||||
}
|
||||
|
||||
setTevSettingNonTextureDirectColor();
|
||||
|
||||
+7
-4
@@ -235,18 +235,21 @@ u8 const dTres_c::typeToTypeGroup[17][2] = {
|
||||
{0x83, 0x0C}, {0x84, 0x0D}, {0x85, 0x0E}, {0x87, 0x0F}, {0x88, 0x10},
|
||||
};
|
||||
|
||||
int dTres_c::getTypeGroupNoToType(u8 i_typeGroupNo) {
|
||||
u8 dTres_c::getTypeGroupNoToType(u8 i_typeGroupNo) {
|
||||
JUT_ASSERT(651, i_typeGroupNo < TYPE_GROUP_ENUM_NUMBER);
|
||||
return typeToTypeGroup[i_typeGroupNo][0];
|
||||
}
|
||||
|
||||
u8 dTres_c::getTypeToTypeGroupNo(u8 i_type) {
|
||||
int groupNo = 17;
|
||||
int rt = 17;
|
||||
for (int i = 0; i < 17; i++) {
|
||||
if (i_type == typeToTypeGroup[i][0]) {
|
||||
groupNo = typeToTypeGroup[i][1];
|
||||
rt = typeToTypeGroup[i][1];
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return groupNo;
|
||||
JUT_ASSERT(674, rt < TYPE_GROUP_ENUM_NUMBER);
|
||||
|
||||
return rt;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user