mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-04 01:03:00 -04:00
JPAEmitter OK
This commit is contained in:
+1
-1
@@ -685,7 +685,7 @@ config.libs = [
|
||||
Object(Matching, "JSystem/JParticle/JPAEmitterLoader.cpp"),
|
||||
Object(Matching, "JSystem/JParticle/JPAMath.cpp"),
|
||||
Object(NonMatching, "JSystem/JParticle/JPAField.cpp"),
|
||||
Object(NonMatching, "JSystem/JParticle/JPAEmitter.cpp"),
|
||||
Object(Matching, "JSystem/JParticle/JPAEmitter.cpp"),
|
||||
Object(Matching, "JSystem/JParticle/JPAParticle.cpp"),
|
||||
Object(NonMatching, "JSystem/JParticle/JPAEmitterManager.cpp"),
|
||||
Object(NonMatching, "JSystem/JParticle/JPADrawVisitor.cpp"),
|
||||
|
||||
@@ -64,14 +64,14 @@ void JPABaseEmitter::calcVolumeCube() {
|
||||
|
||||
/* 8025C63C-8025C8A4 .text calcVolumeSphere__14JPABaseEmitterFv */
|
||||
void JPABaseEmitter::calcVolumeSphere() {
|
||||
/* Nonmatching */
|
||||
s16 x;
|
||||
s16 angle;
|
||||
if (checkEmDataFlag(0x02)) {
|
||||
u16 angleNo = (emtrInfo.mVolumeEmitAngleCount * 0x10000) / emtrInfo.mVolumeEmitAngleMax;
|
||||
x = (u16)((emtrInfo.mVolumeEmitXCount * 0x8000) / (emtrInfo.mDivNumber - 1) + 0x4000);
|
||||
angle = (f32)angleNo * mVolumeSweep + 32768.0f;
|
||||
if (++emtrInfo.mVolumeEmitAngleCount == emtrInfo.mVolumeEmitAngleMax) {
|
||||
emtrInfo.mVolumeEmitAngleCount++;
|
||||
if (emtrInfo.mVolumeEmitAngleCount == emtrInfo.mVolumeEmitAngleMax) {
|
||||
emtrInfo.mVolumeEmitAngleCount = 0;
|
||||
++emtrInfo.mVolumeEmitXCount;
|
||||
if (emtrInfo.mVolumeEmitXCount * 2 < emtrInfo.mDivNumber) {
|
||||
@@ -102,13 +102,15 @@ void JPABaseEmitter::calcVolumeSphere() {
|
||||
|
||||
/* 8025C8A4-8025CA28 .text calcVolumeCylinder__14JPABaseEmitterFv */
|
||||
void JPABaseEmitter::calcVolumeCylinder() {
|
||||
/* Nonmatching */
|
||||
s16 angle = mVolumeSweep * getRandomSS();
|
||||
f32 rad = getRandomF();
|
||||
if (checkEmDataFlag(0x01))
|
||||
rad = 1.0f - rad * rad;
|
||||
rad = emtrInfo.mVolumeSize * (mVolumeMinRad + rad * (1.0f - mVolumeMinRad));
|
||||
|
||||
// Fakematch, needed to force mRandomSeed.value to be reloaded before the third random call
|
||||
*(f32*)NULL = *(f32*)NULL;
|
||||
|
||||
emtrInfo.mVolumePos.set(rad * JMASSin(angle), emtrInfo.mVolumeSize * getRandomRF(), rad * JMASCos(angle));
|
||||
emtrInfo.mVelOmni.mul(emtrInfo.mVolumePos, emtrInfo.mEmitterGlobalScale);
|
||||
emtrInfo.mVelAxis.set(emtrInfo.mVolumePos.x, 0.0f, emtrInfo.mVolumePos.z);
|
||||
@@ -428,7 +430,6 @@ JPABaseParticle * JPABaseEmitter::getPtclFromVacList() {
|
||||
|
||||
/* 8025DBB4-8025DC2C .text doStartFrameProcess__14JPABaseEmitterFv */
|
||||
bool JPABaseEmitter::doStartFrameProcess() {
|
||||
/* Nonmatching */
|
||||
if (mTime.getFrame() >= mStartFrame)
|
||||
return true;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user