kankyo / m_do_ext debug stuff (#2759)

* kankyo debug work

* finish draw packets
This commit is contained in:
TakaRikka
2025-10-28 05:55:46 +02:00
committed by GitHub
parent 577747e228
commit 73927f50a9
29 changed files with 4382 additions and 597 deletions
+1
View File
@@ -635,6 +635,7 @@ config.libs = [
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_data.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_wether.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_kankyo_rain.cpp"),
Object(NonMatching, "d/d_kankyo_debug.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_vibration.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_vib_pattern.cpp"),
Object(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d/d_attention.cpp"),
+7
View File
@@ -69,6 +69,11 @@
height); \
}
#define DEFINE_UPDATE_COMBO_BOX(T) \
void updateComboBox(u32 mode, T* pSrc, u32 param_2) { \
updateSelectorSub(mode, (uintptr_t)pSrc, *pSrc, param_2); \
}
#define DEFINE_UPDATE_SLIDER(T) \
void updateSlider(u32 mode, T* pSrc, T rangeMin, T rangeMax, u32 param_5) { \
updateSliderSub(mode, (uintptr_t)pSrc, *pSrc, rangeMin, rangeMax, param_5); \
@@ -237,6 +242,8 @@ public:
DEFINE_START_COMBO_BOX_ID(int, JORPropertyEvent::EKind_ValueID)
DEFINE_UPDATE_COMBO_BOX(u8)
void endComboBox() { endSelectorSub(); }
void genComboBoxItem(const char* label, s32 itemNo) {
+2
View File
@@ -23,4 +23,6 @@ extern u8 cDmr_FishingWether;
extern u8 data_80450CA0;
extern JPTraceParticleCallBack4 JPTracePCB4;
void debug_actor_create();
#endif /* C_C_DAMAGEREACTION_H */
+3 -3
View File
@@ -534,7 +534,7 @@ public:
/* 0xA80 */ f32 mExpressionMorfFrame;
/* 0xA84 */ f32 mMorfFrames;
/* 0xA88 */ bool mCreating;
/* 0xA89 */ bool mTwilight;
/* 0xA89 */ u8 mTwilight;
/* 0xA8C */ dBgS_GndChk field_0xa8c;
/* 0xAE0 */ dBgS_LinChk mLinChk;
/* 0xB50 */ daNpcT_MotionSeqMngr_c mFaceMotionSeqMngr;
@@ -938,7 +938,7 @@ public:
/* 0x83C */ u16* field_0x83c;
/* 0x840 */ u16 field_0x840;
/* 0x842 */ u16 field_0x842;
/* 0x844 */ bool field_0x844;
/* 0x844 */ u8 field_0x844;
/* 0x845 */ u8 field_0x845[0x848 - 0x845];
/* 0x848 */ s32 field_0x848;
/* 0x84C */ dMsgFlow_c mMsgFlow;
@@ -1089,7 +1089,7 @@ protected:
/* 0x9F1 */ u8 field_0x9f1;
/* 0x9F2 */ bool mHide;
/* 0x9F3 */ u8 field_0x9f3;
/* 0x9F4 */ bool mTwilight;
/* 0x9F4 */ u8 mTwilight;
/* 0x9F5 */ u8 field_0x9f5;
/* 0x9F6 */ u8 field_0x9f6;
/* 0x9F8 */ dMsgFlow_c mFlow;
+1 -1
View File
@@ -370,7 +370,7 @@ public:
/* 0xAC0 */ s16 field_0xac0;
/* 0xAC2 */ s16 field_0xac2;
/* 0xAC4 */ s16 field_0xac4;
/* 0xAC6 */ bool mIsDarkWorld;
/* 0xAC6 */ u8 mIsDarkWorld;
};
#endif /* A_NPC_D_A_NPC_CD2_H */
+20
View File
@@ -2151,6 +2151,10 @@ inline void dComIfGs_revSwitch(int i_no, int i_roomNo) {
g_dComIfG_gameInfo.info.revSwitch(i_no, i_roomNo);
}
inline s8 dComIfGs_Grass_hide_Check() {
return g_dComIfG_gameInfo.field_0x1ddfc;
}
void dComIfGp_setSelectItem(int index);
s32 dComIfGp_offHeapLockFlag(int flag);
void dComIfGp_createSubExpHeap2D();
@@ -3406,6 +3410,22 @@ inline dComIfG_MesgCamInfo_c* dComIfGp_getMesgCameraInfo() {
return g_dComIfG_gameInfo.play.getMesgCamInfo();
}
inline int dComIfGp_getStageEnvrNumInfo() {
return g_dComIfG_gameInfo.play.getStage().getEnvrNumInfo();
}
inline int dComIfGp_getStagePselectNumInfo() {
return g_dComIfG_gameInfo.play.getStage().getPselectNumInfo();
}
inline int dComIfGp_getStagePaletteNumInfo() {
return g_dComIfG_gameInfo.play.getStage().getPaletteNumInfo();
}
inline int dComIfGp_getStageVrboxcolNumInfo() {
return g_dComIfG_gameInfo.play.getStage().getVrboxcolNumInfo();
}
inline int dComIfGp_roomControl_getStayNo() {
return dStage_roomControl_c::getStayNo();
}
+502 -41
View File
File diff suppressed because it is too large Load Diff
+8 -4
View File
@@ -52,9 +52,7 @@ enum BloomType {
/* 0x1 */ BLOOM_SOFT
};
#define BLOOMINFO_MAX 64
class dKydata_BloomInfo_c {
public:
struct dkydata_bloomInfo_info_class {
/* 0x0 */ u8 mType;
/* 0x1 */ u8 mThreshold;
/* 0x2 */ u8 mBlurAmount;
@@ -66,7 +64,13 @@ public:
/* 0x8 */ u8 mSaturateSubtractR;
/* 0x9 */ u8 mSaturateSubtractG;
/* 0xA */ u8 mSaturateSubtractB;
/* 0xB */ u8 mSaturateSubtractA;
/* 0xB */ u8 mSaturateSubtractA;
};
#define BLOOMINFO_MAX 64
class dKydata_BloomInfo_c {
public:
dkydata_bloomInfo_info_class info;
}; // Size: 0xC
void* dKyd_dmpalet_getp();
+20
View File
@@ -0,0 +1,20 @@
#ifndef D_KANKYO_DEBUG_H
#define D_KANKYO_DEBUG_H
#include "d/d_kankyo.h"
void dKydb_color_HIO_update();
void dKydb_vrbox_HIO_update();
void dKydb_timedisp();
void dKydb_HIO_kcolor_debug(u8*, u8*, u8*, u8*);
void dKydb_HIO_vrbox_debug(u8*, u8*, u8*, u8*);
void dKydb_HIO_debug_TVdsp(f32, f32, int, int, u16);
void dKydb_HIO_debug_draw();
void dKydb_HIO_winddebug_draw();
void dKydb_HIO_debug_Wind();
void dKydb_winddisp_draw();
void dKydb_dungeonlight_draw();
void dKydb_efplight_monitor();
void dKydb_plight_monitor();
#endif
+3
View File
@@ -40,6 +40,9 @@ void dKyr_shstar_init();
void dKyr_star_move();
void dKyr_shstar_move();
void vrkumo_move();
class camera_class;
void dKyr_get_vectle_calc(cXyz* param_0, cXyz* param_1, cXyz* param_2);
void dKy_set_eyevect_calc2(camera_class* i_camera, Vec* o_out, f32 param_2, f32 param_3);
#endif /* D_KANKYO_D_KANKYO_RAIN_H */
+4 -3
View File
@@ -1364,8 +1364,9 @@ inline s32 dStage_stagInfo_GetSaveTbl(stage_stag_info_class* param_0) {
return param_0->field_0x09 >> 1 & 0x1f;
}
inline s8 dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) {
return (p_info->field_0x0c >> 8) & 0xFF;
inline int dStage_stagInfo_GetTimeH(stage_stag_info_class* p_info) {
s8 time = (p_info->field_0x0c >> 8) & 0xFF;
return time;
}
inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) {
@@ -1448,7 +1449,7 @@ inline u8 dStage_FileList_dt_GetDefaultCamera(dStage_FileList_dt_c* p_fList) {
return p_fList->mDefaultCamera;
}
inline u8 dStage_FileList_dt_GRASSLIGHT(dStage_FileList_dt_c* p_fList) {
inline int dStage_FileList_dt_GRASSLIGHT(dStage_FileList_dt_c* p_fList) {
return (p_fList->mParameters >> 7) & 0xFF;
}
+16
View File
@@ -139,6 +139,22 @@ inline u8 fapGmHIO_getHostIO() {
return g_HIO.mUsingHostIO;
}
inline void fapGmHIO_set2Ddraw(u8 param_0) {
g_HIO.mDisplay2D = param_0;
}
inline u8 fapGmHIO_get2Ddraw() {
return g_HIO.mDisplay2D;
}
inline void fapGmHIO_offPrint() {
g_HIO.mDisplayPrint &= (u8)~0x1;
}
inline void fapGmHIO_onPrint() {
g_HIO.mDisplayPrint |= (u8)0x1;
}
struct fapGm_dataMem {
enum HeapType_e {
HeapType_Error_e,
+14 -89
View File
@@ -607,12 +607,7 @@ private:
class mDoExt_cubePacket : public J3DPacket {
public:
mDoExt_cubePacket(cXyz& i_position, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) {
mPosition = i_position;
mSize = i_size;
mAngle = i_angle;
mColor = i_color;
}
mDoExt_cubePacket(cXyz& i_position, cXyz& i_size, csXyz& i_angle, const GXColor& i_color);
virtual void draw();
virtual ~mDoExt_cubePacket() {}
@@ -625,13 +620,7 @@ public:
class mDoExt_cylinderPacket : public J3DPacket {
public:
mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
mPosition = i_position;
mRadius = i_radius;
mHeight = i_height;
mColor = i_color;
mClipZ = i_clipZ;
}
mDoExt_cylinderPacket(cXyz& i_position, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_cylinderPacket() {}
@@ -645,12 +634,7 @@ public:
class mDoExt_spherePacket : public J3DPacket {
public:
mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
mPosition = i_position;
mSize = i_size;
mColor = i_color;
mClipZ = i_clipZ;
}
mDoExt_spherePacket(cXyz& i_position, f32 i_size, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_spherePacket() {}
@@ -663,17 +647,7 @@ public:
class mDoExt_cube8pPacket : public J3DPacket {
public:
mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color) {
cXyz* pnt_array = i_points;
for (int i = 0; i < 8; i++) {
mPoints[i] = *pnt_array;
pnt_array++;
}
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 8);
mColor = i_color;
}
mDoExt_cube8pPacket(cXyz* i_points, const GXColor& i_color);
virtual void draw();
virtual ~mDoExt_cube8pPacket() {}
@@ -684,18 +658,7 @@ public:
class mDoExt_trianglePacket : public J3DPacket {
public:
mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
cXyz* pnt_array = i_points;
for (int i = 0; i < 3; i++) {
mPoints[i] = *pnt_array;
pnt_array++;
}
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 3);
mColor = i_color;
mClipZ = i_clipZ;
}
mDoExt_trianglePacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_trianglePacket() {}
@@ -707,18 +670,7 @@ public:
class mDoExt_quadPacket : public J3DPacket {
public:
mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
cXyz* pnt_array = i_points;
for (int i = 0; i < 4; i++) {
mPoints[i] = *pnt_array;
pnt_array++;
}
DCStoreRangeNoSync(mPoints, sizeof(cXyz) * 4);
mColor = i_color;
mClipZ = i_clipZ;
}
mDoExt_quadPacket(cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_quadPacket() {}
@@ -730,13 +682,7 @@ public:
class mDoExt_linePacket : public J3DPacket {
public:
mDoExt_linePacket(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
mStart = i_start;
mEnd = i_end;
mColor = i_color;
mClipZ = i_clipZ;
mWidth = i_width;
}
mDoExt_linePacket(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width);
virtual void draw();
virtual ~mDoExt_linePacket() {}
@@ -750,11 +696,7 @@ public:
class mDoExt_cylinderMPacket : public J3DPacket {
public:
mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
PSMTXCopy(i_mtx, mMatrix);
mColor = i_color;
mClipZ = i_clipZ;
}
mDoExt_cylinderMPacket(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ);
virtual void draw();
virtual ~mDoExt_cylinderMPacket() {}
@@ -766,13 +708,7 @@ public:
class mDoExt_circlePacket : public J3DPacket {
public:
mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
mPosition = i_position;
mRadius = i_radius;
mColor = i_color;
mClipZ = i_clipZ;
mLineWidth = i_lineWidth;
}
mDoExt_circlePacket(cXyz& i_position, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
virtual void draw();
virtual ~mDoExt_circlePacket() {}
@@ -786,32 +722,21 @@ public:
class mDoExt_ArrowPacket : public J3DPacket {
public:
mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
mPosition = i_position;
field_0x1c = param_1;
mColor = i_color;
mClipZ = i_clipZ;
m_lineWidth = i_lineWidth;
}
mDoExt_ArrowPacket(cXyz& i_position, cXyz& param_1, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
virtual void draw();
virtual ~mDoExt_ArrowPacket() {}
/* 0x10 */ cXyz mPosition;
/* 0x1C */ cXyz field_0x1c;
/* 0x10 */ cXyz mStart;
/* 0x1C */ cXyz mEnd;
/* 0x28 */ GXColor mColor;
/* 0x2C */ u8 mClipZ;
/* 0x2D */ u8 m_lineWidth;
/* 0x2D */ u8 mLineWidth;
};
class mDoExt_pointPacket : public J3DPacket {
public:
mDoExt_pointPacket(cXyz& i_position, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth) {
mPosition = i_position;
mColor = i_color;
mClipZ = i_clipZ;
mLineWidth = i_lineWidth;
}
mDoExt_pointPacket(cXyz& i_position, const GXColor& i_color, u8 i_clipZ, u8 i_lineWidth);
virtual void draw();
virtual ~mDoExt_pointPacket() {}
+4
View File
@@ -21,6 +21,7 @@ public:
u8 getEnable() { return mEnable; }
void setEnable(u8 i_enable) { mEnable = i_enable; }
GXColor* getMonoColor() { return &mMonoColor; }
GXColor* getBlendColor() { return &mBlendColor; }
void setPoint(u8 i_point) { mPoint = i_point; }
void setBlureSize(u8 i_size) { mBlureSize = i_size; }
void setBlureRatio(u8 i_ratio) { mBlureRatio = i_ratio; }
@@ -28,6 +29,9 @@ public:
void setMonoColor(GXColor i_color) { mMonoColor = i_color; }
void setMode(u8 i_mode) { mMode = i_mode; }
void* getBuffer() { return m_buffer; }
u8 getPoint() { return mPoint; }
u8 getBlureSize() { return mBlureSize; }
u8 getBlureRatio() { return mBlureRatio; }
/* 0x00 */ GXColor mBlendColor;
/* 0x04 */ GXColor mMonoColor;
+1 -1
View File
@@ -343,7 +343,7 @@ public:
* Copies a given matrix `m` to the `now` matrix
* @param m The source matrix to copy
*/
static void copy(const Mtx m) { MTXCopy(m, now); }
static void copy(const Mtx m) { PSMTXCopy(m, now); }
static void rotAxisRadS(const Vec* axis, f32 rad) {
MTXRotAxisRad(now, axis, rad);
@@ -11,7 +11,7 @@
#define M_SQRT3 1.73205f
#define DEG_TO_RAD(degrees) (degrees * (M_PI / 180.0f))
#define RAD_TO_DEG(radians) (radians / (180.0f / M_PI))
#define RAD_TO_DEG(radians) (radians * (180.0f / M_PI))
#ifdef __cplusplus
extern "C" {
+2 -2
View File
@@ -3023,7 +3023,7 @@ BOOL daNpcChat_c::searchGroup() {
/* 80982C10-80982D20 0024B0 0110+00 3/2 0/0 0/0 .text appearTimeCheck__11daNpcChat_cFv */
BOOL daNpcChat_c::appearTimeCheck() {
int time = (dKy_darkworld_check() & 0xFF) ? dKy_getDarktime_hour() : dKy_getdaytime_hour();
int time = dKy_darkworld_check() ? dKy_getDarktime_hour() : dKy_getdaytime_hour();
BOOL rv = FALSE;
switch (mTalkGroupNo) {
@@ -3949,7 +3949,7 @@ bool daNpcChat_c::wait(void* param_1) {
}
if (
(dKy_darkworld_check() & 0xFF) == 0 && daPy_py_c::checkNowWolf() &&
dKy_darkworld_check() == 0 && daPy_py_c::checkNowWolf() &&
fopAcM_searchPlayerDistanceXZ2(this) < std::pow(500.0, 2.0) || mFear
) {
setAction(&daNpcChat_c::fear);
+1 -1
View File
@@ -201,7 +201,7 @@ cPhs__Step daNpcDoorBoy_c::Create() {
fopAcM_SetMtx(this, mpMorf->getModel()->getBaseTRMtx());
fopAcM_setCullSizeBox(this, -50.0f, -10.0f, -50.0f, 50.0f, 210.0f, 50.0f);
mSound.init(&current.pos, &eyePos, 3, 1);
mSound.setMdlType(5, false, 0xFF & dKy_darkworld_check());
mSound.setMdlType(5, false, dKy_darkworld_check());
mAcchCir.SetWall(daNpcDoorBoy_Param_c::m.common.width, daNpcDoorBoy_Param_c::m.common.knee_length);
mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this),
+3 -3
View File
@@ -101,10 +101,10 @@ static int daVrbox2_Draw(vrbox2_class* i_this) {
}
#ifdef DEBUG
if (g_kankyoHIO.field_0x0b4 != 0) {
var_f31 = g_kankyoHIO.field_0x0b8;
if (g_kankyoHIO.vrbox.field_0x14 != 0) {
var_f31 = g_kankyoHIO.vrbox.m_horizonHeight;
} else {
g_kankyoHIO.field_0x0b8 = var_f31;
g_kankyoHIO.vrbox.m_horizonHeight = var_f31;
}
#endif
+6 -6
View File
@@ -602,10 +602,10 @@ void dFlower_packet_c::draw() {
for (dFlower_data_c* sp44 = sp5C->getData(); sp44 != NULL; sp44 = sp44->mp_next) {
#if DEBUG
if (g_kankyoHIO.field_0x698 != 0) {
sp64.r = g_kankyoHIO.field_0x694 * 2;
sp64.g = g_kankyoHIO.field_0x695 * 2;
sp64.b = g_kankyoHIO.field_0x696 * 2;
if (g_kankyoHIO.navy.grass_adjust_ON != 0) {
sp64.r = g_kankyoHIO.navy.grass_ambcol.r * 2;
sp64.g = g_kankyoHIO.navy.grass_ambcol.g * 2;
sp64.b = g_kankyoHIO.navy.grass_ambcol.b * 2;
} else {
#endif
sp64.r = (sp44->field_0x04 & 0x1F) * 2;
@@ -680,8 +680,8 @@ void dFlower_packet_c::draw() {
}
#if DEBUG
if (g_kankyoHIO.field_0x06d != 0) {
sp2C = g_kankyoHIO.field_0x79b;
if (g_kankyoHIO.light.m_HOSTIO_setting != 0) {
sp2C = g_kankyoHIO.dungeonLight.usedLights;
}
#endif

Some files were not shown because too many files have changed in this diff Show More