mirror of https://github.com/zeldaret/tp.git
d_a_obj_hakai_brl matching (#2504)
This commit is contained in:
parent
79c56b2548
commit
cb2c3744eb
|
|
@ -1942,7 +1942,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_groundwater"),
|
||||
ActorRel(NonMatching, "d_a_obj_grz_rock"),
|
||||
ActorRel(NonMatching, "d_a_obj_h_saku"),
|
||||
ActorRel(NonMatching, "d_a_obj_hakai_brl"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hakai_brl"),
|
||||
ActorRel(NonMatching, "d_a_obj_hakai_ftr"),
|
||||
ActorRel(NonMatching, "d_a_obj_hasu2"),
|
||||
ActorRel(NonMatching, "d_a_obj_hata"),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef D_A_OBJ_HAKAI_BRL_H
|
||||
#define D_A_OBJ_HAKAI_BRL_H
|
||||
|
||||
#include "d/d_cc_d.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
|
|
@ -11,24 +12,33 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daObjHBarrel_c : public fopAc_ac_c {
|
||||
class daObjHBarrel_c : public fopAc_ac_c, public request_of_phase_process_class {
|
||||
public:
|
||||
/* 80C16758 */ daObjHBarrel_c();
|
||||
/* 80C16918 */ ~daObjHBarrel_c();
|
||||
/* 80C16A98 */ void createHeap();
|
||||
/* 80C16B08 */ void create();
|
||||
/* 80C16BF8 */ void Delete();
|
||||
/* 80C16C44 */ void draw();
|
||||
/* 80C16CA8 */ void execute();
|
||||
/* 80C16918 */ virtual ~daObjHBarrel_c();
|
||||
/* 80C16A98 */ int createHeap();
|
||||
/* 80C16B08 */ int create();
|
||||
/* 80C16BF8 */ int Delete();
|
||||
/* 80C16C44 */ int draw();
|
||||
/* 80C16CA8 */ int execute();
|
||||
/* 80C16D50 */ void init();
|
||||
/* 80C16DEC */ void setModelMtx();
|
||||
/* 80C16E50 */ void hitAction();
|
||||
u8 getItemBit() {
|
||||
return fopAcM_GetParamBit(this, 8, 8);
|
||||
}
|
||||
u8 getItemNo() {
|
||||
return fopAcM_GetParamBit(this, 0, 8);
|
||||
}
|
||||
/* 80C17090 */ void callEmt();
|
||||
|
||||
static u8 const s_CcDCyl[68];
|
||||
static dCcD_SrcCyl const s_CcDCyl;
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x710 - 0x568];
|
||||
/* 0x574 */ J3DModel* mpModel;
|
||||
/* 0x578 */ dCcD_Stts mStts;
|
||||
/* 0x5B4 */ dCcD_Cyl mCyl;
|
||||
/* 0x6F0 */ Z2SoundObjSimple mSound;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjHBarrel_c) == 0x710);
|
||||
|
|
|
|||
|
|
@ -1,340 +1,231 @@
|
|||
/**
|
||||
* @file d_a_obj_hakai_brl.cpp
|
||||
*
|
||||
*/
|
||||
*
|
||||
*/
|
||||
|
||||
#include "d/actor/d_a_obj_hakai_brl.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" static void daObjHBarrel_c_createHeap__FP10fopAc_ac_c();
|
||||
extern "C" void __ct__14daObjHBarrel_cFv();
|
||||
extern "C" void __dt__8cM3dGCylFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__10dCcD_GSttsFv();
|
||||
extern "C" void __dt__14daObjHBarrel_cFv();
|
||||
extern "C" void createHeap__14daObjHBarrel_cFv();
|
||||
extern "C" void create__14daObjHBarrel_cFv();
|
||||
extern "C" void Delete__14daObjHBarrel_cFv();
|
||||
extern "C" void draw__14daObjHBarrel_cFv();
|
||||
extern "C" void execute__14daObjHBarrel_cFv();
|
||||
extern "C" void init__14daObjHBarrel_cFv();
|
||||
extern "C" void setModelMtx__14daObjHBarrel_cFv();
|
||||
extern "C" void hitAction__14daObjHBarrel_cFv();
|
||||
extern "C" void callEmt__14daObjHBarrel_cFv();
|
||||
extern "C" static void daObjHBarrel_create__FP14daObjHBarrel_c();
|
||||
extern "C" static void daObjHBarrel_Delete__FP14daObjHBarrel_c();
|
||||
extern "C" static void daObjHBarrel_execute__FP14daObjHBarrel_c();
|
||||
extern "C" static void daObjHBarrel_draw__FP14daObjHBarrel_c();
|
||||
extern "C" void __dt__10cCcD_GSttsFv();
|
||||
extern "C" u8 const s_CcDCyl__14daObjHBarrel_c[68];
|
||||
extern "C" extern char const* const d_a_obj_hakai_brl__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void mDoExt_modelUpdate__FP8J3DModel();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void __dt__10fopAc_ac_cFv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData();
|
||||
extern "C" void fopAcM_createItemFromTable__FPC4cXyziiiPC5csXyziPC4cXyzPfPfb();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci();
|
||||
extern "C" void
|
||||
setModel__18dPa_modelEcallBackFP14JPABaseEmitterP12J3DModelDataRC12dKy_tevstr_cUcPvUcUc();
|
||||
extern "C" void setHitMark__13dPa_control_cFUsP10fopAc_ac_cPC4cXyzPC5csXyzPC4cXyzUl();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_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 __dt__12dCcD_GObjInfFv();
|
||||
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
|
||||
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
|
||||
extern "C" void GetTgHitObjSe__12dCcD_GObjInfFv();
|
||||
extern "C" void getHitSeID__12dCcD_GObjInfFUci();
|
||||
extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
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 __dt__14Z2SoundObjBaseFv();
|
||||
extern "C" void deleteObject__14Z2SoundObjBaseFv();
|
||||
extern "C" void startCollisionSE__14Z2SoundObjBaseFUlUlP14Z2SoundObjBase();
|
||||
extern "C" void __ct__16Z2SoundObjSimpleFv();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _restgpr_27();
|
||||
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" extern void* __vt__16Z2SoundObjSimple[8];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" extern u8 g_dComIfG_gameInfo[122384];
|
||||
extern "C" u8 mEcallback__18dPa_modelEcallBack[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
/* 80C16738-80C16758 000078 0020+00 1/1 0/0 0/0 .text daObjHBarrel_c_createHeap__FP10fopAc_ac_c */
|
||||
static void daObjHBarrel_c_createHeap(fopAc_ac_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjHBarrel_c_createHeap(fopAc_ac_c* i_this) {
|
||||
return ((daObjHBarrel_c*)i_this)->createHeap();
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C1735C-80C1735C 000060 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C1735C = "HBarrel";
|
||||
#pragma pop
|
||||
|
||||
/* 80C1737C-80C17380 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
|
||||
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_hakai_brl__stringBase0;
|
||||
|
||||
/* 80C17380-80C173A0 -00001 0020+00 1/0 0/0 0/0 .data daObjHBarrel_METHODS */
|
||||
static actor_method_class daObjHBarrel_METHODS = {
|
||||
(process_method_func)daObjHBarrel_create__FP14daObjHBarrel_c,
|
||||
(process_method_func)daObjHBarrel_Delete__FP14daObjHBarrel_c,
|
||||
(process_method_func)daObjHBarrel_execute__FP14daObjHBarrel_c,
|
||||
0,
|
||||
(process_method_func)daObjHBarrel_draw__FP14daObjHBarrel_c,
|
||||
};
|
||||
|
||||
/* 80C173A0-80C173D0 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_HBarrel */
|
||||
extern actor_process_profile_definition g_profile_Obj_HBarrel = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_HBarrel, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjHBarrel_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
745, // mPriority
|
||||
&daObjHBarrel_METHODS, // sub_method
|
||||
0x00040180, // mStatus
|
||||
fopAc_ENV_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
||||
/* 80C173D0-80C173DC 000054 000C+00 2/2 0/0 0/0 .data __vt__14daObjHBarrel_c */
|
||||
SECTION_DATA extern void* __vt__14daObjHBarrel_c[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__14daObjHBarrel_cFv,
|
||||
};
|
||||
|
||||
/* 80C173DC-80C173E8 000060 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10cCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10cCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 80C173E8-80C173F4 00006C 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */
|
||||
SECTION_DATA extern void* __vt__10dCcD_GStts[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__10dCcD_GSttsFv,
|
||||
};
|
||||
|
||||
/* 80C173F4-80C17400 000078 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */
|
||||
SECTION_DATA extern void* __vt__8cM3dGCyl[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGCylFv,
|
||||
};
|
||||
|
||||
/* 80C17400-80C1740C 000084 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */
|
||||
SECTION_DATA extern void* __vt__8cM3dGAab[3] = {
|
||||
(void*)NULL /* RTTI */,
|
||||
(void*)NULL,
|
||||
(void*)__dt__8cM3dGAabFv,
|
||||
};
|
||||
static char* l_arcName = "HBarrel";
|
||||
|
||||
/* 80C16758-80C1682C 000098 00D4+00 2/2 0/0 0/0 .text __ct__14daObjHBarrel_cFv */
|
||||
daObjHBarrel_c::daObjHBarrel_c() {
|
||||
// NONMATCHING
|
||||
}
|
||||
daObjHBarrel_c::daObjHBarrel_c() {}
|
||||
|
||||
/* 80C1682C-80C16874 00016C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */
|
||||
// cM3dGCyl::~cM3dGCyl() {
|
||||
extern "C" void __dt__8cM3dGCylFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C16874-80C168BC 0001B4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */
|
||||
// cM3dGAab::~cM3dGAab() {
|
||||
extern "C" void __dt__8cM3dGAabFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C168BC-80C16918 0001FC 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */
|
||||
// dCcD_GStts::~dCcD_GStts() {
|
||||
extern "C" void __dt__10dCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
|
||||
/* 80C16918-80C16A98 000258 0180+00 1/0 0/0 0/0 .text __dt__14daObjHBarrel_cFv */
|
||||
/* 80C16758-80C1682C 000098 00D4+00 2/2 0/0 0/0 .text __ct__14daObjHBarrel_cFv */
|
||||
daObjHBarrel_c::~daObjHBarrel_c() {
|
||||
// NONMATCHING
|
||||
dComIfG_resDelete(this, l_arcName);
|
||||
}
|
||||
|
||||
/* 80C16A98-80C16B08 0003D8 0070+00 1/1 0/0 0/0 .text createHeap__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::createHeap() {
|
||||
// NONMATCHING
|
||||
int daObjHBarrel_c::createHeap() {
|
||||
J3DModelData* a_model_data_p = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 3);
|
||||
JUT_ASSERT(0x9a, a_model_data_p != 0);
|
||||
|
||||
mpModel = mDoExt_J3DModel__create(a_model_data_p, 0x80000, 0x11000084);
|
||||
if (mpModel == 0) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C16B08-80C16BF8 000448 00F0+00 1/1 0/0 0/0 .text create__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::create() {
|
||||
// NONMATCHING
|
||||
int daObjHBarrel_c::create() {
|
||||
fopAcM_SetupActor(this, daObjHBarrel_c);
|
||||
|
||||
s32 loadResult = dComIfG_resLoad(this, l_arcName);
|
||||
if (loadResult == cPhs_COMPLEATE_e) {
|
||||
if (!fopAcM_entrySolidHeap(this, daObjHBarrel_c_createHeap, 0x1000)) {
|
||||
return cPhs_ERROR_e;
|
||||
}
|
||||
|
||||
init();
|
||||
setModelMtx();
|
||||
fopAcM_SetMtx(this, mpModel->getBaseTRMtx());
|
||||
fopAcM_setCullSizeBox2(this, mpModel->getModelData());
|
||||
mSound.init(¤t.pos, 1);
|
||||
}
|
||||
|
||||
return loadResult;
|
||||
}
|
||||
|
||||
/* 80C16BF8-80C16C44 000538 004C+00 1/1 0/0 0/0 .text Delete__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::Delete() {
|
||||
// NONMATCHING
|
||||
int daObjHBarrel_c::Delete() {
|
||||
mSound.deleteObject();
|
||||
this->~daObjHBarrel_c();
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C16C44-80C16CA8 000584 0064+00 1/1 0/0 0/0 .text draw__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::draw() {
|
||||
// NONMATCHING
|
||||
int daObjHBarrel_c::draw() {
|
||||
g_env_light.settingTevStruct(8, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
mDoExt_modelUpdate(mpModel);
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80C16CA8-80C16D50 0005E8 00A8+00 1/1 0/0 0/0 .text execute__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::execute() {
|
||||
// NONMATCHING
|
||||
int daObjHBarrel_c::execute() {
|
||||
if (dComIfGp_checkPlayerStatus0(0, 0x1000) != 0) {
|
||||
mCyl.OffTgShield();
|
||||
} else {
|
||||
mCyl.OnTgShield();
|
||||
}
|
||||
|
||||
hitAction();
|
||||
|
||||
setModelMtx();
|
||||
|
||||
mSound.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
|
||||
|
||||
dComIfG_Ccsp()->Set(&mCyl);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C172FC-80C17340 000000 0044+00 2/2 0/0 0/0 .rodata s_CcDCyl__14daObjHBarrel_c */
|
||||
SECTION_RODATA u8 const daObjHBarrel_c::s_CcDCyl[68] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x0D, 0xD8, 0xFA, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x79,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x05, 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 const daObjHBarrel_c::s_CcDCyl = {
|
||||
{
|
||||
{0x0, {{0x0, 0x0, 0xd}, {(s32)0xd8fafdff, 0x11}, 0x79}}, // mObj
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt
|
||||
{dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x5}, // mGObjTg
|
||||
{0x0}, // mGObjCo
|
||||
}, // mObjInf
|
||||
{
|
||||
{0.0f, 0.0f, 0.0f}, // mCenter
|
||||
0.0f, // mRadius
|
||||
0.0f // mHeight
|
||||
} // mCyl
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C172FC, &daObjHBarrel_c::s_CcDCyl);
|
||||
|
||||
/* 80C17340-80C17344 000044 0004+00 0/1 0/0 0/0 .rodata @3826 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3826 = 170.0f;
|
||||
COMPILER_STRIP_GATE(0x80C17340, &lit_3826);
|
||||
#pragma pop
|
||||
|
||||
/* 80C17344-80C17348 000048 0004+00 0/1 0/0 0/0 .rodata @3827 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3827 = 90.0f;
|
||||
COMPILER_STRIP_GATE(0x80C17344, &lit_3827);
|
||||
#pragma pop
|
||||
|
||||
/* 80C16D50-80C16DEC 000690 009C+00 1/1 0/0 0/0 .text init__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::init() {
|
||||
// NONMATCHING
|
||||
mStts.Init(0xff, 0, this);
|
||||
mCyl.Set(s_CcDCyl);
|
||||
mCyl.SetStts(&mStts);
|
||||
cXyz cStack_18(current.pos.x, current.pos.y, current.pos.z);
|
||||
mCyl.SetC(cStack_18);
|
||||
mCyl.SetH(170.0f);
|
||||
return mCyl.SetR(90.0f);
|
||||
}
|
||||
|
||||
/* 80C16DEC-80C16E50 00072C 0064+00 2/2 0/0 0/0 .text setModelMtx__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::setModelMtx() {
|
||||
// NONMATCHING
|
||||
mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y);
|
||||
mpModel->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C17348-80C1734C 00004C 0004+00 1/2 0/0 0/0 .rodata @3916 */
|
||||
SECTION_RODATA static f32 const lit_3916 = 1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C17348, &lit_3916);
|
||||
|
||||
/* 80C1734C-80C17350 000050 0004+00 1/1 0/0 0/0 .rodata @3917 */
|
||||
SECTION_RODATA static f32 const lit_3917 = -1.0f;
|
||||
COMPILER_STRIP_GATE(0x80C1734C, &lit_3917);
|
||||
|
||||
/* 80C16E50-80C17090 000790 0240+00 1/1 0/0 0/0 .text hitAction__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::hitAction() {
|
||||
// NONMATCHING
|
||||
if (mCyl.ChkTgHit()) {
|
||||
cCcD_ObjHitInf* hitObj = mCyl.GetTgHitObj();
|
||||
if (hitObj != NULL) {
|
||||
u32 temp = mCyl.GetTgHitObjHitSeID(1);
|
||||
mSound.startCollisionSE(temp, 0x10, NULL);
|
||||
if (hitObj->ChkAtType(AT_TYPE_BOMB) || hitObj->ChkAtType(AT_TYPE_IRON_BALL)) {
|
||||
dComIfGp_setHitMark(1, this, mCyl.GetTgHitPosP(), NULL, NULL, 0);
|
||||
callEmt();
|
||||
fopAcM_seStartCurrent(this, Z2SE_OBJ_BREAK_WOOD_FURNITURE, 0);
|
||||
fopAcM_createItemFromTable(¤t.pos, getItemNo(), getItemBit(),
|
||||
fopAcM_GetHomeRoomNo(this), NULL, 0, NULL, NULL, NULL,
|
||||
false);
|
||||
fopAcM_delete(this);
|
||||
} else {
|
||||
if (hitObj->ChkAtType(AT_TYPE_NORMAL_SWORD) != 0 ||
|
||||
hitObj->ChkAtType(AT_TYPE_ARROW) != 0)
|
||||
{
|
||||
cXyz scale(1.0f, 1.0f, 1.0f);
|
||||
csXyz part_shape_angle(shape_angle);
|
||||
fopAc_ac_c* player = dComIfGp_getPlayer(0);
|
||||
if (player != NULL) {
|
||||
part_shape_angle.set(player->shape_angle.x, player->shape_angle.y,
|
||||
player->shape_angle.z);
|
||||
}
|
||||
dComIfGp_particle_set(0x752, mCyl.GetTgHitPosP(), &part_shape_angle, &scale);
|
||||
} else {
|
||||
dComIfGp_setHitMark(9, this, mCyl.GetTgHitPosP(), NULL, NULL, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
mCyl.ClrTgHit();
|
||||
}
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80C17350-80C17358 000054 0006+02 0/1 0/0 0/0 .rodata PARTICLE_NAME$3924 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static u8 const PARTICLE_NAME[6 + 2 /* padding */] = {
|
||||
0x82,
|
||||
0xAB,
|
||||
0x82,
|
||||
0xAC,
|
||||
0x82,
|
||||
0xAD,
|
||||
/* padding */
|
||||
0x00,
|
||||
0x00,
|
||||
};
|
||||
COMPILER_STRIP_GATE(0x80C17350, &PARTICLE_NAME);
|
||||
#pragma pop
|
||||
|
||||
/* 80C17358-80C1735C 00005C 0004+00 0/1 0/0 0/0 .rodata @3953 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_RODATA static f32 const lit_3953 = 1.125f;
|
||||
COMPILER_STRIP_GATE(0x80C17358, &lit_3953);
|
||||
#pragma pop
|
||||
|
||||
/* 80C1735C-80C1735C 000060 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DEAD static char const* const stringBase_80C17364 = "Always";
|
||||
SECTION_DEAD static char const* const stringBase_80C1736B = "BreakWoodBox.bmd";
|
||||
#pragma pop
|
||||
|
||||
/* 80C17090-80C171F8 0009D0 0168+00 1/1 0/0 0/0 .text callEmt__14daObjHBarrel_cFv */
|
||||
void daObjHBarrel_c::callEmt() {
|
||||
// NONMATCHING
|
||||
static u16 const PARTICLE_NAME[3] = {
|
||||
0x82AB,
|
||||
0x82AC,
|
||||
0x82AD,
|
||||
};
|
||||
|
||||
cXyz acStack_34(current.pos);
|
||||
cXyz cStack_40(1.125f, 1.125f, 1.125f);
|
||||
|
||||
J3DModelData* a_bmd_p = (J3DModelData*)dComIfG_getObjectRes("Always", "BreakWoodBox.bmd");
|
||||
JUT_ASSERT(0x1f3, a_bmd_p != 0);
|
||||
|
||||
JPABaseEmitter* emitter = dComIfGp_particle_set(0x82af, &acStack_34, NULL, NULL, 0xff,
|
||||
&dPa_modelEcallBack::getEcallback(),
|
||||
fopAcM_GetRoomNo(this), NULL, NULL, &cStack_40);
|
||||
dPa_modelEcallBack::setModel(emitter, a_bmd_p, tevStr, 3, NULL, 0, 0);
|
||||
for (s32 i = 0; i < 3; i++) {
|
||||
dComIfGp_particle_set(PARTICLE_NAME[i], &acStack_34, NULL, &cStack_40, 0xff, NULL, -1, NULL,
|
||||
NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
/* 80C171F8-80C1724C 000B38 0054+00 1/0 0/0 0/0 .text daObjHBarrel_create__FP14daObjHBarrel_c */
|
||||
static void daObjHBarrel_create(daObjHBarrel_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjHBarrel_create(daObjHBarrel_c* param_0) {
|
||||
fopAcM_SetupActor(param_0, daObjHBarrel_c);
|
||||
return param_0->create();
|
||||
}
|
||||
|
||||
/* 80C1724C-80C1726C 000B8C 0020+00 1/0 0/0 0/0 .text daObjHBarrel_Delete__FP14daObjHBarrel_c */
|
||||
static void daObjHBarrel_Delete(daObjHBarrel_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjHBarrel_Delete(daObjHBarrel_c* param_0) {
|
||||
return param_0->Delete();
|
||||
}
|
||||
|
||||
/* 80C1726C-80C1728C 000BAC 0020+00 1/0 0/0 0/0 .text daObjHBarrel_execute__FP14daObjHBarrel_c */
|
||||
static void daObjHBarrel_execute(daObjHBarrel_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjHBarrel_execute(daObjHBarrel_c* param_0) {
|
||||
return param_0->execute();
|
||||
}
|
||||
|
||||
/* 80C1728C-80C172AC 000BCC 0020+00 1/0 0/0 0/0 .text daObjHBarrel_draw__FP14daObjHBarrel_c */
|
||||
static void daObjHBarrel_draw(daObjHBarrel_c* param_0) {
|
||||
// NONMATCHING
|
||||
static int daObjHBarrel_draw(daObjHBarrel_c* param_0) {
|
||||
return param_0->draw();
|
||||
}
|
||||
|
||||
/* 80C172AC-80C172F4 000BEC 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */
|
||||
// cCcD_GStts::~cCcD_GStts() {
|
||||
extern "C" void __dt__10cCcD_GSttsFv() {
|
||||
// NONMATCHING
|
||||
}
|
||||
/* 80C17380-80C173A0 -00001 0020+00 1/0 0/0 0/0 .data daObjHBarrel_METHODS */
|
||||
static actor_method_class daObjHBarrel_METHODS = {
|
||||
(process_method_func)daObjHBarrel_create,
|
||||
(process_method_func)daObjHBarrel_Delete,
|
||||
(process_method_func)daObjHBarrel_execute,
|
||||
NULL,
|
||||
(process_method_func)daObjHBarrel_draw,
|
||||
};
|
||||
|
||||
/* 80C1735C-80C1735C 000060 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
extern actor_process_profile_definition g_profile_Obj_HBarrel = {
|
||||
fpcLy_CURRENT_e, // mLayerID
|
||||
7, // mListID
|
||||
fpcPi_CURRENT_e, // mListPrio
|
||||
PROC_Obj_HBarrel, // mProcName
|
||||
&g_fpcLf_Method.base, // sub_method
|
||||
sizeof(daObjHBarrel_c), // mSize
|
||||
0, // mSizeOther
|
||||
0, // mParameters
|
||||
&g_fopAc_Method.base, // sub_method
|
||||
745, // mPriority
|
||||
&daObjHBarrel_METHODS, // sub_method
|
||||
0x00040180, // mStatus
|
||||
fopAc_ENV_e, // mActorType
|
||||
fopAc_CULLBOX_CUSTOM_e, // cullType
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue