diff options
| author | Caroline Madsen <69010899+randomsalience@users.noreply.github.com> | 2025-04-01 22:05:30 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-04-01 19:05:30 -0700 |
| commit | e55c504f28caf0815a0bf7ba31c4014dd8d3d849 (patch) | |
| tree | 83510f9cd7889fa10bbdb5d522093c6977a99036 /src/d/d_particle.cpp | |
| parent | 9847b2a2787b0db8ce931552fa6d99da21ad0873 (diff) | |
d_camera work (#2369)
* bumpCheck matching
* checkGroundInfo matching
* chaseCamera matching
* lockonCamera attempted
* talktoCamera matching
* subjectCamera, magneCamera matching
* colosseumCamera close, plus various fixes
* towerCamera attempted
* hookshotCamera matching
Diffstat (limited to 'src/d/d_particle.cpp')
| -rw-r--r-- | src/d/d_particle.cpp | 89 |
1 files changed, 15 insertions, 74 deletions
diff --git a/src/d/d_particle.cpp b/src/d/d_particle.cpp index 5d75deeb1d..0ddf6401a1 100644 --- a/src/d/d_particle.cpp +++ b/src/d/d_particle.cpp @@ -20,10 +20,10 @@ #include "d/actor/d_a_player.h" #include "SSystem/SComponent/c_math.h" -extern JPAParticleCallBack* JPTracePCB4; +extern dPa_particleTracePcallBack_c JPTracePCB4; /* 80049420-80049580 043D60 0160+00 4/4 0/0 0/0 .text dPa_cleanupGX__Fv */ -static void dPa_cleanupGX() { +void dPa_cleanupGX() { GXSetTevColorOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXSetTevAlphaOp(GX_TEVSTAGE0, GX_TEV_ADD, GX_TB_ZERO, GX_CS_SCALE_1, GX_TRUE, GX_TEVPREV); GXEnableTexOffsets(GX_TEXCOORD0, GX_ENABLE, GX_ENABLE); @@ -47,8 +47,10 @@ static void dPa_cleanupGX() { } /* 803A8308-803A8314 005428 000C+00 1/1 0/0 0/0 .data l_lifeBallColor */ -static u8 l_lifeBallColor[12] = { - 0xEB, 0x20, 0x78, 0xFF, 0x20, 0xF1, 0x9B, 0xFF, 0xEB, 0xD7, 0x2F, 0xFF, +static GXColor l_lifeBallColor[3] = { + {0xEB, 0x20, 0x78, 0xFF}, + {0x20, 0xF1, 0x9B, 0xFF}, + {0xEB, 0xD7, 0x2F, 0xFF}, }; /* 80049580-800495BC 043EC0 003C+00 0/0 1/1 8/8 .text __ct__19dPa_followEcallBackFUcUc */ @@ -969,7 +971,7 @@ void dPa_control_c::level_c::emitter_c::cleanup() { pdVar1 != dPa_control_c::getLight8EcallBack()) { mEmitter->setEmitterCallBackPtr(NULL); JPAParticleCallBack* cb = mEmitter->getParticleCallBackPtr(); - if (cb == JPTracePCB4 || cb == dPa_control_c::getParticleTracePCB()) { + if (cb == &JPTracePCB4 || cb == dPa_control_c::getParticleTracePCB()) { mEmitter->setParticleCallBackPtr(NULL); } } @@ -1154,29 +1156,12 @@ dPa_selectTexEcallBack dPa_control_c::mTsubo[] = { dPa_selectTexEcallBack(7), }; -/* 804247D4-804247E0 0514F4 000C+00 0/1 0/0 0/0 .bss @4731 */ -#pragma push -#pragma force_active on -static u8 lit_4731[12]; -#pragma pop - -/* 804247E0-804247EC 051500 000C+00 0/1 0/0 0/0 .bss @4732 */ -#pragma push -#pragma force_active on -static u8 lit_4732[12]; -#pragma pop - -/* 804247EC-804247F8 05150C 000C+00 0/1 0/0 0/0 .bss @4733 */ -#pragma push -#pragma force_active on -static u8 lit_4733[12]; -#pragma pop - /* 804247F8-80424810 051518 0018+00 0/1 0/0 0/0 .bss mLifeBall__13dPa_control_c */ -#pragma push -#pragma force_active on -u8 dPa_control_c::mLifeBall[24]; -#pragma pop +dPa_setColorEcallBack dPa_control_c::mLifeBall[3] = { + dPa_setColorEcallBack(l_lifeBallColor[0]), + dPa_setColorEcallBack(l_lifeBallColor[1]), + dPa_setColorEcallBack(l_lifeBallColor[2]), +}; /* 80450EA0-80450EA4 0003A0 0004+00 14/14 1/1 0/0 .sbss mEmitterMng__13dPa_control_c */ JPAEmitterManager* dPa_control_c::mEmitterMng; @@ -1211,12 +1196,12 @@ dPa_gen_d_light8PcallBack dPa_control_c::m_d_Light8PcallBack; /* 80450EC4-80450EC8 0003C4 0004+00 1/1 2/2 0/0 .sbss None */ u8 dPa_control_c::mStatus; -/* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */ -dPa_particleTracePcallBack_c dPa_control_c::mParticleTracePCB; - /* 80424870-804248A0 051590 0030+00 1/1 0/0 0/0 .bss mWindViewMatrix__13dPa_control_c */ Mtx dPa_control_c::mWindViewMatrix; +/* 80450EC8-80450ED0 0003C8 0004+04 2/2 1/1 17/17 .sbss mParticleTracePCB__13dPa_control_c */ +dPa_particleTracePcallBack_c dPa_control_c::mParticleTracePCB; + /* 8004BACC-8004BB70 04640C 00A4+00 0/0 1/1 0/0 .text __ct__13dPa_control_cFv */ dPa_control_c::dPa_control_c() { m_resHeap = JKRCreateExpHeap(0x96000, mDoExt_getArchiveHeap(), false); @@ -2408,47 +2393,3 @@ void dPa_particleTracePcallBack_c::execute(JPABaseEmitter* param_0, JPABaseParti param_1->setOffsetPosition(local_24); } } - -/* 80050010-80050014 04A950 0004+00 1/0 0/0 0/0 .text - * setup__22dPa_selectTexEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ -void dPa_selectTexEcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, - csXyz const* param_2, s8 param_3) { - /* empty function */ -} - -/* 80050014-80050038 04A954 0024+00 1/0 0/0 0/0 .text - * drawAfter__18dPa_modelEcallBackFP14JPABaseEmitter */ -void dPa_modelEcallBack::drawAfter(JPABaseEmitter* param_0) { - cleanupModel(param_0); -} - -/* 80050098-800500B8 04A9D8 0020+00 1/0 0/0 0/0 .text - * drawAfter__25dPa_gen_d_light8EcallBackFP14JPABaseEmitter */ -void dPa_gen_d_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { - dPa_cleanupGX(); -} - -/* 8005013C-8005015C 04AA7C 0020+00 1/0 0/0 0/0 .text - * drawAfter__25dPa_gen_b_light8EcallBackFP14JPABaseEmitter */ -void dPa_gen_b_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { - dPa_cleanupGX(); -} - -/* 800501E0-80050200 04AB20 0020+00 1/0 0/0 0/0 .text - * drawAfter__19dPa_light8EcallBackFP14JPABaseEmitter */ -void dPa_light8EcallBack::drawAfter(JPABaseEmitter* param_0) { - dPa_cleanupGX(); -} - -/* 800502B0-800502E0 04ABF0 0030+00 1/0 0/0 0/0 .text - * draw__21dPa_setColorEcallBackFP14JPABaseEmitter */ -void dPa_setColorEcallBack::draw(JPABaseEmitter* param_0) { - GXSetTevColor(GX_TEVREG1, mColor); -} - -/* 800502E0-800502E4 04AC20 0004+00 1/0 0/0 0/0 .text - * setup__21dPa_setColorEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ -void dPa_setColorEcallBack::setup(JPABaseEmitter* param_0, cXyz const* param_1, - csXyz const* param_2, s8 param_3) { - /* empty function */ -} |
