diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-10-29 22:56:22 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-30 07:56:22 +0200 |
| commit | 194282d2c268947588c1b39108ce7e9b0100de91 (patch) | |
| tree | a1792c066ba2e22e38b6303f193b0b0f8b54cc5a /src/d/actor/d_a_obj_stopper2.cpp | |
| parent | 73927f50a94d85cac09bd31aff71a7ffb5194cbd (diff) | |
obj_pdwall / obj_rw / obj_stopper2 done (#2760)
* obj_pdwall / obj_rw / obj_stopper2 done
* fix jp/pal
* Use NULL instead of 0
* Use dEvtCnd_CANDEMO_e
---------
Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
Diffstat (limited to 'src/d/actor/d_a_obj_stopper2.cpp')
| -rw-r--r-- | src/d/actor/d_a_obj_stopper2.cpp | 500 |
1 files changed, 238 insertions, 262 deletions
diff --git a/src/d/actor/d_a_obj_stopper2.cpp b/src/d/actor/d_a_obj_stopper2.cpp index 68dca5a302..d49ba92f94 100644 --- a/src/d/actor/d_a_obj_stopper2.cpp +++ b/src/d/actor/d_a_obj_stopper2.cpp @@ -6,356 +6,332 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_obj_stopper2.h" -#include "dol2asm.h" - - -// -// Forward References: -// - -extern "C" static void CheckCreateHeap__FP10fopAc_ac_c(); -extern "C" static void getStopName__Fv(); -extern "C" void getStopModelData__15daObjStopper2_cFv(); -extern "C" void initBaseMtx__15daObjStopper2_cFv(); -extern "C" void setBaseMtx__15daObjStopper2_cFv(); -extern "C" void getMaxOffsetY__15daObjStopper2_cFv(); -extern "C" void Create__15daObjStopper2_cFv(); -extern "C" void CreateHeap__15daObjStopper2_cFv(); -extern "C" void create__15daObjStopper2_cFv(); -extern "C" void execute__15daObjStopper2_cFv(); -extern "C" void event_proc_call__15daObjStopper2_cFv(); -extern "C" void actionWait__15daObjStopper2_cFv(); -extern "C" void actionOrderEvent__15daObjStopper2_cFv(); -extern "C" void actionEvent__15daObjStopper2_cFv(); -extern "C" void actionDead__15daObjStopper2_cFv(); -extern "C" void demoProc__15daObjStopper2_cFv(); -extern "C" void draw__15daObjStopper2_cFv(); -extern "C" void _delete__15daObjStopper2_cFv(); -extern "C" static void daObjStopper2_Draw__FP15daObjStopper2_c(); -extern "C" static void daObjStopper2_Execute__FP15daObjStopper2_c(); -extern "C" static void daObjStopper2_Delete__FP15daObjStopper2_c(); -extern "C" static void daObjStopper2_Create__FP15daObjStopper2_c(); -extern "C" void func_80CEFE6C(void* _this, u8*); -extern "C" extern char const* const d_a_obj_stopper2__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 __ct__10fopAc_ac_cFv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void fopAcM_orderMapToolEvent__FP10fopAc_ac_cUcsUsUsUs(); -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 dComIfG_getStageRes__FPCc(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void searchMapEventData__14dEvt_control_cFUc(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cUc(); -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 getMyActIdx__16dEvent_manager_cFiPCPCciii(); -extern "C" void getMySubstanceP__16dEvent_manager_cFiPCci(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_28(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_28(); -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" extern u8 data_80CEFFF8[4]; - -// -// Declarations: -// + +/* 80CEFF24-80CEFF28 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ +static char* l_arcName = "Stop00"; + +/* 80CEFF28-80CEFF38 -00001 0010+00 1/1 0/0 0/0 .data l_evName */ +static char* l_evName[4] = { + "STOP_OPEN", + "STOP_CLOSE", + "STOP_OPEN2", + "STOP_CLOSE2", +}; + +/* 80CEFF38-80CEFF3C -00001 0004+00 1/1 0/0 0/0 .data l_staffName */ +static char* l_staffName = "dstop"; /* 80CEF338-80CEF358 000078 0020+00 1/1 0/0 0/0 .text CheckCreateHeap__FP10fopAc_ac_c */ static int CheckCreateHeap(fopAc_ac_c* i_this) { - // NONMATCHING + return ((daObjStopper2_c*)i_this)->CreateHeap(); } -/* ############################################################################################## */ -/* 80CEFEB0-80CEFEB0 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CEFEB0 = "Stop00"; -SECTION_DEAD static char const* const stringBase_80CEFEB7 = "STOP_OPEN"; -SECTION_DEAD static char const* const stringBase_80CEFEC1 = "STOP_CLOSE"; -SECTION_DEAD static char const* const stringBase_80CEFECC = "STOP_OPEN2"; -SECTION_DEAD static char const* const stringBase_80CEFED7 = "STOP_CLOSE2"; -SECTION_DEAD static char const* const stringBase_80CEFEE3 = "dstop"; -SECTION_DEAD static char const* const stringBase_80CEFEE9 = "door-stop.bmd"; -#pragma pop - /* 80CEF358-80CEF368 000098 0010+00 1/1 0/0 0/0 .text getStopName__Fv */ -static char* getStopName() { - // NONMATCHING +static const char* getStopName() { + return "door-stop.bmd"; } /* 80CEF368-80CEF38C 0000A8 0024+00 1/1 0/0 0/0 .text getStopModelData__15daObjStopper2_cFv */ J3DModelData* daObjStopper2_c::getStopModelData() { - // NONMATCHING + return (J3DModelData*)dComIfG_getStageRes(getStopName()); } /* 80CEF38C-80CEF3C8 0000CC 003C+00 1/1 0/0 0/0 .text initBaseMtx__15daObjStopper2_cFv */ void daObjStopper2_c::initBaseMtx() { - // NONMATCHING + mpModel->setBaseScale(scale); + setBaseMtx(); } /* 80CEF3C8-80CEF434 000108 006C+00 2/2 0/0 0/0 .text setBaseMtx__15daObjStopper2_cFv */ void daObjStopper2_c::setBaseMtx() { - // NONMATCHING + mDoMtx_stack_c::transS(current.pos.x, current.pos.y + mOffsetY, current.pos.z); + mDoMtx_stack_c::YrotM(shape_angle.y); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); } /* 80CEF434-80CEF44C 000174 0018+00 2/2 0/0 0/0 .text getMaxOffsetY__15daObjStopper2_cFv */ -float daObjStopper2_c::getMaxOffsetY() { - // NONMATCHING +f32 daObjStopper2_c::getMaxOffsetY() { + J3DJoint* root_jnt = mpModel->getModelData()->getJointNodePointer(0); + JUT_ASSERT(154, root_jnt != NULL); + return root_jnt->getMax()->y; } -/* ############################################################################################## */ -/* 80CEFE90-80CEFE94 000000 0004+00 3/3 0/0 0/0 .rodata @3722 */ -SECTION_RODATA static u8 const lit_3722[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80CEFE90, &lit_3722); - -/* 80CEFE94-80CEFE98 000004 0004+00 1/1 0/0 0/0 .rodata @3723 */ -SECTION_RODATA static f32 const lit_3723 = 150.0f; -COMPILER_STRIP_GATE(0x80CEFE94, &lit_3723); - -/* 80CEFF24-80CEFF28 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_stopper2__stringBase0; - -/* 80CEFF28-80CEFF38 -00001 0010+00 1/1 0/0 0/0 .data l_evName */ -SECTION_DATA static void* l_evName[4] = { - (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x7), - (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x11), - (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x1C), - (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x27), -}; - /* 80CEF44C-80CEF57C 00018C 0130+00 1/1 0/0 0/0 .text Create__15daObjStopper2_cFv */ int daObjStopper2_c::Create() { - // NONMATCHING + if (!fopAcM_isSwitch(this, getSwbit())) { + mOffsetY = 0.0f; + field_0x588 = 1; + } else { + mOffsetY = getMaxOffsetY(); + field_0x588 = 0; + } + + attention_info.position.y += 150.0f; + eyePos.y += 150.0f; + + initBaseMtx(); + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); + + mTool = getEvId(); + eventInfo.setArchiveName(l_arcName); + + for (int i = 0; i < 4; i++) { + mEventIdx[i] = dComIfGp_getEventManager().getEventIdx(this, l_evName[i], 0xFF); + OS_REPORT("閉じデモ用柵:evid<%d>tool<%d>\n", mEventIdx[0], mTool); + } + + return 1; } /* 80CEF57C-80CEF5C8 0002BC 004C+00 1/1 0/0 0/0 .text CreateHeap__15daObjStopper2_cFv */ int daObjStopper2_c::CreateHeap() { - // NONMATCHING + J3DModelData* modelData = getStopModelData(); + JUT_ASSERT(206, modelData != NULL); + + mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + if (mpModel == NULL) { + return 0; + } + + return 1; } /* 80CEF5C8-80CEF66C 000308 00A4+00 1/1 0/0 0/0 .text create__15daObjStopper2_cFv */ int daObjStopper2_c::create() { - // NONMATCHING + fopAcM_ct(this, daObjStopper2_c); + + #if DEBUG + if (getSwbit() == 0xFF) { + OS_REPORT_ERROR("ドア柵:スイッチ指定がありません!\n"); + return cPhs_ERROR_e; + } + #endif + + int phase_state = dComIfG_resLoad(&mPhaseReq, l_arcName); + if (phase_state != cPhs_COMPLEATE_e) { + return phase_state; + } + + if (!fopAcM_entrySolidHeap(this, CheckCreateHeap, 0x4000)) { + return cPhs_ERROR_e; + } + + if (!Create()) { + return cPhs_ERROR_e; + } + + return cPhs_COMPLEATE_e; } /* 80CEF66C-80CEF6A4 0003AC 0038+00 1/1 0/0 0/0 .text execute__15daObjStopper2_cFv */ int daObjStopper2_c::execute() { - // NONMATCHING + event_proc_call(); + setBaseMtx(); + return 1; } -/* ############################################################################################## */ -/* 80CEFF38-80CEFF3C -00001 0004+00 1/1 0/0 0/0 .data l_staffName */ -SECTION_DATA static void* l_staffName = (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x33); - -/* 80CEFF3C-80CEFF48 -00001 000C+00 0/1 0/0 0/0 .data @3769 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3769[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionWait__15daObjStopper2_cFv, -}; -#pragma pop - -/* 80CEFF48-80CEFF54 -00001 000C+00 0/1 0/0 0/0 .data @3770 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3770[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionOrderEvent__15daObjStopper2_cFv, -}; -#pragma pop - -/* 80CEFF54-80CEFF60 -00001 000C+00 0/1 0/0 0/0 .data @3771 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3771[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionEvent__15daObjStopper2_cFv, -}; -#pragma pop - -/* 80CEFF60-80CEFF6C -00001 000C+00 0/1 0/0 0/0 .data @3772 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3772[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)actionDead__15daObjStopper2_cFv, -}; -#pragma pop - -/* 80CEFF6C-80CEFF9C 000068 0030+00 0/1 0/0 0/0 .data l_func$3768 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 l_func[48] = { - 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, -}; -#pragma pop - /* 80CEF6A4-80CEF760 0003E4 00BC+00 1/1 0/0 0/0 .text event_proc_call__15daObjStopper2_cFv */ void daObjStopper2_c::event_proc_call() { - // NONMATCHING + static void (daObjStopper2_c::*l_func[])() = { + &daObjStopper2_c::actionWait, + &daObjStopper2_c::actionOrderEvent, + &daObjStopper2_c::actionEvent, + &daObjStopper2_c::actionDead, + }; + + (this->*l_func[mAction])(); } /* 80CEF760-80CEF98C 0004A0 022C+00 1/0 0/0 0/0 .text actionWait__15daObjStopper2_cFv */ void daObjStopper2_c::actionWait() { - // NONMATCHING + BOOL is_switch = fopAcM_isSwitch(this, getSwbit()); + + if (mOffsetY == 0.0f) { + field_0x584 = 0; + } else { + field_0x584 = 1; + } + + if (mTool != 0xFF && mOffsetY != 0.0f) { + field_0x584 += 2; + } + + if ((field_0x584 == 1 && !is_switch) || (field_0x584 == 3 && !is_switch)) { + setAction(1); + + if (mTool != 0xFF) { + dStage_MapEvent_dt_c* maptooldata = dEvt_control_c::searchMapEventData(mTool); + JUT_ASSERT(325, maptooldata != NULL); + + switch (maptooldata->type) { + case dStage_MapEvent_dt_TYPE_ZEV: + mEventIdx[field_0x584] = dComIfGp_getEventManager().getEventIdx(this, mTool); + fopAcM_orderMapToolEvent(this, mTool, 0xFF, 0xFFFF, 1, 0); + eventInfo.onCondition(dEvtCnd_CANDEMO_e); + break; + case dStage_MapEvent_dt_TYPE_MAPTOOLCAMERA: + case dStage_MapEvent_dt_TYPE_STB: + fopAcM_orderOtherEventId(this, mEventIdx[field_0x584], mTool, 0xFFFF, 0, 1); + eventInfo.onCondition(dEvtCnd_CANDEMO_e); + break; + default: + JUT_ASSERT(346, 0); + break; + } + } else { + fopAcM_orderOtherEventId(this, mEventIdx[field_0x584], mTool, 0xFFFF, 0, 1); + eventInfo.onCondition(dEvtCnd_CANDEMO_e); + } + } else if ((field_0x584 == 0 && is_switch) || (field_0x584 == 2 && is_switch)) { + setAction(1); + fopAcM_orderOtherEventId(this, mEventIdx[field_0x584], 0xFF, 0xFFFF, 0, 1); + eventInfo.onCondition(dEvtCnd_CANDEMO_e); + } } /* 80CEF98C-80CEFA60 0006CC 00D4+00 1/0 0/0 0/0 .text actionOrderEvent__15daObjStopper2_cFv */ void daObjStopper2_c::actionOrderEvent() { - // NONMATCHING + if (eventInfo.checkCommandDemoAccrpt()) { + setAction(2); + mStaffId = dComIfGp_evmng_getMyStaffId(l_staffName, NULL, 0); + field_0x588 = 1; + demoProc(); + } else { + if (mEventIdx[field_0x584] == -1) { + fopAcM_orderMapToolEvent(this, mTool, 0xFF, 0xFFFF, 1, 0); + } else { + fopAcM_orderOtherEventId(this, mEventIdx[field_0x584], mTool, 0xFFFF, 0, 1); + } + + eventInfo.onCondition(2); + } } /* 80CEFA60-80CEFAD4 0007A0 0074+00 1/0 0/0 0/0 .text actionEvent__15daObjStopper2_cFv */ void daObjStopper2_c::actionEvent() { - // NONMATCHING + if (dComIfGp_evmng_endCheck(mEventIdx[field_0x584])) { + setAction(0); + dComIfGp_event_reset(); + } else { + demoProc(); + } } /* 80CEFAD4-80CEFAD8 000814 0004+00 1/0 0/0 0/0 .text actionDead__15daObjStopper2_cFv */ -void daObjStopper2_c::actionDead() { - /* empty function */ -} - -/* ############################################################################################## */ -/* 80CEFE98-80CEFE9C 000008 0004+00 0/1 0/0 0/0 .rodata @3921 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3921 = 1.0f; -COMPILER_STRIP_GATE(0x80CEFE98, &lit_3921); -#pragma pop - -/* 80CEFE9C-80CEFEA0 00000C 0004+00 0/1 0/0 0/0 .rodata @3922 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3922 = -1.0f; -COMPILER_STRIP_GATE(0x80CEFE9C, &lit_3922); -#pragma pop - -/* 80CEFEA0-80CEFEA4 000010 0004+00 0/1 0/0 0/0 .rodata @3923 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3923 = 30.0f; -COMPILER_STRIP_GATE(0x80CEFEA0, &lit_3923); -#pragma pop - -/* 80CEFEA4-80CEFEA8 000014 0004+00 0/1 0/0 0/0 .rodata @3924 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3924 = 4.0f; -COMPILER_STRIP_GATE(0x80CEFEA4, &lit_3924); -#pragma pop - -/* 80CEFEA8-80CEFEAC 000018 0004+00 0/1 0/0 0/0 .rodata @3925 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3925 = 60.0f; -COMPILER_STRIP_GATE(0x80CEFEA8, &lit_3925); -#pragma pop - -/* 80CEFEAC-80CEFEB0 00001C 0004+00 0/1 0/0 0/0 .rodata @3926 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3926 = 6.0f; -COMPILER_STRIP_GATE(0x80CEFEAC, &lit_3926); -#pragma pop - -/* 80CEFEB0-80CEFEB0 000020 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CEFEF7 = "WAIT"; -SECTION_DEAD static char const* const stringBase_80CEFEFC = "Timer"; -#pragma pop - -/* 80CEFF9C-80CEFFA8 -00001 000C+00 1/1 0/0 0/0 .data action_table$3859 */ -SECTION_DATA static void* action_table[3] = { - (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x47), - (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x7), - (void*)(((char*)&d_a_obj_stopper2__stringBase0) + 0x11), -}; +void daObjStopper2_c::actionDead() {} /* 80CEFAD8-80CEFD40 000818 0268+00 2/2 0/0 0/0 .text demoProc__15daObjStopper2_cFv */ -void daObjStopper2_c::demoProc() { - // NONMATCHING +int daObjStopper2_c::demoProc() { + static char* action_table[3] = { + "WAIT", + "STOP_OPEN", + "STOP_CLOSE", + }; + + daPy_py_c* player = daPy_getPlayerActorClass(); + int act_idx = dComIfGp_evmng_getMyActIdx(mStaffId, action_table, ARRAY_SIZE(action_table), 0, 0); + int* idata; + + if (dComIfGp_evmng_getIsAddvance(mStaffId)) { + switch (act_idx) { + case 0: + idata = dComIfGp_evmng_getMyIntegerP(mStaffId, "Timer"); + if (idata == NULL) { + mTimer = 1; + } else { + mTimer = *idata; + } + break; + case 1: + mOffsetY = 0.0f; + speedF = 0.0f; + fopAcM_seStart(this, Z2SE_OBJ_DOOR_STEEL_BAR, 0); + OS_REPORT("閉じデモドア柵:シャッターオープンSE\n"); + break; + case 2: + mOffsetY = getMaxOffsetY(); + speedF = 0.0f; + fopAcM_seStart(this, Z2SE_OBJ_DOOR_STEEL_BAR_CL, 0); + OS_REPORT("閉じデモドア柵:シャッタークローズSE\n"); + break; + } + } + + switch (act_idx) { + case 0: + if (cLib_calcTimer<u8>(&mTimer) == 0) { + dComIfGp_evmng_cutEnd(mStaffId); + } + break; + case 1: + cLib_chaseF(&speedF, 30.0f, 4.0f); + if (cLib_chaseF(&mOffsetY, getMaxOffsetY(), speedF)) { + field_0x588 = 0; + dComIfGp_evmng_cutEnd(mStaffId); + } + break; + case 2: + cLib_chaseF(&speedF, 60.0f, 6.0f); + if (cLib_chaseF(&mOffsetY, 0.0f, speedF)) { + dComIfGp_evmng_cutEnd(mStaffId); + } + break; + default: + dComIfGp_evmng_cutEnd(mStaffId); + break; + } + + return 0; } /* 80CEFD40-80CEFDB8 000A80 0078+00 1/1 0/0 0/0 .text draw__15daObjStopper2_cFv */ int daObjStopper2_c::draw() { - // NONMATCHING + if (field_0x588 == 0) { + return 1; + } + + g_env_light.settingTevStruct(16, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr); + mDoExt_modelUpdateDL(mpModel); + return 1; } /* 80CEFDB8-80CEFDEC 000AF8 0034+00 1/1 0/0 0/0 .text _delete__15daObjStopper2_cFv */ int daObjStopper2_c::_delete() { - // NONMATCHING + dComIfG_resDelete(&mPhaseReq, l_arcName); + return 1; } /* 80CEFDEC-80CEFE0C 000B2C 0020+00 1/0 0/0 0/0 .text daObjStopper2_Draw__FP15daObjStopper2_c */ static int daObjStopper2_Draw(daObjStopper2_c* i_this) { - // NONMATCHING + return i_this->draw(); } /* 80CEFE0C-80CEFE2C 000B4C 0020+00 1/0 0/0 0/0 .text daObjStopper2_Execute__FP15daObjStopper2_c */ static int daObjStopper2_Execute(daObjStopper2_c* i_this) { - // NONMATCHING + return i_this->execute(); } /* 80CEFE2C-80CEFE4C 000B6C 0020+00 1/0 0/0 0/0 .text daObjStopper2_Delete__FP15daObjStopper2_c */ static int daObjStopper2_Delete(daObjStopper2_c* i_this) { - // NONMATCHING + return i_this->_delete(); } /* 80CEFE4C-80CEFE6C 000B8C 0020+00 1/0 0/0 0/0 .text daObjStopper2_Create__FP15daObjStopper2_c */ static int daObjStopper2_Create(daObjStopper2_c* i_this) { - // NONMATCHING -} - -/* 80CEFE6C-80CEFE88 000BAC 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Uc>__FPUc */ -extern "C" void func_80CEFE6C(void* _this, u8* param_0) { - // NONMATCHING + return i_this->create(); } -/* ############################################################################################## */ /* 80CEFFA8-80CEFFC8 -00001 0020+00 1/0 0/0 0/0 .data l_daObjStopper2_Method */ static actor_method_class l_daObjStopper2_Method = { - (process_method_func)daObjStopper2_Create__FP15daObjStopper2_c, - (process_method_func)daObjStopper2_Delete__FP15daObjStopper2_c, - (process_method_func)daObjStopper2_Execute__FP15daObjStopper2_c, - 0, - (process_method_func)daObjStopper2_Draw__FP15daObjStopper2_c, + (process_method_func)daObjStopper2_Create, + (process_method_func)daObjStopper2_Delete, + (process_method_func)daObjStopper2_Execute, + NULL, + (process_method_func)daObjStopper2_Draw, }; /* 80CEFFC8-80CEFFF8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Stopper2 */ |
