diff options
| author | robojumper <robojumper@gmail.com> | 2026-05-07 21:23:47 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-05-07 21:23:47 +0200 |
| commit | f7b4c029fd5176e817e3de7209727480c445a3d2 (patch) | |
| tree | 9cddc9fa36ec13e7dac76c54d74257c61fe20b47 /src/JSystem/JParticle/JPAFieldBlock.cpp | |
| parent | ddb116187922a3f73ae3c97a136f499b7d724a2c (diff) | |
| parent | f4d163797f3c21e5a705b75043e0a8fbe7dc2460 (diff) | |
Merge pull request #313 from robojumper/vec-mtx-cleanup
Cleanup
Diffstat (limited to 'src/JSystem/JParticle/JPAFieldBlock.cpp')
| -rw-r--r-- | src/JSystem/JParticle/JPAFieldBlock.cpp | 69 |
1 files changed, 14 insertions, 55 deletions
diff --git a/src/JSystem/JParticle/JPAFieldBlock.cpp b/src/JSystem/JParticle/JPAFieldBlock.cpp index da16788e..20da330a 100644 --- a/src/JSystem/JParticle/JPAFieldBlock.cpp +++ b/src/JSystem/JParticle/JPAFieldBlock.cpp @@ -1,16 +1,10 @@ -// -// Generated By: dol2asm -// Translation Unit: JPAFieldBlock -// - #include "egg/core/eggHeap.h" #include "JSystem/JParticle/JPAFieldBlock.h" #include "JSystem/JParticle/JPAEmitter.h" #include "JSystem/JParticle/JPAParticle.h" +#include "JSystem/JUtility/JUTAssert.h" #include "egg/math/eggVector.h" -/* 8027BDEC-8027BF18 27672C 012C+00 8/8 0/0 0/0 .text - * calcAffect__12JPAFieldBaseFP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldBase::calcAffect(JPAFieldBlock* block, JPABaseParticle* ptcl) { EGG::Vector3f vec = mAccel; if (!ptcl->checkStatus(4) && block->checkStatus(0x78)) { @@ -30,8 +24,6 @@ void JPAFieldBase::calcAffect(JPAFieldBlock* block, JPABaseParticle* ptcl) { } } -/* 8027BF18-8027BFB4 276858 009C+00 2/2 0/0 0/0 .text - * calcFadeAffect__12JPAFieldBaseCFP13JPAFieldBlockf */ f32 JPAFieldBase::calcFadeAffect(JPAFieldBlock* block, f32 time) const { f32 fade = 1.0f; if ((block->checkStatus(8) && time < block->getEnTime()) @@ -46,8 +38,6 @@ f32 JPAFieldBase::calcFadeAffect(JPAFieldBlock* block, f32 time) const { return fade; } -/* 8027BFB4-8027C054 2768F4 00A0+00 1/0 0/0 0/0 .text - * prepare__15JPAFieldGravityFP18JPAEmitterWorkDataP13JPAFieldBlock */ void JPAFieldGravity::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { if (block->checkStatus(2)) { mAccel = block->getMag() * block->getDir(); @@ -57,14 +47,10 @@ void JPAFieldGravity::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { } } -/* 8027C054-8027C07C 276994 0028+00 1/0 0/0 0/0 .text - * calc__15JPAFieldGravityFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldGravity::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { calcAffect(block, ptcl); } -/* 8027C07C-8027C1B8 2769BC 013C+00 1/0 0/0 0/0 .text - * prepare__11JPAFieldAirFP18JPAEmitterWorkDataP13JPAFieldBlock */ void JPAFieldAir::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { EGG::Vector3f vec = block->getDir(); vec.normalise(); @@ -76,8 +62,6 @@ void JPAFieldAir::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { } } -/* 8027C1B8-8027C24C 276AF8 0094+00 1/0 0/0 0/0 .text - * calc__11JPAFieldAirFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldAir::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { calcAffect(block, ptcl); if (block->checkStatus(4)) { @@ -88,31 +72,23 @@ void JPAFieldAir::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABasePa } } -/* 8027C24C-8027C29C 276B8C 0050+00 1/0 0/0 0/0 .text - * prepare__14JPAFieldMagnetFP18JPAEmitterWorkDataP13JPAFieldBlock */ void JPAFieldMagnet::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { mDir = block->getPos() - work->mEmitterPos; MTXMultVecSR(work->mRotationMtx, mDir, mDir); } -/* 8027C29C-8027C36C 276BDC 00D0+00 1/0 0/0 0/0 .text - * calc__14JPAFieldMagnetFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldMagnet::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { mAccel = mDir - ptcl->mLocalPosition; mAccel.setLength(block->getMag()); calcAffect(block, ptcl); } -/* 8027C36C-8027C3E0 276CAC 0074+00 1/0 0/0 0/0 .text - * prepare__14JPAFieldNewtonFP18JPAEmitterWorkDataP13JPAFieldBlock */ void JPAFieldNewton::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { mDir = block->getPos() - work->mEmitterPos; MTXMultVecSR(work->mRotationMtx, mDir, mDir); mCutoff = block->getVal1() * block->getVal1(); } -/* 8027C3E0-8027C56C 276D20 018C+00 1/0 0/0 0/0 .text - * calc__14JPAFieldNewtonFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldNewton::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { mAccel = mDir - ptcl->mLocalPosition; f32 len_sq = mAccel.squaredLength(); @@ -124,17 +100,13 @@ void JPAFieldNewton::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABas calcAffect(block, ptcl); } -/* 8027C56C-8027C674 276EAC 0108+00 1/0 0/0 0/0 .text - * prepare__14JPAFieldVortexFP18JPAEmitterWorkDataP13JPAFieldBlock */ void JPAFieldVortex::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { - PSMTXMultVecSR(work->mGlobalRot, block->getDir(), field_0x10); + MTXMultVecSR(work->mGlobalRot, block->getDir(), field_0x10); field_0x10.normalise(); field_0x1c = block->getPos().z * block->getPos().z; field_0x20 = 1.0f / field_0x1c; } -/* 8027C674-8027C814 276FB4 01A0+00 1/0 0/0 0/0 .text - * calc__14JPAFieldVortexFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldVortex::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { EGG::Vector3f vec; vec = field_0x10.dot(ptcl->mLocalPosition) * field_0x10; @@ -152,8 +124,6 @@ void JPAFieldVortex::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABas calcAffect(block, ptcl); } -/* 8027C814-8027CA94 277154 0280+00 1/0 0/0 0/0 .text - * prepare__18JPAFieldConvectionFP18JPAEmitterWorkDataP13JPAFieldBlock */ void JPAFieldConvection::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { EGG::Vector3f vec1, vec2; vec2 = block->getPos().cross(block->getDir()); @@ -166,8 +136,6 @@ void JPAFieldConvection::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) field_0x28.normalise(); } -/* 8027CA94-8027CCCC 2773D4 0238+00 1/0 0/0 0/0 .text - * calc__18JPAFieldConvectionFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldConvection::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { EGG::Vector3f vec1, vec2, vec3; @@ -182,8 +150,6 @@ void JPAFieldConvection::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, calcAffect(block, ptcl); } -/* 8027CCCC-8027CDE4 27760C 0118+00 1/0 0/0 0/0 .text - * calc__14JPAFieldRandomFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldRandom::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { if (ptcl->mAge == 0 || (block->getCycle() != 0 && ptcl->mAge % block->getCycle() == 0)) { JPABaseEmitter* emtr = work->mpEmtr; @@ -193,8 +159,6 @@ void JPAFieldRandom::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABas } } -/* 8027CDE4-8027CE64 277724 0080+00 1/0 0/0 0/0 .text - * calc__12JPAFieldDragFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldDrag::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { if (!ptcl->checkStatus(4)) { f32 fade = calcFadeAffect(block, ptcl->mTime); @@ -204,8 +168,6 @@ void JPAFieldDrag::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseP } } -/* 8027CE64-8027CFA8 2777A4 0144+00 1/0 0/0 0/0 .text - * prepare__12JPAFieldSpinFP18JPAEmitterWorkDataP13JPAFieldBlock */ void JPAFieldSpin::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { EGG::Vector3f axis; MTXMultVecSR(work->mGlobalRot, block->getDir(), axis); @@ -217,8 +179,6 @@ void JPAFieldSpin::prepare(JPAEmitterWorkData* work, JPAFieldBlock* block) { field_0x28.set(mtx[0][2], mtx[1][2], mtx[2][2]); } -/* 8027CFA8-8027D088 2778E8 00E0+00 1/0 0/0 0/0 .text - * calc__12JPAFieldSpinFP18JPAEmitterWorkDataP13JPAFieldBlockP15JPABaseParticle */ void JPAFieldSpin::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseParticle* ptcl) { Mtx mtx; mtx[0][0] = field_0x10.x; @@ -238,14 +198,11 @@ void JPAFieldSpin::calc(JPAEmitterWorkData* work, JPAFieldBlock* block, JPABaseP calcAffect(block, ptcl); } -/* 8027D088-8027D0C0 2779C8 0038+00 0/0 1/1 0/0 .text __ct__13JPAFieldBlockFPCUcP7JKRHeap - */ JPAFieldBlock::JPAFieldBlock(u8 const* data, EGG::Heap* heap) : mpData((const JPAFieldBlockData*)data) { init(heap); } -/* 8027D0C0-8027D3AC 277A00 02EC+00 2/1 0/0 0/0 .text init__13JPAFieldBlockFP7JKRHeap */ void JPAFieldBlock::init(EGG::Heap* heap) { mFadeInRate = getFadeInTime() - getEnTime(); if (mFadeInRate == 0.0f) { @@ -267,34 +224,36 @@ void JPAFieldBlock::init(EGG::Heap* heap) { switch (getType()) { case FIELD_GRAVITY: - mpField = new (heap, 4) JPAFieldGravity(); + pFld = new (heap) JPAFieldGravity(); break; case FIELD_AIR: - mpField = new (heap, 4) JPAFieldAir(); + pFld = new (heap) JPAFieldAir(); break; case FIELD_MAGNET: - mpField = new (heap, 4) JPAFieldMagnet(); + pFld = new (heap) JPAFieldMagnet(); break; case FIELD_NEWTON: - mpField = new (heap, 4) JPAFieldNewton(); + pFld = new (heap) JPAFieldNewton(); break; case FIELD_VORTEX: - mpField = new (heap, 4) JPAFieldVortex(); + pFld = new (heap) JPAFieldVortex(); break; case FIELD_RANDOM: - mpField = new (heap, 4) JPAFieldRandom(); + pFld = new (heap) JPAFieldRandom(); break; case FIELD_DRAG: - mpField = new (heap, 4) JPAFieldDrag(); + pFld = new (heap) JPAFieldDrag(); break; case FIELD_CONVECTION: - mpField = new (heap, 4) JPAFieldConvection(); + pFld = new (heap) JPAFieldConvection(); break; case FIELD_SPIN: - mpField = new (heap, 4) JPAFieldSpin(); + pFld = new (heap) JPAFieldSpin(); break; default: - mpField = NULL; + pFld = NULL; + JUT_WARN(483, "JPA : WRONG ID (%d) in field data\n", getType()); break; } + JUT_ASSERT(485, pFld != 0); } |
