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 | |
| 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')
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPicture.h | 4 | ||||
| -rw-r--r-- | include/JSystem/J3DGraphAnimator/J3DModelData.h | 2 | ||||
| -rw-r--r-- | include/JSystem/JMath/JMath.h | 6 | ||||
| -rw-r--r-- | include/JSystem/JParticle/JPAEmitter.h | 18 | ||||
| -rw-r--r-- | include/JSystem/JParticle/JPAEmitterManager.h | 8 | ||||
| -rw-r--r-- | include/JSystem/JParticle/JPAParticle.h | 6 | ||||
| -rw-r--r-- | include/Z2AudioLib/Z2SeMgr.h | 1 | ||||
| -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 | ||||
| -rw-r--r-- | include/m_Do/m_Do_graphic.h | 8 |
13 files changed, 201 insertions, 25 deletions
diff --git a/include/JSystem/J2DGraph/J2DPicture.h b/include/JSystem/J2DGraph/J2DPicture.h index f6e8ec3b31..bb71d97aa3 100644 --- a/include/JSystem/J2DGraph/J2DPicture.h +++ b/include/JSystem/J2DGraph/J2DPicture.h @@ -151,11 +151,11 @@ public: return NULL; } virtual u8 getTextureCount() const { return mTextureNum; } - virtual bool setBlack(JUtility::TColor i_black) { + /* vt 0x128 */ virtual bool setBlack(JUtility::TColor i_black) { mBlack = i_black; return true; } - virtual bool setWhite(JUtility::TColor i_white) { + /* vt 0x12C */ virtual bool setWhite(JUtility::TColor i_white) { mWhite = i_white; return true; } diff --git a/include/JSystem/J3DGraphAnimator/J3DModelData.h b/include/JSystem/J3DGraphAnimator/J3DModelData.h index 757c472820..ea1ef96813 100644 --- a/include/JSystem/J3DGraphAnimator/J3DModelData.h +++ b/include/JSystem/J3DGraphAnimator/J3DModelData.h @@ -86,7 +86,7 @@ public: int removeMatColorAnimator(J3DAnmColor* anm) { return mMaterialTable.removeMatColorAnimator(anm); } - void syncJ3DSys() { + void syncJ3DSys() const { syncJ3DSysFlags(); syncJ3DSysPointers(); } diff --git a/include/JSystem/JMath/JMath.h b/include/JSystem/JMath/JMath.h index 1142f41389..ee31b6e541 100644 --- a/include/JSystem/JMath/JMath.h +++ b/include/JSystem/JMath/JMath.h @@ -17,6 +17,12 @@ inline int JMAAbs(int value) { #endif } +inline f32 JMAAbs(f32 x) { +#ifdef __MWERKS__ + return __fabsf(x); +#endif +} + inline f32 JMAFastReciprocal(f32 value) { #ifdef __MWERKS__ return __fres(value); diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index eca7556754..ebf82df33e 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -134,6 +134,7 @@ public: void setGlobalTranslation(f32 x, f32 y, f32 z) { mGlobalTrs.set(x, y, z); } void setGlobalTranslation(const JGeometry::TVec3<f32>& trs) { mGlobalTrs.set(trs); } void getLocalTranslation(JGeometry::TVec3<f32>& vec) { vec.set(mLocalTrs); } + void getLocalTranslation(JGeometry::TVec3<f32>* vec) const { vec->set(mLocalTrs); } void setGlobalRotation(const JGeometry::TVec3<s16>& rot) { JPAGetXYZRotateMtx(rot.x, rot.y, rot.z, mGlobalRot); } @@ -143,6 +144,7 @@ public: void setGlobalAlpha(u8 alpha) { mGlobalPrmClr.a = alpha; } u8 getGlobalAlpha() const { return mGlobalPrmClr.a; } void getGlobalPrmColor(GXColor& color) { color = mGlobalPrmClr; } + void getGlobalPrmColor(_GXColor* color) const { *color = mGlobalPrmClr; } void setGlobalPrmColor(u8 r, u8 g, u8 b) { mGlobalPrmClr.r = r; mGlobalPrmClr.g = g; mGlobalPrmClr.b = b; } void setGlobalEnvColor(u8 r, u8 g, u8 b) { mGlobalEnvClr.r = r; mGlobalEnvClr.g = g; mGlobalEnvClr.b = b; } void setVolumeSize(u16 size) { mVolumeSize = size; } @@ -175,6 +177,18 @@ public: scale.set(mGlobalPScl.x, mGlobalPScl.y, 1.0f); #endif } + void getGlobalParticleScale(JGeometry::TVec3<f32>* scale) const { + //TODO: Possible fakematch. Debug and Wii indicate TVec3::set, but using it breaks regalloc + // in dPa_gen_b_light8PcallBack::draw on GCN (where the call to set would normally be + // inlined). +#if PLATFORM_GCN + scale->x = mGlobalPScl.x; + scale->y = mGlobalPScl.y; + scale->z = 1.0f; +#else + scale->set(mGlobalPScl.x, mGlobalPScl.y, 1.0f); +#endif + } void setGlobalScale(const JGeometry::TVec3<f32>& scale) { mGlobalScl.set(scale); mGlobalPScl.set(scale.x ,scale.y); @@ -208,7 +222,7 @@ public: void stopDrawParticle() { setStatus(JPAEmtrStts_StopDraw); } void playDrawParticle() { clearStatus(JPAEmtrStts_StopDraw); } - uintptr_t getUserWork() { return mpUserWork; } + uintptr_t getUserWork() const { return mpUserWork; } void setUserWork(uintptr_t userWork) { mpUserWork = userWork; } u32 getParticleNumber() const { return mAlivePtclBase.getNum() + mAlivePtclChld.getNum(); @@ -218,7 +232,7 @@ public: } void setDrawTimes(u8 drawTimes) { mDrawTimes = drawTimes; } void setParticleCallBackPtr(JPAParticleCallBack* cb) { mpPtclCallBack = cb; } - JPAParticleCallBack* getParticleCallBackPtr() { return mpPtclCallBack; } + JPAParticleCallBack* getParticleCallBackPtr() const { return mpPtclCallBack; } JPAEmitterCallBack* getEmitterCallBackPtr() const { return mpEmtrCallBack; } u32 getAge() const { return mTick; } diff --git a/include/JSystem/JParticle/JPAEmitterManager.h b/include/JSystem/JParticle/JPAEmitterManager.h index f0380d0dbb..8aeb2f56cd 100644 --- a/include/JSystem/JParticle/JPAEmitterManager.h +++ b/include/JSystem/JParticle/JPAEmitterManager.h @@ -6,6 +6,7 @@ #include "JSystem/JParticle/JPADrawInfo.h" #include "JSystem/JSupport/JSUList.h" #include "JSystem/JGeometry.h" +#include "JSystem/JUtility/JUTAssert.h" class JPAEmitterCallBack; class JPAParticleCallBack; @@ -32,7 +33,12 @@ public: void entryResourceManager(JPAResourceManager*, u8); void clearResourceManager(u8); void calcYBBCam(); - JPAResourceManager* getResourceManager(u16 idx) { return pResMgrAry[idx]; } + JPAResourceManager* getResourceManager(u16 idx) const { return pResMgrAry[idx]; } + JPAResourceManager* getResourceManager(u8 res_mgr_id) const { + JUT_ASSERT(147, res_mgr_id < ridMax); + return pResMgrAry[res_mgr_id]; + } + int getEmitterNumber() const { return emtrNum - mFreeEmtrList.getNumLinks(); } public: /* 0x00 */ JSUList<JPABaseEmitter>* pEmtrUseList; diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index ac6cd9798f..e6e0bec6f4 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -27,12 +27,14 @@ public: bool canCreateChild(JPAEmitterWorkData*); f32 getWidth(JPABaseEmitter const*) const; f32 getHeight(JPABaseEmitter const*) const; - int getAge() { return mAge; } + int getAge() const { return mAge; } void setOffsetPosition(const JGeometry::TVec3<f32>& pos) { mOffsetPosition.set(pos); } void setOffsetPosition(f32 x, f32 y, f32 z) { mOffsetPosition.set(x, y, z); } void getOffsetPosition(JGeometry::TVec3<f32>& pos) { pos.set(mOffsetPosition); } + void getOffsetPosition(JGeometry::TVec3<f32>* pos) const { pos->set(mOffsetPosition); } u16 getRotateAngle() const { return mRotateAngle; } void getGlobalPosition(JGeometry::TVec3<f32>& pos) const { pos.set(mPosition); } + void getGlobalPosition(JGeometry::TVec3<f32>* pos) const { pos->set(mPosition); } f32 getParticleScaleX() const { return mParticleScaleX; } f32 getParticleScaleY() const { return mParticleScaleY; } void setStatus(u32 flag) { mStatus |= flag; } @@ -42,7 +44,9 @@ public: void setDeleteParticleFlag() { setStatus(2); } void getVelVec(JGeometry::TVec3<f32>& vec) const { vec.set(mVelocity); } void getLocalPosition(JGeometry::TVec3<f32>& vec) const { vec.set(mLocalPosition); } + void getLocalPosition(JGeometry::TVec3<f32>* vec) const { vec->set(mLocalPosition); } void getBaseAxis(JGeometry::TVec3<f32>& vec) const { vec.set(mBaseAxis); } + void getBaseAxis(JGeometry::TVec3<f32>* vec) const { vec->set(mBaseAxis); } public: /* 0x00 */ JGeometry::TVec3<f32> mPosition; diff --git a/include/Z2AudioLib/Z2SeMgr.h b/include/Z2AudioLib/Z2SeMgr.h index 8f04dbe2b6..3f8ca03eb3 100644 --- a/include/Z2AudioLib/Z2SeMgr.h +++ b/include/Z2AudioLib/Z2SeMgr.h @@ -75,6 +75,7 @@ public: void setLevObjSE(u32 soundID, Vec* posPtr, s8 reverb); void setMultiTriggerSE(u32 soundID, Vec* posPtr, s8 reverb); void processSeFramework(); + void playNaviFlySound(f32, f32); bool isLevelSe(JAISoundID soundID); bool isSoundCulling(JAISoundID soundID); void resetCrowdSize() { mCrowdSize = 0; } 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; diff --git a/include/m_Do/m_Do_graphic.h b/include/m_Do/m_Do_graphic.h index 7bb876f1ee..861575787b 100644 --- a/include/m_Do/m_Do_graphic.h +++ b/include/m_Do/m_Do_graphic.h @@ -55,12 +55,16 @@ public: #if PLATFORM_WII || PLATFORM_SHIELD class csr_c { public: - virtual ~csr_c(); + virtual ~csr_c() {} virtual bool isPointer(); - void particleExecute(); + static void particleExecute(); + static u32 getBlurID() { return m_blurID; } static u32 m_blurID; + static cXyz m_oldEffPos; + static cXyz m_oldOldEffPos; + static cXyz m_nowEffPos; }; static void entryBaseCsr(csr_c*); |
