Debug build improvements (#1170)

This commit is contained in:
LagoLunatic
2026-08-16 12:09:07 -04:00
committed by GitHub
parent 80c7719636
commit e08dff3c73
26 changed files with 1445 additions and 33 deletions
+12
View File
@@ -513,6 +513,9 @@ public:
void MoveCTg(cXyz&);
virtual ~dCcD_Cyl() {}
dCcD_Cyl() {}
#ifdef DEBUG
virtual void Draw(GXColor const&);
#endif
}; // Size = 0x130
STATIC_ASSERT(sizeof(dCcD_Cyl) == 0x130);
@@ -525,6 +528,9 @@ public:
dCcD_Sph() {}
void Set(dCcD_SrcSph const&);
#ifdef DEBUG
virtual void Draw(GXColor const&);
#endif
void StartCAt(cXyz&);
void MoveCAt(cXyz&);
virtual cCcD_ShapeAttr* GetShapeAttr() { return (cCcD_ShapeAttr*)this; }
@@ -546,6 +552,9 @@ public:
void CalcTgVec();
virtual ~dCcD_Cps() {}
dCcD_Cps() {}
#ifdef DEBUG
virtual void Draw(GXColor const&);
#endif
}; // Size = 0x138
// Triangle
@@ -558,6 +567,9 @@ public:
virtual cCcD_ShapeAttr* GetShapeAttr() { return this; }
virtual ~dCcD_Tri() {}
dCcD_Tri() {}
#ifdef DEBUG
virtual void Draw(GXColor const&);
#endif
}; // Size: 0x150
dCcD_GObjInf* dCcD_GetGObjInf(cCcD_Obj* param_0);
+2
View File
@@ -62,6 +62,8 @@ public:
/* 0x2854 */ dCcMassS_Mng mMass_Mng;
}; // Size = 0x29F4
#if !DEBUG
STATIC_ASSERT(sizeof(dCcS) == 0x29F4);
#endif
#endif /* D_CC_D_CC_S_H */
+11
View File
@@ -911,6 +911,9 @@ public:
/* 0x1BFC0 */ dRes_control_c mResControl;
/* 0x1D1C0 */ u8 field_0x1d1c0;
/* 0x1D1C1 */ u8 mBrightness;
#ifdef DEBUG
u8 mIsDebugMode;
#endif
};
#if VERSION > VERSION_JPN
@@ -4414,6 +4417,14 @@ inline void dComIfG_TimerStop(int timer) {
inline u8 dComIfG_getBrightness() { return g_dComIfG_gameInfo.mBrightness; }
inline void dComIfG_setBrightness(u8 v) { g_dComIfG_gameInfo.mBrightness = v; }
inline BOOL dComIfG_isDebugMode() {
#ifdef DEBUG
return g_dComIfG_gameInfo.mIsDebugMode;
#else
return FALSE;
#endif
}
class scene_class;
BOOL dComIfG_resetToOpening(scene_class* i_scene);
+34
View File
@@ -0,0 +1,34 @@
#ifndef D_DEBUG_PAD_H
#define D_DEBUG_PAD_H
#include "JSystem/JUtility/TColor.h"
class dDebugPad_c {
public:
enum Mode_e {
MODE_CAMERA_e,
MODE_LIGHT_e,
MODE_WINDTEST_e,
MODE_SDCARD_e,
MODE_MAX_e,
};
dDebugPad_c();
bool Active() { return mIsActive; }
bool Update();
bool Report(int, int, JUtility::TColor, const char*, ...);
bool Enable(s32);
bool Trigger();
static const char mode_name[MODE_MAX_e][9];
/* 0x0 */ bool mIsActive;
/* 0x1 */ u8 mTrigger;
/* 0x4 */ s32 mMode;
};
extern dDebugPad_c dDebugPad;
#endif
+126
View File
@@ -0,0 +1,126 @@
#ifndef D_DEBUG_VIEWER_H
#define D_DEBUG_VIEWER_H
#include "dolphin/gx/GX.h"
#include "JSystem/J3DGraphBase/J3DSys.h"
#include "SSystem/SComponent/c_xyz.h"
#include "SSystem/SComponent/c_sxyz.h"
class J3DPacket;
J3DPacket* dDbVw_setDrawPacketList(J3DPacket* i_packet, int i_bufferType);
void dDbVw_deleteDrawPacketList();
void dDbVw_drawCube8p(int i_bufferType, cXyz* i_points, const GXColor& i_color);
void dDbVw_drawCube(int i_bufferType, cXyz& i_pos, cXyz& i_size, csXyz& i_angle, const GXColor& i_color);
void dDbVw_drawTriangle(int i_bufferType, cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawQuad(int i_bufferType, cXyz* i_points, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawQuad(int i_bufferType, cXyz* param_1, cXyz* param_2, cXyz* i_pos, s16 i_rotY, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawLine(int i_bufferType, cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width);
void dDbVw_drawArrow(int i_bufferType, cXyz& i_pos, cXyz& param_2, const GXColor& i_color, u8 i_clipZ, u8 i_width);
void dDbVw_drawPoint(int i_bufferType, cXyz& i_pos, const GXColor& i_color, u8 i_clipZ, u8 i_width);
void dDbVw_drawCircle(int i_bufferType, cXyz& i_pos, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_width);
void dDbVw_drawSphere(int i_bufferType, cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawCylinder(int i_bufferType, cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawCylinderM(int i_bufferType, Mtx i_mtx, const GXColor& i_color, u8 i_clipZ);
void dDbVw_drawCube8pXlu(cXyz* i_points, const GXColor& i_color);
inline void dDbVw_drawCube8pOpa(cXyz* i_points, const GXColor& i_color) {
dDbVw_drawCube8p(J3DSysDrawBuf_Opa, i_points, i_color);
}
inline void dDbVw_drawCube8pXlu(cXyz* i_points, const GXColor& i_color) {
dDbVw_drawCube8p(J3DSysDrawBuf_Xlu, i_points, i_color);
}
inline void dDbVw_drawCubeOpa(cXyz& i_pos, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) {
dDbVw_drawCube(J3DSysDrawBuf_Opa, i_pos, i_size, i_angle, i_color);
}
inline void dDbVw_drawCubeXlu(cXyz& i_pos, cXyz& i_size, csXyz& i_angle, const GXColor& i_color) {
dDbVw_drawCube(J3DSysDrawBuf_Xlu, i_pos, i_size, i_angle, i_color);
}
inline void dDbVw_drawTriangleOpa(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawTriangle(J3DSysDrawBuf_Opa, i_points, i_color, i_clipZ);
}
inline void dDbVw_drawTriangleXlu(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawTriangle(J3DSysDrawBuf_Xlu, i_points, i_color, i_clipZ);
}
inline void dDbVw_drawQuadOpa(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawQuad(J3DSysDrawBuf_Opa, i_points, i_color, i_clipZ);
}
inline void dDbVw_drawQuadXlu(cXyz* i_points, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawQuad(J3DSysDrawBuf_Xlu, i_points, i_color, i_clipZ);
}
inline void dDbVw_drawQuadOpa(cXyz* param_1, cXyz* param_2, cXyz* i_pos, s16 i_rotY, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawQuad(J3DSysDrawBuf_Opa, param_1, param_2, i_pos, i_rotY, i_color, i_clipZ);
}
inline void dDbVw_drawQuadXlu(cXyz* param_1, cXyz* param_2, cXyz* i_pos, s16 i_rotY, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawQuad(J3DSysDrawBuf_Xlu, param_1, param_2, i_pos, i_rotY, i_color, i_clipZ);
}
inline void dDbVw_drawLineOpa(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawLine(J3DSysDrawBuf_Opa, i_start, i_end, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawLineXlu(cXyz& i_start, cXyz& i_end, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawLine(J3DSysDrawBuf_Xlu, i_start, i_end, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawArrowOpa(cXyz& i_pos, cXyz& param_2, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawArrow(J3DSysDrawBuf_Opa, i_pos, param_2, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawArrowXlu(cXyz& i_pos, cXyz& param_2, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawArrow(J3DSysDrawBuf_Xlu, i_pos, param_2, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawPointOpa(cXyz& i_pos, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawPoint(J3DSysDrawBuf_Opa, i_pos, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawPointXlu(cXyz& i_pos, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawPoint(J3DSysDrawBuf_Xlu, i_pos, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawCircleOpa(cXyz& i_pos, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawCircle(J3DSysDrawBuf_Opa, i_pos, i_radius, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawCircleXlu(cXyz& i_pos, f32 i_radius, const GXColor& i_color, u8 i_clipZ, u8 i_width) {
dDbVw_drawCircle(J3DSysDrawBuf_Xlu, i_pos, i_radius, i_color, i_clipZ, i_width);
}
inline void dDbVw_drawSphereOpa(cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawSphere(J3DSysDrawBuf_Opa, i_pos, i_size, i_color, i_clipZ);
}
inline void dDbVw_drawSphereXlu(cXyz& i_pos, f32 i_size, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawSphere(J3DSysDrawBuf_Xlu, i_pos, i_size, i_color, i_clipZ);
}
inline void dDbVw_drawCylinderOpa(cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawCylinder(J3DSysDrawBuf_Opa, i_pos, i_radius, i_height, i_color, i_clipZ);
}
inline void dDbVw_drawCylinderXlu(cXyz& i_pos, f32 i_radius, f32 i_height, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawCylinder(J3DSysDrawBuf_Xlu, i_pos, i_radius, i_height, i_color, i_clipZ);
}
inline void dDbVw_drawCylinderMOpa(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawCylinderM(J3DSysDrawBuf_Opa, i_mtx, i_color, i_clipZ);
}
inline void dDbVw_drawCylinderMXlu(Mtx i_mtx, const GXColor& i_color, u8 i_clipZ) {
dDbVw_drawCylinderM(J3DSysDrawBuf_Xlu, i_mtx, i_color, i_clipZ);
}
int dDbVw_Report(int x, int y, char const* string, ...);
#endif /* D_DEBUG_VIEWER_H */