obj_geyer and obj_ktOnFire done (#2619)

* obj_geyer and obj_ktOnFire done

* pr
This commit is contained in:
TakaRikka 2025-08-30 15:10:43 -07:00 committed by GitHub
parent 5d46f1fc22
commit 2036d9c34f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 7388 additions and 4149 deletions

View File

@ -1608,7 +1608,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kbacket"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_kgate"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_klift00"),
ActorRel(NonMatching, "d_a_obj_ktOnFire"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ktOnFire"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ladder"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv2Candle"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_magne_arm"),
@ -1964,7 +1964,7 @@ config.libs = [
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall2"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_gb"),
ActorRel(NonMatching, "d_a_obj_geyser"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_geyser"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_glowSphere"),
ActorRel(NonMatching, "d_a_obj_gm"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_goGate"),

View File

@ -2,6 +2,8 @@
#define D_A_OBJ_GEYSER_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_bg_s_movebg_actor.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-objects
@ -11,14 +13,11 @@
* @details
*
*/
class daObjGeyser_c : public fopAc_ac_c {
class daObjGeyser_c : public dBgS_MoveBgActor {
public:
/* 80BF6F18 */ void initBaseMtx();
/* 80BF6F38 */ void setBaseMtx();
/* 80BF6F80 */ void Create();
/* 80BF70E0 */ void CreateHeap();
/* 80BF7174 */ void create1st();
/* 80BF7288 */ void Execute(f32 (**)[3][4]);
/* 80BF7174 */ int create1st();
/* 80BF744C */ void action();
/* 80BF75B8 */ void actionOff2Init();
/* 80BF75C4 */ void actionOff2();
@ -37,7 +36,6 @@ public:
/* 80BF8584 */ void setPntWind();
/* 80BF863C */ void cutPntWind();
/* 80BF8660 */ void movePntWind();
/* 80BF8870 */ void Draw();
/* 80BF8914 */ void setEmitterPre00();
/* 80BF89AC */ void setEmitterSrc00Sand();
/* 80BF89B0 */ void setEmitterSrc01Smk();
@ -50,10 +48,46 @@ public:
/* 80BF8CA0 */ void stopEmitterClm00();
/* 80BF8CCC */ void stopEmitterSmk01();
/* 80BF8CF8 */ void stopEmitterSmk02();
/* 80BF8D24 */ void Delete();
/* 80BF70E0 */ virtual int CreateHeap();
/* 80BF6F80 */ virtual int Create();
/* 80BF7288 */ virtual int Execute(Mtx**);
/* 80BF8870 */ virtual int Draw();
/* 80BF8D24 */ virtual int Delete();
u8 getType() { return (field_0x766 >> 8) & 0xF; }
u8 getArg0() { return fopAcM_GetParamBit(this, 0, 8); }
u8 getArg1() { return fopAcM_GetParamBit(this, 8, 8); }
u8 getArg2() { return fopAcM_GetParamBit(this, 16, 8); }
u8 getArg3() { return fopAcM_GetParamBit(this, 24, 8); }
u8 getSwNo() { return 0xFF; }
private:
/* 0x568 */ u8 field_0x568[0x7f0 - 0x568];
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ J3DModel* mpModel;
/* 0x5AC */ dCcD_Stts mCcStts;
/* 0x5E8 */ dCcD_Cps mCcCps;
/* 0x72C */ u8 field_0x72C[0x730 - 0x72C];
/* 0x730 */ f32 field_0x730;
/* 0x734 */ u8 field_0x734[0x744 - 0x734];
/* 0x744 */ cM3dGCpsS mCpsSrc;
/* 0x760 */ u16 field_0x760;
/* 0x762 */ u8 mAction;
/* 0x763 */ u8 field_0x763;
/* 0x764 */ u8 mIsPrmInit;
/* 0x766 */ u16 field_0x766;
/* 0x768 */ u16 field_0x768;
/* 0x76C */ JPABaseEmitter* mpEmitterClm00;
/* 0x770 */ JPABaseEmitter* mpEmitterSmk01;
/* 0x774 */ JPABaseEmitter* mpEmitterSmk02;
/* 0x778 */ JPABaseEmitter* mpEmitterPre00;
/* 0x77C */ JPABaseEmitter* mpEmitterSrc00Sand;
/* 0x780 */ JPABaseEmitter* mpEmitterSrc01Smk;
/* 0x784 */ u8 field_0x784;
/* 0x785 */ u8 field_0x785;
/* 0x788 */ cXyz mParticleScale;
/* 0x794 */ WIND_INFLUENCE mWind;
/* 0x7C0 */ Mtx mMtx;
};
STATIC_ASSERT(sizeof(daObjGeyser_c) == 0x7f0);

View File

@ -2,6 +2,7 @@
#define D_A_OBJ_KTONFIRE_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
/**
* @ingroup actors-objects
@ -14,7 +15,7 @@
class daKtOnFire_c : public fopAc_ac_c {
public:
/* 8058C678 */ void setBaseMtx();
/* 8058C6D0 */ void create();
/* 8058C6D0 */ int create();
/* 8058C960 */ void lightInit();
/* 8058C9D4 */ void setLight();
/* 8058C9F8 */ void cutLight();
@ -22,31 +23,23 @@ public:
/* 8058CDF8 */ int Draw();
/* 8058CE00 */ int Delete();
static u8 const mCcDObjInfo[48];
static u8 mCcDCyl[68];
static const dCcD_SrcGObjInf mCcDObjInfo;
static dCcD_SrcCyl mCcDCyl;
private:
/* 0x568 */ u8 field_0x568[0x6E4 - 0x568];
/* 0x568 */ dCcD_Stts mCcStts;
/* 0x5A4 */ dCcD_Cyl mCcCyl;
/* 0x6E0 */ u8 mWaitTime;
/* 0x6E1 */ u8 mIsSwitch;
/* 0x6E2 */ u8 field_0x6e2;
/* 0x6E4 */ cXyz mTorchPos;
/* 0x6F0 */ u8 field_0x6E4[0x6FC - 0x6F0];
/* 0x6F0 */ u32 field_0x6f0;
/* 0x6F4 */ u32 field_0x6f4;
/* 0x6F8 */ u32 field_0x6f8;
/* 0x6FC */ cXyz mLightPos;
/* 0x708 */ LIGHT_INFLUENCE mLight;
};
STATIC_ASSERT(sizeof(daKtOnFire_c) == 0x728);
class daKtOnFire_HIO_c : public mDoHIO_entry_c {
public:
/* 8058C60C */ daKtOnFire_HIO_c();
/* 8058CEA8 */ ~daKtOnFire_HIO_c() {}
void genMessage(JORMContext*);
u8 mTimer;
u8 mColor1R;
u8 mColor1G;
u8 mColor1B;
};
#endif /* D_A_OBJ_KTONFIRE_H */

File diff suppressed because it is too large Load Diff

View File

@ -154,7 +154,7 @@ static void hit_check(e_arrow_class* i_this) {
cXyz sp114(0.3f, 0.3f, 0.3f);
i_this->mStickSmokeEMKey = dComIfGp_particle_set(
i_this->mStickSmokeEMKey, dPa_name::ZI_J_dashSmoke_a_e, &i_this->current.pos,
i_this->mStickSmokeEMKey, ID_ZI_J_DASHSMOKE_A, &i_this->current.pos,
&i_this->tevStr, &i_this->shape_angle, &sp114, 0xFF, NULL, -1, NULL, NULL, NULL);
} else {
cXyz sp120 = i_this->current.pos + (i_this->speed * 0.5f);

File diff suppressed because it is too large Load Diff

View File

@ -6,101 +6,219 @@
#include "d/dolzel_rel.h"
#include "d/actor/d_a_obj_ktOnFire.h"
#include "dol2asm.h"
#include "d/d_s_play.h"
class daKtOnFire_HIO_c : public mDoHIO_entry_c {
public:
/* 8058C60C */ daKtOnFire_HIO_c();
/* 8058CEA8 */ ~daKtOnFire_HIO_c() {}
void genMessage(JORMContext*);
//
// Forward References:
//
/* 0x4 */ u8 wait_time;
};
extern "C" void __ct__16daKtOnFire_HIO_cFv();
extern "C" void __dt__14mDoHIO_entry_cFv();
extern "C" void setBaseMtx__12daKtOnFire_cFv();
extern "C" void create__12daKtOnFire_cFv();
extern "C" void __dt__8cM3dGCylFv();
extern "C" void __dt__8cM3dGAabFv();
extern "C" void lightInit__12daKtOnFire_cFv();
extern "C" void setLight__12daKtOnFire_cFv();
extern "C" void cutLight__12daKtOnFire_cFv();
extern "C" void Execute__12daKtOnFire_cFv();
extern "C" bool Draw__12daKtOnFire_cFv();
extern "C" void Delete__12daKtOnFire_cFv();
extern "C" void daKtOnFire_Draw__FP12daKtOnFire_c();
extern "C" void daKtOnFire_Execute__FP12daKtOnFire_c();
extern "C" void daKtOnFire_Delete__FP12daKtOnFire_c();
extern "C" void daKtOnFire_Create__FP10fopAc_ac_c();
extern "C" void __dt__16daKtOnFire_HIO_cFv();
extern "C" void __sinit_d_a_obj_ktOnFire_cpp();
extern "C" u8 const mCcDObjInfo__12daKtOnFire_c[48];
extern "C" u8 mCcDCyl__12daKtOnFire_c[68];
/* 8058D0CC-8058D0D4 000014 0008+00 2/2 0/0 0/0 .bss l_HIO */
static daKtOnFire_HIO_c l_HIO;
//
// External References:
//
extern "C" void mDoMtx_ZXYrotM__FPA4_fsss();
extern "C" void __ct__10fopAc_ac_cFv();
extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
extern "C" void dComIfGp_getReverb__Fi();
extern "C" void onSwitch__10dSv_info_cFii();
extern "C" void offSwitch__10dSv_info_cFii();
extern "C" void isSwitch__10dSv_info_cCFii();
extern "C" void
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
extern "C" void __ct__10dCcD_GSttsFv();
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
extern "C" void __ct__12dCcD_GObjInfFv();
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
extern "C" void GetTgHitGObj__12dCcD_GObjInfFv();
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
extern "C" void dKy_plight_set__FP15LIGHT_INFLUENCE();
extern "C" void dKy_plight_cut__FP15LIGHT_INFLUENCE();
extern "C" void Set__4cCcSFP8cCcD_Obj();
extern "C" void SetC__8cM3dGCylFRC4cXyz();
extern "C" void SetH__8cM3dGCylFf();
extern "C" void SetR__8cM3dGCylFf();
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void __dl__FPv();
extern "C" void _savegpr_29();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__8dCcD_Cyl[36];
extern "C" extern void* __vt__9dCcD_Stts[11];
extern "C" extern void* __vt__12cCcD_CylAttr[25];
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
extern "C" extern void* __vt__9cCcD_Stts[8];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" void __register_global_object();
//
// Declarations:
//
/* ############################################################################################## */
/* 8058CFDC-8058CFF4 000000 0018+00 1/1 0/0 0/0 .data l_cull_box */
SECTION_DATA static u8 l_cull_box[24] = {
0xC2, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0x48, 0x00, 0x00,
0x42, 0x48, 0x00, 0x00, 0x42, 0xC8, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00,
static cull_box l_cull_box = {
{-50.0f, 0.0f, -50.0f},
{50.0f, 100.0f, 50.0f},
};
/* 8058CF88-8058CFB8 000000 0030+00 3/3 0/0 0/0 .rodata mCcDObjInfo__12daKtOnFire_c */
const dCcD_SrcGObjInf daKtOnFire_c::mCcDObjInfo = {
{0x0, {{0x200, 0x0, 0x13}, {0xD8FBFFFF, 0x11}, 0x0}}, // mObj
{dCcD_SE_SWORD, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
{dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg
{0x0}, // mGObjCo
};
/* 8058CFF4-8058D038 000018 0044+00 2/2 0/0 0/0 .data mCcDCyl__12daKtOnFire_c */
SECTION_DATA u8 daKtOnFire_c::mCcDCyl[68] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
dCcD_SrcCyl daKtOnFire_c::mCcDCyl = {
mCcDObjInfo,
{
{0.0f, 0.0f, 0.0f}, // mCenter
0.0f, // mRadius
0.0f // mHeight
} // mCyl
};
/* 8058C60C-8058C630 0000EC 0024+00 1/1 0/0 0/0 .text __ct__16daKtOnFire_HIO_cFv */
daKtOnFire_HIO_c::daKtOnFire_HIO_c() {
wait_time = 20;
}
/* 8058C678-8058C6D0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__12daKtOnFire_cFv */
void daKtOnFire_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
}
/* 8058C6D0-8058C8D0 0001B0 0200+00 1/1 0/0 0/0 .text create__12daKtOnFire_cFv */
int daKtOnFire_c::create() {
fopAcM_SetupActor(this, daKtOnFire_c);
setBaseMtx();
mCcStts.Init(255, 255, this);
mCcCyl.Set(mCcDCyl);
mCcCyl.SetStts(&mCcStts);
cull_box cullbox;
cullbox.min.x = l_cull_box.min.x * scale.x;
cullbox.min.y = l_cull_box.min.y * scale.y;
cullbox.min.z = l_cull_box.min.z * scale.x;
cullbox.max.x = l_cull_box.max.x * scale.x;
cullbox.max.y = l_cull_box.max.y * scale.y;
cullbox.max.z = l_cull_box.max.z * scale.x;
fopAcM_setCullSizeBox(this,
cullbox.min.x, cullbox.min.y, cullbox.min.z,
cullbox.max.x, cullbox.max.y, cullbox.max.y);
u8 arg0 = (fopAcM_GetParam(this) & 0xFF00) >> 8;
mTorchPos.x = current.pos.x;
mTorchPos.y = current.pos.y + arg0 * 10.0f;
mTorchPos.z = current.pos.z;
lightInit();
mWaitTime = 0;
field_0x6e2 = 0;
mIsSwitch = fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
if (mIsSwitch) {
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
setLight();
field_0x6e2 = 1;
}
return cPhs_COMPLEATE_e;
}
/* 8058C960-8058C9D4 000440 0074+00 1/1 0/0 0/0 .text lightInit__12daKtOnFire_cFv */
void daKtOnFire_c::lightInit() {
mLightPos = mTorchPos;
mLightPos.y += 10.0f;
mLight.mPosition = mLightPos;
mLight.mColor.r = 188;
mLight.mColor.g = 102;
mLight.mColor.b = 66;
mLight.mPow = 500.0f;
mLight.mFluctuation = 1.0f;
}
/* 8058C9D4-8058C9F8 0004B4 0024+00 2/2 0/0 0/0 .text setLight__12daKtOnFire_cFv */
void daKtOnFire_c::setLight() {
dKy_plight_set(&mLight);
}
/* 8058C9F8-8058CA1C 0004D8 0024+00 1/1 0/0 0/0 .text cutLight__12daKtOnFire_cFv */
void daKtOnFire_c::cutLight() {
dKy_plight_cut(&mLight);
}
/* 8058CA1C-8058CDF8 0004FC 03DC+00 1/1 0/0 0/0 .text Execute__12daKtOnFire_cFv */
int daKtOnFire_c::Execute() {
u8 prev_switch = mIsSwitch;
mIsSwitch = fopAcM_isSwitch(this, fopAcM_GetParam(this) & 0xFF);
if (prev_switch != mIsSwitch && !mIsSwitch) {
fopAcM_offSwitch(this, fopAcM_GetParam(this) & 0xFF);
mCcCyl.SetAtMtrl(dCcD_MTRL_NONE);
cutLight();
field_0x6e2 = 0;
}
if (mCcCyl.ChkTgHit()) {
dCcD_GObjInf* hit_gobj = mCcCyl.GetTgHitGObj();
if (hit_gobj->GetAtType() == AT_TYPE_LANTERN_SWING && hit_gobj->GetAtMtrl() == dCcD_MTRL_FIRE && field_0x6e2 == 0) {
field_0x6e2 = 1;
mCcCyl.SetAtMtrl(dCcD_MTRL_FIRE);
mDoAud_seStart(Z2SE_OBJ_FIRE_IGNITION, &mTorchPos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
mWaitTime = l_HIO.wait_time;
setLight();
}
if (hit_gobj->GetAtType() == AT_TYPE_LANTERN_SWING && hit_gobj->GetAtMtrl() == dCcD_MTRL_UNK_6 && field_0x6e2 == 1) {
field_0x6e2 = 0;
mCcCyl.SetAtMtrl(dCcD_MTRL_NONE);
mDoAud_seStart(Z2SE_OBJ_FIRE_OFF, &mTorchPos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
mWaitTime = l_HIO.wait_time;
cutLight();
}
}
mCcCyl.SetR(50.0f + oREG_F(2));
mCcCyl.SetH(100.0f + oREG_F(3));
mCcCyl.SetC(current.pos);
dComIfG_Ccsp()->Set(&mCcCyl);
if (field_0x6e2 != 0) {
field_0x6f0 = dComIfGp_particle_set(field_0x6f0, 0x3AD, &mTorchPos, NULL, NULL);
field_0x6f4 = dComIfGp_particle_set(field_0x6f4, 0x3AF, &mTorchPos, NULL, NULL);
field_0x6f8 = dComIfGp_particle_set(field_0x6f8, 0x3AE, &mTorchPos, NULL, NULL);
mDoAud_seStartLevel(Z2SE_OBJ_FIRE_BURNING, &mTorchPos, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
}
if (mWaitTime != 0) {
mWaitTime--;
if (mWaitTime == 0) {
if (field_0x6e2 == 1) {
fopAcM_onSwitch(this, fopAcM_GetParam(this) & 0xFF);
} else {
fopAcM_offSwitch(this, fopAcM_GetParam(this) & 0xFF);
}
}
}
return 1;
}
/* 8058CDF8-8058CE00 0008D8 0008+00 1/1 0/0 0/0 .text Draw__12daKtOnFire_cFv */
int daKtOnFire_c::Draw() {
return 1;
}
/* 8058CE00-8058CE28 0008E0 0028+00 1/1 0/0 0/0 .text Delete__12daKtOnFire_cFv */
int daKtOnFire_c::Delete() {
dKy_plight_cut(&mLight);
return 1;
}
/* 8058CE28-8058CE48 000908 0020+00 1/0 0/0 0/0 .text daKtOnFire_Draw__FP12daKtOnFire_c
*/
static int daKtOnFire_Draw(daKtOnFire_c* i_this) {
return i_this->Draw();
}
/* 8058CE48-8058CE68 000928 0020+00 1/0 0/0 0/0 .text daKtOnFire_Execute__FP12daKtOnFire_c */
static int daKtOnFire_Execute(daKtOnFire_c* i_this) {
return i_this->Execute();
}
/* 8058CE68-8058CE88 000948 0020+00 1/0 0/0 0/0 .text daKtOnFire_Delete__FP12daKtOnFire_c
*/
static int daKtOnFire_Delete(daKtOnFire_c* i_this) {
return i_this->Delete();
}
/* 8058CE88-8058CEA8 000968 0020+00 1/0 0/0 0/0 .text daKtOnFire_Create__FP10fopAc_ac_c
*/
static int daKtOnFire_Create(fopAc_ac_c* i_this) {
return ((daKtOnFire_c*)i_this)->create();
}
/* 8058D038-8058D058 -00001 0020+00 1/0 0/0 0/0 .data l_daKtOnFire_Method */
static actor_method_class l_daKtOnFire_Method = {
(process_method_func)daKtOnFire_Create__FP10fopAc_ac_c,
(process_method_func)daKtOnFire_Delete__FP12daKtOnFire_c,
(process_method_func)daKtOnFire_Execute__FP12daKtOnFire_c,
(process_method_func)daKtOnFire_Create,
(process_method_func)daKtOnFire_Delete,
(process_method_func)daKtOnFire_Execute,
0,
(process_method_func)daKtOnFire_Draw__FP12daKtOnFire_c,
(process_method_func)daKtOnFire_Draw,
};
/* 8058D058-8058D088 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_KtOnFire */
@ -120,204 +238,3 @@ extern actor_process_profile_definition g_profile_Tag_KtOnFire = {
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 8058D088-8058D094 0000AC 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGCylFv,
};
/* 8058D094-8058D0A0 0000B8 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__8cM3dGAabFv,
};
/* 8058D0A0-8058D0AC 0000C4 000C+00 2/2 0/0 0/0 .data __vt__16daKtOnFire_HIO_c */
SECTION_DATA extern void* __vt__16daKtOnFire_HIO_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__16daKtOnFire_HIO_cFv,
};
/* 8058D0AC-8058D0B8 0000D0 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */
SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__14mDoHIO_entry_cFv,
};
/* 8058C60C-8058C630 0000EC 0024+00 1/1 0/0 0/0 .text __ct__16daKtOnFire_HIO_cFv */
daKtOnFire_HIO_c::daKtOnFire_HIO_c() {
// NONMATCHING
}
/* 8058C630-8058C678 000110 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */
// mDoHIO_entry_c::~mDoHIO_entry_c() {
extern "C" void __dt__14mDoHIO_entry_cFv() {
// NONMATCHING
}
/* 8058C678-8058C6D0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__12daKtOnFire_cFv */
void daKtOnFire_c::setBaseMtx() {
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
mDoMtx_stack_c::ZXYrotM(shape_angle.x, shape_angle.y, shape_angle.z);
}
/* ############################################################################################## */
/* 8058CF88-8058CFB8 000000 0030+00 3/3 0/0 0/0 .rodata mCcDObjInfo__12daKtOnFire_c */
SECTION_RODATA u8 const daKtOnFire_c::mCcDObjInfo[48] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
0xD8, 0xFB, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8058CF88, &daKtOnFire_c::mCcDObjInfo);
/* 8058CFB8-8058CFC0 000030 0004+04 1/2 0/0 0/0 .rodata @3710 */
SECTION_RODATA static f32 const lit_3710[1 + 1 /* padding */] = {
10.0f,
/* padding */
0.0f,
};
COMPILER_STRIP_GATE(0x8058CFB8, &lit_3710);
/* 8058CFC0-8058CFC8 000038 0008+00 1/1 0/0 0/0 .rodata @3712 */
SECTION_RODATA static u8 const lit_3712[8] = {
0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
COMPILER_STRIP_GATE(0x8058CFC0, &lit_3712);
/* 8058C6D0-8058C8D0 0001B0 0200+00 1/1 0/0 0/0 .text create__12daKtOnFire_cFv */
void daKtOnFire_c::create() {
// NONMATCHING
}
/* 8058C8D0-8058C918 0003B0 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
// cM3dGCyl::~cM3dGCyl() {
extern "C" void __dt__8cM3dGCylFv() {
// NONMATCHING
}
/* 8058C918-8058C960 0003F8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
// cM3dGAab::~cM3dGAab() {
extern "C" void __dt__8cM3dGAabFv() {
// NONMATCHING
}
/* ############################################################################################## */
/* 8058CFC8-8058CFCC 000040 0004+00 0/1 0/0 0/0 .rodata @3797 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3797 = 500.0f;
COMPILER_STRIP_GATE(0x8058CFC8, &lit_3797);
#pragma pop
/* 8058CFCC-8058CFD0 000044 0004+00 0/2 0/0 0/0 .rodata @3798 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3798 = 1.0f;
COMPILER_STRIP_GATE(0x8058CFCC, &lit_3798);
#pragma pop
/* 8058C960-8058C9D4 000440 0074+00 1/1 0/0 0/0 .text lightInit__12daKtOnFire_cFv */
void daKtOnFire_c::lightInit() {
// NONMATCHING
mLightPos = mTorchPos;
mLightPos.y += lit_3710[0];
mLight.mPosition = mLightPos;
mLight.mColor.r = 0xbc;
mLight.mColor.g = 0x66;
mLight.mColor.b = 0x42;
mLight.mPow = lit_3797;
mLight.mFluctuation = lit_3798;
}
/* 8058C9D4-8058C9F8 0004B4 0024+00 2/2 0/0 0/0 .text setLight__12daKtOnFire_cFv */
void daKtOnFire_c::setLight() {
dKy_plight_set(&mLight);
}
/* 8058C9F8-8058CA1C 0004D8 0024+00 1/1 0/0 0/0 .text cutLight__12daKtOnFire_cFv */
void daKtOnFire_c::cutLight() {
dKy_plight_cut(&mLight);
}
/* ############################################################################################## */
/* 8058CFD0-8058CFD4 000048 0004+00 0/1 0/0 0/0 .rodata @3913 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3913 = -1.0f;
COMPILER_STRIP_GATE(0x8058CFD0, &lit_3913);
#pragma pop
/* 8058CFD4-8058CFD8 00004C 0004+00 0/1 0/0 0/0 .rodata @3914 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3914 = 50.0f;
COMPILER_STRIP_GATE(0x8058CFD4, &lit_3914);
#pragma pop
/* 8058CFD8-8058CFDC 000050 0004+00 0/1 0/0 0/0 .rodata @3915 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3915 = 100.0f;
COMPILER_STRIP_GATE(0x8058CFD8, &lit_3915);
#pragma pop
/* 8058D0C0-8058D0CC 000008 000C+00 1/1 0/0 0/0 .bss @3619 */
static u8 lit_3619[12];
/* 8058D0CC-8058D0D4 000014 0008+00 2/2 0/0 0/0 .bss l_HIO */
static u8 l_HIO[8];
/* 8058CA1C-8058CDF8 0004FC 03DC+00 1/1 0/0 0/0 .text Execute__12daKtOnFire_cFv */
int daKtOnFire_c::Execute() {
// NONMATCHING
return true;
}
/* 8058CDF8-8058CE00 0008D8 0008+00 1/1 0/0 0/0 .text Draw__12daKtOnFire_cFv */
int daKtOnFire_c::Draw() {
return true;
}
/* 8058CE00-8058CE28 0008E0 0028+00 1/1 0/0 0/0 .text Delete__12daKtOnFire_cFv */
int daKtOnFire_c::Delete() {
dKy_plight_cut(&mLight);
return true;
}
/* 8058CE28-8058CE48 000908 0020+00 1/0 0/0 0/0 .text daKtOnFire_Draw__FP12daKtOnFire_c
*/
static int daKtOnFire_Draw(daKtOnFire_c* param_0) {
return param_0->Draw();
}
/* 8058CE48-8058CE68 000928 0020+00 1/0 0/0 0/0 .text daKtOnFire_Execute__FP12daKtOnFire_c */
static int daKtOnFire_Execute(daKtOnFire_c* param_0) {
return param_0->Execute();
}
/* 8058CE68-8058CE88 000948 0020+00 1/0 0/0 0/0 .text daKtOnFire_Delete__FP12daKtOnFire_c
*/
static int daKtOnFire_Delete(daKtOnFire_c* param_0) {
return param_0->Delete();
}
/* 8058CE88-8058CEA8 000968 0020+00 1/0 0/0 0/0 .text daKtOnFire_Create__FP10fopAc_ac_c
*/
static void daKtOnFire_Create(fopAc_ac_c* param_0) {
return ((daKtOnFire_c*)param_0)->create();
}
/* 8058CF04-8058CF74 0009E4 0070+00 0/0 1/0 0/0 .text __sinit_d_a_obj_ktOnFire_cpp */
void __sinit_d_a_obj_ktOnFire_cpp() {
// NONMATCHING
}
#pragma push
#pragma force_active on
REGISTER_CTORS(0x8058CF04, __sinit_d_a_obj_ktOnFire_cpp);
#pragma pop

View File

@ -20,12 +20,12 @@ void eff_break_tsubo(fopAc_ac_c* i_actor, cXyz i_scale, int i_type) {
J3DAnmTexPattern* tubo_btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("Always", 0x42);
JPABaseEmitter* emitter = dComIfGp_particle_set(
dPa_name::ZI_J_M_tuboHahen_e, &i_actor->current.pos, NULL, NULL, 0xFF,
ID_ZI_J_M_TUBOHAHEN, &i_actor->current.pos, NULL, NULL, 0xFF,
&dPa_modelEcallBack::mEcallback, fopAcM_GetRoomNo(i_actor), NULL, NULL, &i_scale);
dPa_modelEcallBack::setModel(emitter, tubo_bmd, i_actor->tevStr, 3, tubo_btp, 0, i_type);
dComIfGp_particle_set(dPa_name::ZI_J_tuboHahen_e, &i_actor->current.pos, NULL, NULL, 0xFF,
dComIfGp_particle_set(ID_ZI_J_TUBOHAHEN, &i_actor->current.pos, NULL, NULL, 0xFF,
dPa_control_c::getTsuboSelectTexEcallBack(i_type),
fopAcM_GetRoomNo(i_actor), NULL, NULL, &i_scale);
}

File diff suppressed because it is too large Load Diff