mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-01 17:57:24 -04:00
start adding particle/hitmark enums + some d_cc_s
This commit is contained in:
+24
-17
@@ -8,6 +8,7 @@
|
||||
|
||||
#include "SSystem/SComponent/c_cc_d.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "d/d_particle_name.h"
|
||||
|
||||
enum dCcG_At_SPrm {
|
||||
G_AT_SPRM_NO_CON_HIT = 0x01,
|
||||
@@ -30,9 +31,13 @@ enum dCcG_Co_SPrm {
|
||||
|
||||
enum dCcD_hitSe {};
|
||||
|
||||
enum CcG_At_HitMark {
|
||||
/* 0xD */ G_AT_MARK_NORMAL_HIT = dPa_name::ID_COMMON_NORMAL_HIT,
|
||||
/* 0xF */ G_AT_MARK_BIG_HIT = dPa_name::ID_COMMON_BIG_HIT,
|
||||
};
|
||||
|
||||
enum CcG_Tg_HitMark {
|
||||
CcG_Tg_UNK_MARK_6 = 6,
|
||||
CcG_Tg_UNK_MARK_8 = 8,
|
||||
/* 0xC */ G_TG_MARK_PURPLE_HIT = dPa_name::ID_COMMON_PURPLE_HIT,
|
||||
};
|
||||
|
||||
enum dCcG_At_Spl {};
|
||||
@@ -106,7 +111,7 @@ public:
|
||||
unsigned int GetAtOldApid() { return mAtOldApid; }
|
||||
unsigned int GetTgOldApid() { return mTgOldApid; }
|
||||
bool ChkNoActor() { return field_0x1C & 1; }
|
||||
bool ChkNoneActorPerfTblId() { return field_0x08 == 0xFFFF; }
|
||||
bool ChkNoneActorPerfTblId() { return mActorPerfTblId == 0xFFFF; }
|
||||
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mAtSpl; }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mAtSpl = spl; }
|
||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mTgSpl; }
|
||||
@@ -117,7 +122,7 @@ public:
|
||||
/* 0x04 */ u8 mAtSpl;
|
||||
/* 0x05 */ u8 mTgSpl;
|
||||
/* 0x06 */ u8 mRoomId;
|
||||
/* 0x08 */ u16 field_0x08;
|
||||
/* 0x08 */ u16 mActorPerfTblId;
|
||||
/* 0x0C */ int mAtApid;
|
||||
/* 0x10 */ int mAtOldApid;
|
||||
/* 0x14 */ int mTgApid;
|
||||
@@ -217,7 +222,7 @@ public:
|
||||
void SetHitMark(u8 mark) { mHitMark = mark; }
|
||||
void SetSe(u8 se) { mSe = se; }
|
||||
void SetMtrl(u8 mtrl) { mMtrl = mtrl; }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mSpl = spl; }
|
||||
void SetSpl(dCcG_At_Spl spl) { mSpl = spl; }
|
||||
u8 GetSe() { return mSe; }
|
||||
u8 GetSpl() { return mSpl; }
|
||||
u8 GetMtrl() { return mMtrl; }
|
||||
@@ -251,6 +256,7 @@ public:
|
||||
void SetHitMark(CcG_Tg_HitMark mark) { mHitMark = mark; }
|
||||
s16* GetShieldFrontRangeYAngle() { return mShieldFrontRangeYAngle; }
|
||||
u8 GetSpl() { return mSpl; }
|
||||
void SetSpl(dCcG_Tg_Spl spl) { mSpl = spl; }
|
||||
u8 GetHitMark() { return mHitMark; }
|
||||
void SetRVec(cXyz& vec) { mRVec = vec; }
|
||||
cXyz* GetVecP() { return &mVec; }
|
||||
@@ -313,14 +319,21 @@ public:
|
||||
void SetAtVec(cXyz& vec) { mGObjAt.SetVec(vec); }
|
||||
void SetTgVec(cXyz& vec) { mGObjTg.SetVec(vec); }
|
||||
bool ChkAtNoMass() { return mGObjAt.ChkSPrm(G_AT_SPRM_NO_MASS); }
|
||||
bool ChkAtNoHitMark() { return mGObjAt.ChkSPrm(G_AT_SPRM_NO_HIT_MARK); }
|
||||
void OnAtNoHitMark() { mGObjAt.OnSPrm(G_AT_SPRM_NO_HIT_MARK); }
|
||||
void OffAtNoHitMark() { mGObjAt.OffSPrm(G_AT_SPRM_NO_HIT_MARK); }
|
||||
bool ChkTgNoHitMark() { return mGObjTg.ChkSPrm(G_TG_SPRM_NO_HIT_MARK); }
|
||||
void OnTgNoHitMark() { mGObjTg.OnSPrm(G_TG_SPRM_NO_HIT_MARK); }
|
||||
void OffTgNoHitMark() { mGObjTg.OffSPrm(G_TG_SPRM_NO_HIT_MARK); }
|
||||
bool ChkAtNoConHit() { return mGObjAt.ChkSPrm(G_AT_SPRM_NO_CON_HIT); }
|
||||
void OnAtNoConHit() { mGObjAt.OnSPrm(G_AT_SPRM_NO_CON_HIT); }
|
||||
void OffAtNoConHit() { mGObjAt.OffSPrm(G_AT_SPRM_NO_CON_HIT); }
|
||||
bool ChkTgNoConHit() { return mGObjTg.ChkSPrm(G_TG_SPRM_NO_CON_HIT); }
|
||||
void OnTgNoConHit() { mGObjTg.OnSPrm(G_TG_SPRM_NO_CON_HIT); }
|
||||
int GetAtHitMark() { return mGObjAt.GetHitMark(); }
|
||||
int GetTgHitMark() { return mGObjTg.GetHitMark(); }
|
||||
void SetAtHitMark(u8 mark) { mGObjAt.SetHitMark(mark); }
|
||||
void SetTgHitMark(CcG_Tg_HitMark mark) { mGObjTg.SetHitMark(mark); }
|
||||
void SetAtSe(u8 se) { mGObjAt.SetSe(se); }
|
||||
void SetTgSe(u8 se) { mGObjTg.SetSe(se); }
|
||||
void SetAtMtrl(u8 mtrl) { mGObjAt.SetMtrl(mtrl); }
|
||||
@@ -329,27 +342,26 @@ public:
|
||||
cXyz* GetAtVecP() { return mGObjAt.GetVecP(); }
|
||||
cXyz* GetTgVecP() { return mGObjTg.GetVecP(); }
|
||||
cXyz* GetTgRVecP() { return mGObjTg.GetRVecP(); }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetAtSpl(spl); }
|
||||
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mGObjAt.GetSpl(); }
|
||||
void SetAtSpl(dCcG_At_Spl spl) { mGObjAt.SetSpl(spl); }
|
||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mGObjTg.GetSpl(); }
|
||||
void SetTgSpl(dCcG_Tg_Spl spl) { mGObjTg.SetSpl(spl); }
|
||||
void SetAtHitCallback(dCcD_HitCallback callback) { mGObjAt.SetHitCallback(callback); }
|
||||
void SetTgHitCallback(dCcD_HitCallback callback) { mGObjTg.SetHitCallback(callback); }
|
||||
void SetCoHitCallback(dCcD_HitCallback callback) { mGObjCo.SetHitCallback(callback); }
|
||||
u8 GetAtSe() { return mGObjAt.GetSe(); }
|
||||
dCcG_At_Spl GetAtSpl() { return (dCcG_At_Spl)mGObjAt.GetSpl(); }
|
||||
u8 GetAtMtrl() { return mGObjAt.GetMtrl(); }
|
||||
u8 GetTgMtrl() { return mGObjTg.GetMtrl(); }
|
||||
fopAc_ac_c* GetTgHitAc() { return mGObjTg.GetAc(); }
|
||||
void SetTgShieldFrontRangeYAngle(s16* angle) { mGObjTg.SetShieldFrontRangeYAngle(angle); }
|
||||
void SetTgHitMark(CcG_Tg_HitMark mark) { mGObjTg.SetHitMark(mark); }
|
||||
bool ChkTgShield() { return mGObjTg.ChkSPrm(G_TG_SPRM_SHIELD); }
|
||||
void OnTgShield() { mGObjTg.OnSPrm(G_TG_SPRM_SHIELD); }
|
||||
void OffTgShield() { mGObjTg.OffSPrm(G_TG_SPRM_SHIELD); }
|
||||
bool ChkTgShieldFrontRange() { return mGObjTg.ChkSPrm(G_TG_SPRM_SHIELD_FRONT_RANGE); }
|
||||
void OnTgShieldFrontRange() { mGObjTg.OnSPrm(G_TG_SPRM_SHIELD_FRONT_RANGE); }
|
||||
void OffTgShieldFrontRange() { mGObjTg.OffSPrm(G_TG_SPRM_SHIELD_FRONT_RANGE); }
|
||||
s16* GetTgShieldFrontRangeYAngle() { return mGObjTg.GetShieldFrontRangeYAngle(); }
|
||||
bool ChkTgShield() { return mGObjTg.ChkSPrm(G_TG_SPRM_SHIELD); }
|
||||
bool ChkTgShieldFrontRange() { return mGObjTg.ChkSPrm(G_TG_SPRM_SHIELD_FRONT_RANGE); }
|
||||
bool ChkAtNoConHit() { return mGObjAt.ChkSPrm(G_AT_SPRM_NO_CON_HIT); }
|
||||
bool ChkAtStopNoConHit() { return mGObjAt.ChkSPrm(G_AT_SPRM_STOP_NO_CON_HIT); }
|
||||
bool ChkTgNoConHit() { return mGObjTg.ChkSPrm(G_TG_SPRM_NO_CON_HIT); }
|
||||
bool ChkCoAtLasso() { return mGObjCo.ChkSPrm(G_CO_SPRM_AT_LASSO); }
|
||||
bool ChkCoTgLasso() { return mGObjCo.ChkSPrm(G_CO_SPRM_TG_LASSO); }
|
||||
dCcD_HitCallback GetCoHitCallback() { return mGObjCo.GetHitCallback(); }
|
||||
@@ -367,11 +379,6 @@ public:
|
||||
bool ChkCoHitNoActor() { return mGObjCo.ChkRPrm(1); }
|
||||
bool ChkAtHitNoActor() { return mGObjAt.ChkRPrm(2); }
|
||||
bool ChkTgHitNoActor() { return mGObjTg.ChkRPrm(1); }
|
||||
bool ChkAtNoHitMark() { return mGObjAt.ChkSPrm(G_AT_SPRM_NO_HIT_MARK); }
|
||||
bool ChkTgNoHitMark() { return mGObjTg.ChkSPrm(G_TG_SPRM_NO_HIT_MARK); }
|
||||
dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mGObjTg.GetSpl(); }
|
||||
int GetTgHitMark() { return mGObjTg.GetHitMark(); }
|
||||
int GetAtHitMark() { return mGObjAt.GetHitMark(); }
|
||||
bool ChkAtEffCounter() { return mGObjAt.ChkEffCounter(); }
|
||||
bool ChkTgEffCounter() { return mGObjTg.ChkEffCounter(); }
|
||||
void ClrAtEffCounter() { mGObjAt.ClrEffCounter(); }
|
||||
|
||||
@@ -393,6 +393,7 @@ void dKy_instant_timechg(f32);
|
||||
void dKy_instant_rainchg();
|
||||
SND_INFLUENCE * dKy_Sound_get();
|
||||
void dKy_Sound_set(cXyz i_pos, int param_1, unsigned int i_actorID, int param_3);
|
||||
void dKy_SordFlush_set(cXyz hitPos, int lightType);
|
||||
void dKy_itudemo_se();
|
||||
void dKy_actor_addcol_set(s16, s16, s16, f32);
|
||||
void dKy_actor_addcol_amb_set(s16, s16, s16, f32);
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "JSystem/JGeometry.h"
|
||||
#include "JSystem/JParticle/JPAParticle.h"
|
||||
#include "JSystem/JParticle/JPAEmitter.h"
|
||||
#include "d/d_particle_name.h"
|
||||
#include "f_pc/f_pc_node.h"
|
||||
#include "m_Do/m_Do_ext.h"
|
||||
|
||||
|
||||
@@ -4,6 +4,20 @@
|
||||
#include "dolphin/types.h"
|
||||
|
||||
namespace dPa_name {
|
||||
enum {
|
||||
ID_COMMON_SMOKE_DEBRIS = 0x2008,
|
||||
ID_COMMON_SMOKE_CLOUD = 0x2009,
|
||||
ID_COMMON_SMOKE_CIRCLE = 0x200A,
|
||||
ID_COMMON_LIGHT_FLASH = 0xB,
|
||||
ID_COMMON_PURPLE_HIT = 0xC,
|
||||
ID_COMMON_NORMAL_HIT = 0xD,
|
||||
ID_COMMON_BIG_HIT = 0xF,
|
||||
ID_COMMON_FUSE_SPARKS = 0x11,
|
||||
ID_COMMON_LIGHT_EXPLOSION = 0x272,
|
||||
ID_COMMON_STARS_SPIN = 0x27A,
|
||||
ID_COMMON_STARS_BLOW = 0x27B,
|
||||
};
|
||||
|
||||
enum {
|
||||
ID_SCENE_END = 0x8466,
|
||||
};
|
||||
|
||||
@@ -88,7 +88,7 @@ dCcD_SrcCyl cc_cyl_src = {
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
/* SrcGObjTg Se */ 0x05,
|
||||
/* SrcGObjTg HitMark */ 0x0C,
|
||||
/* SrcGObjTg HitMark */ G_TG_MARK_PURPLE_HIT,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg SPrm */ G_TG_SPRM_SHIELD | G_TG_SPRM_NO_CON_HIT,
|
||||
@@ -119,7 +119,7 @@ BOOL enemy_ice(enemyice* ei) {
|
||||
|
||||
if (ei->mLightShrinkTimer == 1) { // Just started dying to light arrows.
|
||||
ei->mLightShrinkTimer++;
|
||||
dComIfGp_particle_set(0x272, &pos, NULL, &particleScale);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_LIGHT_EXPLOSION, &pos, NULL, &particleScale);
|
||||
ac->mTevStr.mFogColor.b = 0xFF;
|
||||
ac->mTevStr.mFogColor.g = 0xFF;
|
||||
ac->mTevStr.mFogColor.r = 0xFF;
|
||||
@@ -331,7 +331,7 @@ BOOL enemy_ice(enemyice* ei) {
|
||||
dComIfGp_particle_set(0x10, &pos);
|
||||
csXyz angle(0, fopAcM_searchPlayerAngleY(ac), 0);
|
||||
particleScale.setall(2.0f);
|
||||
dComIfGp_particle_set(0xD, &pos, &angle, &particleScale);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, &pos, &angle, &particleScale);
|
||||
dScnPly_ply_c::setPauseTimer(8);
|
||||
}
|
||||
|
||||
@@ -591,7 +591,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);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_STARS_SPIN, &enemy->mAttentionInfo.mPosition);
|
||||
}
|
||||
|
||||
/* 8001D48C-8001D890 .text wall_angle_get__FP10fopAc_ac_cs */
|
||||
|
||||
@@ -268,9 +268,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);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_STARS_BLOW, &i_this->mAttentionInfo.mPosition);
|
||||
} else {
|
||||
dComIfGp_particle_set(0xC, &hitPos);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_PURPLE_HIT, &hitPos);
|
||||
}
|
||||
fopAcM_seStart(i_this, JA_SE_LK_MS_WEP_HIT, 0x42);
|
||||
}
|
||||
@@ -319,7 +319,7 @@ static BOOL medama_atari_check(am_class* i_this) {
|
||||
}
|
||||
break;
|
||||
default:
|
||||
dComIfGp_particle_set(0xC, &hitPos);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_PURPLE_HIT, &hitPos);
|
||||
fopAcM_seStart(i_this, JA_SE_LK_MS_WEP_HIT, 0x42);
|
||||
break;
|
||||
}
|
||||
@@ -1330,7 +1330,7 @@ static s32 daAM_Create(fopAc_ac_c* i_actor) {
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
/* SrcGObjTg Se */ 0,
|
||||
/* SrcGObjTg HitMark */ 0x0C,
|
||||
/* SrcGObjTg HitMark */ G_TG_MARK_PURPLE_HIT,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg SPrm */ G_TG_SPRM_SHIELD | G_TG_SPRM_NO_CON_HIT,
|
||||
@@ -1362,7 +1362,7 @@ static s32 daAM_Create(fopAc_ac_c* i_actor) {
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
/* SrcGObjTg Se */ 0,
|
||||
/* SrcGObjTg HitMark */ 0x0C,
|
||||
/* SrcGObjTg HitMark */ G_TG_MARK_PURPLE_HIT,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg SPrm */ G_TG_SPRM_SHIELD | G_TG_SPRM_NO_CON_HIT,
|
||||
|
||||
@@ -175,9 +175,9 @@ static BOOL medama_atari_check(am2_class* i_this) {
|
||||
atInfo.pParticlePos = NULL;
|
||||
cc_at_check(i_this, &atInfo);
|
||||
i_this->mHealth = origHealth;
|
||||
dComIfGp_particle_set(0x27B, &i_this->mAttentionInfo.mPosition);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_STARS_BLOW, &i_this->mAttentionInfo.mPosition);
|
||||
} else {
|
||||
dComIfGp_particle_set(0xC, &hitPos);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_PURPLE_HIT, &hitPos);
|
||||
}
|
||||
fopAcM_seStart(i_this, JA_SE_LK_MS_WEP_HIT, 0x42);
|
||||
}
|
||||
@@ -315,9 +315,9 @@ static BOOL week_atari_check(am2_class* i_this) {
|
||||
if (hitType == 1) {
|
||||
dComIfGp_particle_set(0x10, &hitPos);
|
||||
cXyz particleScale(2.0f, 2.0f, 2.0f);
|
||||
dComIfGp_particle_set(0xF, &hitPos, &player->shape_angle, &particleScale);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_BIG_HIT, &hitPos, &player->shape_angle, &particleScale);
|
||||
} else {
|
||||
dComIfGp_particle_set(0xD, &hitPos, &player->shape_angle);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, &hitPos, &player->shape_angle);
|
||||
}
|
||||
|
||||
i_this->mAction = ACTION_ITAI;
|
||||
@@ -1441,7 +1441,7 @@ static s32 daAM2_Create(fopAc_ac_c* i_actor) {
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
/* SrcGObjTg Se */ 0,
|
||||
/* SrcGObjTg HitMark */ 0x0C,
|
||||
/* SrcGObjTg HitMark */ G_TG_MARK_PURPLE_HIT,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg SPrm */ G_TG_SPRM_SHIELD | G_TG_SPRM_NO_CON_HIT,
|
||||
@@ -1473,7 +1473,7 @@ static s32 daAM2_Create(fopAc_ac_c* i_actor) {
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
/* SrcGObjTg Se */ 0,
|
||||
/* SrcGObjTg HitMark */ 0x0C,
|
||||
/* SrcGObjTg HitMark */ G_TG_MARK_PURPLE_HIT,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg SPrm */ G_TG_SPRM_SHIELD | G_TG_SPRM_NO_CON_HIT,
|
||||
|
||||
@@ -34,7 +34,7 @@ const dCcD_SrcCps daArrow_c::m_at_cps_src = {
|
||||
/* SrcObjTg SPrm */ 0,
|
||||
/* SrcObjCo SPrm */ 0,
|
||||
/* SrcGObjAt Se */ 0x07,
|
||||
/* SrcGObjAt HitMark */ 0x0D,
|
||||
/* SrcGObjAt HitMark */ G_AT_MARK_NORMAL_HIT,
|
||||
/* SrcGObjAt Spl */ 0,
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
@@ -836,7 +836,7 @@ BOOL daArrow_c::procMove() {
|
||||
csXyz temp9;
|
||||
cM3d_CalcVecZAngle(triPla->mNormal, &temp9);
|
||||
|
||||
dComIfGp_particle_setP1(0xC, &field_0x6a8, &temp9);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_PURPLE_HIT, &field_0x6a8, &temp9);
|
||||
fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_REBOUND, mtrlSndId);
|
||||
} else {
|
||||
fopAcM_seStartCurrent(this, JA_SE_LK_ARROW_HIT, mtrlSndId);
|
||||
|
||||
@@ -196,7 +196,7 @@ bool daArrow_Iceeff_c::_execute() {
|
||||
daArrow_c* arrow = static_cast<daArrow_c*>(fopAcM_SearchByID(mParentPcId));
|
||||
if(field_0xA38 == 0) {
|
||||
if(arrow == 0) {
|
||||
dComIfGp_particle_setP1(0x55, ¤t.pos, ¤t.angle, 0);
|
||||
dComIfGp_particle_setP1(0x55, ¤t.pos, ¤t.angle);
|
||||
fopAcM_delete(this);
|
||||
|
||||
return true;
|
||||
@@ -219,7 +219,7 @@ bool daArrow_Iceeff_c::_execute() {
|
||||
field_0xA30++;
|
||||
}
|
||||
else {
|
||||
dComIfGp_particle_setP1(0x55, ¤t.pos, ¤t.angle, 0);
|
||||
dComIfGp_particle_setP1(0x55, ¤t.pos, ¤t.angle);
|
||||
fopAcM_seStartCurrent(this, JA_SE_OBJ_MINI_ICE_BREAK, 0);
|
||||
fopAcM_delete(arrow);
|
||||
fopAcM_delete(this);
|
||||
@@ -234,7 +234,7 @@ bool daArrow_Iceeff_c::_execute() {
|
||||
csXyz angle;
|
||||
angle.set(-0x4000, 0, 0);
|
||||
|
||||
JPABaseEmitter* ptcl = dComIfGp_particle_setP1(0x29E, ¤t.pos, &angle, 0);
|
||||
JPABaseEmitter* ptcl = dComIfGp_particle_setP1(0x29E, ¤t.pos, &angle);
|
||||
if(ptcl) {
|
||||
JGeometry::TVec3<f32> scale(0.5f, 0.5f, 0.5f);
|
||||
ptcl->setGlobalScale(scale);
|
||||
@@ -258,14 +258,14 @@ bool daArrow_Iceeff_c::_execute() {
|
||||
}
|
||||
|
||||
if(field_0xA30 == 0x23) {
|
||||
JPABaseEmitter* ptcl = dComIfGp_particle_setSingleRipple(0x3D, ¤t.pos, 0, &ripple_scale);
|
||||
JPABaseEmitter* ptcl = dComIfGp_particle_setSingleRipple(0x3D, ¤t.pos, NULL, &ripple_scale);
|
||||
if(ptcl) {
|
||||
JGeometry::TVec3<f32> scale(0.67f, 0.67f, 1.0f);
|
||||
ptcl->setGlobalParticleScale(scale);
|
||||
}
|
||||
}
|
||||
else if(field_0xA30 == 0x28) {
|
||||
JPABaseEmitter* ptcl = dComIfGp_particle_setP1(0x55, ¤t.pos, 0, 0);
|
||||
JPABaseEmitter* ptcl = dComIfGp_particle_setP1(0x55, ¤t.pos);
|
||||
if(ptcl) {
|
||||
ptcl->setAwayFromCenterSpeed(25.0f);
|
||||
ptcl->setAwayFromAxisSpeed(5.0f);
|
||||
@@ -276,7 +276,7 @@ bool daArrow_Iceeff_c::_execute() {
|
||||
ptcl->setGlobalParticleScale(scale2);
|
||||
}
|
||||
|
||||
dComIfGp_particle_setSingleRipple(0x3F, ¤t.pos, 0, &ripple_scale);
|
||||
dComIfGp_particle_setSingleRipple(0x3F, ¤t.pos, NULL, &ripple_scale);
|
||||
fopAcM_seStartCurrent(this, JA_SE_OBJ_MINI_ICE_BREAK, 0);
|
||||
|
||||
field_0xA3C = 0;
|
||||
|
||||
@@ -145,23 +145,23 @@ void daArrow_Lighteff_c::CreateInit() {
|
||||
|
||||
if(field_0x2E8 == 1) {
|
||||
if(field_0x2F4.getEmitter() == 0) {
|
||||
dComIfGp_particle_setP1(0x299, &field_0x29C, ¤t.angle, 0, 0xFF, &field_0x2F4);
|
||||
dComIfGp_particle_setP1(0x299, &field_0x29C, ¤t.angle, NULL, 0xFF, &field_0x2F4);
|
||||
}
|
||||
}
|
||||
else if(field_0x2E8 == 2) {
|
||||
if(field_0x2F4.getEmitter() == 0) {
|
||||
dComIfGp_particle_setP1(0x29C, &field_0x29C, ¤t.angle, 0, 0xFF, &field_0x2F4);
|
||||
dComIfGp_particle_setP1(0x29C, &field_0x29C, ¤t.angle, NULL, 0xFF, &field_0x2F4);
|
||||
}
|
||||
if(field_0x308.getEmitter() == 0) {
|
||||
dComIfGp_particle_setP1(0x29D, &field_0x29C, ¤t.angle, 0, 0xFF, &field_0x308);
|
||||
dComIfGp_particle_setP1(0x29D, &field_0x29C, ¤t.angle, NULL, 0xFF, &field_0x308);
|
||||
}
|
||||
}
|
||||
else if(field_0x2E8 == 3) {
|
||||
if(field_0x2F4.getEmitter() == 0) {
|
||||
dComIfGp_particle_setP1(0x29F, &field_0x29C, ¤t.angle, 0, 0xFF, &field_0x2F4);
|
||||
dComIfGp_particle_setP1(0x29F, &field_0x29C, ¤t.angle, NULL, 0xFF, &field_0x2F4);
|
||||
}
|
||||
if(field_0x308.getEmitter() == 0) {
|
||||
dComIfGp_particle_setP1(0x2A0, &field_0x29C, ¤t.angle, 0, 0xFF, &field_0x308);
|
||||
dComIfGp_particle_setP1(0x2A0, &field_0x29C, ¤t.angle, NULL, 0xFF, &field_0x308);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -701,10 +701,10 @@ namespace daBomb2 {
|
||||
}
|
||||
|
||||
void Act_c::eff_explode_normal(const csXyz* rotation) {
|
||||
dComIfGp_particle_setP1(0xB, ¤t.pos, rotation, &mScale, 0xFF, 0, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setBombSmoke(0x2009, ¤t.pos, 0, &mScale, 0xFF);
|
||||
dComIfGp_particle_setBombSmoke(0x200A, ¤t.pos, 0, &mScale, 0xFF);
|
||||
dComIfGp_particle_setToonP1(0x2008, ¤t.pos, 0, &mScale, 0xFF, 0, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_LIGHT_FLASH, ¤t.pos, rotation, &mScale);
|
||||
dComIfGp_particle_setBombSmoke(dPa_name::ID_COMMON_SMOKE_CLOUD, ¤t.pos, NULL, &mScale);
|
||||
dComIfGp_particle_setBombSmoke(dPa_name::ID_COMMON_SMOKE_CIRCLE, ¤t.pos, NULL, &mScale);
|
||||
dComIfGp_particle_setToonP1(dPa_name::ID_COMMON_SMOKE_DEBRIS, ¤t.pos, NULL, &mScale);
|
||||
}
|
||||
|
||||
void Act_c::eff_explode_water() {
|
||||
@@ -733,8 +733,8 @@ namespace daBomb2 {
|
||||
field_0x6CC = field_0x6C0;
|
||||
field_0x6D8 = field_0x6C0;
|
||||
|
||||
dComIfGp_particle_setP1(0x11, &field_0x6C0, 0, &mScale, 0xFF, &mSparks, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setToonP1(0x2012, &field_0x6C0, 0, &mScale, 0xDC, &mSmoke, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_FUSE_SPARKS, &field_0x6C0, NULL, &mScale, 0xFF, &mSparks);
|
||||
dComIfGp_particle_setToonP1(0x2012, &field_0x6C0, NULL, &mScale, 0xDC, &mSmoke);
|
||||
mSmoke.setOldPosP(&field_0x6CC, &field_0x6D8);
|
||||
}
|
||||
}
|
||||
|
||||
+11
-11
@@ -637,7 +637,7 @@ void daBomb_c::makeFireEffect(cXyz& pos, csXyz& rotation) {
|
||||
|
||||
rotation.x = rotation.x + 0x4000;
|
||||
rotation.z = rotation.z;
|
||||
dComIfGp_particle_setBombSmoke(0x200A, &pos, &rotation, &scale);
|
||||
dComIfGp_particle_setBombSmoke(dPa_name::ID_COMMON_SMOKE_CIRCLE, &pos, &rotation, &scale);
|
||||
|
||||
dComIfGp_getVibration().StartShock(7, -0x21, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
@@ -673,8 +673,8 @@ void daBomb_c::setFuseEffect() {
|
||||
mFusePos2 = mFusePos;
|
||||
mFusePos3 = mFusePos;
|
||||
|
||||
dComIfGp_particle_setP1(0x11, &mFusePos, 0, &mScale, 0xFF, &mSparks, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setToonP1(0x2012, &mFusePos, 0, &mScale, 0xDC, &mSmoke, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_FUSE_SPARKS, &mFusePos, NULL, &mScale, 0xFF, &mSparks);
|
||||
dComIfGp_particle_setToonP1(0x2012, &mFusePos, NULL, &mScale, 0xDC, &mSmoke);
|
||||
mSmoke.field_0x0C = &mFusePos2;
|
||||
mSmoke.field_0x10 = &mFusePos3;
|
||||
mSmoke.field_0x04 = 0x14;
|
||||
@@ -682,27 +682,27 @@ void daBomb_c::setFuseEffect() {
|
||||
}
|
||||
|
||||
void daBomb_c::eff_explode_normal(const csXyz* rotation) {
|
||||
dComIfGp_particle_setP1(0xB, ¤t.pos, rotation, &mScale, 0xFF, 0, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setBombSmoke(0x2009, ¤t.pos, 0, &mScale);
|
||||
dComIfGp_particle_setBombSmoke(0x200A, ¤t.pos, 0, &mScale);
|
||||
dComIfGp_particle_setToonP1(0x2008, ¤t.pos, 0, &mScale, 0xFF, 0, -1, 0, 0, 0);
|
||||
dComIfGp_particle_setP1(dPa_name::ID_COMMON_LIGHT_FLASH, ¤t.pos, rotation, &mScale);
|
||||
dComIfGp_particle_setBombSmoke(dPa_name::ID_COMMON_SMOKE_CLOUD, ¤t.pos, NULL, &mScale);
|
||||
dComIfGp_particle_setBombSmoke(dPa_name::ID_COMMON_SMOKE_CIRCLE, ¤t.pos, NULL, &mScale);
|
||||
dComIfGp_particle_setToonP1(dPa_name::ID_COMMON_SMOKE_DEBRIS, ¤t.pos, NULL, &mScale);
|
||||
}
|
||||
|
||||
void daBomb_c::eff_explode_cheap(const csXyz* rotation) {
|
||||
JPABaseEmitter* emitter = dComIfGp_particle_setP1(0xB, ¤t.pos, rotation, &mScale, 0xFF, 0, -1, 0, 0, 0);
|
||||
JPABaseEmitter* emitter = dComIfGp_particle_setP1(dPa_name::ID_COMMON_LIGHT_FLASH, ¤t.pos, rotation, &mScale);
|
||||
if(emitter) {
|
||||
emitter->mLifeTime = 0xC;
|
||||
JGeometry::TVec3<f32> vec(0.5f, 0.67f, 1.0f);
|
||||
emitter->setGlobalParticleScale(vec);
|
||||
}
|
||||
|
||||
dComIfGp_particle_setBombSmoke(0x232A, ¤t.pos, 0, &mScale);
|
||||
emitter = dComIfGp_particle_setBombSmoke(0x200A, ¤t.pos, 0, &mScale);
|
||||
dComIfGp_particle_setBombSmoke(0x232A, ¤t.pos, NULL, &mScale);
|
||||
emitter = dComIfGp_particle_setBombSmoke(dPa_name::ID_COMMON_SMOKE_CIRCLE, ¤t.pos, NULL, &mScale);
|
||||
if(emitter) {
|
||||
emitter->mLifeTime = 0x46;
|
||||
}
|
||||
|
||||
emitter = dComIfGp_particle_setToonP1(0x2008, ¤t.pos, 0, &mScale, 0xFF, 0, -1, 0, 0, 0);
|
||||
emitter = dComIfGp_particle_setToonP1(dPa_name::ID_COMMON_SMOKE_DEBRIS, ¤t.pos, NULL, &mScale);
|
||||
if(emitter) {
|
||||
emitter->mLifeTime = 0x46;
|
||||
emitter->mInitialVelAxis = 25.0f;
|
||||
|
||||
@@ -75,15 +75,15 @@ 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);
|
||||
dComIfGp_particle_set(0x14, &i_this->current.pos, NULL, &particleScale);
|
||||
case 3:
|
||||
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);
|
||||
dComIfGp_particle_set(0x13, &i_this->current.pos, NULL, &particleScale);
|
||||
dComIfGp_particle_setStripes(0x15, &i_this->current.pos, NULL, &particleScale, 0xFF, 0x96);
|
||||
dComIfGp_particle_set(0x16, &i_this->current.pos, NULL, &particleScale);
|
||||
break;
|
||||
case 1:
|
||||
dComIfGp_particle_set(0x13, &i_this->current.pos, 0, &particleScale);
|
||||
dComIfGp_particle_set(0x16, &i_this->current.pos, 0, &particleScale);
|
||||
dComIfGp_particle_set(0x13, &i_this->current.pos, NULL, &particleScale);
|
||||
dComIfGp_particle_set(0x16, &i_this->current.pos, NULL, &particleScale);
|
||||
break;
|
||||
case 4:
|
||||
dComIfGp_particle_set(0x043C, &i_this->current.pos);
|
||||
|
||||
@@ -343,7 +343,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);
|
||||
dComIfGp_particle_set(0x57, &pos, &shape_angle, &scale, 0xFF, NULL, -1, &col);
|
||||
|
||||
break;
|
||||
case 0x98:
|
||||
|
||||
@@ -1870,7 +1870,7 @@ static dCcD_SrcCyl l_cyl_src = {
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
/* SrcGObjTg Se */ 0x25,
|
||||
/* SrcGObjTg HitMark */ 0x0C,
|
||||
/* SrcGObjTg HitMark */ G_TG_MARK_PURPLE_HIT,
|
||||
/* SrcGObjTg Spl */ 0,
|
||||
/* SrcGObjTg Mtrl */ 0,
|
||||
/* SrcGObjTg SPrm */ 0,
|
||||
@@ -1925,7 +1925,7 @@ static dCcD_SrcCyl l_at_cyl_src = {
|
||||
/* SrcObjTg SPrm */ 0,
|
||||
/* SrcObjCo SPrm */ 0,
|
||||
/* SrcGObjAt Se */ 0,
|
||||
/* SrcGObjAt HitMark */ 0x0F,
|
||||
/* SrcGObjAt HitMark */ G_AT_MARK_BIG_HIT,
|
||||
/* SrcGObjAt Spl */ 0x01,
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
@@ -1955,7 +1955,7 @@ static dCcD_SrcCps l_at_cps_src = {
|
||||
/* SrcObjTg SPrm */ 0,
|
||||
/* SrcObjCo SPrm */ 0,
|
||||
/* SrcGObjAt Se */ 0x01,
|
||||
/* SrcGObjAt HitMark */ 0x0D,
|
||||
/* SrcGObjAt HitMark */ G_AT_MARK_NORMAL_HIT,
|
||||
/* SrcGObjAt Spl */ 0,
|
||||
/* SrcGObjAt Mtrl */ 0,
|
||||
/* SrcGObjAt SPrm */ 0,
|
||||
|
||||
@@ -645,7 +645,7 @@ bool daRd_c::checkTgHit() {
|
||||
}
|
||||
break;
|
||||
case AT_TYPE_GRAPPLING_HOOK:
|
||||
dComIfGp_particle_set(0x27B, &mAttentionInfo.mPosition);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_STARS_BLOW, &mAttentionInfo.mPosition);
|
||||
fopAcM_seStart(this, JA_SE_LK_W_WEP_HIT, 0x44);
|
||||
mHitType = 0xE;
|
||||
r29 = false;
|
||||
@@ -662,14 +662,14 @@ bool daRd_c::checkTgHit() {
|
||||
if (mHitType == 1 || mHitType == 7 || mHitType == 8 || mHealth <= 0) {
|
||||
dComIfGp_particle_set(0x10, mCyl.GetTgHitPosP());
|
||||
cXyz scale(2.0f, 2.0f, 2.0f);
|
||||
dComIfGp_particle_set(0xF, temp, &player->shape_angle, &scale);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_BIG_HIT, temp, &player->shape_angle, &scale);
|
||||
if (mHealth <= 0) {
|
||||
modeProcInit(MODE_DEATH);
|
||||
} else {
|
||||
modeProcInit(MODE_DAMAGE);
|
||||
}
|
||||
} else {
|
||||
dComIfGp_particle_set(0xD, temp, &player->shape_angle);
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, temp, &player->shape_angle);
|
||||
modeProcInit(MODE_DAMAGE);
|
||||
}
|
||||
} else if (mHitType == 0xE) {
|
||||
|
||||
+2
-2
@@ -32,7 +32,7 @@ dCcD_GStts::dCcD_GStts() {
|
||||
mAtSpl = 0;
|
||||
mTgSpl = 0;
|
||||
mRoomId = 0;
|
||||
field_0x08 = -1;
|
||||
mActorPerfTblId = -1;
|
||||
mAtApid = -1;
|
||||
mAtOldApid = -1;
|
||||
mTgApid = -1;
|
||||
@@ -45,7 +45,7 @@ void dCcD_GStts::Ct() {
|
||||
mAtSpl = 0;
|
||||
mTgSpl = 0;
|
||||
mRoomId = 0;
|
||||
field_0x08 = -1;
|
||||
mActorPerfTblId = -1;
|
||||
mAtApid = -1;
|
||||
mAtOldApid = -1;
|
||||
mTgApid = -1;
|
||||
|
||||
+35
-2
@@ -5,6 +5,7 @@
|
||||
|
||||
#include "d/d_cc_s.h"
|
||||
#include "d/d_cc_d.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
/* 800AD5B0-800AD5E4 .text Ct__4dCcSFv */
|
||||
void dCcS::Ct() {
|
||||
@@ -58,8 +59,40 @@ void dCcS::CalcParticleAngle(dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, csXyz*) {
|
||||
}
|
||||
|
||||
/* 800ADFF8-800AE308 .text ProcAtTgHitmark__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12dCcD_GObjInfP12dCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10dCcD_GSttsP10dCcD_GSttsP4cXyz */
|
||||
void dCcS::ProcAtTgHitmark(bool, bool, cCcD_Obj*, cCcD_Obj*, dCcD_GObjInf*, dCcD_GObjInf*, cCcD_Stts*, cCcD_Stts*, dCcD_GStts*, dCcD_GStts*, cXyz*) {
|
||||
/* Nonmatching */
|
||||
void dCcS::ProcAtTgHitmark(bool, bool, cCcD_Obj* r6, cCcD_Obj* r7, dCcD_GObjInf* atInf, dCcD_GObjInf* tgInf,
|
||||
cCcD_Stts* r10, cCcD_Stts* r30, dCcD_GStts*, dCcD_GStts* r4, cXyz* pos)
|
||||
{
|
||||
if (atInf->ChkAtNoHitMark()) { return; }
|
||||
if (tgInf->ChkTgNoHitMark()) { return; }
|
||||
if (tgInf->GetTgHitMark() == 0xFF) { return; }
|
||||
if (!r4->ChkNoneActorPerfTblId()) { return; }
|
||||
|
||||
if (!ChkShield(r6, r7, atInf, tgInf)) {
|
||||
if (atInf->GetAtHitMark() == 0) { return; }
|
||||
if (atInf->GetAtHitMark() == 1 && tgInf->GetTgHitMark() == 1) {
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_STARS_BLOW, pos);
|
||||
} else {
|
||||
csXyz angle;
|
||||
CalcParticleAngle(atInf, r10, r30, &angle);
|
||||
if (atInf->GetAtHitMark() == 0xF) {
|
||||
dComIfGp_particle_set(0x10, pos);
|
||||
cXyz scale;
|
||||
scale.x = scale.y = scale.z = 2.0f;
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, pos, &angle, &scale);
|
||||
} else if (atInf->GetAtHitMark() == 1) {
|
||||
dComIfGp_particle_set(dPa_name::ID_COMMON_NORMAL_HIT, pos, &angle);
|
||||
} else {
|
||||
dComIfGp_particle_set(atInf->GetAtHitMark(), pos, &angle);
|
||||
}
|
||||
dKy_SordFlush_set(*pos, 1);
|
||||
}
|
||||
} else {
|
||||
if (tgInf->GetTgHitMark() == 0) { return; }
|
||||
dKy_SordFlush_set(*pos, 0);
|
||||
csXyz angle;
|
||||
CalcParticleAngle(atInf, r10, r30, &angle);
|
||||
dComIfGp_particle_set(tgInf->GetTgHitMark(), pos, &angle);
|
||||
}
|
||||
}
|
||||
|
||||
/* 800AE308-800AE5AC .text SetAtTgGObjInf__4dCcSFbbP8cCcD_ObjP8cCcD_ObjP12cCcD_GObjInfP12cCcD_GObjInfP9cCcD_SttsP9cCcD_SttsP10cCcD_GSttsP10cCcD_GSttsP4cXyz */
|
||||
|
||||
Reference in New Issue
Block a user