diff options
| author | Carco_21 <144170194+carter-ktb21@users.noreply.github.com> | 2025-12-12 23:54:42 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-12 20:54:42 -0800 |
| commit | 87732304d15f80fa952a243bb3c6dec44f3f0856 (patch) | |
| tree | 60e559953b012cdeadb6e53a991e07ceab4f0f87 /include/d | |
| parent | 2481e184fb99b7343cbf0893f838cc892feafc4a (diff) | |
d_particle debug work (#2944)
* misc work
* more work
* fixed error
* more work
* PR cleanup
* missed cleanup
* error fix
* wii fix
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/d_com_inf_game.h | 60 | ||||
| -rw-r--r-- | include/d/d_drawlist.h | 56 | ||||
| -rw-r--r-- | include/d/d_msg_object.h | 4 | ||||
| -rw-r--r-- | include/d/d_particle.h | 45 | ||||
| -rw-r--r-- | include/d/d_s_play_env.h | 8 |
5 files changed, 157 insertions, 16 deletions
diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 88263a5cb8..8613b3ae98 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -14,6 +14,7 @@ #include "f_op/f_op_actor.h" #include "global.h" #include "m_Do/m_Do_controller_pad.h" +#include "m_Do/m_Do_graphic.h" class JKRAramArchive; class dSmplMdl_draw_c; @@ -838,8 +839,57 @@ public: dComIfG_inf_c() { this->ct(); } ~dComIfG_inf_c() {} void ct(); + void createBaseCsr(); dComIfG_play_c& getPlay() { return play; } +#if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG + class baseCsr_c : public mDoGph_gInf_c::csr_c { + public: + class navi_c { + public: + virtual ~navi_c() {} + int create(); + bool draw(f32, f32, u8); + u32 getParticleId() { return mParticleId; } + + JKRSolidHeap* m_heap; + J3DModel* m_model; + mDoExt_bckAnm m_bck; + mDoExt_brkAnm m_brk; + cXyz field_0x40; + csXyz field_0x4c; + f32 field_0x54; + f32 field_0x58; + f32 field_0x5c; + u32 mParticleId; + }; + + virtual ~baseCsr_c() {} + baseCsr_c(u8); + void draw(f32, f32); + void create(); + static void particleExecute(); + static navi_c* getNavi() { return m_navi; } + + dDlst_blo_c field_0x8; + u8 field_0x13c; + u8 field_0x13d; + u8 field_0x13e; + + static dPa_hermiteEcallBack_c m_blurCB; + static u32 _m_blurID; + static navi_c* m_navi; + }; + + class anmCsr_c : public mDoGph_gInf_c::csr_c { + public: + virtual ~anmCsr_c() {} + void draw(f32, f32); + + dDlst_blo_c field_0x8; + }; +#endif + /* 0x00000 */ dSv_info_c info; /* 0x00F38 */ dComIfG_play_c play; /* 0x05F64 */ dDlst_list_c drawlist; @@ -858,6 +908,9 @@ public: /* 0x1DE0C */ u8 field_0x1de0c; static __d_timer_info_c dComIfG_mTimerInfo; + #if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG + static baseCsr_c* m_baseCsr; + #endif }; // Size: 0x1DE10 STATIC_ASSERT(122384 == sizeof(dComIfG_inf_c)); @@ -4430,4 +4483,11 @@ inline void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c* param_0) { g_dComIfG_gameInfo.drawlist.set3DlineMatDark(param_0); } +#if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG +inline void dComIfGd_setListCursor() { + g_dComIfG_gameInfo.drawlist.setOpaListCursor(); + g_dComIfG_gameInfo.drawlist.setXluListCursor(); +} +#endif + #endif /* D_COM_D_COM_INF_GAME_H */ diff --git a/include/d/d_drawlist.h b/include/d/d_drawlist.h index 02c4e41d5b..38b4861bcb 100644 --- a/include/d/d_drawlist.h +++ b/include/d/d_drawlist.h @@ -2,6 +2,7 @@ #define D_D_DRAWLIST_H #include "JSystem/J2DGraph/J2DPicture.h" +#include "JSystem/J2DGraph/J2DScreen.h" #include "SSystem/SComponent/c_m3d_g_pla.h" #include "f_op/f_op_view.h" #include "m_Do/m_Do_ext.h" @@ -35,6 +36,57 @@ public: virtual void draw() {} }; +class dDlst_blo_c : public dDlst_base_c { +public: + virtual void draw(); + bool create(JKRArchive* param_1, const char* param_2) { + return mScreen.setPriority(param_2, 0x20000, param_1) != 0; + } + + J2DPane* getPane(u64 i_tag) { + return mScreen.search(i_tag); + } + + J2DPicture* getPicture(u64 i_tag) { + J2DPane* pane = getPane(i_tag); + JUT_ASSERT(1553, pane != NULL); + if (pane->getTypeID() != 0x12) { + return NULL; + } + return (J2DPicture*)pane; + } + + J2DScreen* getScreen() { return &mScreen; } + + void setPos(u64 param_1, f32 param_2, f32 param_3) { + + } + + class anm_c { + public: + inline anm_c() { + field_0x4 = 0; + field_0x8 = 1.0f; + } + ~anm_c() { remove(); } + + void remove() { + if (field_0x4 != 0.0f) { + + } + + field_0x4 = 0.0f; + } + + f32 field_0x4; + f32 field_0x8; + }; + + /* 0x004 */ int field_0x4; + /* 0x008 */ J2DScreen mScreen; + /* 0x120 */ anm_c anm; +}; + class dDlst_snapShot_c : public dDlst_base_c { public: virtual void draw(); @@ -368,6 +420,10 @@ public: void setXluListZxlu() { setXluDrawList(mDrawBuffers[DB_LIST_Z_XLU]); } void setOpaListFilter() { setOpaDrawList(mDrawBuffers[DB_LIST_FILTER]); } void setXluListFilter() { setXluDrawList(mDrawBuffers[DB_LIST_FILTER]); } + #if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG + void setOpaListCursor() { setOpaDrawList(mDrawBuffers[DB_LIST_CURSOR]); } + void setXluListCursor() { setXluDrawList(mDrawBuffers[DB_LIST_CURSOR]); } + #endif void set3DlineMat(mDoExt_3DlineMat_c *param_1) { m3DLineMatSortPacket[param_1->getMaterialID()].setMat(param_1); } diff --git a/include/d/d_msg_object.h b/include/d/d_msg_object.h index 65c205d6da..133b9f88ab 100644 --- a/include/d/d_msg_object.h +++ b/include/d/d_msg_object.h @@ -552,6 +552,10 @@ inline void dMsgObject_setInsectItemNo(u8 i_insectItemNo) { dMsgObject_getMsgObjectClass()->setInsectItemNo(i_insectItemNo); } +inline bool dMsgObject_isSelectTalkNowCheck() { + return dMsgObject_getMsgObjectClass()->getStatus() != 8 || (dMsgObject_getMsgObjectClass()->getStatus() != 9 && dMsgObject_getMsgObjectClass()->getStatus() != 20); +} + class dMsgObject_HowlHIO_c { public: dMsgObject_HowlHIO_c(); diff --git a/include/d/d_particle.h b/include/d/d_particle.h index a9b4af7e6c..ed9bac9b2d 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -1,6 +1,7 @@ #ifndef D_PARTICLE_D_PARTICLE_H #define D_PARTICLE_D_PARTICLE_H +#include "JSystem/JParticle/JPAEmitterManager.h" #include "SSystem/SComponent/c_m3d_g_pla.h" #include "JSystem/JParticle/JPAEmitter.h" #include "JSystem/JParticle/JPAParticle.h" @@ -17,7 +18,7 @@ class JKRSolidHeap; class dKy_tevstr_c; class fopAc_ac_c; -class dPa_levelEcallBack : public JPAEmitterCallBack { +class dPa_levelEcallBack : public JPAEmitterCallBack { public: virtual ~dPa_levelEcallBack() { cleanup(); } virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8) = 0; @@ -44,7 +45,7 @@ public: virtual void draw(JPABaseEmitter*); void removeEmitter() { mEmitter = NULL; } - u16 getID() const { return mID; } + u16 getID() { return mID; } /* 0x04 */ JPABaseEmitter* mEmitter; /* 0x08 */ u16 mID; @@ -54,18 +55,18 @@ public: /* 0x10 */ dPa_simpleData_c* mData; }; // Size: 0x14 -class dPa_windPcallBack : public JPAParticleCallBack { -public: - virtual ~dPa_windPcallBack() {} - virtual void execute(JPABaseEmitter*, JPABaseParticle*); -}; - class dPa_modelPcallBack : public JPAParticleCallBack { public: virtual ~dPa_modelPcallBack() {} virtual void draw(JPABaseEmitter*, JPABaseParticle*); }; +class dPa_windPcallBack : public JPAParticleCallBack { +public: + virtual ~dPa_windPcallBack() {} + virtual void execute(JPABaseEmitter*, JPABaseParticle*); +}; + class dPa_modelEcallBack : public dPa_levelEcallBack { public: struct model_c { @@ -73,16 +74,16 @@ public: void setup(); void cleanup(); void draw(f32 (*)[4]); - model_c() { field_0x0 = NULL; } + model_c() { mModelData = NULL; } void reset() { - field_0x0 = NULL; + mModelData = NULL; } u8 getRotAxis() { return mRotAxis; } - J3DModelData* getModelData() { return field_0x0; } + J3DModelData* getModelData() { return mModelData; } - J3DModelData* field_0x0; + J3DModelData* mModelData; J3DAnmBase* field_0x4; dKy_tevstr_c field_0x8; u8 mRotAxis; @@ -119,6 +120,9 @@ public: static dPa_modelPcallBack mPcallback; static model_c* mModel; + #if DEBUG + static u8 mNum; + #endif }; class dPa_selectTexEcallBack : public dPa_levelEcallBack { @@ -183,6 +187,7 @@ public: class dPa_gen_d_light8EcallBack : public dPa_levelEcallBack { public: + virtual ~dPa_gen_d_light8EcallBack() {} virtual void draw(JPABaseEmitter*); virtual void drawAfter(JPABaseEmitter*) { dPa_cleanupGX(); } virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); @@ -232,6 +237,7 @@ public: virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); void setRate(f32 rate) { mRate = rate; } + void setMaxCnt(int i_maxCnt) { mMaxCnt = i_maxCnt; } private: /* 0x04 */ f32 mRate; @@ -282,11 +288,16 @@ public: u32 getId() { return mId; } void clearStatus() { mStatus = 0; } + #if DEBUG + void onEventMove() { mStatus |= (u8)2; } + void offEventMove() { mStatus &= (u8)~2; } + #else void onEventMove() { mStatus |= 2; } void offEventMove() { mStatus &= ~2; } + #endif bool isEventMove() { return mStatus & 2; } - void offActive() { mStatus &= ~1; } + void offActive() { mStatus &= (u8)~1; } bool isActive() { return mStatus & 1; } u16 getNameId() { return mNameId; } dPa_levelEcallBack* getCallback() { return mCallback; } @@ -402,7 +413,7 @@ public: void draw2DmenuBack(JPADrawInfo* i_drawInfo) { draw(i_drawInfo, 18); } JKRSolidHeap* getHeap() { return mHeap; } - JKRSolidHeap* getSceneHeap() { return m_sceneHeap; } + JKRSolidHeap* getSceneHeap() { return mSceneHeap; } JKRExpHeap* getResHeap() { return m_resHeap; } void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); } @@ -423,6 +434,7 @@ public: } static JPAEmitterManager* getEmitterManager() { return mEmitterMng; } + static int getEmitterNum() { return mEmitterMng->getEmitterNumber(); }; static dPa_light8PcallBack* getLight8PcallBack() { return &mLight8PcallBack; @@ -479,7 +491,7 @@ private: /* 0x000 */ JKRSolidHeap* mHeap; /* 0x004 */ JPAResourceManager* mCommonResMng; /* 0x008 */ JKRExpHeap* m_resHeap; - /* 0x00C */ JKRSolidHeap* m_sceneHeap; + /* 0x00C */ JKRSolidHeap* mSceneHeap; /* 0x010 */ void* m_sceneRes; /* 0x014 */ JPAResourceManager* mSceneResMng; /* 0x018 */ u8 field_0x18; @@ -488,6 +500,9 @@ private: /* 0x01B */ u8 field_0x1b; /* 0x01C */ dPa_simpleEcallBack field_0x1c[25]; /* 0x210 */ level_c field_0x210; + #if DEBUG + u8 mSceneCount; + #endif }; #endif /* D_PARTICLE_D_PARTICLE_H */ diff --git a/include/d/d_s_play_env.h b/include/d/d_s_play_env.h index f14e1f6ef3..79eed8a63d 100644 --- a/include/d/d_s_play_env.h +++ b/include/d/d_s_play_env.h @@ -7,6 +7,12 @@ public: virtual ~dScnPly_env_otherHIO_c() {} void genMessage(JORMContext*); + void addSetEmitterID(u16 param_0) { + #if DEBUG + field_0x1c[field_0x4f++] = param_0; + field_0x4f %= 20; + #endif + } #if DEBUG /* 0x04 */ s8 field_0x04; @@ -21,7 +27,7 @@ public: /* 0x16 */ s16 mRailColorG; /* 0x18 */ s16 mRailColorB; /* 0x1A */ s16 field_0x1a; - /* 0x1C */ s16 field_0x1c[20]; + /* 0x1C */ u16 field_0x1c[20]; #endif /* 0x44 */ u8 mAdjustLODBias; |
