Unindent namespaces in cpp files

This commit is contained in:
LagoLunatic
2026-05-07 19:02:58 -04:00
parent dba3442026
commit 0b718cc963
4 changed files with 426 additions and 421 deletions
-1
View File
@@ -21,4 +21,3 @@ IncludeCategories:
Priority: -1000
IndentCaseBlocks: true
IndentCaseLabels: true
NamespaceIndentation: All
+142 -140
View File
@@ -12,159 +12,161 @@
#include "d/d_com_inf_game.h"
namespace daObjHomensmoke {
/* 000000EC-00000230 .text set_mtx__Q215daObjHomensmoke5Act_cFv */
void Act_c::set_mtx() {
if (param_get_axis() != 0) {
cXyz backOffset(0.0f, 0.0f, -200.0f);
cXyz forwardOffset(0.0f, 0.0f, 200.0f);
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::transM(forwardOffset);
mDoMtx_stack_c::ZrotM(shape_angle.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::XrotM(shape_angle.x);
mDoMtx_stack_c::transM(backOffset);
mDoMtx_copy(mDoMtx_stack_c::get(), mMtx);
} else {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZrotM(shape_angle.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::XrotM(shape_angle.x);
mDoMtx_copy(mDoMtx_stack_c::get(), mMtx);
}
}
/* 0000026C-0000048C .text _create__Q215daObjHomensmoke5Act_cFv */
cPhs_State Act_c::_create() {
fopAcM_ct(this, Act_c);
mbInitialized = FALSE;
set_mtx();
fopAcM_SetMtx(this, mMtx);
mType = param_get_arg0();
struct daObjHomensmoke__cullbox {
/* 0x0 */ Vec mMin;
/* 0xC */ Vec mMax;
};
static daObjHomensmoke__cullbox culling_dat[] = {
{-300.0f, -30.0f, -100.0f, 300.0f, 600.0f, 300.0f},
{-100.0f, -30.0f, -100.0f, 100.0f, 250.0f, 120.0f},
};
fopAcM_setCullSizeBox(this,
culling_dat[mType].mMin.x, culling_dat[mType].mMin.y, culling_dat[mType].mMin.z,
culling_dat[mType].mMax.x, culling_dat[mType].mMax.y, culling_dat[mType].mMax.z
);
fopAc_ac_c* parent = fopAcM_SearchByID(parentActorID);
if (parent) {
tevStr = parent->tevStr;
}
return cPhs_COMPLEATE_e;
/* 000000EC-00000230 .text set_mtx__Q215daObjHomensmoke5Act_cFv */
void Act_c::set_mtx() {
if (param_get_axis() != 0) {
cXyz backOffset(0.0f, 0.0f, -200.0f);
cXyz forwardOffset(0.0f, 0.0f, 200.0f);
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::transM(forwardOffset);
mDoMtx_stack_c::ZrotM(shape_angle.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::XrotM(shape_angle.x);
mDoMtx_stack_c::transM(backOffset);
mDoMtx_copy(mDoMtx_stack_c::get(), mMtx);
} else {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZrotM(shape_angle.z);
mDoMtx_stack_c::YrotM(shape_angle.y);
mDoMtx_stack_c::XrotM(shape_angle.x);
mDoMtx_copy(mDoMtx_stack_c::get(), mMtx);
}
}
/* 0000048C-000004C8 .text _delete__Q215daObjHomensmoke5Act_cFv */
bool Act_c::_delete() {
if (mSmokeCb.getEmitter()) {
mSmokeCb.remove();
}
return true;
/* 0000026C-0000048C .text _create__Q215daObjHomensmoke5Act_cFv */
cPhs_State Act_c::_create() {
fopAcM_ct(this, Act_c);
mbInitialized = FALSE;
set_mtx();
fopAcM_SetMtx(this, mMtx);
mType = param_get_arg0();
struct daObjHomensmoke__cullbox {
/* 0x0 */ Vec mMin;
/* 0xC */ Vec mMax;
};
static daObjHomensmoke__cullbox culling_dat[] = {
{-300.0f, -30.0f, -100.0f, 300.0f, 600.0f, 300.0f},
{-100.0f, -30.0f, -100.0f, 100.0f, 250.0f, 120.0f},
};
fopAcM_setCullSizeBox(this,
culling_dat[mType].mMin.x, culling_dat[mType].mMin.y, culling_dat[mType].mMin.z,
culling_dat[mType].mMax.x, culling_dat[mType].mMax.y, culling_dat[mType].mMax.z
);
fopAc_ac_c* parent = fopAcM_SearchByID(parentActorID);
if (parent) {
tevStr = parent->tevStr;
}
return cPhs_COMPLEATE_e;
}
/* 000004C8-00000738 .text _execute__Q215daObjHomensmoke5Act_cFv */
bool Act_c::_execute() {
/* 0000048C-000004C8 .text _delete__Q215daObjHomensmoke5Act_cFv */
bool Act_c::_delete() {
if (mSmokeCb.getEmitter()) {
mSmokeCb.remove();
}
return true;
}
/* 000004C8-00000738 .text _execute__Q215daObjHomensmoke5Act_cFv */
bool Act_c::_execute() {
#if VERSION == VERSION_DEMO
if (m2D0 == NULL)
if (m2D0 == NULL)
#else
if (!mbInitialized)
if (!mbInitialized)
#endif
{
static cXyz norse_offsetL(0.0f, 300.0f, 20.0f);
static cXyz norse_offsetS(0.0f, 70.0f, 20.0f);
if (mType == 0) {
cMtx_multVec(mMtx, &norse_offsetL, &mSmokePos);
} else {
cMtx_multVec(mMtx, &norse_offsetS, &mSmokePos);
}
JPABaseEmitter* smokeEmitter = dComIfGp_particle_setToon(dPa_name::ID_AK_JT_ELEMENTSMOKE01, &mSmokePos, NULL, NULL, 0xFF, &mSmokeCb, fopAcM_GetRoomNo(this));
if (smokeEmitter) {
static f32 rate_table[2] = {1.0f, 0.5f};
f32 rate = rate_table[mType & 1];
smokeEmitter->setGlobalAlpha(0xB4);
smokeEmitter->setRate(50.0f);
smokeEmitter->setMaxFrame(1);
JGeometry::TVec3<f32> scale;
scale.set(rate, 0.0f, rate);
smokeEmitter->setEmitterScale(scale);
scale.set(rate*5.0f, rate*5.0f, rate*5.0f);
smokeEmitter->setGlobalDynamicsScale(scale);
scale.set(rate*6.0f, rate*6.0f, rate*6.0f);
smokeEmitter->setGlobalParticleScale(scale);
}
JPABaseEmitter* rubbleEmitter = dComIfGp_particle_setToon(dPa_name::ID_AK_SN_KAZEMASKHAHEN00, &current.pos);
if (rubbleEmitter) {
rubbleEmitter->setGlobalPrmColor(tevStr.mColorK0.r, tevStr.mColorK0.g, tevStr.mColorK0.b);
if (mType == 1) {
JGeometry::TVec3<f32> scale(0.6f, 0.6f, 0.6f);
rubbleEmitter->setEmitterScale(scale);
rubbleEmitter->setGlobalDynamicsScale(scale);
rubbleEmitter->setGlobalParticleScale(scale);
}
rubbleEmitter->setGlobalRTMatrix(mMtx);
}
mbInitialized = TRUE;
} else if (mSmokeCb.isEnd()) {
fopAcM_delete(this);
}
return true;
}
/* 00000738-00000740 .text _draw__Q215daObjHomensmoke5Act_cFv */
bool Act_c::_draw() {
return true;
}
namespace {
/* 00000740-00000760 .text Mthd_Create__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
cPhs_State Mthd_Create(void* i_this) {
return ((Act_c*)i_this)->_create();
}
/* 00000760-00000784 .text Mthd_Delete__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_Delete(void* i_this) {
return ((Act_c*)i_this)->_delete();
}
/* 00000784-000007A8 .text Mthd_Execute__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_Execute(void* i_this) {
return ((Act_c*)i_this)->_execute();
}
/* 000007A8-000007CC .text Mthd_Draw__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_Draw(void* i_this) {
return ((Act_c*)i_this)->_draw();
}
/* 000007CC-000007D4 .text Mthd_IsDelete__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_IsDelete(void* i_this) {
return TRUE;
{
static cXyz norse_offsetL(0.0f, 300.0f, 20.0f);
static cXyz norse_offsetS(0.0f, 70.0f, 20.0f);
if (mType == 0) {
cMtx_multVec(mMtx, &norse_offsetL, &mSmokePos);
} else {
cMtx_multVec(mMtx, &norse_offsetS, &mSmokePos);
}
static actor_method_class Mthd_Table = {
(process_method_func)Mthd_Create,
(process_method_func)Mthd_Delete,
(process_method_func)Mthd_Execute,
(process_method_func)Mthd_IsDelete,
(process_method_func)Mthd_Draw,
};
JPABaseEmitter* smokeEmitter = dComIfGp_particle_setToon(dPa_name::ID_AK_JT_ELEMENTSMOKE01, &mSmokePos, NULL, NULL, 0xFF, &mSmokeCb, fopAcM_GetRoomNo(this));
if (smokeEmitter) {
static f32 rate_table[2] = {1.0f, 0.5f};
f32 rate = rate_table[mType & 1];
smokeEmitter->setGlobalAlpha(0xB4);
smokeEmitter->setRate(50.0f);
smokeEmitter->setMaxFrame(1);
JGeometry::TVec3<f32> scale;
scale.set(rate, 0.0f, rate);
smokeEmitter->setEmitterScale(scale);
scale.set(rate*5.0f, rate*5.0f, rate*5.0f);
smokeEmitter->setGlobalDynamicsScale(scale);
scale.set(rate*6.0f, rate*6.0f, rate*6.0f);
smokeEmitter->setGlobalParticleScale(scale);
}
JPABaseEmitter* rubbleEmitter = dComIfGp_particle_setToon(dPa_name::ID_AK_SN_KAZEMASKHAHEN00, &current.pos);
if (rubbleEmitter) {
rubbleEmitter->setGlobalPrmColor(tevStr.mColorK0.r, tevStr.mColorK0.g, tevStr.mColorK0.b);
if (mType == 1) {
JGeometry::TVec3<f32> scale(0.6f, 0.6f, 0.6f);
rubbleEmitter->setEmitterScale(scale);
rubbleEmitter->setGlobalDynamicsScale(scale);
rubbleEmitter->setGlobalParticleScale(scale);
}
rubbleEmitter->setGlobalRTMatrix(mMtx);
}
mbInitialized = TRUE;
} else if (mSmokeCb.isEnd()) {
fopAcM_delete(this);
}
return true;
}
/* 00000738-00000740 .text _draw__Q215daObjHomensmoke5Act_cFv */
bool Act_c::_draw() {
return true;
}
namespace {
/* 00000740-00000760 .text Mthd_Create__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
cPhs_State Mthd_Create(void* i_this) {
return ((Act_c*)i_this)->_create();
}
/* 00000760-00000784 .text Mthd_Delete__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_Delete(void* i_this) {
return ((Act_c*)i_this)->_delete();
}
/* 00000784-000007A8 .text Mthd_Execute__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_Execute(void* i_this) {
return ((Act_c*)i_this)->_execute();
}
/* 000007A8-000007CC .text Mthd_Draw__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_Draw(void* i_this) {
return ((Act_c*)i_this)->_draw();
}
/* 000007CC-000007D4 .text Mthd_IsDelete__Q215daObjHomensmoke32@unnamed@d_a_obj_homensmoke_cpp@FPv */
BOOL Mthd_IsDelete(void* i_this) {
return TRUE;
}
static actor_method_class Mthd_Table = {
(process_method_func)Mthd_Create,
(process_method_func)Mthd_Delete,
(process_method_func)Mthd_Execute,
(process_method_func)Mthd_IsDelete,
(process_method_func)Mthd_Draw,
};
};
}; // namespace daObjHomensmoke
actor_process_profile_definition g_profile_Obj_Homensmk = {
/* LayerID */ fpcLy_CURRENT_e,
/* ListID */ 0x0003,
+72 -70
View File
@@ -44,93 +44,95 @@ static dCcD_SrcCyl cyl_check_src = {
};
namespace daTagRet {
/* 00000078-000001D4 .text _create__Q28daTagRet5Act_cFv */
cPhs_State Act_c::_create() {
fopAcM_ct(this, daTagRet::Act_c);
#if VERSION > VERSION_DEMO
if (checkItemGet(dItem_PEARL_FARORE_e, TRUE)) {
return cPhs_STOP_e;
}
#endif
/* 00000078-000001D4 .text _create__Q28daTagRet5Act_cFv */
cPhs_State Act_c::_create() {
fopAcM_ct(this, daTagRet::Act_c);
mStts.Init(0xFF, 0xFF, this);
mCyl.Set(cyl_check_src);
mCyl.SetR(1000.0f*scale.x);
mCyl.SetH(100.0f*scale.y);
mCyl.SetStts(&mStts);
#if VERSION > VERSION_DEMO
if (checkItemGet(dItem_PEARL_FARORE_e, TRUE)) {
return cPhs_STOP_e;
}
#endif
return cPhs_COMPLEATE_e;
mStts.Init(0xFF, 0xFF, this);
mCyl.Set(cyl_check_src);
mCyl.SetR(1000.0f*scale.x);
mCyl.SetH(100.0f*scale.y);
mCyl.SetStts(&mStts);
return cPhs_COMPLEATE_e;
}
/* 0000038C-00000394 .text _delete__Q28daTagRet5Act_cFv */
bool Act_c::_delete() {
return true;
}
/* 00000394-00000398 .text set_mtx__Q28daTagRet5Act_cFv */
void Act_c::set_mtx() {
return;
}
/* 00000398-00000460 .text _execute__Q28daTagRet5Act_cFv */
bool Act_c::_execute() {
mCyl.SetC(current.pos);
mCyl.SetR(1000.0f*scale.x);
mCyl.SetH(100.0f*scale.y);
dComIfG_Ccsp()->Set(&mCyl);
if (mCyl.ChkCoHit()) {
u32 linkId = prm_get_linkID();
daPy_getPlayerLinkActorClass()->onDekuSpReturnFlg(linkId);
}
/* 0000038C-00000394 .text _delete__Q28daTagRet5Act_cFv */
bool Act_c::_delete() {
return true;
set_mtx();
return true;
}
/* 00000460-00000468 .text _draw__Q28daTagRet5Act_cFv */
bool Act_c::_draw() {
return true;
}
namespace {
/* 00000468-00000488 .text Mthd_Create__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
cPhs_State Mthd_Create(void* i_this) {
return ((Act_c*)i_this)->_create();
}
/* 00000394-00000398 .text set_mtx__Q28daTagRet5Act_cFv */
void Act_c::set_mtx() {
return;
/* 00000488-000004AC .text Mthd_Delete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_Delete(void* i_this) {
return ((Act_c*)i_this)->_delete();
}
/* 00000398-00000460 .text _execute__Q28daTagRet5Act_cFv */
bool Act_c::_execute() {
mCyl.SetC(current.pos);
mCyl.SetR(1000.0f*scale.x);
mCyl.SetH(100.0f*scale.y);
dComIfG_Ccsp()->Set(&mCyl);
if (mCyl.ChkCoHit()) {
u32 linkId = prm_get_linkID();
daPy_getPlayerLinkActorClass()->onDekuSpReturnFlg(linkId);
}
set_mtx();
return true;
/* 000004AC-000004D0 .text Mthd_Execute__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_Execute(void* i_this) {
return ((Act_c*)i_this)->_execute();
}
/* 00000460-00000468 .text _draw__Q28daTagRet5Act_cFv */
bool Act_c::_draw() {
return true;
/* 000004D0-000004F4 .text Mthd_Draw__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_Draw(void* i_this) {
return ((Act_c*)i_this)->_draw();
}
namespace {
/* 00000468-00000488 .text Mthd_Create__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
cPhs_State Mthd_Create(void* i_this) {
return ((Act_c*)i_this)->_create();
}
/* 000004F4-000004FC .text Mthd_IsDelete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_IsDelete(void* i_this) {
return TRUE;
}
/* 00000488-000004AC .text Mthd_Delete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_Delete(void* i_this) {
return ((Act_c*)i_this)->_delete();
}
/* 000004AC-000004D0 .text Mthd_Execute__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_Execute(void* i_this) {
return ((Act_c*)i_this)->_execute();
}
/* 000004D0-000004F4 .text Mthd_Draw__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_Draw(void* i_this) {
return ((Act_c*)i_this)->_draw();
}
/* 000004F4-000004FC .text Mthd_IsDelete__Q28daTagRet25@unnamed@d_a_tag_ret_cpp@FPv */
BOOL Mthd_IsDelete(void* i_this) {
return TRUE;
}
static actor_method_class Mthd_Table = {
(process_method_func)Mthd_Create,
(process_method_func)Mthd_Delete,
(process_method_func)Mthd_Execute,
(process_method_func)Mthd_IsDelete,
(process_method_func)Mthd_Draw,
};
static actor_method_class Mthd_Table = {
(process_method_func)Mthd_Create,
(process_method_func)Mthd_Delete,
(process_method_func)Mthd_Execute,
(process_method_func)Mthd_IsDelete,
(process_method_func)Mthd_Draw,
};
};
}; // namespace daTagRet
actor_process_profile_definition g_profile_Tag_Ret = {
/* LayerID */ fpcLy_CURRENT_e,
/* ListID */ 0x0003,
+212 -210
View File
@@ -13,221 +13,223 @@
#include "JSystem/JParticle/JPAEmitter.h"
namespace daObj {
/* 800666EC-800668BC .text make_land_effect__5daObjFP10fopAc_ac_cP11dBgS_GndChkf */
void make_land_effect(fopAc_ac_c* ac, dBgS_GndChk* chk, f32 scale) {
cXyz scaleV;
switch (dComIfG_Bgsp()->GetAttributeCode(*chk)) {
case dBgS_Attr_WATER_e:
{
scaleV.setall(scale * 0.85f);
JPABaseEmitter* pEmtr = dComIfGp_particle_set(dPa_name::ID_AK_JN_ELEMENTSHIBUKI00, &ac->current.pos, NULL, &scaleV);
if (pEmtr != NULL) {
pEmtr->setRate(20.0f);
pEmtr->setMaxFrame(1);
pEmtr->setSpread(1.0f);
pEmtr->setDirectionalSpeed(12.0f);
}
}
break;
case dBgS_Attr_GRASS_e:
{
scaleV.setall(scale);
JPABaseEmitter* pEmtr = dComIfGp_particle_set(dPa_name::ID_AK_JN_ELEMENTKUSA00, &ac->current.pos, NULL, &scaleV);
if (pEmtr != NULL) {
pEmtr->setLifeTime(20);
pEmtr->setRate(50.0f);
pEmtr->setMaxFrame(1);
pEmtr->setSpread(1.0f);
pEmtr->setDirectionalSpeed(20.0f);
JGeometry::TVec3<f32> trans(0.0f, 5.0f, 0.0f);
pEmtr->setEmitterTranslation(trans);
}
}
break;
case dBgS_Attr_GIANT_FLOWER_e:
case dBgS_Attr_CARPET_e:
case dBgS_Attr_ICE_e:
case dBgS_Attr_UNK1B_e:
break;
default:
{
cXyz scaleV;
scaleV.setall(scale);
scaleV *= (5.0f / 3.0f);
fopAcM_create(PROC_Obj_Eff, 3, &ac->current.pos, -1, NULL, &scaleV);
}
break;
}
}
/* 800668BC-800669E8 .text get_wind_spd__5daObjFP10fopAc_ac_cf */
cXyz& get_wind_spd(fopAc_ac_c* param_1, f32 param_2) {
static cXyz total_spd(cXyz::Zero);
cXyz wind = *dKyw_get_wind_vec() * dKyw_get_wind_pow();
cXyz pntVec;
f32 pntPow;
dKyw_pntwind_get_info(&param_1->current.pos, &pntVec, &pntPow);
pntVec *= pntPow;
total_spd = (wind + pntVec) * (param_2 * 0.5f);
return total_spd;
}
/* 800669E8-80066B0C .text get_path_spd__5daObjFR13cBgS_PolyInfof */
cXyz& get_path_spd(cBgS_PolyInfo& param_1, f32 param_2) {
static cXyz path_spd(cXyz::Zero);
int temp;
if(dPath_GetPolyRoomPathVec(param_1, &path_spd, &temp)) {
if(path_spd.normalizeRS()) {
path_spd *= param_2 * temp * (1.0f / 255.0f);
}
else {
path_spd = cXyz::Zero;
/* 800666EC-800668BC .text make_land_effect__5daObjFP10fopAc_ac_cP11dBgS_GndChkf */
void make_land_effect(fopAc_ac_c* ac, dBgS_GndChk* chk, f32 scale) {
cXyz scaleV;
switch (dComIfG_Bgsp()->GetAttributeCode(*chk)) {
case dBgS_Attr_WATER_e:
{
scaleV.setall(scale * 0.85f);
JPABaseEmitter* pEmtr = dComIfGp_particle_set(dPa_name::ID_AK_JN_ELEMENTSHIBUKI00, &ac->current.pos, NULL, &scaleV);
if (pEmtr != NULL) {
pEmtr->setRate(20.0f);
pEmtr->setMaxFrame(1);
pEmtr->setSpread(1.0f);
pEmtr->setDirectionalSpeed(12.0f);
}
}
return path_spd;
}
/* 80066B0C-80066B3C .text posMoveF_stream__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzff */
void posMoveF_stream(fopAc_ac_c* param_1, const cXyz* param_2, const cXyz* param_3, f32 param_4, f32 param_5) {
posMoveF_grade(param_1, param_2, param_3, param_4, param_5, 0, 0.0f, 0.0f, 0);
}
namespace {
/* 80066B3C-80066C38 .text posMoveF_resist_acc__Q25daObj21@unnamed@d_a_obj_cpp@FP4cXyzPC10fopAc_ac_cPC4cXyzff */
void posMoveF_resist_acc(cXyz* pDst, const fopAc_ac_c* pActor, const cXyz* pStreamSpd, f32 param_4, f32 param_5) {
cXyz delta = pActor->speed - *pStreamSpd;
f32 dx = delta.x;
f32 dy = delta.y;
f32 dz = delta.z;
cXyz result(dx * param_4, dy * param_4, dz * param_4);
result.x += std::fabsf(dx) * dx * param_5;
result.y += std::fabsf(dy) * dy * param_5;
result.z += std::fabsf(dz) * dz * param_5;
result *= -1.0f;
*pDst = result;
}
/* 80066C38-80066D6C .text posMoveF_grade_acc__Q25daObj21@unnamed@d_a_obj_cpp@FP4cXyzPC10fopAc_ac_cPC4cXyzffPC4cXyzPC4cXyz */
void posMoveF_grade_acc(cXyz* pDst, const fopAc_ac_c* pActor, const cXyz* pNorm, f32 friction, f32 noGradeCos, const cXyz* pAccel0, const cXyz* pAccel1) {
*pDst = cXyz::Zero;
if(pNorm) {
cXyz accel = *pAccel0;
accel.y = pAccel0->y + pActor->gravity;
if(pAccel1) {
accel += *pAccel1;
}
if(accel.getDotProduct(*pNorm) < 0.0f) {
if(pNorm->y <= noGradeCos) {
cXyz temp;
cM3d_CrawVec(*pNorm, accel, &temp);
*pDst += temp;
}
cXyz temp;
cM3d_CrawVec(*pNorm, pActor->speed, &temp);
*pDst -= temp * friction;
}
break;
case dBgS_Attr_GRASS_e:
{
scaleV.setall(scale);
JPABaseEmitter* pEmtr = dComIfGp_particle_set(dPa_name::ID_AK_JN_ELEMENTKUSA00, &ac->current.pos, NULL, &scaleV);
if (pEmtr != NULL) {
pEmtr->setLifeTime(20);
pEmtr->setRate(50.0f);
pEmtr->setMaxFrame(1);
pEmtr->setSpread(1.0f);
pEmtr->setDirectionalSpeed(20.0f);
JGeometry::TVec3<f32> trans(0.0f, 5.0f, 0.0f);
pEmtr->setEmitterTranslation(trans);
}
}
}
/* 80066D6C-8006700C .text posMoveF_grade__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzffPC4cXyzffPC4cXyz */
void posMoveF_grade(fopAc_ac_c* i_actor, const cXyz* p_add_vel, const cXyz* stream_spd, f32 param_4,
f32 param_5, const cXyz* pNorm, f32 friction, f32 no_grade_cos, const cXyz* p_add_accel
) {
JUT_ASSERT(280, stream_spd != NULL)
cXyz resist_accel;
posMoveF_resist_acc(&resist_accel, i_actor, stream_spd, param_4, param_5);
JUT_ASSERT(289, (friction >= 0.0f) && (friction < 1.0f) && (no_grade_cos >= 0.0f) && (no_grade_cos <= 1.0f))
cXyz vel;
posMoveF_grade_acc(&vel, i_actor, pNorm, friction, no_grade_cos, &resist_accel, p_add_accel);
f32 speedF = fopAcM_GetSpeedF(i_actor);
f32 gravity = fopAcM_GetGravity(i_actor);
cXyz* speed_p = fopAcM_GetSpeed_p(i_actor);
f32 speed_x = vel.x + (resist_accel.x + (speedF * cM_ssin(i_actor->current.angle.y)));
f32 speed_y = vel.y + (resist_accel.y + (speed_p->y + gravity));
f32 speed_z = vel.z + (resist_accel.z + (speedF * cM_scos(i_actor->current.angle.y)));
if(p_add_accel) {
speed_x += p_add_accel->x;
speed_y += p_add_accel->y;
speed_z += p_add_accel->z;
break;
case dBgS_Attr_GIANT_FLOWER_e:
case dBgS_Attr_CARPET_e:
case dBgS_Attr_ICE_e:
case dBgS_Attr_UNK1B_e:
break;
default:
{
cXyz scaleV;
scaleV.setall(scale);
scaleV *= (5.0f / 3.0f);
fopAcM_create(PROC_Obj_Eff, 3, &ac->current.pos, -1, NULL, &scaleV);
}
if(speed_y < fopAcM_GetMaxFallSpeed(i_actor)) {
speed_y = fopAcM_GetMaxFallSpeed(i_actor);
}
fopAcM_SetSpeed(i_actor, speed_x, speed_y, speed_z);
i_actor->speedF = std::sqrtf(speed_x * speed_x + speed_z * speed_z);
i_actor->current.angle.y = cM_atan2s(speed_x, speed_z);
fopAcM_posMove(i_actor, p_add_vel);
}
/* 8006700C-800671D4 .text quat_rotBaseY__5daObjFP10QuaternionRC4cXyz */
void quat_rotBaseY(Quaternion*, const cXyz&) {
/* Nonmatching */
}
/* 800671D4-8006737C .text quat_rotBaseY2__5daObjFP10QuaternionRC4cXyz */
void quat_rotBaseY2(Quaternion*, const cXyz&) {
/* Nonmatching */
}
/* 8006737C-80067524 .text quat_rotBaseZ__5daObjFP10QuaternionRC4cXyz */
void quat_rotBaseZ(Quaternion*, const cXyz&) {
/* Nonmatching */
}
/* 80067524-800676EC .text quat_rotVec__5daObjFP10QuaternionRC4cXyzRC4cXyz */
void quat_rotVec(Quaternion*, const cXyz&, const cXyz&) {
/* Nonmatching */
}
/* 800676EC-80067734 .text SetCurrentRoomNo__5daObjFP10fopAc_ac_cP11dBgS_GndChk */
void SetCurrentRoomNo(fopAc_ac_c* ac, dBgS_GndChk* chk) {
s32 roomId = dComIfG_Bgsp()->GetRoomId(*chk);
if (roomId >= 0)
fopAcM_SetRoomNo(ac, roomId);
}
/* 80067734-800678A8 .text HitSeStart__5daObjFPC4cXyziPC12dCcD_GObjInfUl */
void HitSeStart(const cXyz*, int, const dCcD_GObjInf*, unsigned long) {
/* Nonmatching */
}
/* 800678A8-800679FC .text HitEff_sub_kikuzu__5daObjFPC4cXyzPC4cXyzPC12dKy_tevstr_c */
void HitEff_sub_kikuzu(const cXyz*, const cXyz*, const dKy_tevstr_c*) {
/* Nonmatching */
}
/* 800679FC-80067AE0 .text HitEff_kikuzu__5daObjFPC10fopAc_ac_cPC8dCcD_Cyl */
void HitEff_kikuzu(const fopAc_ac_c*, const dCcD_Cyl*) {
/* Nonmatching */
}
/* 80067AF0-80067C40 .text HitEff_hibana__5daObjFPC4cXyzPC4cXyz */
void HitEff_hibana(const cXyz*, const cXyz*) {
/* Nonmatching */
}
/* 80067C40-80067D1C .text HitEff_hibana__5daObjFPC10fopAc_ac_cPC8dCcD_Cyl */
void HitEff_hibana(const fopAc_ac_c*, const dCcD_Cyl*) {
/* Nonmatching */
break;
}
}
/* 800668BC-800669E8 .text get_wind_spd__5daObjFP10fopAc_ac_cf */
cXyz& get_wind_spd(fopAc_ac_c* param_1, f32 param_2) {
static cXyz total_spd(cXyz::Zero);
cXyz wind = *dKyw_get_wind_vec() * dKyw_get_wind_pow();
cXyz pntVec;
f32 pntPow;
dKyw_pntwind_get_info(&param_1->current.pos, &pntVec, &pntPow);
pntVec *= pntPow;
total_spd = (wind + pntVec) * (param_2 * 0.5f);
return total_spd;
}
/* 800669E8-80066B0C .text get_path_spd__5daObjFR13cBgS_PolyInfof */
cXyz& get_path_spd(cBgS_PolyInfo& param_1, f32 param_2) {
static cXyz path_spd(cXyz::Zero);
int temp;
if(dPath_GetPolyRoomPathVec(param_1, &path_spd, &temp)) {
if(path_spd.normalizeRS()) {
path_spd *= param_2 * temp * (1.0f / 255.0f);
}
else {
path_spd = cXyz::Zero;
}
}
return path_spd;
}
/* 80066B0C-80066B3C .text posMoveF_stream__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzff */
void posMoveF_stream(fopAc_ac_c* param_1, const cXyz* param_2, const cXyz* param_3, f32 param_4, f32 param_5) {
posMoveF_grade(param_1, param_2, param_3, param_4, param_5, 0, 0.0f, 0.0f, 0);
}
namespace {
/* 80066B3C-80066C38 .text posMoveF_resist_acc__Q25daObj21@unnamed@d_a_obj_cpp@FP4cXyzPC10fopAc_ac_cPC4cXyzff */
void posMoveF_resist_acc(cXyz* pDst, const fopAc_ac_c* pActor, const cXyz* pStreamSpd, f32 param_4, f32 param_5) {
cXyz delta = pActor->speed - *pStreamSpd;
f32 dx = delta.x;
f32 dy = delta.y;
f32 dz = delta.z;
cXyz result(dx * param_4, dy * param_4, dz * param_4);
result.x += std::fabsf(dx) * dx * param_5;
result.y += std::fabsf(dy) * dy * param_5;
result.z += std::fabsf(dz) * dz * param_5;
result *= -1.0f;
*pDst = result;
}
/* 80066C38-80066D6C .text posMoveF_grade_acc__Q25daObj21@unnamed@d_a_obj_cpp@FP4cXyzPC10fopAc_ac_cPC4cXyzffPC4cXyzPC4cXyz */
void posMoveF_grade_acc(cXyz* pDst, const fopAc_ac_c* pActor, const cXyz* pNorm, f32 friction, f32 noGradeCos, const cXyz* pAccel0, const cXyz* pAccel1) {
*pDst = cXyz::Zero;
if(pNorm) {
cXyz accel = *pAccel0;
accel.y = pAccel0->y + pActor->gravity;
if(pAccel1) {
accel += *pAccel1;
}
if(accel.getDotProduct(*pNorm) < 0.0f) {
if(pNorm->y <= noGradeCos) {
cXyz temp;
cM3d_CrawVec(*pNorm, accel, &temp);
*pDst += temp;
}
cXyz temp;
cM3d_CrawVec(*pNorm, pActor->speed, &temp);
*pDst -= temp * friction;
}
}
}
}
/* 80066D6C-8006700C .text posMoveF_grade__5daObjFP10fopAc_ac_cPC4cXyzPC4cXyzffPC4cXyzffPC4cXyz */
void posMoveF_grade(fopAc_ac_c* i_actor, const cXyz* p_add_vel, const cXyz* stream_spd, f32 param_4,
f32 param_5, const cXyz* pNorm, f32 friction, f32 no_grade_cos, const cXyz* p_add_accel
) {
JUT_ASSERT(280, stream_spd != NULL)
cXyz resist_accel;
posMoveF_resist_acc(&resist_accel, i_actor, stream_spd, param_4, param_5);
JUT_ASSERT(289, (friction >= 0.0f) && (friction < 1.0f) && (no_grade_cos >= 0.0f) && (no_grade_cos <= 1.0f))
cXyz vel;
posMoveF_grade_acc(&vel, i_actor, pNorm, friction, no_grade_cos, &resist_accel, p_add_accel);
f32 speedF = fopAcM_GetSpeedF(i_actor);
f32 gravity = fopAcM_GetGravity(i_actor);
cXyz* speed_p = fopAcM_GetSpeed_p(i_actor);
f32 speed_x = vel.x + (resist_accel.x + (speedF * cM_ssin(i_actor->current.angle.y)));
f32 speed_y = vel.y + (resist_accel.y + (speed_p->y + gravity));
f32 speed_z = vel.z + (resist_accel.z + (speedF * cM_scos(i_actor->current.angle.y)));
if(p_add_accel) {
speed_x += p_add_accel->x;
speed_y += p_add_accel->y;
speed_z += p_add_accel->z;
}
if(speed_y < fopAcM_GetMaxFallSpeed(i_actor)) {
speed_y = fopAcM_GetMaxFallSpeed(i_actor);
}
fopAcM_SetSpeed(i_actor, speed_x, speed_y, speed_z);
i_actor->speedF = std::sqrtf(speed_x * speed_x + speed_z * speed_z);
i_actor->current.angle.y = cM_atan2s(speed_x, speed_z);
fopAcM_posMove(i_actor, p_add_vel);
}
/* 8006700C-800671D4 .text quat_rotBaseY__5daObjFP10QuaternionRC4cXyz */
void quat_rotBaseY(Quaternion*, const cXyz&) {
/* Nonmatching */
}
/* 800671D4-8006737C .text quat_rotBaseY2__5daObjFP10QuaternionRC4cXyz */
void quat_rotBaseY2(Quaternion*, const cXyz&) {
/* Nonmatching */
}
/* 8006737C-80067524 .text quat_rotBaseZ__5daObjFP10QuaternionRC4cXyz */
void quat_rotBaseZ(Quaternion*, const cXyz&) {
/* Nonmatching */
}
/* 80067524-800676EC .text quat_rotVec__5daObjFP10QuaternionRC4cXyzRC4cXyz */
void quat_rotVec(Quaternion*, const cXyz&, const cXyz&) {
/* Nonmatching */
}
/* 800676EC-80067734 .text SetCurrentRoomNo__5daObjFP10fopAc_ac_cP11dBgS_GndChk */
void SetCurrentRoomNo(fopAc_ac_c* ac, dBgS_GndChk* chk) {
s32 roomId = dComIfG_Bgsp()->GetRoomId(*chk);
if (roomId >= 0)
fopAcM_SetRoomNo(ac, roomId);
}
/* 80067734-800678A8 .text HitSeStart__5daObjFPC4cXyziPC12dCcD_GObjInfUl */
void HitSeStart(const cXyz*, int, const dCcD_GObjInf*, unsigned long) {
/* Nonmatching */
}
/* 800678A8-800679FC .text HitEff_sub_kikuzu__5daObjFPC4cXyzPC4cXyzPC12dKy_tevstr_c */
void HitEff_sub_kikuzu(const cXyz*, const cXyz*, const dKy_tevstr_c*) {
/* Nonmatching */
}
/* 800679FC-80067AE0 .text HitEff_kikuzu__5daObjFPC10fopAc_ac_cPC8dCcD_Cyl */
void HitEff_kikuzu(const fopAc_ac_c*, const dCcD_Cyl*) {
/* Nonmatching */
}
/* 80067AF0-80067C40 .text HitEff_hibana__5daObjFPC4cXyzPC4cXyz */
void HitEff_hibana(const cXyz*, const cXyz*) {
/* Nonmatching */
}
/* 80067C40-80067D1C .text HitEff_hibana__5daObjFPC10fopAc_ac_cPC8dCcD_Cyl */
void HitEff_hibana(const fopAc_ac_c*, const dCcD_Cyl*) {
/* Nonmatching */
}
} // namespace daObj