diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/JSystem/J3DU/J3DUClipper.h | 4 | ||||
| -rw-r--r-- | include/JSystem/JParticle/JPAEmitter.h | 6 | ||||
| -rw-r--r-- | include/JSystem/JParticle/JPAParticle.h | 1 | ||||
| -rw-r--r-- | include/d/d_particle.h | 71 |
4 files changed, 60 insertions, 22 deletions
diff --git a/include/JSystem/J3DU/J3DUClipper.h b/include/JSystem/J3DU/J3DUClipper.h index 8f5a9df3..113ec60e 100644 --- a/include/JSystem/J3DU/J3DUClipper.h +++ b/include/JSystem/J3DU/J3DUClipper.h @@ -12,8 +12,8 @@ public: virtual ~J3DUClipper() {} void init(); void calcViewFrustum(); - u32 clip(const Mtx, Vec, f32); - u32 clip(const Mtx, Vec*, Vec*); + s32 clip(const Mtx, Vec, f32); + s32 clip(const Mtx, Vec*, Vec*); u32 clipByBox(J3DModel*); void setFovy(f32 fovy) { mFovY = fovy; } diff --git a/include/JSystem/JParticle/JPAEmitter.h b/include/JSystem/JParticle/JPAEmitter.h index 5b567441..8008f803 100644 --- a/include/JSystem/JParticle/JPAEmitter.h +++ b/include/JSystem/JParticle/JPAEmitter.h @@ -213,6 +213,11 @@ public: mGlobalPrmColor.g = g; mGlobalPrmColor.b = b; } + void setGlobalEnvColor(u8 r, u8 g, u8 b) { + mGlobalEnvColor.r = r; + mGlobalEnvColor.g = g; + mGlobalEnvColor.b = b; + } void setVolumeSweep(f32 i_volSweep) { mVolumeSweep = i_volSweep; } void setVolumeSize(u16 size) { mVolumeSize = size; } @@ -284,7 +289,6 @@ public: void isZDraw() {} void loadTexture(u8, GXTexMapID) {} void setEmitterRotation(const JGeometry::TVec3<s16>&) {} - void setGlobalEnvColor(u8, u8, u8) {} void setGlobalParticleHeightScale(f32) {} void setGlobalParticleScale(f32, f32) {} void setGlobalParticleWidthScale(f32) {} diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h index 6dc3e6af..371e264a 100644 --- a/include/JSystem/JParticle/JPAParticle.h +++ b/include/JSystem/JParticle/JPAParticle.h @@ -33,6 +33,7 @@ public: ~JPABaseParticle() {} JPABaseParticle() : mLink(this), mCurFrame(0.0f) {} + void setOffsetPosition(f32 x, f32 y, f32 z) { mGlobalPosition.set(x, y, z); } public: /* 0x00 */ JSULink<JPABaseParticle> mLink; diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 8bac3d20..304f37e9 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -88,7 +88,7 @@ public: void executeAfter(JPABaseEmitter*); void draw(JPABaseEmitter*); void create(JPAEmitterManager*, u16, u8); - void createEmitter(JPAEmitterManager*); + JPABaseEmitter* createEmitter(JPAEmitterManager*); void set(cXyz const*, u8, GXColor const&, GXColor const&, int); /* 0x004 */ JPABaseEmitter* mpBaseEmitter; @@ -119,7 +119,7 @@ public: /* 0x1C */ cXyz mCollapsePos[2]; /* 0x34 */ cXyz* mpPos; /* 0x38 */ csXyz* mpRot; - /* 0x3C */ cXyz mRotMtx[3]; + /* 0x3C */ Vec mRotMtx[3]; /* 0x60 */ JPABaseEmitter* mpBaseEmitter; }; @@ -152,7 +152,7 @@ public: /* 0x04 */ s16 mState; /* 0x08 */ f32 mBaseY; /* 0x0C */ f32 mMinY; - /* 0x10 */ cXyz mPos[3]; + /* 0x10 */ Vec mPos[3]; /* 0x34 */ cXyz* mpPos; /* 0x38 */ csXyz* mpRot; /* 0x3C */ f32 mExTransY; @@ -195,13 +195,37 @@ class JKRSolidHeap; class dPa_J3DmodelEmitter_c : public dPa_modelEmitter_c { public: - u8 temp2[4]; - JKRSolidHeap* mpHeap; - - dPa_J3DmodelEmitter_c(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c&, J3DAnmTexPattern*, unsigned short, int); + dPa_J3DmodelEmitter_c(JPABaseEmitter*, J3DModelData*, dKy_tevstr_c&, J3DAnmTexPattern*, u16, int); virtual ~dPa_J3DmodelEmitter_c(); virtual void draw(); + + /* 0x10 */ JPABaseEmitter* mpBaseEmitter; + /* 0x14 */ JKRSolidHeap* mpHeap; + /* 0x18 */ J3DModelData* field_0x18; + /* 0x1C */ J3DAnmTexPattern* field_0x1c; + /* 0x20 */ J3DTexNoAnm* field_0x20; + /* 0x24 */ u16 field_0x24; + /* 0x26 */ u8 field_0x26; + /* 0x28 */ J3DLightInfo field_0x28; + /* 0x5C */ u8 field_0x5c[0x9c - 0x5c]; + /* 0x9C */ cXyz field_0x9c; + /* 0xA8 */ GXColorS10 field_0xa8; + /* 0xB0 */ GXColor field_0xb0; + /* 0xB4 */ GXColor field_0xb4; + /* 0xB8 */ GXColorS10 field_0xb8; + /* 0xC0 */ f32 field_0xc0; + /* 0xC4 */ f32 field_0xc4; + /* 0xC8 */ f32 field_0xc8; + /* 0xCC */ u8 field_0xcc; + /* 0xCD */ u8 field_0xcd; + /* 0xCE */ u8 field_0xce; + /* 0xCF */ u8 field_0xcf; + /* 0xD0 */ u8 field_0xd0; + /* 0xD1 */ u8 field_0xd1; + /* 0xD2 */ u8 field_0xd2; + /* 0xD3 */ u8 field_0xd3; + /* 0xD4 */ u8 field_0xd4; }; class dPa_J3Dmodel_c { @@ -215,7 +239,7 @@ public: class dPa_smokePcallBack : public JPACallBackBase2<JPABaseEmitter*, JPABaseParticle*> { public: - dPa_smokePcallBack(); + dPa_smokePcallBack() {} virtual ~dPa_smokePcallBack() {} virtual void execute(JPABaseEmitter*, JPABaseParticle*); @@ -224,16 +248,18 @@ public: class dPa_selectTexEcallBack : public dPa_levelEcallBack { public: - dPa_selectTexEcallBack(); + dPa_selectTexEcallBack(u8 param_1) { field_0x4 = param_1; } virtual ~dPa_selectTexEcallBack() {} virtual void draw(JPABaseEmitter*); virtual void setup(JPABaseEmitter*, const cXyz*, const csXyz*, s8); + + u8 field_0x4; }; class dPa_windPcallBack : public JPACallBackBase2<JPABaseEmitter*, JPABaseParticle*> { public: - dPa_windPcallBack(); + dPa_windPcallBack() {} virtual ~dPa_windPcallBack() {} virtual void execute(JPABaseEmitter*, JPABaseParticle*); @@ -241,7 +267,7 @@ public: class dPa_singleRippleEcallBack : public dPa_levelEcallBack { public: - dPa_singleRippleEcallBack(); + dPa_singleRippleEcallBack() {} virtual ~dPa_singleRippleEcallBack() {} virtual void execute(JPABaseEmitter*); @@ -251,7 +277,7 @@ public: class dPa_ripplePcallBack : public JPACallBackBase2<JPABaseEmitter*, JPABaseParticle*> { public: - dPa_ripplePcallBack(); + dPa_ripplePcallBack() {} virtual ~dPa_ripplePcallBack() {} virtual void execute(JPABaseEmitter*, JPABaseParticle*); @@ -275,7 +301,7 @@ STATIC_ASSERT(sizeof(dPa_cutTurnEcallBack_c) == 0x10); class dPa_stripesEcallBack : public dPa_levelEcallBack { public: - dPa_stripesEcallBack(); + dPa_stripesEcallBack() {} virtual ~dPa_stripesEcallBack() {} virtual void draw(JPABaseEmitter*); @@ -284,7 +310,7 @@ public: class dPa_kageroEcallBack : public JPACallBackBase<JPABaseEmitter*> { public: - dPa_kageroEcallBack(); + dPa_kageroEcallBack() {} virtual ~dPa_kageroEcallBack() {} virtual void draw(JPABaseEmitter*); @@ -292,7 +318,7 @@ public: class dPa_bombSmokeEcallBack : public dPa_levelEcallBack { public: - dPa_bombSmokeEcallBack(); + dPa_bombSmokeEcallBack() {} virtual ~dPa_bombSmokeEcallBack() {} virtual void execute(JPABaseEmitter*); @@ -301,7 +327,7 @@ public: class dPa_setColorEcallBack : public dPa_levelEcallBack { public: - dPa_setColorEcallBack(); + dPa_setColorEcallBack(const GXColor& color) { mColor = color; } virtual ~dPa_setColorEcallBack() {} virtual void draw(JPABaseEmitter*); @@ -326,7 +352,7 @@ class dPa_control_c { public: dPa_control_c(); - static u16 getRM_ID(u16); + static u8 getRM_ID(u16); void swapFrameBufferTexture(); void createCommon(void const*); void createRoomScene(void const*); @@ -424,6 +450,8 @@ public: void drawModelParticle() { mModelCtrl->draw(); } JKRHeap * getHeap() { return mHeap; } + static dPa_selectTexEcallBack mTsubo[4]; + static dPa_setColorEcallBack* getLifeBallSetColorEcallBack(int idx) { return &mLifeBall[idx]; } static dPa_setColorEcallBack mLifeBall[3]; @@ -432,9 +460,14 @@ public: static void offStatus(u8 status) { mStatus &= ~status; } static u8 mStatus; - static dPa_rippleEcallBack mSingleRippleEcallBack; - static JPAEmitterManager * mEmitterMng; + static dPa_stripesEcallBack mStripes; + static dPa_kageroEcallBack mKagero; + static dPa_smokeEcallBack mSmokeEcallback; + static dPa_smokePcallBack mSmokePcallback; + static dPa_singleRippleEcallBack mSingleRippleEcallBack; + static dPa_ripplePcallBack mRipplePcallBack; + static dPa_bombSmokeEcallBack mBombSmokeEcallBack; static MtxP getWindViewMatrix() { return mWindViewMatrix; } static Mtx mWindViewMatrix; |
