diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 8903d103a..2667d4f6a 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -1783,59 +1783,103 @@ inline void* dComIfG_getObjectIDRes(const char* arcName, u16 id) { void set(u8, u16, cXyz const*, csXyz const*, cXyz const*, u8, dPa_levelEcallBack*, s8, GXColor const*, GXColor const*, cXyz const*); -inline JPABaseEmitter* dComIfGp_particle_set(u16 particleID, const cXyz* pos, const csXyz* angle, - const cXyz* scale, u8 alpha, - dPa_levelEcallBack* pCallBack, s8 setupInfo, - const GXColor* pPrmColor, const GXColor* pEnvColor, - const cXyz* pScale2D) { +inline JPABaseEmitter* dComIfGp_particle_set(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); return pParticle->setNormal(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } -inline JPABaseEmitter* dComIfGp_particle_setP1(u16 particleID, const cXyz* pos, const csXyz* angle, - const cXyz* scale, u8 alpha, - dPa_levelEcallBack* pCallBack, s8 setupInfo, - const GXColor* pPrmColor, const GXColor* pEnvColor, - const cXyz* pScale2D) { +inline JPABaseEmitter* dComIfGp_particle_setP1(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); return pParticle->setNormalP1(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } inline JPABaseEmitter* dComIfGp_particle_setToon(u16 particleID, const cXyz* pos, - const csXyz* angle, const cXyz* scale, u8 alpha, - dPa_levelEcallBack* pCallBack, s8 setupInfo, - const GXColor* pPrmColor, const GXColor* pEnvColor, - const cXyz* pScale2D) { + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); return pParticle->setToon(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } inline JPABaseEmitter* dComIfGp_particle_setToonP1(u16 particleID, const cXyz* pos, - const csXyz* angle, const cXyz* scale, u8 alpha, - dPa_levelEcallBack* pCallBack, s8 setupInfo, - const GXColor* pPrmColor, const GXColor* pEnvColor, - const cXyz* pScale2D) { + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); return pParticle->setToonP1(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } -inline JPABaseEmitter* dComIfGp_particle_setProjection(u16 particleID, const cXyz* pos, const csXyz* angle, - const cXyz* scale, u8 alpha, - dPa_levelEcallBack* pCallBack, s8 setupInfo, - const GXColor* pPrmColor, const GXColor* pEnvColor, - const cXyz* pScale2D) { +inline JPABaseEmitter* dComIfGp_particle_setProjection(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); return pParticle->setProjection(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } -inline JPABaseEmitter* dComIfGp_particle_set(u16 particleID, const cXyz* pos, const csXyz* angle, - const cXyz* scale) { - return dComIfGp_particle_set(particleID, pos, angle, scale, 0xFF, NULL, -1, NULL, NULL, NULL); +inline JPABaseEmitter* dComIfGp_particle_setShipTail(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { + dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); + return pParticle->setShipTail(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, + pPrmColor, pEnvColor, pScale2D); +} + +inline JPABaseEmitter* dComIfGp_particle_set2Dfore(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { + dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); + return pParticle->set2Dfore(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, + pPrmColor, pEnvColor, pScale2D); +} + +inline JPABaseEmitter* dComIfGp_particle_set2Dback(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { + dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); + return pParticle->set2Dback(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, + pPrmColor, pEnvColor, pScale2D); +} + +inline JPABaseEmitter* dComIfGp_particle_set2DmenuFore(u16 particleID, const cXyz* pos, + const csXyz* angle = NULL, const cXyz* scale = NULL, + u8 alpha = 0xFF, dPa_levelEcallBack* pCallBack = NULL, + s8 setupInfo = -1, const GXColor* pPrmColor = NULL, + const GXColor* pEnvColor = NULL, + const cXyz* pScale2D = NULL) { + dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); + return pParticle->set2DmenuFore(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, + pPrmColor, pEnvColor, pScale2D); } inline void dComIfGp_particle_setStripes(u16 particleID, cXyz* pos, csXyz* angle, cXyz* scale, u8 param_4, u16 param_5) { diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 9d0d2df4c..7fe8c1182 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -394,6 +394,30 @@ public: const cXyz* pScale2D) { return set(4, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } + JPABaseEmitter* setShipTail(u16 particleID, const cXyz* pos, const csXyz* angle, + const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack, + s8 setupInfo, const GXColor* pPrmColor, const GXColor* pEnvColor, + const cXyz* pScale2D) { + return set(5, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); + } + JPABaseEmitter* set2Dfore(u16 particleID, const cXyz* pos, const csXyz* angle, + const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack, + s8 setupInfo, const GXColor* pPrmColor, const GXColor* pEnvColor, + const cXyz* pScale2D) { + return set(7, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); + } + JPABaseEmitter* set2Dback(u16 particleID, const cXyz* pos, const csXyz* angle, + const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack, + s8 setupInfo, const GXColor* pPrmColor, const GXColor* pEnvColor, + const cXyz* pScale2D) { + return set(8, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); + } + JPABaseEmitter* set2DmenuFore(u16 particleID, const cXyz* pos, const csXyz* angle, + const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack, + s8 setupInfo, const GXColor* pPrmColor, const GXColor* pEnvColor, + const cXyz* pScale2D) { + return set(9, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); + } void drawModelParticle() { mModelCtrl->draw(); } diff --git a/src/c/c_damagereaction.cpp b/src/c/c_damagereaction.cpp index 6f8b5b35a..bc74390f8 100644 --- a/src/c/c_damagereaction.cpp +++ b/src/c/c_damagereaction.cpp @@ -119,7 +119,7 @@ BOOL enemy_ice(enemyice* ei) { if (ei->mLightShrinkTimer == 1) { ei->mLightShrinkTimer++; - dComIfGp_particle_set(0x272, &pos, NULL, &particleScale, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_set(0x272, &pos, NULL, &particleScale); ac->mTevStr.mFogColor.b = 0xFF; ac->mTevStr.mFogColor.g = 0xFF; ac->mTevStr.mFogColor.r = 0xFF; @@ -211,7 +211,7 @@ BOOL enemy_ice(enemyice* ei) { particleScale.setAll(ei->mParticleScale); pos = ac->current.pos; pos.y += ei->mYOffset; - dComIfGp_particle_set(0x274, &pos, NULL, &particleScale, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_set(0x274, &pos, NULL, &particleScale); } else { return FALSE; } @@ -315,15 +315,15 @@ BOOL enemy_ice(enemyice* ei) { particleScale.setAll(ei->mParticleScale); pos = ac->current.pos; pos.y += ei->mYOffset; - dComIfGp_particle_set(0x273, &pos, NULL, &particleScale, 0xFF, NULL, -1, NULL, NULL, NULL); - dComIfGp_particle_set(0x274, &pos, NULL, &particleScale, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_set(0x273, &pos, NULL, &particleScale); + dComIfGp_particle_set(0x274, &pos, NULL, &particleScale); if (ei->mFreezeTimer == -2) { // Skull Hammer shattered. - dComIfGp_particle_set(0x10, &pos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_set(0x10, &pos); csXyz temp14(0, fopAcM_searchPlayerAngleY(ac), 0); particleScale.setAll(2.0f); - dComIfGp_particle_set(0xD, &pos, &temp14, &particleScale, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_set(0xD, &pos, &temp14, &particleScale); dScnPly_ply_c::setPauseTimer(8); } @@ -366,7 +366,7 @@ BOOL enemy_ice(enemyice* ei) { particleScale.setAll(ei->mParticleScale); pos = ac->current.pos; pos.y += ei->mYOffset; - dComIfGp_particle_set(0x277, &pos, NULL, &particleScale, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_set(0x277, &pos, NULL, &particleScale); fopAcM_seStart(ac, JA_SE_CM_ICE_RECOVER, 0); } } @@ -448,7 +448,7 @@ void enemy_fire(enemyfire* ef) { } cXyz scale2; scale2.setAll(ef->m01C[i]); - ef->mpFireEmitters[i] = dComIfGp_particle_set(0x3F1, &ac->current.pos, NULL, &scale2, 0xFF, NULL, -1, NULL, NULL, NULL); + ef->mpFireEmitters[i] = dComIfGp_particle_set(0x3F1, &ac->current.pos, NULL, &scale2); ef->m044[i] = ef->m008 - (s16)cM_rndF(60.0f); if (ef->m044[i] < 10) { ef->m044[i] = 10; @@ -573,7 +573,7 @@ void enemy_fire_remove(enemyfire* ef) { /* 8001D428-8001D48C .text enemy_piyo_set__FP10fopAc_ac_c */ void enemy_piyo_set(fopAc_ac_c* enemy) { // Creates the rotating stars particle for when an enemy is stunned. - dComIfGp_particle_set(0x27A, &enemy->mAttentionInfo.mPosition, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_set(0x27A, &enemy->mAttentionInfo.mPosition); } /* 8001D48C-8001D890 .text wall_angle_get__FP10fopAc_ac_cs */ diff --git a/src/d/actor/d_a_agb.cpp b/src/d/actor/d_a_agb.cpp index 8b6594686..44fc4b656 100644 --- a/src/d/actor/d_a_agb.cpp +++ b/src/d/actor/d_a_agb.cpp @@ -349,8 +349,7 @@ int daAgb_c::uploadMessageSend() { field_0x664 = 60; dComIfGs_onEventBit(0x1A20); - dComIfGp_particle_set(0x2E7, ¤t.pos, NULL, NULL, 255, &field_0x684, -1, NULL, - NULL, NULL); + dComIfGp_particle_set(0x2E7, ¤t.pos, NULL, NULL, 255, &field_0x684); JKRHeap::free(l_gbaCommand->getMemAddress(), NULL); delete l_gbaCommand; diff --git a/src/d/actor/d_a_am.cpp b/src/d/actor/d_a_am.cpp index 0ad98be9b..8145a7ecd 100644 --- a/src/d/actor/d_a_am.cpp +++ b/src/d/actor/d_a_am.cpp @@ -313,9 +313,9 @@ static BOOL medama_atari_check(am_class* i_this) { cc_at_check(i_this, &atInfo); i_this->mMaxHealth = 10; i_this->mHealth = 10; - dComIfGp_particle_set(0x27B, &i_this->mAttentionInfo.mPosition, NULL, NULL); + dComIfGp_particle_set(0x27B, &i_this->mAttentionInfo.mPosition); } else { - dComIfGp_particle_set(0xC, &hitPos, NULL, NULL); + dComIfGp_particle_set(0xC, &hitPos); } fopAcM_seStart(i_this, JA_SE_LK_MS_WEP_HIT, 0x42); } @@ -355,7 +355,7 @@ static BOOL medama_atari_check(am_class* i_this) { i_this->mAction = ACTION_DOUSA; i_this->mState = 2; } else { - dComIfGp_particle_set(0x10, &i_this->mEyeballPos, &player->shape_angle, NULL); + dComIfGp_particle_set(0x10, &i_this->mEyeballPos, &player->shape_angle); // fopAcM_seStart(i_this, JA_SE_CM_AM_EYE_DAMAGE, 0); mDoAud_seStart(JA_SE_CM_AM_EYE_DAMAGE, &i_this->mEyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); fopAcM_monsSeStart(i_this, JA_SE_CV_AM_EYE_DAMAGE, 0x42); @@ -364,7 +364,7 @@ static BOOL medama_atari_check(am_class* i_this) { } break; default: - dComIfGp_particle_set(0xC, &hitPos, NULL, NULL); + dComIfGp_particle_set(0xC, &hitPos); fopAcM_seStart(i_this, JA_SE_LK_MS_WEP_HIT, 0x42); break; } @@ -670,7 +670,7 @@ static void action_dousa(am_class* i_this) { i_this->mSmokeCbs[0].end(); dComIfGp_particle_setToon( 0xA125, &i_this->mWaistPos, &i_this->shape_angle, NULL, - 0xB9, &i_this->mSmokeCbs[0], fopAcM_GetRoomNo(i_this), NULL, NULL, NULL + 0xB9, &i_this->mSmokeCbs[0], fopAcM_GetRoomNo(i_this) ); dComIfGp_getVibration().StartShock(3, -0x21, cXyz(0.0f, 1.0f, 0.0f)); i_this->speedF = 0.0f; @@ -700,7 +700,7 @@ static void action_dousa(am_class* i_this) { if (i_this->mSmokeCbs[2].getEmitter() == NULL) { dComIfGp_particle_setToon( 0xA154, &i_this->mWaistPos, &i_this->shape_angle, NULL, - 0xB9, &i_this->mSmokeCbs[2], fopAcM_GetRoomNo(i_this), NULL, NULL, NULL + 0xB9, &i_this->mSmokeCbs[2], fopAcM_GetRoomNo(i_this) ); } i_this->mState = 8; @@ -773,7 +773,7 @@ static void action_modoru_move(am_class* i_this) { i_this->mSmokeCbs[0].end(); dComIfGp_particle_setToon( 0xA125, &i_this->mWaistPos, &i_this->shape_angle, NULL, - 0xB9, &i_this->mSmokeCbs[0], fopAcM_GetRoomNo(i_this), NULL, NULL, NULL + 0xB9, &i_this->mSmokeCbs[0], fopAcM_GetRoomNo(i_this) ); dComIfGp_getVibration().StartShock(1, -0x21, cXyz(0.0f, 1.0f, 0.0f)); @@ -903,7 +903,7 @@ static void action_itai_move(am_class* i_this) { i_this->mStts.SetWeight(0xFF); dComIfGp_particle_setToon( 0xA155, &i_this->mJawPos, &i_this->shape_angle, NULL, - 0xB9, &i_this->mSmokeCbs[3], fopAcM_GetRoomNo(i_this), NULL, NULL, NULL + 0xB9, &i_this->mSmokeCbs[3], fopAcM_GetRoomNo(i_this) ); fopAcM_seStart(i_this, JA_SE_CM_AM_MOUTH_CLOSE, 0); anm_init(i_this, AM_BCK_BOM_NOMI, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, -1); @@ -928,16 +928,10 @@ static void action_itai_move(am_class* i_this) { i_this->mNeedleCyl.OnAtHitBit(); dComIfGp_particle_setToon( 0xA126, &i_this->mJawPos, &i_this->shape_angle, NULL, - 0xB9, &i_this->mSmokeCbs[1], fopAcM_GetRoomNo(i_this), NULL, NULL, NULL - ); - i_this->m033C = dComIfGp_particle_set( - 0x8157, &i_this->mJawPos, NULL, NULL, - 0xFF, NULL, -1, NULL, NULL, NULL - ); - i_this->m0340 = dComIfGp_particle_set( - 0x8156, &i_this->mJawPos, NULL, NULL, - 0xFF, NULL, -1, NULL, NULL, NULL + 0xB9, &i_this->mSmokeCbs[1], fopAcM_GetRoomNo(i_this) ); + i_this->m033C = dComIfGp_particle_set(0x8157, &i_this->mJawPos); + i_this->m0340 = dComIfGp_particle_set(0x8156, &i_this->mJawPos); } // Using the mDoExt_McaMorf::isStop inline causes regswap. @@ -962,7 +956,7 @@ static void action_itai_move(am_class* i_this) { mDoAud_seStart(JA_SE_CM_AM_JUMP, &i_this->mEyePos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(i_this))); dComIfGp_particle_setToon( 0xA125, &i_this->mWaistPos, &i_this->shape_angle, NULL, - 0xB9, &i_this->mSmokeCbs[0], fopAcM_GetRoomNo(i_this), NULL, NULL, NULL + 0xB9, &i_this->mSmokeCbs[0], fopAcM_GetRoomNo(i_this) ); dComIfGp_getVibration().StartShock(1, -0x21, cXyz(0.0f, 1.0f, 0.0f)); // The fopAcM_seStart inline makes the codegen not match. @@ -978,14 +972,8 @@ static void action_itai_move(am_class* i_this) { break; } anm_init(i_this, AM_BCK_DEAD, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, -1); - dComIfGp_particle_set( - 0x8127, &i_this->mWaistPos, NULL, NULL, - 0xFF, NULL, -1, NULL, NULL, NULL - ); - dComIfGp_particle_set( - 0x8128, &i_this->mWaistPos, NULL, NULL, - 0xFF, NULL, -1, NULL, NULL, NULL - ); + dComIfGp_particle_set(0x8127, &i_this->mWaistPos); + dComIfGp_particle_set(0x8128, &i_this->mWaistPos); // The fopAcM_seStart inline makes the codegen not match. // fopAcM_seStart(i_this, JA_SE_CM_AM_BEF_EXPLODE, 0); @@ -1087,8 +1075,8 @@ static BOOL daAM_Execute(am_class* i_this) { if (i_this->mAction != ACTION_ITAI_MOVE && i_this->mSpawnPosY - 1500.0f > i_this->current.pos.y) { anm_init(i_this, AM_BCK_DEAD, 1.0f, J3DFrameCtrl::LOOP_ONCE_e, 1.0f, -1); - dComIfGp_particle_set(0x8127, &i_this->mWaistPos, NULL, NULL); - dComIfGp_particle_set(0x8128, &i_this->mWaistPos, NULL, NULL); + dComIfGp_particle_set(0x8127, &i_this->mWaistPos); + dComIfGp_particle_set(0x8128, &i_this->mWaistPos); fopAcM_seStart(i_this, JA_SE_CM_AM_BEF_EXPLODE, 0); diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index 672cd6eb0..f219d67ac 100644 --- a/src/d/actor/d_a_arrow.cpp +++ b/src/d/actor/d_a_arrow.cpp @@ -191,7 +191,7 @@ void daArrow_c::setBlur() { /* 800D4994-800D4A04 .text createBlur__9daArrow_cFv */ void daArrow_c::createBlur() { if (!mPtclFollowCb.getEmitter()) { - dComIfGp_particle_setP1(0x48, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x48, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb); } } @@ -347,7 +347,7 @@ void daArrow_c::ShieldReflect() { targetAngleX = -cLib_targetAngleX(&link->current.pos, &ganondorfChestPos); fpcM_SetParam(ganondorf, 0x23); field_0x608 = g_regHIO.mChild[0].mShortRegs[3] + 15; - mpSparkleEmitter = dComIfGp_particle_set(0x3EE, &link->current.pos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + mpSparkleEmitter = dComIfGp_particle_set(0x3EE, &link->current.pos); } // // Regswaps without creating a fake inline. @@ -395,7 +395,7 @@ bool daArrow_c::check_water_in() { if (mArrowType == TYPE_FIRE) { mInWaterTimer = 1; - dComIfGp_particle_setP1(0x35A, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x35A, &waterHitPos); if (field_0x6e4 == 0) { dKy_arrowcol_chg_on(¤t.pos, 0); } @@ -409,7 +409,7 @@ bool daArrow_c::check_water_in() { dKy_arrowcol_chg_on(¤t.pos, 1); } } else if (mArrowType == TYPE_LIGHT) { - dComIfGp_particle_setP1(0x2A1, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x2A1, &waterHitPos); fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); if (field_0x6e4 == 0) { dKy_arrowcol_chg_on(¤t.pos, 2); @@ -693,7 +693,7 @@ BOOL daArrow_c::procMove() { mDoMtx_stack_c::ZXYrotM(temp10.x, temp10.y, 0); cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4); - dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10); fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); fopAcM_delete(this); } else { @@ -794,15 +794,15 @@ BOOL daArrow_c::procMove() { cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4); if (mArrowType == TYPE_FIRE) { - dComIfGp_particle_setP1(0x29A, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); - dComIfGp_particle_setP1(0x29B, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x29A, &field_0x6a8, &temp10); + dComIfGp_particle_setP1(0x29B, &field_0x6a8, &temp10); fopAcM_seStartCurrent(this, JA_SE_OBJ_FIRE_ARW_EFF, 0); field_0x698 = 0; } else if (mArrowType == TYPE_ICE) { if (dComIfG_Bgsp()->ChkGrpInf(mLinChk, 0x200)) { fopAcM_create(PROC_Obj_Magmarock, NULL, &field_0x6a8, current.roomNo, NULL, NULL, -1, NULL); } else { - dComIfGp_particle_setP1(0x29E, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x29E, &field_0x6a8, &temp10); fopAcM_createChild( PROC_ARROW_ICEEFF, fpcM_GetID(this), @@ -813,7 +813,7 @@ BOOL daArrow_c::procMove() { fopAcM_seStartCurrent(this, JA_SE_OBJ_ICE_ARW_EFF, 0); } } else if (mArrowType == TYPE_LIGHT) { - dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10); fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); field_0x698 = 0; } @@ -831,7 +831,7 @@ BOOL daArrow_c::procMove() { csXyz temp9; cM3d_CalcVecZAngle(triPla->mNormal, &temp9); - dComIfGp_particle_setP1(0xC, &field_0x6a8, &temp9, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0xC, &field_0x6a8, &temp9); fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_REBOUND, mtrlSndId); } else { fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_HIT, mtrlSndId); diff --git a/src/d/actor/d_a_disappear.cpp b/src/d/actor/d_a_disappear.cpp index f329452e8..ab911114a 100644 --- a/src/d/actor/d_a_disappear.cpp +++ b/src/d/actor/d_a_disappear.cpp @@ -84,20 +84,20 @@ void set_disappear(disappear_class* i_this, float scale) { case 0xB: case 0xC: case 0xD: - dComIfGp_particle_set(0x14, &i_this->current.pos, 0, &particleScale, 0xFF, 0, -1, 0, 0, 0); + dComIfGp_particle_set(0x14, &i_this->current.pos, 0, &particleScale); case 3: - dComIfGp_particle_set(0x13, &i_this->current.pos, 0, &particleScale, 0xff, 0, -1, 0, 0, 0); + dComIfGp_particle_set(0x13, &i_this->current.pos, 0, &particleScale); dComIfGp_particle_setStripes(0x15, &i_this->current.pos, 0, &particleScale, 0xFF, 0x96); - dComIfGp_particle_set(0x16, &i_this->current.pos, 0, &particleScale, 0xff, 0, -1, 0, 0, 0); + dComIfGp_particle_set(0x16, &i_this->current.pos, 0, &particleScale); break; case 1: - dComIfGp_particle_set(0x13, &i_this->current.pos, 0, &particleScale, 0xff, 0, -1, 0, 0, 0); - dComIfGp_particle_set(0x16, &i_this->current.pos, 0, &particleScale, 0xff, 0, -1, 0, 0, 0); + dComIfGp_particle_set(0x13, &i_this->current.pos, 0, &particleScale); + dComIfGp_particle_set(0x16, &i_this->current.pos, 0, &particleScale); break; case 4: - dComIfGp_particle_set(0x043C, &i_this->current.pos, 0, 0, 0xff, 0, -1, 0, 0, 0); - dComIfGp_particle_set(0x043D, &i_this->current.pos, 0, 0, 0xff, 0, -1, 0, 0, 0); - dComIfGp_particle_set(0x043E, &i_this->current.pos, 0, 0, 0xff, 0, -1, 0, 0, 0); + dComIfGp_particle_set(0x043C, &i_this->current.pos); + dComIfGp_particle_set(0x043D, &i_this->current.pos); + dComIfGp_particle_set(0x043E, &i_this->current.pos); break; } } diff --git a/src/d/actor/d_a_item.cpp b/src/d/actor/d_a_item.cpp index a73bdbc39..aabef656f 100644 --- a/src/d/actor/d_a_item.cpp +++ b/src/d/actor/d_a_item.cpp @@ -173,7 +173,7 @@ void daItem_c::CreateInit() { if (dItem_data::checkSpecialEffect(m_itemNo) && (m_itemNo != SMALL_KEY || (m_itemNo == SMALL_KEY && (mStatusFlags & 2)))) { u16 particleID = dItem_data::getSpecialEffect(m_itemNo); - dComIfGp_particle_set(particleID, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb, -1, NULL, NULL, NULL); + dComIfGp_particle_set(particleID, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb); } switch (m_itemNo) { @@ -217,7 +217,7 @@ void daItem_c::CreateInit() { animPlay(1.0f, 1.0f, 1.0f, 1.0f, 1.0f); if (fopAcM_SearchByName(PROC_BST)) { // Gohdan - mpParticleEmitter = dComIfGp_particle_set(0x81E1, ¤t.pos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + mpParticleEmitter = dComIfGp_particle_set(0x81E1, ¤t.pos); } } diff --git a/src/d/actor/d_a_obj_barrier.cpp b/src/d/actor/d_a_obj_barrier.cpp index 65cc39c82..4557ad119 100644 --- a/src/d/actor/d_a_obj_barrier.cpp +++ b/src/d/actor/d_a_obj_barrier.cpp @@ -486,7 +486,7 @@ void daObjBarrier_ef_c::birth(fopAc_ac_c* i_hitActor, f32 i_radius, cXyz i_cente mDoMtx_stack_c::ZXYrotM(0, angle.y, 0); mpModel[effect_idx]->setBaseTRMtx(mDoMtx_stack_c::get()); - dComIfGp_particle_set(0x81A9, &pos, &angle, NULL); + dComIfGp_particle_set(0x81A9, &pos, &angle); } } diff --git a/src/d/actor/d_a_obj_mknjd.cpp b/src/d/actor/d_a_obj_mknjd.cpp index cdb1684bd..b777baef4 100644 --- a/src/d/actor/d_a_obj_mknjd.cpp +++ b/src/d/actor/d_a_obj_mknjd.cpp @@ -705,7 +705,7 @@ bool daObjMknjD::Act_c::daObjMknjD_break() { /* Particles and sound effects */ // After 1 frame, the particles for the statue splitting in half spawn. if (mBreakTimer == 1) { - mEmitters[0] = dComIfGp_particle_set(0x8185, ¤t.pos, ¤t.angle, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + mEmitters[0] = dComIfGp_particle_set(0x8185, ¤t.pos, ¤t.angle); GXColor emitter2Color; emitter2Color.r = mTevStr.mColorC0.r; @@ -713,9 +713,9 @@ bool daObjMknjD::Act_c::daObjMknjD_break() { emitter2Color.b = mTevStr.mColorC0.b; emitter2Color.a = mTevStr.mColorC0.a; - mEmitters[1] = dComIfGp_particle_setProjection(0x8186, ¤t.pos, ¤t.angle, NULL, 0xFF, NULL, current.roomNo, &mTevStr.mColorK0, &emitter2Color, NULL); + mEmitters[1] = dComIfGp_particle_setProjection(0x8186, ¤t.pos, ¤t.angle, NULL, 0xFF, NULL, current.roomNo, &mTevStr.mColorK0, &emitter2Color); - mEmitters[2] = dComIfGp_particle_setToon(0xA187, ¤t.pos, ¤t.angle, NULL, 0xFF, &mSmokeCBs[2], -1, NULL, NULL, NULL); + mEmitters[2] = dComIfGp_particle_setToon(0xA187, ¤t.pos, ¤t.angle, NULL, 0xFF, &mSmokeCBs[2]); mSmokeCBs[2].setRateOff(0); fopAcM_seStartCurrent(this, JA_SE_OBJ_SAGE_GATE_CREAK, 0); @@ -748,7 +748,7 @@ bool daObjMknjD::Act_c::daObjMknjD_break() { mBrokenPos = current.pos; mBrokenPos.y += 350.0f; - mEmitters[3] = dComIfGp_particle_setToon(0x2027, &mBrokenPos, ¤t.angle, NULL, 0xFF, &mSmokeCBs[3], -1, NULL, NULL, NULL); + mEmitters[3] = dComIfGp_particle_setToon(0x2027, &mBrokenPos, ¤t.angle, NULL, 0xFF, &mSmokeCBs[3]); if (mEmitters[3] != NULL) { mEmitters[3]->setVolumeSweep(0.5f); mEmitters[3]->setLifeTime(0x2D); diff --git a/src/d/actor/d_a_obj_toripost.cpp b/src/d/actor/d_a_obj_toripost.cpp index 4e24787ff..9b7c22cc7 100644 --- a/src/d/actor/d_a_obj_toripost.cpp +++ b/src/d/actor/d_a_obj_toripost.cpp @@ -445,7 +445,7 @@ int daObjTpost_c::getMsgXY() { col.b = g_regHIO.mChild[12].mShortRegs[2] + 0x80; mDoMtx_stack_c::copy(mMorf->getModel()->mpNodeMtx[2]); mDoMtx_stack_c::multVec(&pos, &pos); - dComIfGp_particle_set(0x57, &pos, &shape_angle, &scale, 0xFF, 0, -1, &col, 0, 0); + dComIfGp_particle_set(0x57, &pos, &shape_angle, &scale, 0xFF, 0, -1, &col); break; case 0x98: @@ -726,7 +726,7 @@ void daObjTpost_c::setAnm(s8 param_1, bool param_2) { cXyz scale; scale.setAll(1.0f); if(mMorf->getFrame() == 1.0f) { - dComIfGp_particle_set(0x8190, ¤t.pos, ¤t.angle, &scale, 0xFF, 0, -1, 0, 0, 0); + dComIfGp_particle_set(0x8190, ¤t.pos, ¤t.angle, &scale); mDoAud_seStart(0x6974, 0, 0, 0); } } diff --git a/src/d/actor/d_a_player.cpp b/src/d/actor/d_a_player.cpp index 000055a4a..3ec69f1d7 100644 --- a/src/d/actor/d_a_player.cpp +++ b/src/d/actor/d_a_player.cpp @@ -67,14 +67,14 @@ void daPy_mtxFollowEcallBack_c::end() { void daPy_mtxFollowEcallBack_c::makeEmitter(u16 particleID, MtxP mtx, const cXyz* pos, const cXyz* scale) { end(); mpMtx = mtx; - dComIfGp_particle_setP1(particleID, pos, NULL, scale, 0xFF, this, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(particleID, pos, NULL, scale, 0xFF, this); } /* 80102C84-80102D14 .text makeEmitterColor__25daPy_mtxFollowEcallBack_cFUsPA4_fPC4cXyzPC8_GXColorPC8_GXColor */ void daPy_mtxFollowEcallBack_c::makeEmitterColor(u16 particleID, MtxP mtx, const cXyz* pos, const _GXColor* prmColor, const _GXColor* envColor) { end(); mpMtx = mtx; - dComIfGp_particle_setP1(particleID, pos, NULL, NULL, 0xFF, this, -1, prmColor, envColor, NULL); + dComIfGp_particle_setP1(particleID, pos, NULL, NULL, 0xFF, this, -1, prmColor, envColor); } /* 80102D14-80102D90 .text setDoButtonQuake__9daPy_py_cFv */