summaryrefslogtreecommitdiff
path: root/include/JSystem/JParticle
diff options
context:
space:
mode:
authorTakaRikka <38417346+TakaRikka@users.noreply.github.com>2022-12-19 11:06:32 -0800
committerGitHub <noreply@github.com>2022-12-19 12:06:32 -0700
commitca71275bbecc7db9a4eeca3a6ac4215b66de4318 (patch)
treec2851f8cec211216fe0cb6a31a0260a62fc3bf53 /include/JSystem/JParticle
parent1114b13da81ab0b52fd4bb56a32f32331a21e581 (diff)
big d_a_alink pass (#214)
* d_a_alink pass1 wip * more d_a_alink work * remove asm * more daalink work * 20% dol code decompiled * fixed some nonmatchings for building * a few daalink functions and labeling some HIO data
Diffstat (limited to 'include/JSystem/JParticle')
-rw-r--r--include/JSystem/JParticle/JPAMath.h4
-rw-r--r--include/JSystem/JParticle/JPAParticle.h4
2 files changed, 7 insertions, 1 deletions
diff --git a/include/JSystem/JParticle/JPAMath.h b/include/JSystem/JParticle/JPAMath.h
index 3c0e94b43c..abad96a07d 100644
--- a/include/JSystem/JParticle/JPAMath.h
+++ b/include/JSystem/JParticle/JPAMath.h
@@ -2,8 +2,10 @@
#define JPAMATH_H
#include "dolphin/mtx/mtx.h"
-#include "dolphin/types.h"
+#include "JSystem/JGeometry.h"
void JPAGetXYZRotateMtx(s16 x, s16 y, s16 z, Mtx dst);
+void JPASetRMtxTVecfromMtx(f32 const (*param_0)[4], f32 (*param_1)[4],
+ JGeometry::TVec3<f32>* param_2);
#endif /* JPAMATH_H */
diff --git a/include/JSystem/JParticle/JPAParticle.h b/include/JSystem/JParticle/JPAParticle.h
index 979d41b3dd..dc4f2127ed 100644
--- a/include/JSystem/JParticle/JPAParticle.h
+++ b/include/JSystem/JParticle/JPAParticle.h
@@ -9,6 +9,7 @@
#include "JSystem/JParticle/JPADynamicsBlock.h"
#include "JSystem/JParticle/JPAResource.h"
+#include "JSystem/JParticle/JPAMath.h"
class JKRHeap;
class JPABaseEmitter;
@@ -205,6 +206,7 @@ public:
enum {
JPAEmtrStts_StopEmit = 0x01,
JPAEmtrStts_StopCalc = 0x02,
+ JPAEmtrStts_StopDraw = 0x04,
JPAEmtrStts_FirstEmit = 0x10,
JPAEmtrStts_RateStepEmit = 0x20,
JPAEmtrStts_Immortal = 0x40,
@@ -234,6 +236,7 @@ public:
u8 getDrawTimes() const { return mDrawTimes; }
void setRate(f32 rate) { mRate = rate; }
void setEmitterCallBackPtr(JPAEmitterCallBack* ptr) { mpEmtrCallBack = ptr; }
+ void setGlobalRTMatrix(const Mtx m) { JPASetRMtxTVecfromMtx(m, mGlobalRot, &mGlobalTrs); }
f32 get_r_f() { return mRndm.get_rndm_f(); }
f32 get_r_zp() { return mRndm.get_rndm_zp(); }
@@ -251,6 +254,7 @@ public:
void quitImmortalEmitter() { clearStatus(JPAEmtrStts_Immortal); }
void stopCalcEmitter() { setStatus(JPAEmtrStts_StopCalc); }
void playCalcEmitter() { clearStatus(JPAEmtrStts_StopCalc); }
+ void stopDrawParticle() { setStatus(JPAEmtrStts_StopDraw); }
public:
/* 0x00 */ Vec mLocalScl;