mirror of https://github.com/zeldaret/tp.git
obj_geyer and obj_ktOnFire done (#2619)
* obj_geyer and obj_ktOnFire done * pr
This commit is contained in:
parent
5d46f1fc22
commit
2036d9c34f
|
|
@ -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"),
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
Loading…
Reference in New Issue