diff options
| author | Trueffeloot <geiloking135@gmail.com> | 2023-04-08 06:43:17 +0200 |
|---|---|---|
| committer | Trueffeloot <geiloking135@gmail.com> | 2023-04-08 06:43:17 +0200 |
| commit | 4aa1e3447f45283dbdbfa22bd13fe7545aedcdba (patch) | |
| tree | 7ffe63b4c7f894ff3ae1b075a5378d9cc611af6c /rel | |
| parent | 5d9e6374e4eb449908166f5e8f3f32e8981b14da (diff) | |
| parent | 5def43b161686f404ac78345208c6af447c24128 (diff) | |
Merge remote-tracking branch 'origin/work6'
Diffstat (limited to 'rel')
| -rw-r--r-- | rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp | 38 | ||||
| -rw-r--r-- | rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp | 345 | ||||
| -rw-r--r-- | rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp | 2 | ||||
| -rw-r--r-- | rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp | 267 |
4 files changed, 173 insertions, 479 deletions
diff --git a/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp b/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp index 40730ab8cd..a51dbbea03 100644 --- a/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp +++ b/rel/d/a/obj/d_a_obj_bombf/d_a_obj_bombf.cpp @@ -129,23 +129,23 @@ static actor_method_class l_daObjBombf_Method = { /* 80BBAEC8-80BBAEF8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Bombf */ extern actor_process_profile_definition g_profile_Obj_Bombf = { - -3, - 7, - -3, - PROC_Obj_Bombf, - 0, - &g_fpcLf_Method.mBase, - sizeof(daObjBombf_c), - 0, - 0, - &g_fopAc_Method.base, - 0x00FB, - 0, - 0, - &l_daObjBombf_Method, - 0x00040100, - 3, - 14, - 0, - 0, + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Obj_Bombf, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daObjBombf_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x00FB, // mPriority + 0, // Padding + 0, // Padding + &l_daObjBombf_Method, // mSubMtd + 0x00040100, // mStatus + 3, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding }; diff --git a/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp b/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp index 781c759f4d..2da2f7918a 100644 --- a/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp +++ b/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.cpp @@ -1,301 +1,132 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_obj_cowdoor -// +/** + * d_a_obj_cowdoor.cpp + * Cow Door + */ #include "rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct fopAc_ac_c {}; - -struct daCowdoor_c { - /* 80BCC7F8 */ void setBaseMtx(); - /* 80BCC86C */ void Create(); - /* 80BCC8C4 */ void CreateHeap(); - /* 80BCC93C */ void create(); - /* 80BCCA1C */ void Execute(f32 (**)[3][4]); - /* 80BCCA48 */ void Draw(); - /* 80BCCAEC */ void Delete(); -}; - -struct dKy_tevstr_c {}; - -struct J3DModelData {}; - -struct cXyz {}; - -struct dScnKy_env_light_c { - /* 801A37C4 */ void settingTevStruct(int, cXyz*, dKy_tevstr_c*); - /* 801A4DA0 */ void setLightTevColorType_MAJI(J3DModelData*, dKy_tevstr_c*); -}; - -struct dRes_info_c {}; - -struct dRes_control_c { - /* 8003C37C */ void getRes(char const*, char const*, dRes_info_c*, int); - /* 8003C6B8 */ void getObjectResName2Index(char const*, char const*); -}; - -struct dBgW {}; - -struct cBgS_PolyInfo {}; - -struct csXyz {}; - -struct dBgS_MoveBgActor { - /* 80078624 */ dBgS_MoveBgActor(); - /* 800786B0 */ bool IsDelete(); - /* 800786B8 */ bool ToFore(); - /* 800786C0 */ bool ToBack(); - /* 800787BC */ void MoveBGCreate(char const*, int, - void (*)(dBgW*, void*, cBgS_PolyInfo const&, bool, cXyz*, - csXyz*, csXyz*), - u32, f32 (*)[3][4]); - /* 800788DC */ void MoveBGDelete(); - /* 80078950 */ void MoveBGExecute(); -}; - -struct J3DModel {}; - -// -// Forward References: -// - -extern "C" void setBaseMtx__11daCowdoor_cFv(); -extern "C" void Create__11daCowdoor_cFv(); -extern "C" void CreateHeap__11daCowdoor_cFv(); -extern "C" void create__11daCowdoor_cFv(); -extern "C" void Execute__11daCowdoor_cFPPA3_A4_f(); -extern "C" void Draw__11daCowdoor_cFv(); -extern "C" void Delete__11daCowdoor_cFv(); -extern "C" static void daCowdoor_Draw__FP11daCowdoor_c(); -extern "C" static void daCowdoor_Execute__FP11daCowdoor_c(); -extern "C" static void daCowdoor_Delete__FP11daCowdoor_c(); -extern "C" static void daCowdoor_Create__FP10fopAc_ac_c(); -extern "C" extern char const* const d_a_obj_cowdoor__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXTrans(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" extern u8 g_env_light[4880]; -extern "C" extern u8 j3dSys[284]; - -// -// Declarations: -// /* 80BCC7F8-80BCC86C 000078 0074+00 2/2 0/0 0/0 .text setBaseMtx__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/setBaseMtx__11daCowdoor_cFv.s" +void daCowdoor_c::setBaseMtx() { + PSMTXTrans(mDoMtx_stack_c::now, current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + PSMTXCopy(mDoMtx_stack_c::now, field_0x5a8->mBaseTransformMtx); + PSMTXCopy(mDoMtx_stack_c::now, field_0x56c); } -#pragma pop - -/* ############################################################################################## */ -/* 80BCCBB4-80BCCBB8 000000 0004+00 1/1 0/0 0/0 .rodata @3648 */ -SECTION_RODATA static f32 const lit_3648 = 5.0f; -COMPILER_STRIP_GATE(0x80BCCBB4, &lit_3648); /* 80BCC86C-80BCC8C4 0000EC 0058+00 1/0 0/0 0/0 .text Create__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Create__11daCowdoor_cFv.s" +int daCowdoor_c::Create() { + setBaseMtx(); + mCullMtx = field_0x5a8->mBaseTransformMtx; + fopAcM_setCullSizeBox2(this, field_0x5a8->getModelData()); + mCullSizeFar = 5.0f; + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80BCCBB8-80BCCBB8 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80BCCBB8 = "A_UHDoor"; -SECTION_DEAD static char const* const stringBase_80BCCBC1 = "A_UHDoor.bmd"; -#pragma pop /* 80BCCBDC-80BCCBE0 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_cowdoor__stringBase0; +static const char* l_arcName[] = {"A_UHDoor"}; /* 80BCCBE0-80BCCBE4 -00001 0004+00 1/1 0/0 0/0 .data l_bmdName */ -SECTION_DATA static void* l_bmdName = (void*)(((char*)&d_a_obj_cowdoor__stringBase0) + 0x9); +static const char* l_bmdName[] = {"A_UHDoor.bmd"}; /* 80BCC8C4-80BCC93C 000144 0078+00 1/0 0/0 0/0 .text CreateHeap__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::CreateHeap() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/CreateHeap__11daCowdoor_cFv.s" +int daCowdoor_c::CreateHeap() { + field_0x5a8 = mDoExt_J3DModel__create( + (J3DModelData*)dComIfG_getObjectRes(l_arcName[0], l_bmdName[0]), 0x80000, 0x11000084); + return (field_0x5a8 != NULL) ? 1 : 0; } -#pragma pop - -/* ############################################################################################## */ -/* 80BCCBB8-80BCCBB8 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80BCCBCE = "A_UHDoor.dzb"; -#pragma pop /* 80BCCBE4-80BCCBE8 -00001 0004+00 1/1 0/0 0/0 .data l_dzbName */ -SECTION_DATA static void* l_dzbName = (void*)(((char*)&d_a_obj_cowdoor__stringBase0) + 0x16); - -/* 80BCCBE8-80BCCC08 -00001 0020+00 1/0 0/0 0/0 .data l_daCowdoor_Method */ -SECTION_DATA static void* l_daCowdoor_Method[8] = { - (void*)daCowdoor_Create__FP10fopAc_ac_c, - (void*)daCowdoor_Delete__FP11daCowdoor_c, - (void*)daCowdoor_Execute__FP11daCowdoor_c, - (void*)NULL, - (void*)daCowdoor_Draw__FP11daCowdoor_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80BCCC08-80BCCC38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cowdoor */ -SECTION_DATA extern void* g_profile_Obj_Cowdoor[12] = { - (void*)0xFFFFFFFD, (void*)0x0003FFFD, - (void*)0x005D0000, (void*)&g_fpcLf_Method, - (void*)0x000005AC, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01BF0000, (void*)&l_daCowdoor_Method, - (void*)0x00040100, (void*)0x000E0000, -}; - -/* 80BCCC38-80BCCC60 00005C 0028+00 1/1 0/0 0/0 .data __vt__11daCowdoor_c */ -SECTION_DATA extern void* __vt__11daCowdoor_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__11daCowdoor_cFv, - (void*)Create__11daCowdoor_cFv, - (void*)Execute__11daCowdoor_cFPPA3_A4_f, - (void*)Draw__11daCowdoor_cFv, - (void*)Delete__11daCowdoor_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; +static const char* l_dzbName[] = {"A_UHDoor.dzb"}; /* 80BCC93C-80BCCA1C 0001BC 00E0+00 1/1 0/0 0/0 .text create__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::create() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/func_80BCC93C.s" +int daCowdoor_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daCowdoor_c(); + fopAcM_OnCondition(this, 8); + } + int phase = dComIfG_resLoad(&field_0x5a0, l_arcName[0]); + if (phase == cPhs_COMPLEATE_e) { + phase = + MoveBGCreate(l_arcName[0], dComIfG_getObjctResName2Index(l_arcName[0], l_dzbName[0]), + dBgS_MoveBGProc_TypicalRotY, 0x4000, NULL); + if (phase == cPhs_ERROR_e) { + return phase; + } + } + return phase; } -#pragma pop /* 80BCCA1C-80BCCA48 00029C 002C+00 1/0 0/0 0/0 .text Execute__11daCowdoor_cFPPA3_A4_f */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Execute(f32 (**param_0)[3][4]) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Execute__11daCowdoor_cFPPA3_A4_f.s" +int daCowdoor_c::Execute(f32 (**param_0)[3][4]) { + *param_0 = &field_0x56c; + setBaseMtx(); + return 1; } -#pragma pop /* 80BCCA48-80BCCAEC 0002C8 00A4+00 1/0 0/0 0/0 .text Draw__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Draw() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Draw__11daCowdoor_cFv.s" +int daCowdoor_c::Draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(field_0x5a8->mModelData, &mTevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(field_0x5a8); + dComIfGd_setList(); + return 1; } -#pragma pop /* 80BCCAEC-80BCCB20 00036C 0034+00 1/0 0/0 0/0 .text Delete__11daCowdoor_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daCowdoor_c::Delete() { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/Delete__11daCowdoor_cFv.s" +int daCowdoor_c::Delete() { + dComIfG_resDelete(&field_0x5a0, l_arcName[0]); + return 1; } -#pragma pop /* 80BCCB20-80BCCB4C 0003A0 002C+00 1/0 0/0 0/0 .text daCowdoor_Draw__FP11daCowdoor_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Draw(daCowdoor_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Draw__FP11daCowdoor_c.s" +static int daCowdoor_Draw(daCowdoor_c* i_this) { + return static_cast<dBgS_MoveBgActor*>(i_this)->Draw(); } -#pragma pop /* 80BCCB4C-80BCCB6C 0003CC 0020+00 1/0 0/0 0/0 .text daCowdoor_Execute__FP11daCowdoor_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Execute(daCowdoor_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Execute__FP11daCowdoor_c.s" +static int daCowdoor_Execute(daCowdoor_c* i_this) { + return static_cast<dBgS_MoveBgActor*>(i_this)->MoveBGExecute(); } -#pragma pop /* 80BCCB6C-80BCCB8C 0003EC 0020+00 1/0 0/0 0/0 .text daCowdoor_Delete__FP11daCowdoor_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Delete(daCowdoor_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Delete__FP11daCowdoor_c.s" +static int daCowdoor_Delete(daCowdoor_c* i_this) { + return static_cast<dBgS_MoveBgActor*>(i_this)->MoveBGDelete(); } -#pragma pop /* 80BCCB8C-80BCCBAC 00040C 0020+00 1/0 0/0 0/0 .text daCowdoor_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daCowdoor_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/obj/d_a_obj_cowdoor/d_a_obj_cowdoor/daCowdoor_Create__FP10fopAc_ac_c.s" +static int daCowdoor_Create(fopAc_ac_c* i_this) { + return static_cast<daCowdoor_c*>(i_this)->create(); } -#pragma pop -/* 80BCCBB8-80BCCBB8 000004 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80BCCBE8-80BCCC08 -00001 0020+00 1/0 0/0 0/0 .data l_daCowdoor_Method */ +static actor_method_class l_daCowdoor_Method = { + (process_method_func)daCowdoor_Create, (process_method_func)daCowdoor_Delete, + (process_method_func)daCowdoor_Execute, (process_method_func)NULL, + (process_method_func)daCowdoor_Draw, +}; + +/* 80BCCC08-80BCCC38 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Cowdoor */ +extern actor_process_profile_definition g_profile_Obj_Cowdoor = { + -3, // mLayerID + 3, // mListID + -3, // mListPrio + PROC_Obj_Cowdoor, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daCowdoor_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x01BF, // mPriority + 0, // Padding + 0, // Padding + &l_daCowdoor_Method, // mSubMtd + 0x00040100, // mStatus + 0, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding +};
\ No newline at end of file diff --git a/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp b/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp index 9b1942f0d3..a679220474 100644 --- a/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp +++ b/rel/d/a/tag/d_a_tag_lv6CstaSw/d_a_tag_lv6CstaSw.cpp @@ -7,7 +7,7 @@ /* 80D5B2EC-80D5B310 0000EC 0024+00 1/1 0/0 0/0 .text __ct__17daLv6CstaSw_HIO_cFv */ daLv6CstaSw_HIO_c::daLv6CstaSw_HIO_c() { - field_0x4 = 0; + unk_0x4 = 0; } /* 80D5B358-80D5B3B0 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__13daLv6CstaSw_cFv */ diff --git a/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp b/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp index 8eb96eb88b..8f80310218 100644 --- a/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp +++ b/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.cpp @@ -1,244 +1,107 @@ -// -// Generated By: dol2asm -// Translation Unit: d_a_tag_poFire -// +/** + * d_a_tag_poFire.cpp + * Tag - Poe Fire + */ #include "rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire.h" -#include "dol2asm.h" -#include "dolphin/types.h" - -// -// Types: -// - -struct mDoMtx_stack_c { - static u8 now[48]; -}; - -struct mDoHIO_entry_c { - /* 80D5DAF0 */ ~mDoHIO_entry_c(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); -}; - -struct daTagPoFire_c { - /* 80D5DB38 */ void setBaseMtx(); - /* 80D5DB90 */ void create(); - /* 80D5DBF0 */ void Execute(); - /* 80D5DC20 */ bool Draw(); - /* 80D5DC28 */ bool Delete(); -}; - -struct daTagPoFire_HIO_c { - /* 80D5DACC */ daTagPoFire_HIO_c(); - /* 80D5DCB0 */ ~daTagPoFire_HIO_c(); -}; - -// -// Forward References: -// - -extern "C" void __ct__17daTagPoFire_HIO_cFv(); -extern "C" void __dt__14mDoHIO_entry_cFv(); -extern "C" void setBaseMtx__13daTagPoFire_cFv(); -extern "C" void create__13daTagPoFire_cFv(); -extern "C" void Execute__13daTagPoFire_cFv(); -extern "C" bool Draw__13daTagPoFire_cFv(); -extern "C" bool Delete__13daTagPoFire_cFv(); -extern "C" static void daTagPoFire_Draw__FP13daTagPoFire_c(); -extern "C" static void daTagPoFire_Execute__FP13daTagPoFire_c(); -extern "C" static void daTagPoFire_Delete__FP13daTagPoFire_c(); -extern "C" static void daTagPoFire_Create__FP10fopAc_ac_c(); -extern "C" void __dt__17daTagPoFire_HIO_cFv(); -extern "C" void __sinit_d_a_tag_poFire_cpp(); - -// -// External References: -// - -extern "C" void mDoMtx_ZXYrotM__FPA4_fsss(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void __dl__FPv(); -extern "C" void PSMTXTrans(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80D5DD5C-80D5DD7C -00001 0020+00 1/0 0/0 0/0 .data l_daTagPoFire_Method */ -SECTION_DATA static void* l_daTagPoFire_Method[8] = { - (void*)daTagPoFire_Create__FP10fopAc_ac_c, - (void*)daTagPoFire_Delete__FP13daTagPoFire_c, - (void*)daTagPoFire_Execute__FP13daTagPoFire_c, - (void*)NULL, - (void*)daTagPoFire_Draw__FP13daTagPoFire_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80D5DD7C-80D5DDAC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_poFire */ -SECTION_DATA extern void* g_profile_Tag_poFire[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x017A0000, (void*)&g_fpcLf_Method, - (void*)0x0000056C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x02890000, (void*)&l_daTagPoFire_Method, - (void*)0x00044000, (void*)0x000E0000, -}; - -/* 80D5DDAC-80D5DDB8 000050 000C+00 2/2 0/0 0/0 .data __vt__17daTagPoFire_HIO_c */ -SECTION_DATA extern void* __vt__17daTagPoFire_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17daTagPoFire_HIO_cFv, -}; - -/* 80D5DDB8-80D5DDC4 00005C 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, -}; /* 80D5DACC-80D5DAF0 0000EC 0024+00 1/1 0/0 0/0 .text __ct__17daTagPoFire_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagPoFire_HIO_c::daTagPoFire_HIO_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__ct__17daTagPoFire_HIO_cFv.s" -} -#pragma pop - -/* 80D5DAF0-80D5DB38 000110 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm mDoHIO_entry_c::~mDoHIO_entry_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__dt__14mDoHIO_entry_cFv.s" +daTagPoFire_HIO_c::daTagPoFire_HIO_c() { + unk_0x4 = 0x14; } -#pragma pop /* 80D5DB38-80D5DB90 000158 0058+00 1/1 0/0 0/0 .text setBaseMtx__13daTagPoFire_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagPoFire_c::setBaseMtx() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/setBaseMtx__13daTagPoFire_cFv.s" +void daTagPoFire_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); } -#pragma pop /* 80D5DB90-80D5DBF0 0001B0 0060+00 1/1 0/0 0/0 .text create__13daTagPoFire_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagPoFire_c::create() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/create__13daTagPoFire_cFv.s" +int daTagPoFire_c::create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daTagPoFire_c(); + fopAcM_OnCondition(this, 8); + } + field_0x569 = 0; + setBaseMtx(); + return cPhs_COMPLEATE_e; } -#pragma pop /* 80D5DBF0-80D5DC20 000210 0030+00 1/1 0/0 0/0 .text Execute__13daTagPoFire_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagPoFire_c::Execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/Execute__13daTagPoFire_cFv.s" +int daTagPoFire_c::Execute() { + if (field_0x569) { + fopAcM_delete(this); + } + return 1; } -#pragma pop /* 80D5DC20-80D5DC28 000240 0008+00 1/1 0/0 0/0 .text Draw__13daTagPoFire_cFv */ -bool daTagPoFire_c::Draw() { - return true; +int daTagPoFire_c::Draw() { + return 1; } /* 80D5DC28-80D5DC30 000248 0008+00 1/1 0/0 0/0 .text Delete__13daTagPoFire_cFv */ -bool daTagPoFire_c::Delete() { - return true; +int daTagPoFire_c::Delete() { + return 1; } /* 80D5DC30-80D5DC50 000250 0020+00 1/0 0/0 0/0 .text daTagPoFire_Draw__FP13daTagPoFire_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagPoFire_Draw(daTagPoFire_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Draw__FP13daTagPoFire_c.s" +static int daTagPoFire_Draw(daTagPoFire_c* i_this) { + return i_this->Draw(); } -#pragma pop /* 80D5DC50-80D5DC70 000270 0020+00 1/0 0/0 0/0 .text daTagPoFire_Execute__FP13daTagPoFire_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagPoFire_Execute(daTagPoFire_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Execute__FP13daTagPoFire_c.s" +static int daTagPoFire_Execute(daTagPoFire_c* i_this) { + return i_this->Execute(); } -#pragma pop /* 80D5DC70-80D5DC90 000290 0020+00 1/0 0/0 0/0 .text daTagPoFire_Delete__FP13daTagPoFire_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagPoFire_Delete(daTagPoFire_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Delete__FP13daTagPoFire_c.s" +static int daTagPoFire_Delete(daTagPoFire_c* i_this) { + return i_this->Delete(); } -#pragma pop /* 80D5DC90-80D5DCB0 0002B0 0020+00 1/0 0/0 0/0 .text daTagPoFire_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagPoFire_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/daTagPoFire_Create__FP10fopAc_ac_c.s" +static int daTagPoFire_Create(fopAc_ac_c* i_this) { + return static_cast<daTagPoFire_c*>(i_this)->create(); } -#pragma pop /* 80D5DCB0-80D5DD0C 0002D0 005C+00 2/1 0/0 0/0 .text __dt__17daTagPoFire_HIO_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm daTagPoFire_HIO_c::~daTagPoFire_HIO_c() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__dt__17daTagPoFire_HIO_cFv.s" -} -#pragma pop +daTagPoFire_HIO_c::~daTagPoFire_HIO_c() {} -/* ############################################################################################## */ /* 80D5DDD0-80D5DDDC 000008 000C+00 1/1 0/0 0/0 .bss @3617 */ static u8 lit_3617[12]; /* 80D5DDDC-80D5DDE4 000014 0008+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[8]; - -/* 80D5DD0C-80D5DD48 00032C 003C+00 0/0 1/0 0/0 .text __sinit_d_a_tag_poFire_cpp */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void __sinit_d_a_tag_poFire_cpp() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_poFire/d_a_tag_poFire/__sinit_d_a_tag_poFire_cpp.s" -} -#pragma pop +static daTagPoFire_HIO_c l_HIO; -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80D5DD0C, __sinit_d_a_tag_poFire_cpp); -#pragma pop +/* 80D5DD5C-80D5DD7C -00001 0020+00 1/0 0/0 0/0 .data l_daTagPoFire_Method */ +static actor_method_class l_daTagPoFire_Method = { + (process_method_func)daTagPoFire_Create, (process_method_func)daTagPoFire_Delete, + (process_method_func)daTagPoFire_Execute, (process_method_func)NULL, + (process_method_func)daTagPoFire_Draw, +}; + +/* 80D5DD7C-80D5DDAC -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_poFire */ +extern actor_process_profile_definition g_profile_Tag_poFire = { + -3, // mLayerID + 7, // mListID + -3, // mListPrio + PROC_Tag_poFire, // mProcName + 0, // Padding + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagPoFire_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x0289, // mPriority + 0, // Padding + 0, // Padding + &l_daTagPoFire_Method, // mSubMtd + 0x00044000, // mStatus + 0, // mActorType + 14, // mCullType + 0, // Padding + 0, // Padding +}; |
