d_a_e_dk matching (#2476)

This commit is contained in:
Max Roncace
2025-06-06 08:16:44 +03:00
committed by GitHub
parent 357de95e41
commit 23bee3b523
7 changed files with 1054 additions and 915 deletions
+1 -1
View File
@@ -1649,7 +1649,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01"), "d_a_e_db_leaf"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_db_leaf"),
ActorRel(NonMatching, "d_a_e_dd"), ActorRel(NonMatching, "d_a_e_dd"),
ActorRel(Equivalent, "d_a_e_df"), # weak func order ActorRel(Equivalent, "d_a_e_df"), # weak func order
ActorRel(NonMatching, "d_a_e_dk"), ActorRel(MatchingFor("GZ2E01"), "d_a_e_dk"),
ActorRel(Equivalent, "d_a_e_dt"), # weak func order ActorRel(Equivalent, "d_a_e_dt"), # weak func order
ActorRel(NonMatching, "d_a_e_fb"), ActorRel(NonMatching, "d_a_e_fb"),
ActorRel(NonMatching, "d_a_e_fk"), ActorRel(NonMatching, "d_a_e_fk"),
@@ -699,6 +699,7 @@ struct J3DBlend : public J3DBlendInfo {
J3DBlend(J3DBlendInfo const& info) : J3DBlendInfo(info) {} J3DBlend(J3DBlendInfo const& info) : J3DBlendInfo(info) {}
void setType(u8 i_type) { mType = i_type; } void setType(u8 i_type) { mType = i_type; }
void setSrcFactor(u8 i_factor) { mSrcFactor = i_factor; }
void setDstFactor(u8 i_factor) { mDstFactor = i_factor; } void setDstFactor(u8 i_factor) { mDstFactor = i_factor; }
GXBlendMode getBlendMode() const { return (GXBlendMode)mType; } GXBlendMode getBlendMode() const { return (GXBlendMode)mType; }
+16 -16
View File
@@ -18,15 +18,15 @@
*/ */
class daE_DK_c : public fopEn_enemy_c { class daE_DK_c : public fopEn_enemy_c {
public: public:
/* 806AA228 */ void draw(); /* 806AA228 */ int draw();
/* 806AA5C8 */ void setBck(int, u8, f32, f32); /* 806AA5C8 */ void setBck(int i_resIndex, u8 i_attr, f32 i_morf, f32 i_rate);
/* 806AA68C */ void setBckCore(int, u8, f32, f32); /* 806AA68C */ void setBckCore(int i_resIndex, u8 i_attr, f32 i_morf, f32 i_rate);
/* 806AA730 */ void setActionMode(int, int); /* 806AA730 */ void setActionMode(int i_actionMode, int i_moveMode);
/* 806AA73C */ void damage_check(); /* 806AA73C */ void damage_check();
/* 806AA8B0 */ void checkPlayerSearch(); /* 806AA8B0 */ bool checkPlayerSearch();
/* 806AAB18 */ void checkPlayerAttack(f32); /* 806AAB18 */ int checkPlayerAttack(f32);
/* 806AAC24 */ void checkWaterHeight(); /* 806AAC24 */ void checkWaterHeight();
/* 806AAD68 */ void SphBgcCallBack(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*); /* 806AAD68 */ static void SphBgcCallBack(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void*);
/* 806AAE10 */ void setElectricEffect(); /* 806AAE10 */ void setElectricEffect();
/* 806AB054 */ void setCoreDeadEffect(); /* 806AB054 */ void setCoreDeadEffect();
/* 806AB158 */ void setBodyDeadEffect(); /* 806AB158 */ void setBodyDeadEffect();
@@ -39,10 +39,10 @@ public:
/* 806AC390 */ void action(); /* 806AC390 */ void action();
/* 806AC5BC */ void mtx_set(); /* 806AC5BC */ void mtx_set();
/* 806AC754 */ void cc_set(); /* 806AC754 */ void cc_set();
/* 806AC968 */ void execute(); /* 806AC968 */ int execute();
/* 806ACA10 */ void _delete(); /* 806ACA10 */ int _delete();
/* 806ACAA4 */ void CreateHeap(); /* 806ACAA4 */ int CreateHeap();
/* 806ACE14 */ void create(); /* 806ACE14 */ int create();
/* 806AD0AC */ daE_DK_c(); /* 806AD0AC */ daE_DK_c();
private: private:
@@ -62,7 +62,7 @@ private:
/* 0x690 */ u8 field_0x690; /* 0x690 */ u8 field_0x690;
/* 0x691 */ u8 field_0x691; /* 0x691 */ u8 field_0x691;
/* 0x692 */ u8 field_0x692; /* 0x692 */ u8 field_0x692;
/* 0x694 */ s16 field_0x694; /* 0x694 */ u16 field_0x694;
/* 0x698 */ s32 field_0x698; /* 0x698 */ s32 field_0x698;
/* 0x69C */ s32 field_0x69c; /* 0x69C */ s32 field_0x69c;
/* 0x6A0 */ u8 field_0x6a0; /* 0x6A0 */ u8 field_0x6a0;
@@ -82,9 +82,9 @@ private:
/* 0x964 */ dCcD_Sph mSphere; /* 0x964 */ dCcD_Sph mSphere;
/* 0xA9C */ dCcD_Sph mAtSphere; /* 0xA9C */ dCcD_Sph mAtSphere;
/* 0xBD4 */ dCcD_Sph mCoreSphere; /* 0xBD4 */ dCcD_Sph mCoreSphere;
/* 0xD0C */ dCcU_AtInfo field_0xd0c; /* 0xD0C */ dCcU_AtInfo mAtInfo;
/* 0xD30 */ u32 mEffects[6]; /* 0xD30 */ u32 mElectricEffects[6];
/* 0xD48 */ u8 field_0xD48[0xD50 - 0xD48]; /* 0xD48 */ u32 mDeadEffects[2];
/* 0xD50 */ u8 mHIOInit; /* 0xD50 */ u8 mHIOInit;
}; };
@@ -93,7 +93,7 @@ STATIC_ASSERT(sizeof(daE_DK_c) == 0xd54);
class daE_DK_HIO_c : public JORReflexible { class daE_DK_HIO_c : public JORReflexible {
public: public:
/* 806AA1EC */ daE_DK_HIO_c(); /* 806AA1EC */ daE_DK_HIO_c();
/* 806AD490 */ virtual ~daE_DK_HIO_c(); /* 806AD490 */ virtual ~daE_DK_HIO_c() {}
void genMessage(JORMContext*); void genMessage(JORMContext*);
+19 -19
View File
@@ -3862,28 +3862,28 @@ inline void dComIfGp_clearMesgCameraAttrInfo() {
g_dComIfG_gameInfo.play.clearMesgCamInfoBasicID(); g_dComIfG_gameInfo.play.clearMesgCamInfoBasicID();
} }
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos,
const dKy_tevstr_c* param_3, const csXyz* param_4, const dKy_tevstr_c* param_3, const csXyz* i_rotation,
const cXyz* param_5, u8 param_6, dPa_levelEcallBack* param_7, const cXyz* i_scale, u8 i_alpha, dPa_levelEcallBack* param_7,
s8 param_8, const GXColor* param_9, const GXColor* param_10, s8 param_8, const GXColor* param_9, const GXColor* param_10,
const cXyz* param_11) { const cXyz* param_11) {
return g_dComIfG_gameInfo.play.getParticle()->setNormal( return g_dComIfG_gameInfo.play.getParticle()->setNormal(
param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, param_9, param_0, param_1, i_pos, param_3, i_rotation, i_scale, i_alpha, param_7, param_8, param_9,
param_10, param_11, 1.0f); param_10, param_11, 1.0f);
} }
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos,
const csXyz* param_3, const cXyz* param_4, u8 param_5, const csXyz* i_rotation, const cXyz* i_scale, u8 param_5,
dPa_levelEcallBack* param_6, s8 param_7, const GXColor* param_8, dPa_levelEcallBack* param_6, s8 param_7, const GXColor* param_8,
const GXColor* param_9, const cXyz* param_10) { const GXColor* param_9, const cXyz* param_10) {
return g_dComIfG_gameInfo.play.getParticle()->setNormal( return g_dComIfG_gameInfo.play.getParticle()->setNormal(
param_0, param_1, param_2, NULL, param_3, param_4, param_5, param_6, param_7, param_8, param_0, param_1, i_pos, NULL, i_rotation, i_scale, param_5, param_6, param_7, param_8,
param_9, param_10, 1.0f); param_9, param_10, 1.0f);
} }
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos,
const dKy_tevstr_c* param_3) { const dKy_tevstr_c* param_3) {
return dComIfGp_particle_set(param_0, param_1, param_2, param_3, 0, 0, 0xFF, 0, 0xFFFFFFFF, 0, return dComIfGp_particle_set(param_0, param_1, i_pos, param_3, 0, 0, 0xFF, 0, 0xFFFFFFFF, 0,
0, 0); 0, 0);
} }
@@ -3921,45 +3921,45 @@ inline JPABaseEmitter* dComIfGp_particle_set(u16 i_resID, const cXyz* i_pos,
NULL, NULL); NULL, NULL);
} }
inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* param_2, inline u32 dComIfGp_particle_set(u32 param_0, u16 param_1, const cXyz* i_pos,
const csXyz* param_3, const cXyz* param_4) { const csXyz* param_3, const cXyz* param_4) {
return dComIfGp_particle_set(param_0, param_1, param_2, param_3, param_4, 0xFF, NULL, -1, NULL, return dComIfGp_particle_set(param_0, param_1, i_pos, param_3, param_4, 0xFF, NULL, -1, NULL,
NULL, NULL); NULL, NULL);
} }
inline u32 dComIfGp_particle_setColor(u32 param_0, u16 param_1, const cXyz* param_2, inline u32 dComIfGp_particle_setColor(u32 param_0, u16 param_1, const cXyz* i_pos,
const dKy_tevstr_c* param_3, const GXColor* param_4, const dKy_tevstr_c* param_3, const GXColor* param_4,
const GXColor* param_5, f32 param_6, u8 param_7, const GXColor* param_5, f32 param_6, u8 param_7,
const csXyz* param_8, const cXyz* param_9, const csXyz* param_8, const cXyz* param_9,
dPa_levelEcallBack* param_10, s8 param_11, dPa_levelEcallBack* param_10, s8 param_11,
const cXyz* param_12) { const cXyz* param_12) {
return g_dComIfG_gameInfo.play.getParticle()->setNormal( return g_dComIfG_gameInfo.play.getParticle()->setNormal(
param_0, param_1, param_2, param_3, param_8, param_9, param_7, param_10, param_11, param_4, param_0, param_1, i_pos, param_3, param_8, param_9, param_7, param_10, param_11, param_4,
param_5, param_12, param_6); param_5, param_12, param_6);
} }
inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1, inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* i_pos,
const dKy_tevstr_c* param_2, const dKy_tevstr_c* param_2,
const GXColor* param_3, const GXColor* param_4, const GXColor* param_3, const GXColor* param_4,
f32 param_5, u8 param_6, const csXyz* param_7, f32 param_5, u8 param_6, const csXyz* param_7,
const cXyz* param_8, dPa_levelEcallBack* param_9, const cXyz* param_8, dPa_levelEcallBack* param_9,
s8 param_10, const cXyz* param_11) { s8 param_10, const cXyz* param_11) {
return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, param_1, param_2, param_7, return g_dComIfG_gameInfo.play.getParticle()->setNormal(param_0, i_pos, param_2, param_7,
param_8, param_6, param_9, param_10, param_8, param_6, param_9, param_10,
param_3, param_4, param_11, param_5); param_3, param_4, param_11, param_5);
} }
inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* param_1, inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* i_pos,
const dKy_tevstr_c* param_2, const dKy_tevstr_c* param_2,
const GXColor* param_3, const GXColor* param_4, const GXColor* param_3, const GXColor* param_4,
f32 param_5, u8 param_6) { f32 param_5, u8 param_6) {
return dComIfGp_particle_setColor(param_0, param_1, param_2, param_3, param_4, param_5, param_6, return dComIfGp_particle_setColor(param_0, i_pos, param_2, param_3, param_4, param_5, param_6,
NULL, NULL, NULL, -1, NULL); NULL, NULL, NULL, -1, NULL);
} }
inline void dComIfGp_particle_setSimple(u16 param_0, cXyz* param_1, u8 param_2, _GXColor& param_3, inline void dComIfGp_particle_setSimple(u16 param_0, cXyz* i_pos, u8 param_2, _GXColor& param_3,
_GXColor& param_4, int param_5, float param_6) { _GXColor& param_4, int param_5, float param_6) {
g_dComIfG_gameInfo.play.getParticle()->setSimple(param_0, param_1, 0, param_2, param_3, param_4, g_dComIfG_gameInfo.play.getParticle()->setSimple(param_0, i_pos, 0, param_2, param_3, param_4,
param_5, param_6); param_5, param_6);
} }
+8 -8
View File
@@ -367,19 +367,19 @@ public:
void forceOnEventMove(u32 param_0) { field_0x210.forceOnEventMove(param_0); } void forceOnEventMove(u32 param_0) { field_0x210.forceOnEventMove(param_0); }
JPABaseEmitter* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); } JPABaseEmitter* getEmitter(u32 param_0) { return field_0x210.getEmitter(param_0); }
u32 setNormal(u32 param_0, u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, u32 setNormal(u32 param_0, u16 param_1, const cXyz* i_pos, const dKy_tevstr_c* param_3,
const csXyz* param_4, const cXyz* param_5, u8 param_6, const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha, dPa_levelEcallBack* param_7,
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, s8 param_8, const GXColor* param_9, const GXColor* param_10, const cXyz* param_11,
const GXColor* param_10, const cXyz* param_11, f32 param_12) { f32 param_12) {
return set(param_0, 0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, return set(param_0, 0, param_1, i_pos, param_3, i_rotation, i_scale, i_alpha, param_7,
param_8, param_9, param_10, param_11, param_12); param_8, param_9, param_10, param_11, param_12);
} }
JPABaseEmitter* setNormal(u16 param_1, const cXyz* param_2, const dKy_tevstr_c* param_3, JPABaseEmitter* setNormal(u16 param_1, const cXyz* i_pos, const dKy_tevstr_c* param_3,
const csXyz* param_4, const cXyz* param_5, u8 param_6, const csXyz* i_rotation, const cXyz* i_scale, u8 i_alpha,
dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9, dPa_levelEcallBack* param_7, s8 param_8, const GXColor* param_9,
const GXColor* param_10, const cXyz* param_11, f32 param_12) { const GXColor* param_10, const cXyz* param_11, f32 param_12) {
return set(0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, return set(0, param_1, i_pos, param_3, i_rotation, i_scale, i_alpha, param_7, param_8,
param_9, param_10, param_11, param_12); param_9, param_10, param_11, param_12);
} }
+970 -831
View File
File diff suppressed because it is too large Load Diff
+39 -40
View File
@@ -836,7 +836,7 @@ JPABaseEmitter* dPa_simpleEcallBack::createEmitter(JPAEmitterManager* param_0) {
/* 8004B168-8004B4E0 045AA8 0378+00 1/1 0/0 0/0 .text /* 8004B168-8004B4E0 045AA8 0378+00 1/1 0/0 0/0 .text
* set__19dPa_simpleEcallBackFPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif */ * set__19dPa_simpleEcallBackFPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif */
u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u8 param_3, u32 dPa_simpleEcallBack::set(cXyz const* i_pos, dKy_tevstr_c const* param_2, u8 param_3,
_GXColor const& param_4, _GXColor const& param_5, int param_6, _GXColor const& param_4, _GXColor const& param_5, int param_6,
f32 param_7) { f32 param_7) {
f32 dVar7 = param_7; f32 dVar7 = param_7;
@@ -855,7 +855,7 @@ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u
return 0; return 0;
} }
pData = mData + field_0xc; pData = mData + field_0xc;
pData->field_0x00 = *param_1; pData->field_0x00 = *i_pos;
u32 uVar5 = dPa_control_c::getEmitterManager()->getResourceManager(dPa_control_c::getRM_ID(mID))->getResUserWork(mID); u32 uVar5 = dPa_control_c::getEmitterManager()->getResourceManager(dPa_control_c::getRM_ID(mID))->getResUserWork(mID);
u32 uVar6 = (uVar5 & 0xef0000) >> 0x10; u32 uVar6 = (uVar5 & 0xef0000) >> 0x10;
if (uVar6 < 100) { if (uVar6 < 100) {
@@ -875,7 +875,7 @@ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u
if (&param_4 != NULL) { if (&param_4 != NULL) {
local_68 = param_4; local_68 = param_4;
} }
dKy_ParticleColor_get_actor((cXyz*)param_1, (dKy_tevstr_c*)param_2, &local_5c, &local_60, dKy_ParticleColor_get_actor((cXyz*)i_pos, (dKy_tevstr_c*)param_2, &local_5c, &local_60,
&local_64, &local_68, dVar7); &local_64, &local_68, dVar7);
pData->field_0x0c.r = local_60.r; pData->field_0x0c.r = local_60.r;
pData->field_0x0c.g = local_60.g; pData->field_0x0c.g = local_60.g;
@@ -895,7 +895,7 @@ u32 dPa_simpleEcallBack::set(cXyz const* param_1, dKy_tevstr_c const* param_2, u
if (&param_4 != NULL) { if (&param_4 != NULL) {
local_78 = param_4; local_78 = param_4;
} }
dKy_ParticleColor_get_bg((cXyz*)param_1, (dKy_tevstr_c*)param_2, &local_6c, &local_70, &local_74, &local_78, dKy_ParticleColor_get_bg((cXyz*)i_pos, (dKy_tevstr_c*)param_2, &local_6c, &local_70, &local_74, &local_78,
dVar7); dVar7);
dVar7 = g_env_light.bg_light_influence + dVar7 = g_env_light.bg_light_influence +
(1.0f - g_env_light.bg_light_influence) * dVar7; (1.0f - g_env_light.bg_light_influence) * dVar7;
@@ -1478,11 +1478,11 @@ void dPa_control_c::setWaterRipple(u32* param_0, cBgS_PolyInfo& param_1, cXyz co
/* 8004CA90-8004CF90 0473D0 0500+00 3/3 20/20 418/418 .text /* 8004CA90-8004CF90 0473D0 0500+00 3/3 20/20 418/418 .text
* set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf * set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
*/ */
JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2, JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* i_pos,
dKy_tevstr_c const* param_3, csXyz const* param_4, cXyz const* param_5, dKy_tevstr_c const* param_3, csXyz const* i_rotation,
u8 param_6, dPa_levelEcallBack* param_7, s8 param_8, cXyz const* i_scale, u8 i_alpha, dPa_levelEcallBack* param_7,
_GXColor const* param_9, _GXColor const* param_10, cXyz const* param_11, s8 param_8, _GXColor const* param_9, _GXColor const* param_10,
f32 param_12) { cXyz const* param_11, f32 param_12) {
u8 local_e0 = getRM_ID(param_1); u8 local_e0 = getRM_ID(param_1);
JPAResourceManager* local_a8 = mEmitterMng->getResourceManager(local_e0); JPAResourceManager* local_a8 = mEmitterMng->getResourceManager(local_e0);
if (local_a8 == NULL) { if (local_a8 == NULL) {
@@ -1496,7 +1496,7 @@ JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
dPa_group_id_change(&local_ac, &param_0); dPa_group_id_change(&local_ac, &param_0);
JGeometry::TVec3<f32> aTStack_78; JGeometry::TVec3<f32> aTStack_78;
aTStack_78.set(param_2->x, param_2->y, param_2->z); aTStack_78.set(i_pos->x, i_pos->y, i_pos->z);
JPABaseEmitter* this_00 = mEmitterMng->createSimpleEmitterID( JPABaseEmitter* this_00 = mEmitterMng->createSimpleEmitterID(
aTStack_78, param_1, param_0, aTStack_78, param_1, param_0,
local_e0, NULL, NULL); local_e0, NULL, NULL);
@@ -1505,25 +1505,25 @@ JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
return NULL; return NULL;
} }
if (param_4 != NULL) { if (i_rotation != NULL) {
JGeometry::TVec3<s16> aTStack_a4; JGeometry::TVec3<s16> aTStack_a4;
aTStack_a4.x = param_4->x; aTStack_a4.x = i_rotation->x;
aTStack_a4.y = param_4->y; aTStack_a4.y = i_rotation->y;
aTStack_a4.z = param_4->z; aTStack_a4.z = i_rotation->z;
this_00->setGlobalRotation(aTStack_a4); this_00->setGlobalRotation(aTStack_a4);
} }
if (param_5 != NULL) { if (i_scale != NULL) {
JGeometry::TVec3<f32> aTStack_84; JGeometry::TVec3<f32> aTStack_84;
aTStack_84.x = param_5->x; aTStack_84.x = i_scale->x;
aTStack_84.y = param_5->y; aTStack_84.y = i_scale->y;
aTStack_84.z = param_5->z; aTStack_84.z = i_scale->z;
this_00->setGlobalScale(aTStack_84); this_00->setGlobalScale(aTStack_84);
} }
this_00->setGlobalAlpha(param_6); this_00->setGlobalAlpha(i_alpha);
if (param_7 != NULL) { if (param_7 != NULL) {
this_00->setEmitterCallBackPtr(param_7); this_00->setEmitterCallBackPtr(param_7);
param_7->setup(this_00, param_2, param_4, param_8); param_7->setup(this_00, i_pos, i_rotation, param_8);
} }
if ((local_ac & 0x100) != 0) { if ((local_ac & 0x100) != 0) {
this_00->setParticleCallBackPtr(getFsenthPcallBack()); this_00->setParticleCallBackPtr(getFsenthPcallBack());
@@ -1531,17 +1531,17 @@ JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
if ((local_ac & 0x800) != 0) { if ((local_ac & 0x800) != 0) {
this_00->setEmitterCallBackPtr(getGen_d_Light8EcallBack()); this_00->setEmitterCallBackPtr(getGen_d_Light8EcallBack());
if ((local_ac & 0x20) != 0) { if ((local_ac & 0x20) != 0) {
getGen_d_Light8EcallBack()->setup(this_00, param_2, param_4, 0); getGen_d_Light8EcallBack()->setup(this_00, i_pos, i_rotation, 0);
} else { } else {
getGen_d_Light8EcallBack()->setup(this_00, param_2, param_4, 1); getGen_d_Light8EcallBack()->setup(this_00, i_pos, i_rotation, 1);
} }
} else { } else {
if ((local_ac & 0x400) != 0) { if ((local_ac & 0x400) != 0) {
this_00->setEmitterCallBackPtr(getGen_b_Light8EcallBack()); this_00->setEmitterCallBackPtr(getGen_b_Light8EcallBack());
if ((local_ac & 0x20) != 0) { if ((local_ac & 0x20) != 0) {
getGen_b_Light8EcallBack()->setup(this_00, param_2, param_4, 0); getGen_b_Light8EcallBack()->setup(this_00, i_pos, i_rotation, 0);
} else { } else {
getGen_b_Light8EcallBack()->setup(this_00, param_2, param_4, 1); getGen_b_Light8EcallBack()->setup(this_00, i_pos, i_rotation, 1);
} }
} else { } else {
if ((local_ac & 0xef0000) >> 0x10 < 100) { if ((local_ac & 0xef0000) >> 0x10 < 100) {
@@ -1558,7 +1558,7 @@ JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
if (param_9 != NULL) { if (param_9 != NULL) {
local_bc = *param_9; local_bc = *param_9;
} }
dKy_ParticleColor_get_actor((cXyz*)param_2, (dKy_tevstr_c*)param_3, &local_b0, dKy_ParticleColor_get_actor((cXyz*)i_pos, (dKy_tevstr_c*)param_3, &local_b0,
&local_b4, &local_b8, &local_bc, param_12); &local_b4, &local_b8, &local_bc, param_12);
this_00->setGlobalEnvColor(local_b0.r, local_b0.g, local_b0.b); this_00->setGlobalEnvColor(local_b0.r, local_b0.g, local_b0.b);
this_00->setGlobalPrmColor(local_b4.r, local_b4.g, local_b4.b); this_00->setGlobalPrmColor(local_b4.r, local_b4.g, local_b4.b);
@@ -1574,7 +1574,7 @@ JPABaseEmitter* dPa_control_c::set(u8 param_0, u16 param_1, cXyz const* param_2,
if (param_9 != NULL) { if (param_9 != NULL) {
local_cc = *param_9; local_cc = *param_9;
} }
dKy_ParticleColor_get_bg((cXyz*)param_2, (dKy_tevstr_c*)param_3, &local_c0, dKy_ParticleColor_get_bg((cXyz*)i_pos, (dKy_tevstr_c*)param_3, &local_c0,
&local_c4, &local_c8, &local_cc, param_12); &local_c4, &local_c8, &local_cc, param_12);
param_12 = g_env_light.bg_light_influence + (1.0f - g_env_light.bg_light_influence) * param_12; param_12 = g_env_light.bg_light_influence + (1.0f - g_env_light.bg_light_influence) * param_12;
local_c0 = dKy_light_influence_col(&local_c0, param_12); local_c0 = dKy_light_influence_col(&local_c0, param_12);
@@ -1659,7 +1659,7 @@ bool dPa_control_c::newSimple(u16 param_0, u8 param_1, u32* param_2) {
/* 8004D1B8-8004D23C 047AF8 0084+00 0/0 0/0 9/9 .text /* 8004D1B8-8004D23C 047AF8 0084+00 0/0 0/0 9/9 .text
* setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif */ * setSimple__13dPa_control_cFUsPC4cXyzPC12dKy_tevstr_cUcRC8_GXColorRC8_GXColorif */
u32 dPa_control_c::setSimple(u16 param_0, cXyz const* param_1, dKy_tevstr_c const* param_2, u32 dPa_control_c::setSimple(u16 param_0, cXyz const* i_pos, dKy_tevstr_c const* param_2,
u8 param_3, _GXColor const& param_4, _GXColor const& param_5, u8 param_3, _GXColor const& param_4, _GXColor const& param_5,
int param_6, f32 param_7) { int param_6, f32 param_7) {
dPa_simpleEcallBack* cb = getSimple(param_0); dPa_simpleEcallBack* cb = getSimple(param_0);
@@ -1667,7 +1667,7 @@ u32 dPa_control_c::setSimple(u16 param_0, cXyz const* param_1, dKy_tevstr_c cons
return 0; return 0;
} }
return cb->set(param_1, param_2, param_3, param_4, param_5, param_6, param_7); return cb->set(i_pos, param_2, param_3, param_4, param_5, param_6, param_7);
} }
/* 8004D23C-8004D278 047B7C 003C+00 1/1 0/0 0/0 .text getSimple__13dPa_control_cFUs */ /* 8004D23C-8004D278 047B7C 003C+00 1/1 0/0 0/0 .text getSimple__13dPa_control_cFUs */
@@ -1732,11 +1732,10 @@ static void dPa_kankyocolor_set(f32 param_0, JPABaseEmitter* param_1,
/* 8004D4CC-8004D6A4 047E0C 01D8+00 3/3 11/11 364/364 .text /* 8004D4CC-8004D6A4 047E0C 01D8+00 3/3 11/11 364/364 .text
* set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf * set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf
*/ */
u32 dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3, u32 dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* pos,
dKy_tevstr_c const* param_4, csXyz const* param_5, cXyz const* param_6, dKy_tevstr_c const* param_4, csXyz const* i_rotation, cXyz const* i_scale,
u8 param_7, dPa_levelEcallBack* param_8, s8 param_9, u8 alpha, dPa_levelEcallBack* param_8, s8 param_9, _GXColor const* param_10,
_GXColor const* param_10, _GXColor const* param_11, cXyz const* param_12, _GXColor const* param_11, cXyz const* param_12, f32 param_13) {
f32 param_13) {
level_c::emitter_c* this_00 = field_0x210.get(param_0); level_c::emitter_c* this_00 = field_0x210.get(param_0);
u8 uVar7 = getRM_ID(param_2); u8 uVar7 = getRM_ID(param_2);
JPAResourceManager* this_01 = mEmitterMng->getResourceManager(uVar7); JPAResourceManager* this_01 = mEmitterMng->getResourceManager(uVar7);
@@ -1747,19 +1746,19 @@ u32 dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3
JPABaseEmitter* pJVar4 = this_00->getEmitter(); JPABaseEmitter* pJVar4 = this_00->getEmitter();
pJVar4->playCalcEmitter(); pJVar4->playCalcEmitter();
if (this_00->getCallback() == 0) { if (this_00->getCallback() == 0) {
pJVar4->setGlobalTranslation(param_3->x, param_3->y, param_3->z); pJVar4->setGlobalTranslation(pos->x, pos->y, pos->z);
if (param_5 != NULL) { if (i_rotation != NULL) {
JGeometry::TVec3<s16> aTStack_64; JGeometry::TVec3<s16> aTStack_64;
aTStack_64.x = param_5->x; aTStack_64.x = i_rotation->x;
aTStack_64.y = param_5->y; aTStack_64.y = i_rotation->y;
aTStack_64.z = param_5->z; aTStack_64.z = i_rotation->z;
pJVar4->setGlobalRotation(aTStack_64); pJVar4->setGlobalRotation(aTStack_64);
} }
} }
if (pJVar4->checkStatus(JPAEmtrStts_StopEmit)) { if (pJVar4->checkStatus(JPAEmtrStts_StopEmit)) {
pJVar4->playCreateParticle(); pJVar4->playCreateParticle();
} }
dPa_kankyocolor_set(param_13, pJVar4, param_4, uVar3, param_3, param_10, param_11); dPa_kankyocolor_set(param_13, pJVar4, param_4, uVar3, pos, param_10, param_11);
return this_00->getId(); return this_00->getId();
} }
field_0x210.cutTable(this_00); field_0x210.cutTable(this_00);
@@ -1767,7 +1766,7 @@ u32 dPa_control_c::set(u32 param_0, u8 param_1, u16 param_2, cXyz const* param_3
if (param_8 != NULL) { if (param_8 != NULL) {
param_8->cleanup(); param_8->cleanup();
} }
JPABaseEmitter* pJVar5 = set(param_1, param_2, param_3, param_4, param_5, param_6, param_7, JPABaseEmitter* pJVar5 = set(param_1, param_2, pos, param_4, i_rotation, i_scale, alpha,
param_8, param_9, param_10, param_11, param_12, param_13); param_8, param_9, param_10, param_11, param_12, param_13);
if (pJVar5 == NULL) { if (pJVar5 == NULL) {
return 0; return 0;