d_map debug (#3066)

This commit is contained in:
Jcw87
2026-01-25 21:17:59 -08:00
committed by GitHub
parent 5867eaf68b
commit 7883248acc
14 changed files with 992 additions and 287 deletions
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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 */
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+42 -3
View File
@@ -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
View File
@@ -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;
}