diff options
| author | robojumper <robojumper@gmail.com> | 2026-05-07 21:13:24 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2026-05-07 21:13:24 +0200 |
| commit | f4d163797f3c21e5a705b75043e0a8fbe7dc2460 (patch) | |
| tree | 9cddc9fa36ec13e7dac76c54d74257c61fe20b47 /src/JSystem/JParticle/JPAExtraShape.cpp | |
| parent | d8744e1f34e9955d55a5605f939bdf0bf9d8a729 (diff) | |
Re-import JParticle
Diffstat (limited to 'src/JSystem/JParticle/JPAExtraShape.cpp')
| -rw-r--r-- | src/JSystem/JParticle/JPAExtraShape.cpp | 40 |
1 files changed, 5 insertions, 35 deletions
diff --git a/src/JSystem/JParticle/JPAExtraShape.cpp b/src/JSystem/JParticle/JPAExtraShape.cpp index ca825d31..3e565e57 100644 --- a/src/JSystem/JParticle/JPAExtraShape.cpp +++ b/src/JSystem/JParticle/JPAExtraShape.cpp @@ -1,15 +1,8 @@ -// -// Generated By: dol2asm -// Translation Unit: JPAExtraShape -// - #include "JSystem/JParticle/JPAExtraShape.h" #include "JSystem/JParticle/JPAParticle.h" #include "JSystem/JParticle/JPAEmitter.h" #include "nw4r/math/math_triangular.h" -/* 8027A918-8027A990 275258 0078+00 0/0 1/1 0/0 .text - * JPACalcScaleX__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); if (work->mScaleAnm < esp->getScaleInTiming()) { @@ -24,8 +17,6 @@ void JPACalcScaleX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { } } -/* 8027A990-8027AA08 2752D0 0078+00 0/0 1/1 0/0 .text - * JPACalcScaleY__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); if (work->mScaleAnm < esp->getScaleInTiming()) { @@ -40,57 +31,41 @@ void JPACalcScaleY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { } } -/* 8027AA08-8027AA14 275348 000C+00 0/0 1/1 0/0 .text - * JPACalcScaleCopy__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleCopy(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { - JPAExtraShape* esp = work->mpRes->getEsp(); ptcl->mParticleScaleY = ptcl->mParticleScaleX; } -/* 8027AA14-8027AA20 275354 000C+00 0/0 1/1 0/0 .text - * JPACalcScaleAnmNormal__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleAnmNormal(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { work->mScaleAnm = ptcl->mTime; } -/* 8027AA20-8027AA84 275360 0064+00 0/0 1/1 0/0 .text - * JPACalcScaleAnmRepeatX__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleAnmRepeatX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); work->mScaleAnm = (ptcl->mAge % esp->getScaleAnmCycleX()) / (f32)esp->getScaleAnmCycleX(); } -/* 8027AA84-8027AAE8 2753C4 0064+00 0/0 1/1 0/0 .text - * JPACalcScaleAnmRepeatY__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleAnmRepeatY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); work->mScaleAnm = (ptcl->mAge % esp->getScaleAnmCycleY()) / (f32)esp->getScaleAnmCycleY(); } -/* 8027AAE8-8027AB7C 275428 0094+00 0/0 1/1 0/0 .text - * JPACalcScaleAnmReverseX__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleAnmReverseX(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); f32 cycle = ptcl->mAge / esp->getScaleAnmCycleX() & 1; f32 base = (ptcl->mAge % esp->getScaleAnmCycleX()) / (f32)esp->getScaleAnmCycleX(); - work->mScaleAnm = base + (cycle * (1.0f - base * 2.0f)); + work->mScaleAnm = base + cycle * (1.0f - base * 2.0f); } -/* 8027AB7C-8027AC10 2754BC 0094+00 0/0 1/1 0/0 .text - * JPACalcScaleAnmReverseY__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcScaleAnmReverseY(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); f32 cycle = ptcl->mAge / esp->getScaleAnmCycleY() & 1; f32 base = (ptcl->mAge % esp->getScaleAnmCycleY()) / (f32)esp->getScaleAnmCycleY(); - work->mScaleAnm = base + (cycle * (1.0f - base * 2.0f)); + work->mScaleAnm = base + cycle * (1.0f - base * 2.0f); } -/* 8027AC10-8027AC98 275550 0088+00 0/0 1/1 0/0 .text - * JPACalcAlphaAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcAlphaAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { - 0.0f; // float order JPAExtraShape* esp = work->mpRes->getEsp(); - f32 alpha; + f32 alpha = 0.0f; if (ptcl->mTime < esp->getAlphaInTiming()) { alpha = 255.0f * (esp->getAlphaInValue() + esp->getAlphaIncRate() * ptcl->mTime); } else if (ptcl->mTime > esp->getAlphaOutTiming()) { @@ -102,11 +77,9 @@ void JPACalcAlphaAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { OSf32tou8(&alpha, &ptcl->mPrmColorAlphaAnm); } -/* 8027AC98-8027AD88 2755D8 00F0+00 0/0 1/1 0/0 .text - * JPACalcAlphaFlickAnm__FP18JPAEmitterWorkDataP15JPABaseParticle */ void JPACalcAlphaFlickAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { JPAExtraShape* esp = work->mpRes->getEsp(); - f32 alpha; + f32 alpha = 0.0f; if (ptcl->mTime < esp->getAlphaInTiming()) { alpha = (esp->getAlphaInValue() + esp->getAlphaIncRate() * ptcl->mTime); } else if (ptcl->mTime > esp->getAlphaOutTiming()) { @@ -115,19 +88,16 @@ void JPACalcAlphaFlickAnm(JPAEmitterWorkData* work, JPABaseParticle* ptcl) { } else { alpha = esp->getAlphaBaseValue(); } - s32 theta = ptcl->mAlphaWaveRandom * ptcl->mAge * 16384.0f * (1.0f - esp->getAlphaFreq()); - f32 wave = nw4r::math::SinIdx(theta); + f32 wave = nw4r::math::SinIdx(ptcl->mAlphaWaveRandom * ptcl->mAge * 16384.0f * (1.0f - esp->getAlphaFreq())); alpha *= (1.0f + esp->getAlphaAmp() * (wave - 1.0f) * 0.5f) * 255.0f; OSf32tou8(&alpha, &ptcl->mPrmColorAlphaAnm); } -/* 8027AD88-8027ADBC 2756C8 0034+00 0/0 1/1 0/0 .text __ct__13JPAExtraShapeFPCUc */ JPAExtraShape::JPAExtraShape(u8 const* data) { mpData = (const JPAExtraShapeData*)data; init(); } -/* 8027ADBC-8027AEBC 2756FC 0100+00 1/1 0/0 0/0 .text init__13JPAExtraShapeFv */ void JPAExtraShape::init() { mAlphaIncRate = (getAlphaInTiming() != 0.0f) ? (getAlphaBaseValue() - getAlphaInValue()) / getAlphaInTiming() : |
