diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index ed42b0061..669588b0d 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -1572,6 +1572,26 @@ inline JPABaseEmitter* dComIfGp_particle_set(u16 particleID, const cXyz* pos, co 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) { + 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) { + 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_setProjection(u16 particleID, const cXyz* pos, const csXyz* angle, const cXyz* scale, u8 alpha, dPa_levelEcallBack* pCallBack, s8 setupInfo, @@ -1592,16 +1612,6 @@ inline void dComIfGp_particle_setStripes(u16 particleID, cXyz* pos, csXyz* angle pParticle->setNormalStripes(particleID, pos, angle, scale, param_4, param_5); } -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) { - dPa_control_c* pParticle = g_dComIfG_gameInfo.play.getParticle(); - return pParticle->setToon(particleID, pos, angle, scale, alpha, pCallBack, setupInfo, - pPrmColor, pEnvColor, pScale2D); -} - inline void dComIfGp_particle_calc3D() { g_dComIfG_gameInfo.play.getParticle()->calc3D(); } diff --git a/include/d/d_particle.h b/include/d/d_particle.h index 8e7715809..b7545af79 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -370,12 +370,18 @@ public: const cXyz* pScale2D) { return set(0, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } - JPABaseEmitter* setToon(u16 particleID, const cXyz* pos, const csXyz* angle, + JPABaseEmitter* setNormalP1(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(1, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); } + JPABaseEmitter* 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) { + return set(2, particleID, pos, angle, scale, alpha, pCallBack, setupInfo, pPrmColor, pEnvColor, pScale2D); + } JPABaseEmitter* 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, diff --git a/src/d/actor/d_a_arrow.cpp b/src/d/actor/d_a_arrow.cpp index bb3ed1492..e603211e0 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_setToon(0x48, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x48, ¤t.pos, NULL, NULL, 0xFF, &mPtclFollowCb, -1, NULL, NULL, NULL); } } @@ -393,7 +393,7 @@ bool daArrow_c::check_water_in() { if (mArrowType == TYPE_FIRE) { mInWaterTimer = 1; - dComIfGp_particle_setToon(0x35A, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x35A, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); if (field_0x6e4 == 0) { dKy_arrowcol_chg_on(¤t.pos, 0); } @@ -407,7 +407,7 @@ bool daArrow_c::check_water_in() { dKy_arrowcol_chg_on(¤t.pos, 1); } } else if (mArrowType == TYPE_LIGHT) { - dComIfGp_particle_setToon(0x2A1, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x2A1, &waterHitPos, NULL, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); if (field_0x6e4 == 0) { dKy_arrowcol_chg_on(¤t.pos, 2); @@ -691,7 +691,7 @@ BOOL daArrow_c::procMove() { mDoMtx_stack_c::ZXYrotM(temp10.x, temp10.y, 0); cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4); - dComIfGp_particle_setToon(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); fopAcM_delete(this); } else { @@ -792,15 +792,15 @@ BOOL daArrow_c::procMove() { cMtx_copy(mDoMtx_stack_c::get(), field_0x6b4); if (mArrowType == TYPE_FIRE) { - dComIfGp_particle_setToon(0x29A, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); - dComIfGp_particle_setToon(0x29B, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + 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); 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_setToon(0x29E, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x29E, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); fopAcM_createChild( PROC_ARROW_ICEEFF, fpcM_GetID(this), @@ -811,7 +811,7 @@ BOOL daArrow_c::procMove() { fopAcM_seStartCurrent(this, JA_SE_OBJ_ICE_ARW_EFF, 0); } } else if (mArrowType == TYPE_LIGHT) { - dComIfGp_particle_setToon(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0x2A1, &field_0x6a8, &temp10, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); fopAcM_seStartCurrent(this, JA_SE_OBJ_LIGHT_ARW_EFF, 0); field_0x698 = 0; } @@ -829,7 +829,7 @@ BOOL daArrow_c::procMove() { csXyz temp9; cM3d_CalcVecZAngle(triPla->mNormal, &temp9); - dComIfGp_particle_setToon(0xC, &field_0x6a8, &temp9, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); + dComIfGp_particle_setP1(0xC, &field_0x6a8, &temp9, NULL, 0xFF, NULL, -1, NULL, NULL, NULL); fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_REBOUND, mtrlSndId); } else { fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_HIT, mtrlSndId);