diff options
| author | Jeff Padgham <jeff.ookami@gmail.com> | 2024-02-28 01:41:01 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-02-28 01:41:01 -0800 |
| commit | 555e4bc19efb9d8803574db4f5cd83d01176bf6d (patch) | |
| tree | abb4b04207ef035ba7705a2c883c088efdfdb7c6 /rel | |
| parent | 0e41460e3e8f8baede7679d7e71a84008d44f34b (diff) | |
d_a_tag_Lv8Gate OK (#2079)
* Initial pass of d_a_tag_Lv8Gate, lots to do still
* Another decomp pass, most are close but several nonmatching still
* All functions match, needs final cleanup pass
* Decomp OK
* Format pass and some minor cleanup
* Another minor cleanup pass
* Forgot to format, updating progress doc
* Removing asm files
* Removing empty ctor (not needed for match)
* Implementing PR suggestions
* Tiny bit more cleanup based on PR feedback
---------
Co-authored-by: GinNoOokami <noreply>
Diffstat (limited to 'rel')
| -rw-r--r-- | rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp | 544 |
1 files changed, 206 insertions, 338 deletions
diff --git a/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp b/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp index d7b34ed87c..e7a599e90b 100644 --- a/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp +++ b/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.cpp @@ -4,379 +4,247 @@ // #include "rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate.h" -#include "dol2asm.h" -// -// Types: -// - -struct request_of_phase_process_class {}; - -struct cXyz {}; - -struct mDoMtx_stack_c { - /* 8000CD64 */ void transS(cXyz const&); - - static u8 now[48]; -}; - -struct J3DModelData {}; - -struct J3DAnmTransform {}; - -struct mDoExt_bckAnm { - /* 8000D7DC */ void init(J3DAnmTransform*, int, int, f32, s16, s16, bool); - /* 8000D9CC */ void entry(J3DModelData*, f32); -}; - -struct mDoExt_baseAnm { - /* 8000D428 */ void play(); -}; - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagLv8Gate_c { - /* 80D51C58 */ void createHeap(); - /* 80D51F48 */ void execute(); -}; - -struct dSv_event_flag_c { - static u8 saveBitLabels[1644 + 4 /* padding */]; -}; - -struct dSv_event_c { - /* 800349BC */ void isEventBit(u16) const; -}; - -struct dKy_tevstr_c {}; - -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 { - /* 8003C2EC */ void getRes(char const*, s32, dRes_info_c*, int); -}; - -struct dEvt_control_c { - /* 80042468 */ void reset(); - /* 80042914 */ void setSkipProc(void*, int (*)(void*, int), int); -}; - -struct dEvent_manager_c { - /* 80046800 */ void setObjectArchive(char*); - /* 80047758 */ void getEventIdx(fopAc_ac_c*, char const*, u8); - /* 80047A78 */ void endCheck(s16); - /* 80047B1C */ void getMyStaffId(char const*, fopAc_ac_c*, int); - /* 80047D4C */ void getIsAddvance(int); - /* 80047F5C */ void getMyNowCutName(int); - /* 8004817C */ void cutEnd(int); -}; - -struct dAttention_c { - /* 80070880 */ void getActionBtnB(); - /* 80073734 */ void ActionTarget(s32); -}; - -struct JAISoundID {}; - -struct Vec {}; - -struct Z2SeMgr { - /* 802AC50C */ void seStartLevel(JAISoundID, Vec const*, u32, s8, f32, f32, f32, f32, u8); -}; - -struct Z2AudioMgr { - static u8 mAudioMgrPtr[4 + 4 /* padding */]; -}; - -struct J3DModel {}; - -struct J3DFrameCtrl { - /* 803283FC */ void init(s16); - /* 80D51D80 */ ~J3DFrameCtrl(); -}; +#include "JSystem/J3DGraphBase/J3DMaterial.h" +#include "d/a/d_a_player.h" +#include "d/com/d_com_inf_game.h" +#include "d/d_procname.h" +#include "rel/d/a/obj/mirror/d_a_obj_mirror_table/d_a_obj_mirror_table.h" // -// Forward References: +// Declarations: // -extern "C" static void createSolidHeap__FP10fopAc_ac_c(); -extern "C" void createHeap__14daTagLv8Gate_cFv(); -extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" static void daTagLv8Gate_Create__FP10fopAc_ac_c(); -extern "C" static void daTagLv8Gate_Execute__FP14daTagLv8Gate_c(); -extern "C" void execute__14daTagLv8Gate_cFv(); -extern "C" static void daTagLv8Gate_Draw__FP14daTagLv8Gate_c(); -extern "C" static bool daTagLv8Gate_IsDelete__FP14daTagLv8Gate_c(); -extern "C" static void daTagLv8Gate_Delete__FP14daTagLv8Gate_c(); -extern "C" extern char const* const d_a_tag_Lv8Gate__stringBase0; +static char* l_arcName = "Lv8Gate"; -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void play__14mDoExt_baseAnmFv(); -extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void entry__13mDoExt_bckAnmFP12J3DModelDataf(); -extern "C" void mDoExt_modelUpdateDL__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 fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fopAcM_cancelCarryNow__FP10fopAc_ac_c(); -extern "C" void fpcSch_JudgeForPName__FPvPv(); -extern "C" void dStage_changeScene__FifUlScsi(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void isEventBit__11dSv_event_cCFUs(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void dEv_noFinishSkipProc__FPvi(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void setObjectArchive__16dEvent_manager_cFPc(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void getIsAddvance__16dEvent_manager_cFi(); -extern "C" void getMyNowCutName__16dEvent_manager_cFi(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void getActionBtnB__12dAttention_cFv(); -extern "C" void ActionTarget__12dAttention_cFl(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void init__12J3DFrameCtrlFs(); -extern "C" void PSMTXCopy(); -extern "C" void PSMTXMultVec(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_29(); -extern "C" void strcmp(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* 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]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; +/* 80D51C38-80D51C58 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ +static int createSolidHeap(fopAc_ac_c* i_this) { + return static_cast<daTagLv8Gate_c*>(i_this)->createHeap(); +} -// -// Declarations: -// +daTagLv8Gate_c::~daTagLv8Gate_c() { + dComIfG_resDelete(&mPhaseReq, l_arcName); +} -/* 80D51C38-80D51C58 000078 0020+00 1/1 0/0 0/0 .text createSolidHeap__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void createSolidHeap(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/createSolidHeap__FP10fopAc_ac_c.s" +inline void daTagLv8Gate_c::initBaseMtx() { + if (mpModel != NULL) { + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(shape_angle.y + 0x8000); + mpModel->i_setBaseTRMtx(mDoMtx_stack_c::get()); + } } -#pragma pop -/* ############################################################################################## */ -/* 80D524CC-80D524D0 000000 0004+00 3/3 0/0 0/0 .rodata @3749 */ -SECTION_RODATA static f32 const lit_3749 = 1.0f; -COMPILER_STRIP_GATE(0x80D524CC, &lit_3749); +inline void daTagLv8Gate_c::create_init() { + fopAcM_setCullSizeBox(this, -100.0f, -50.0f, -100.0f, 100.0f, 220.0f, 100.0f); + fopAcM_OnCarryType(this, fopAcM_CARRY_LIGHT); -/* 80D524F0-80D524F0 000024 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80D524F0 = "Lv8Gate"; -SECTION_DEAD static char const* const stringBase_80D524F8 = "D_MN08"; -#pragma pop + mAttentionInfo.mFlags = 0x10; + mAttentionInfo.field_0x0[4] = 90; -/* 80D52510-80D52514 -00001 0004+00 4/4 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_tag_Lv8Gate__stringBase0; + mEventID = -1; -/* 80D52514-80D52534 -00001 0020+00 1/0 0/0 0/0 .data l_daTagLv8Gate_Method */ -SECTION_DATA static void* l_daTagLv8Gate_Method[8] = { - (void*)daTagLv8Gate_Create__FP10fopAc_ac_c, - (void*)daTagLv8Gate_Delete__FP14daTagLv8Gate_c, - (void*)daTagLv8Gate_Execute__FP14daTagLv8Gate_c, - (void*)daTagLv8Gate_IsDelete__FP14daTagLv8Gate_c, - (void*)daTagLv8Gate_Draw__FP14daTagLv8Gate_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; + initBaseMtx(); +} -/* 80D52534-80D52564 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv8Gate */ -SECTION_DATA extern void* g_profile_Tag_Lv8Gate[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02CB0000, (void*)&g_fpcLf_Method, - (void*)0x0000057C, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01080000, (void*)&l_daTagLv8Gate_Method, - (void*)0x00040000, (void*)0x000E0000, -}; +inline int daTagLv8Gate_c::create() { + fopAcM_SetupActor(this, daTagLv8Gate_c); + + cPhs__Step step; + if (!i_dComIfGs_isEventBit(dSv_event_flag_c::saveBitLabels[354])) { + step = cPhs_ERROR_e; + } else { + step = (cPhs__Step)dComIfG_resLoad(&mPhaseReq, l_arcName); + if (step == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, createSolidHeap, 0x1600)) { + step = cPhs_ERROR_e; + } else { + create_init(); + } + } + } + + return step; +} -/* 80D52564-80D52570 000054 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */ -SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12J3DFrameCtrlFv, -}; +inline int daTagLv8Gate_c::draw() { + if (mpModel != NULL) { + for (u16 index = 0; index < 3; index++) { + J3DMaterial* material = mpModel->getModelData()->getMaterialNodePointer(index); + material->getTevKColor(1)->r = 128; + material->getTevKColor(1)->g = 120; + material->getTevKColor(1)->b = 100; + } + + g_env_light.settingTevStruct(0x10, ¤t.pos, &mTevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &mTevStr); + + if (mpBck != NULL) { + mpBck->entry(mpModel->getModelData()); + } + + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + + if (mpBck != NULL) { + mpModel->getModelData()->getJointNodePointer(0)->setMtxCalc(NULL); + } + } + return TRUE; +} /* 80D51C58-80D51D80 000098 0128+00 1/1 0/0 0/0 .text createHeap__14daTagLv8Gate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagLv8Gate_c::createHeap() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/createHeap__14daTagLv8Gate_cFv.s" -} -#pragma pop - -/* 80D51D80-80D51DC8 0001C0 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm J3DFrameCtrl::~J3DFrameCtrl() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/__dt__12J3DFrameCtrlFv.s" +int daTagLv8Gate_c::createHeap() { + if (strcmp(dComIfGp_getStartStageName(), "D_MN08") == 0) { + J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes(l_arcName, 8); + mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084); + + J3DAnmTransform* bck = (J3DAnmTransform*)dComIfG_getObjectRes(l_arcName, 5); + mpBck = new mDoExt_bckAnm(); + if (mpBck == NULL || + !mpBck->init(bck, TRUE, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false)) + { + return 0; + } + } + + return 1; } -#pragma pop - -/* ############################################################################################## */ -/* 80D524D0-80D524D4 000004 0004+00 0/1 0/0 0/0 .rodata @3805 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3805 = -100.0f; -COMPILER_STRIP_GATE(0x80D524D0, &lit_3805); -#pragma pop - -/* 80D524D4-80D524D8 000008 0004+00 0/1 0/0 0/0 .rodata @3806 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3806 = -50.0f; -COMPILER_STRIP_GATE(0x80D524D4, &lit_3806); -#pragma pop - -/* 80D524D8-80D524DC 00000C 0004+00 0/1 0/0 0/0 .rodata @3807 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3807 = 100.0f; -COMPILER_STRIP_GATE(0x80D524D8, &lit_3807); -#pragma pop - -/* 80D524DC-80D524E0 000010 0004+00 0/1 0/0 0/0 .rodata @3808 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3808 = 220.0f; -COMPILER_STRIP_GATE(0x80D524DC, &lit_3808); -#pragma pop /* 80D51DC8-80D51F28 000208 0160+00 1/0 0/0 0/0 .text daTagLv8Gate_Create__FP10fopAc_ac_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagLv8Gate_Create(fopAc_ac_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/daTagLv8Gate_Create__FP10fopAc_ac_c.s" +static int daTagLv8Gate_Create(fopAc_ac_c* i_this) { + daTagLv8Gate_c* a_this = static_cast<daTagLv8Gate_c*>(i_this); + return a_this->create(); } -#pragma pop /* 80D51F28-80D51F48 000368 0020+00 1/0 0/0 0/0 .text daTagLv8Gate_Execute__FP14daTagLv8Gate_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagLv8Gate_Execute(daTagLv8Gate_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/daTagLv8Gate_Execute__FP14daTagLv8Gate_c.s" +static int daTagLv8Gate_Execute(daTagLv8Gate_c* i_this) { + return i_this->execute(); } -#pragma pop - -/* ############################################################################################## */ -/* 80D524E0-80D524E4 000014 0004+00 0/1 0/0 0/0 .rodata @3891 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3891[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D524E0, &lit_3891); -#pragma pop - -/* 80D524E4-80D524E8 000018 0004+00 0/1 0/0 0/0 .rodata @3892 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3892 = 400.0f; -COMPILER_STRIP_GATE(0x80D524E4, &lit_3892); -#pragma pop - -/* 80D524E8-80D524EC 00001C 0004+00 0/1 0/0 0/0 .rodata @3893 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3893 = 1400.0f; -COMPILER_STRIP_GATE(0x80D524E8, &lit_3893); -#pragma pop - -/* 80D524EC-80D524F0 000020 0004+00 0/1 0/0 0/0 .rodata @3894 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3894 = -1.0f; -COMPILER_STRIP_GATE(0x80D524EC, &lit_3894); -#pragma pop - -/* 80D524F0-80D524F0 000024 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80D524FF = "LV8_GATE_ENTRY"; -#pragma pop /* 80D51F48-80D522F0 000388 03A8+00 1/1 0/0 0/0 .text execute__14daTagLv8Gate_cFv */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void daTagLv8Gate_c::execute() { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/execute__14daTagLv8Gate_cFv.s" +int daTagLv8Gate_c::execute() { + dComIfG_inf_c& game_info = g_dComIfG_gameInfo; // Fake match? + + if (game_info.getPlay().getEvent().runCheck() && !mEvtInfo.checkCommandTalk()) { + s32 cut_index = i_dComIfGp_getEventManager().getMyStaffId(l_arcName, NULL, 0); + + if (cut_index != -1) { + int* cut_name = (int*)i_dComIfGp_getEventManager().getMyNowCutName(cut_index); + + if (i_dComIfGp_getEventManager().getIsAddvance(cut_index)) { + switch (*cut_name) { + case '0001': + i_dComIfGp_getEvent().setSkipProc(this, dEv_noFinishSkipProc, 0); + daPy_getPlayerActorClass()->setPlayerPosAndAngle(¤t.pos, shape_angle.y, + 0); + + fopAc_ac_c* mirror_table = i_fopAcM_SearchByName(PROC_Obj_MirrorTable); + if (mirror_table != NULL) { + static_cast<daObjMirrorTable_c*>(mirror_table)->field_0x874 = true; + } + break; + + case '0002': + dStage_changeScene(getSceneNo(), 0.0f, 0, getRoomNo(), 0, -1); + break; + } + } + + if (i_dComIfGp_getEvent().i_checkSkipEdge()) { + i_dComIfGp_event_reset(); + dStage_changeScene(getSceneNo(), 0.0f, 0, getRoomNo(), 0, -1); + } + + switch (*cut_name) { + case '0001': + case '0002': + dComIfGp_evmng_cutEnd(cut_index); + break; + } + + if (mEvtInfo.i_checkCommandDemoAccrpt() && mEventID != -1) { + if (dComIfGp_evmng_endCheck(mEventID)) { + mEventID = -1; + } + } + } + } else { + if (daPy_getPlayerActorClass()->checkPriActorOwn(this)) { + for (int i = 0; i < dComIfGp_getAttention().GetActionCount(); i++) { + if (dComIfGp_getAttention().ActionTarget(i) == this) { + if (dComIfGp_getAttention().getActionBtnB() != NULL && + dComIfGp_getAttention().getActionBtnB()->mType == 4) + { + dComIfGp_setDoStatusForce(7, 0); + } + } + } + } + + if (fopAcM_checkCarryNow(this)) { + fopAcM_cancelCarryNow(this); + mAttentionInfo.mFlags &= ~0x10; + mEvtInfo.setArchiveName(l_arcName); + i_dComIfGp_getEventManager().setObjectArchive(mEvtInfo.getArchiveName()); + mEventID = i_dComIfGp_getEventManager().getEventIdx(this, "LV8_GATE_ENTRY", -1); + fopAcM_orderOtherEventId(this, mEventID, -1, -1, 0, 1); + } + } + + if (mpBck != NULL) { + mpBck->play(); + } + + cXyz pos(0.0f, 400.0f, 1400.0f); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::YrotM(current.angle.y); + mDoMtx_stack_c::multVec(&pos, &pos); + + Z2GetAudioMgr()->seStartLevel(Z2SE_OBJ_MONOLIS_HOLE, &pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + + return 1; } -#pragma pop /* 80D522F0-80D5246C 000730 017C+00 1/0 0/0 0/0 .text daTagLv8Gate_Draw__FP14daTagLv8Gate_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagLv8Gate_Draw(daTagLv8Gate_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/daTagLv8Gate_Draw__FP14daTagLv8Gate_c.s" +static int daTagLv8Gate_Draw(daTagLv8Gate_c* i_this) { + return i_this->draw(); } -#pragma pop /* 80D5246C-80D52474 0008AC 0008+00 1/0 0/0 0/0 .text daTagLv8Gate_IsDelete__FP14daTagLv8Gate_c */ -static bool daTagLv8Gate_IsDelete(daTagLv8Gate_c* param_0) { - return true; +static int daTagLv8Gate_IsDelete(daTagLv8Gate_c* i_this) { + return TRUE; } /* 80D52474-80D524C4 0008B4 0050+00 1/0 0/0 0/0 .text daTagLv8Gate_Delete__FP14daTagLv8Gate_c */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -static asm void daTagLv8Gate_Delete(daTagLv8Gate_c* param_0) { - nofralloc -#include "asm/rel/d/a/tag/d_a_tag_Lv8Gate/d_a_tag_Lv8Gate/daTagLv8Gate_Delete__FP14daTagLv8Gate_c.s" +static int daTagLv8Gate_Delete(daTagLv8Gate_c* i_this) { + i_this->~daTagLv8Gate_c(); + return TRUE; } -#pragma pop -/* 80D524F0-80D524F0 000024 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80D52514-80D52534 -00001 0020+00 1/0 0/0 0/0 .data l_daTagLv8Gate_Method */ +static actor_method_class l_daTagLv8Gate_Method = { + (process_method_func)daTagLv8Gate_Create, (process_method_func)daTagLv8Gate_Delete, + (process_method_func)daTagLv8Gate_Execute, (process_method_func)daTagLv8Gate_IsDelete, + (process_method_func)daTagLv8Gate_Draw, +}; + +/* 80D52534-80D52564 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_Lv8Gate */ +extern actor_process_profile_definition g_profile_Tag_Lv8Gate = { + fpcLy_CURRENT_e, // mLayerID + 7, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_Tag_Lv8Gate, // mProcName + &g_fpcLf_Method.mBase, // mSubMtd + sizeof(daTagLv8Gate_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // mSubMtd + 0x108, // mPriority + &l_daTagLv8Gate_Method, // mSubMtd + 0x40000, // mStatus + 0, // mActorType + fopAc_CULLBOX_CUSTOM_e, // mCullType +}; |
