summaryrefslogtreecommitdiff
path: root/src/JSystem/JParticle/JPAParticle.cpp
diff options
context:
space:
mode:
authorJasper St. Pierre <jstpierre@mecheye.net>2024-07-14 14:22:05 -0700
committerJasper St. Pierre <jstpierre@mecheye.net>2024-07-14 14:22:05 -0700
commitcf07fee0656a0ff23e3138046b1d1abb4fdfc937 (patch)
tree1230a739348058cb04e74b51adfc7b3ef943284e /src/JSystem/JParticle/JPAParticle.cpp
parent506f199a2d750edecc6807d4189de3fb86cef81d (diff)
JPAParticle work
Diffstat (limited to 'src/JSystem/JParticle/JPAParticle.cpp')
-rw-r--r--src/JSystem/JParticle/JPAParticle.cpp15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/JSystem/JParticle/JPAParticle.cpp b/src/JSystem/JParticle/JPAParticle.cpp
index af3cfa08..35252072 100644
--- a/src/JSystem/JParticle/JPAParticle.cpp
+++ b/src/JSystem/JParticle/JPAParticle.cpp
@@ -38,19 +38,24 @@ void JPABaseParticle::initParticle() {
else
velAxis.zero();
- velDir.zero();
if (emtr->mInitialVelDir != 0.0f) {
Mtx mtx;
- JPAGetYZRotateMtx(emtr->mSpread * emtr->getRandomSS(), emtr->getRandomSS(), mtx);
+ JPAGetYZRotateMtx(emtr->mSpread * emtr->getRandomRF() * 32768.0f, emtr->getRandomSS(), mtx);
MTXConcat(emtrInfo.mEmitterDirMtx, mtx, mtx);
velDir.set(mtx[0][2], mtx[1][2], mtx[2][2]);
velDir.scale(emtr->mInitialVelDir);
+ } else {
+ velDir.zero();
}
- velRndm.zero();
if (emtr->mInitialVelRndm != 0.0f) {
- velRndm.set(emtr->getRandomSF(), emtr->getRandomSF(), emtr->getRandomSF());
- velRndm.scale(emtr->mInitialVelRndm);
+ velRndm.set(
+ emtr->mInitialVelRndm * emtr->getRandomSF(),
+ emtr->mInitialVelRndm * emtr->getRandomSF(),
+ emtr->mInitialVelRndm * emtr->getRandomSF()
+ );
+ } else {
+ velRndm.zero();
}
f32 velRatio = 1.0f + emtr->getRandomRF() * emtr->mInitialVelRatio;