JPA small cleanup

This commit is contained in:
LagoLunatic
2025-08-11 17:51:49 -04:00
parent 27bd5a8eca
commit 1c93c48ccf
9 changed files with 83 additions and 69 deletions
+1 -1
View File
@@ -131,7 +131,7 @@ struct JPABaseShapeData {
/* 0x48 */ f32 mTexScrollScaleX;
/* 0x4c */ f32 mTexScrollScaleY;
/* 0x50 */ f32 mTexScrollRotate;
};
}; // Size: 0x54
class JPABaseShapeArc : public JPABaseShape {
public:
+11 -3
View File
@@ -4,7 +4,7 @@
#include "JSystem/JGeometry.h"
struct JPADynamicsBlockData {
/* 0x00 */ u32 mFlag;
/* 0x00 */ u32 mFlags;
/* 0x04 */ f32 mVolumeSweep;
/* 0x08 */ f32 mVolumeMinRad;
/* 0x0C */ u16 mVolumeSize;
@@ -33,6 +33,14 @@ struct JPADynamicsBlockData {
/* 0x60 */ JGeometry::TVec3<f32> mEmitterTrs;
/* 0x6C */ JGeometry::TVec3<f32> mEmitterDir;
/* 0x78 */ JGeometry::TVec3<s16> mEmitterRot;
}; // Size: 0x80
enum {
JPADynFlag_FixedDensity = 0x01,
JPADynFlag_FixedInterval = 0x02,
JPADynFlag_InheritScale = 0x04,
JPADynFlag_FollowEmtr = 0x08,
JPADynFlag_FollowEmtrChld = 0x10,
};
class JPADynamicsBlock {
@@ -74,13 +82,13 @@ class JPADynamicsBlockArc : public JPADynamicsBlock {
public:
JPADynamicsBlockArc(const u8*);
virtual ~JPADynamicsBlockArc() {}
virtual u32 getDataFlag() { return mpData->mFlag; }
virtual u32 getDataFlag() { return mpData->mFlags; }
virtual u32 getUseKeyFlag() { return 0; }
virtual void getEmitterScl(JGeometry::TVec3<f32>& out) { out.set(mpData->mEmitterScl.x, mpData->mEmitterScl.y, mpData->mEmitterScl.z); }
virtual void getEmitterRot(JGeometry::TVec3<s16>& out) { out.set(mpData->mEmitterRot.x, mpData->mEmitterRot.y, mpData->mEmitterRot.z); }
virtual void getEmitterTrs(JGeometry::TVec3<f32>& out) { out.set(mpData->mEmitterTrs.x, mpData->mEmitterTrs.y, mpData->mEmitterTrs.z); }
virtual void getEmitterDir(JGeometry::TVec3<f32>& out) { out.set(mpData->mEmitterDir.x, mpData->mEmitterDir.y, mpData->mEmitterDir.z); }
virtual u32 getVolumeType() { return (mpData->mFlag >> 8) & 0x07; }
virtual u32 getVolumeType() { return (mpData->mFlags >> 8) & 0x07; }
virtual u32 getVolumeSize() { return mpData->mVolumeSize; }
virtual f32 getVolumeSweep() { return mpData->mVolumeSweep; }
virtual f32 getVolumeMinRad() { return mpData->mVolumeMinRad; }
+5 -5
View File
@@ -4,14 +4,14 @@
#include "dolphin/gx/GX.h"
struct JPAExTexShapeData {
/* 0x00 */ u32 mFlag;
/* 0x00 */ u32 mFlags;
/* 0x04 */ Mtx23 mIndTexMtx;
/* 0x1C */ s8 mExpScale;
/* 0x1D */ u8 field_0x1d[3];
/* 0x20 */ u8 mIndTextureID;
/* 0x21 */ u8 mSubTextureID;
/* 0x22 */ u8 mSecondTextureID;
};
}; // Size: 0x24
class JPAExTexShape {
public:
@@ -30,13 +30,13 @@ class JPAExTexShapeArc : public JPAExTexShape {
public:
JPAExTexShapeArc(const u8*);
virtual ~JPAExTexShapeArc() {}
virtual u32 getIndTexMode() { return (mpData->mFlag >> 0) & 0x03; }
virtual GXIndTexMtxID getIndTexMtxID() { return indMtxID[(mpData->mFlag >> 2) & 0x03]; }
virtual u32 getIndTexMode() { return (mpData->mFlags >> 0) & 0x03; }
virtual GXIndTexMtxID getIndTexMtxID() { return indMtxID[(mpData->mFlags >> 2) & 0x03]; }
virtual const Mtx23* getIndTexMtx() { return &mpData->mIndTexMtx; }
virtual s8 getExpScale() { return mpData->mExpScale; }
virtual u8 getIndTextureID() { return mpData->mIndTextureID; }
virtual u8 getSubTextureID() { return mpData->mSubTextureID; }
virtual BOOL isEnableSecondTex() { return (mpData->mFlag & 0x100); }
virtual BOOL isEnableSecondTex() { return (mpData->mFlags & 0x100); }
virtual u8 getSecondTexIndex() { return mpData->mSecondTextureID; }
public:
+16 -16
View File
@@ -4,7 +4,7 @@
#include "JSystem/JParticle/JPAParticle.h"
struct JPAExtraShapeData {
/* 0x00 */ u32 mFlag;
/* 0x00 */ u32 mFlags;
/* 0x04 */ u32 field_0x04;
/* 0x08 */ f32 mAlphaInTiming;
/* 0x0C */ f32 mAlphaOutTiming;
@@ -29,7 +29,7 @@ struct JPAExtraShapeData {
/* 0x54 */ f32 mRotateRandomAngle;
/* 0x58 */ f32 mRotateRandomSpeed;
/* 0x5C */ f32 mRotateDirection;
};
}; // Size: 0x60
class JPAExtraShape {
public:
@@ -80,41 +80,41 @@ class JPAExtraShapeArc : public JPAExtraShape {
public:
JPAExtraShapeArc(const u8*);
virtual ~JPAExtraShapeArc() {}
virtual BOOL isEnableScale() { return (mpData->mFlag & 0x100); }
virtual BOOL isDiffXY() { return (mpData->mFlag & 0x200); }
virtual BOOL isEnableScaleAnmX() { return (mpData->mFlag & 0x800); }
virtual BOOL isEnableScaleAnmY() { return (mpData->mFlag & 0x400); }
virtual BOOL isEnableScaleBySpeedX() { return (mpData->mFlag & 0x2000); }
virtual BOOL isEnableScaleBySpeedY() { return (mpData->mFlag & 0x1000); }
virtual BOOL isEnableScale() { return (mpData->mFlags & 0x100); }
virtual BOOL isDiffXY() { return (mpData->mFlags & 0x200); }
virtual BOOL isEnableScaleAnmX() { return (mpData->mFlags & 0x800); }
virtual BOOL isEnableScaleAnmY() { return (mpData->mFlags & 0x400); }
virtual BOOL isEnableScaleBySpeedX() { return (mpData->mFlags & 0x2000); }
virtual BOOL isEnableScaleBySpeedY() { return (mpData->mFlags & 0x1000); }
virtual f32 getScaleInTiming() { return mpData->mScaleInTiming; }
virtual f32 getScaleOutTiming() { return mpData->mScaleOutTiming; }
virtual f32 getScaleInValueX() { return mpData->mScaleInValueX; }
virtual f32 getScaleInValueY() { return mpData->mScaleInValueY; }
virtual u8 getAnmTypeX() { return (mpData->mFlag >> 18) & 0x01; }
virtual u8 getAnmTypeY() { return (mpData->mFlag >> 19) & 0x01; }
virtual u8 getAnmTypeX() { return (mpData->mFlags >> 18) & 0x01; }
virtual u8 getAnmTypeY() { return (mpData->mFlags >> 19) & 0x01; }
virtual s16 getAnmCycleX() { return mpData->mAnmCycleX; }
virtual s16 getAnmCycleY() { return mpData->mAnmCycleY; }
virtual f32 getIncreaseRateX() { return mIncreaseRateX; }
virtual f32 getIncreaseRateY() { return mIncreaseRateY; }
virtual f32 getDecreaseRateX() { return mDecreaseRateX; }
virtual f32 getDecreaseRateY() { return mDecreaseRateY; }
virtual u8 getPivotX() { return (mpData->mFlag >> 14) & 0x03; }
virtual u8 getPivotY() { return (mpData->mFlag >> 16) & 0x03; }
virtual u8 getPivotX() { return (mpData->mFlags >> 14) & 0x03; }
virtual u8 getPivotY() { return (mpData->mFlags >> 16) & 0x03; }
virtual f32 getRandomScale() { return mpData->mRandomScale; }
virtual BOOL isEnableAlpha() { return (mpData->mFlag & 0x01); }
virtual BOOL isEnableSinWave() { return (mpData->mFlag & 0x02); }
virtual BOOL isEnableAlpha() { return (mpData->mFlags & 0x01); }
virtual BOOL isEnableSinWave() { return (mpData->mFlags & 0x02); }
virtual f32 getAlphaInTiming() { return mpData->mAlphaInTiming; }
virtual f32 getAlphaOutTiming() { return mpData->mAlphaOutTiming; }
virtual f32 getAlphaInValue() { return mpData->mAlphaInValue; }
virtual f32 getAlphaBaseValue() { return mpData->mAlphaBaseValue; }
virtual u8 getAlphaWaveType() { return (mpData->mFlag >> 2) & 0x03; }
virtual u8 getAlphaWaveType() { return (mpData->mFlags >> 2) & 0x03; }
virtual f32 getAlphaWaveParam1() { return mpData->mAlphaWaveParam1; }
virtual f32 getAlphaWaveParam2() { return mpData->mAlphaWaveParam2; }
virtual f32 getAlphaWaveParam3() { return mpData->mAlphaWaveParam3; }
virtual f32 getAlphaWaveRandom() { return mpData->mAlphaWaveRandom; }
virtual f32 getAlphaIncreaseRate() { return mAlphaIncreaseRate; }
virtual f32 getAlphaDecreaseRate() { return mAlphaDecreaseRate; }
virtual BOOL isEnableRotate() { return (mpData->mFlag & 0x01000000); }
virtual BOOL isEnableRotate() { return (mpData->mFlags & 0x01000000); }
virtual f32 getRotateAngle() { return mpData->mRotateAngle; }
virtual f32 getRotateSpeed() { return mpData->mRotateSpeed; }
virtual f32 getRotateRandomAngle() { return mpData->mRotateRandomAngle; }
+4 -4
View File
@@ -4,7 +4,7 @@
#include "JSystem/JGeometry.h"
struct JPAFieldBlockData {
/* 0x00 */ u32 mFlag;
/* 0x00 */ u32 mFlags;
/* 0x04 */ f32 mMag;
/* 0x08 */ f32 mMagRndm;
/* 0x0C */ f32 mMaxDist;
@@ -47,9 +47,9 @@ public:
JPAFieldBlockArc(const u8*);
virtual ~JPAFieldBlockArc() {}
virtual u8 getType() { return (mpData->mFlag >> 0) & 0x0F; }
virtual u32 getVelType() { return (mpData->mFlag >> 8) & 0x03; }
virtual u32 getSttFlag() { return (mpData->mFlag >> 16) & 0xFFFF; }
virtual u8 getType() { return (mpData->mFlags >> 0) & 0x0F; }
virtual u32 getVelType() { return (mpData->mFlags >> 8) & 0x03; }
virtual u32 getSttFlag() { return (mpData->mFlags >> 16) & 0xFFFF; }
virtual u32 getCycle() { return mpData->mCycle; }
virtual u32 getID() { return 0; }
virtual void getPos(JGeometry::TVec3<float>& out) { out = mpData->mPos; };
+6 -1
View File
@@ -23,8 +23,13 @@ class JPACallBackBase2;
enum JPAParticleStatus {
JPAPtclStts_FirstFrame = 0x01,
JPAPtclStts_Delete = 0x02,
JPAPtlcStts_Child = 0x04,
JPAPtclStts_Invisible = 0x08,
JPAPtclStts_UNK_10 = 0x10,
JPAPtclStts_UNK_20 = 0x20,
JPAPtclStts_UNK_40 = 0x40,
JPAPtclStts_UNK_80 = 0x80,
};
// fake name
@@ -72,6 +77,7 @@ public:
void initStatus(u32 flag) { mStatus = flag; }
void setStatus(u32 flag) { mStatus |= flag; }
void clearStatus(u32 flag) { mStatus &= ~flag; }
void setDeleteParticleFlag() { setStatus(JPAPtclStts_Delete); }
bool isInvisibleParticle() { return checkStatus(JPAPtclStts_Invisible); }
void setInvisibleParticleFlag() { setStatus(JPAPtclStts_Invisible); }
@@ -81,7 +87,6 @@ public:
void getWidth() {}
void getHeight() {}
void getLifeTime() const {}
void setDeleteParticleFlag() {}
public:
/* 0x00 */ JSULink<JPABaseParticle> mLink;
+15 -15
View File
@@ -5,7 +5,7 @@
#include "JSystem/JUtility/TColor.h"
struct JPASweepShapeData {
/* 0x00 */ u32 mFlag;
/* 0x00 */ u32 mFlags;
/* 0x04 */ f32 mPosRndm;
/* 0x08 */ f32 mBaseVel;
/* 0x0C */ f32 mBaseVelRndm;
@@ -24,7 +24,7 @@ struct JPASweepShapeData {
/* 0x3C */ JUtility::TColor mPrm;
/* 0x40 */ JUtility::TColor mEnv;
/* 0x44 */ u8 mTextureIndex;
};
}; // Size: 0x48
class JPASweepShape {
public:
@@ -68,10 +68,10 @@ class JPASweepShapeArc : public JPASweepShape {
public:
JPASweepShapeArc(const u8*);
virtual ~JPASweepShapeArc() {};
virtual u8 getType() { return (mpData->mFlag >> 0) & 0x0F; }
virtual u8 getDirType() { return (mpData->mFlag >> 4) & 0x07; }
virtual u8 getRotType() { return (mpData->mFlag >> 7) & 0x07; }
virtual u8 getBasePlaneType() { return (mpData->mFlag >> 10) & 0x01; }
virtual u8 getType() { return (mpData->mFlags >> 0) & 0x0F; }
virtual u8 getDirType() { return (mpData->mFlags >> 4) & 0x07; }
virtual u8 getRotType() { return (mpData->mFlags >> 7) & 0x07; }
virtual u8 getBasePlaneType() { return (mpData->mFlags >> 10) & 0x01; }
virtual s16 getLife() { return mpData->mLife; }
virtual s16 getRate() { return mpData->mRate; }
virtual f32 getTiming() { return mpData->mTiming; }
@@ -81,15 +81,15 @@ public:
virtual f32 getBaseVel() { return mpData->mBaseVel; }
virtual f32 getBaseVelRndm() { return mpData->mBaseVelRndm; }
virtual f32 getGravity() { return mpData->mGravity; }
virtual BOOL isEnableField() { return (mpData->mFlag & 0x00200000); }
virtual BOOL isEnableDrawParent() { return (mpData->mFlag & 0x00080000); }
virtual BOOL isClipOn() { return (mpData->mFlag & 0x00100000); }
virtual BOOL isEnableScaleOut() { return (mpData->mFlag & 0x00400000); }
virtual BOOL isEnableAlphaOut() { return (mpData->mFlag & 0x00800000); }
virtual BOOL isEnableRotate() { return (mpData->mFlag & 0x01000000); }
virtual BOOL isInheritedScale() { return (mpData->mFlag & 0x00010000); }
virtual BOOL isInheritedAlpha() { return (mpData->mFlag & 0x00020000); }
virtual BOOL isInheritedRGB() { return (mpData->mFlag & 0x00040000); }
virtual BOOL isEnableField() { return (mpData->mFlags & 0x00200000); }
virtual BOOL isEnableDrawParent() { return (mpData->mFlags & 0x00080000); }
virtual BOOL isClipOn() { return (mpData->mFlags & 0x00100000); }
virtual BOOL isEnableScaleOut() { return (mpData->mFlags & 0x00400000); }
virtual BOOL isEnableAlphaOut() { return (mpData->mFlags & 0x00800000); }
virtual BOOL isEnableRotate() { return (mpData->mFlags & 0x01000000); }
virtual BOOL isInheritedScale() { return (mpData->mFlags & 0x00010000); }
virtual BOOL isInheritedAlpha() { return (mpData->mFlags & 0x00020000); }
virtual BOOL isInheritedRGB() { return (mpData->mFlags & 0x00040000); }
virtual u8 getTextureIndex() { return mpData->mTextureIndex; }
virtual f32 getScaleX() { return mpData->mScaleX; }
virtual f32 getScaleY() { return mpData->mScaleY; }