summaryrefslogtreecommitdiff
path: root/include/JSystem/JParticle
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-10-03 15:26:26 -0700
committerGitHub <noreply@github.com>2022-10-03 18:26:26 -0400
commit4913395dbd1a33d794028ceb82579b4baffe954d (patch)
treefde72809184e4365eae205b26b14d5fee5698dcd /include/JSystem/JParticle
parent03094905214e54b97414be8e6049abe491f3ff16 (diff)
d_camera / m_Do_ext / d_particle + minor various wip (#210)
Diffstat (limited to 'include/JSystem/JParticle')
-rw-r--r--include/JSystem/JParticle/JPAParticle.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h
index 91b256d6a8..979d41b3dd 100644
--- a/include/JSystem/JParticle/JPAParticle.h
+++ b/include/JSystem/JParticle/JPAParticle.h
@@ -207,6 +207,7 @@ enum {
JPAEmtrStts_StopCalc = 0x02,
JPAEmtrStts_FirstEmit = 0x10,
JPAEmtrStts_RateStepEmit = 0x20,
+ JPAEmtrStts_Immortal = 0x40,
};
class JPABaseEmitter {
@@ -232,12 +233,25 @@ public:
u8 getGroupID() const { return mGroupID; }
u8 getDrawTimes() const { return mDrawTimes; }
void setRate(f32 rate) { mRate = rate; }
+ void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; }
f32 get_r_f() { return mRndm.get_rndm_f(); }
f32 get_r_zp() { return mRndm.get_rndm_zp(); }
f32 get_r_zh() { return mRndm.get_rndm_zh(); }
s16 get_r_ss() { return mRndm.get_rndm_ss(); }
+ void stopCreateParticle() { setStatus(JPAEmtrStts_StopEmit); }
+ void becomeImmortalEmitter() { setStatus(JPAEmtrStts_Immortal); }
+ void becomeContinuousParticle() { mMaxFrame = 0; }
+ void becomeInvalidEmitter() {
+ stopCreateParticle();
+ mMaxFrame = 1;
+ }
+
+ void quitImmortalEmitter() { clearStatus(JPAEmtrStts_Immortal); }
+ void stopCalcEmitter() { setStatus(JPAEmtrStts_StopCalc); }
+ void playCalcEmitter() { clearStatus(JPAEmtrStts_StopCalc); }
+
public:
/* 0x00 */ Vec mLocalScl;
/* 0x0C */ Vec mLocalTrs;