summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorViktor Jacklin <54738405+TheHood-AI@users.noreply.github.com>2025-04-22 06:01:35 +0000
committerGitHub <noreply@github.com>2025-04-22 09:01:35 +0300
commit1b88eae26d62da83da8ecfa0d2fe61f0d3de6099 (patch)
treec03e0c66703b25b2bf4d0bd4d1ec942aec8519f0 /src
parentbbabe0cc7df9bd1bd1e7a02430365db139445727 (diff)
d_a_obj_dmelevator fully matching (#2404)
* d_a_obj_dmelevator partially matching Logic in functions should all be matching, data is not matching * d_a_obj_dmelevator matching * Cleaned up code in d_a_obj_dmelevator.cpp Should make the code a bit more readable * Further cleanup of d_a_obj_dmelevator.cpp This should address the feedback from the pull request review --------- Co-authored-by: ItsNiklas <nikbau2000@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/d/actor/d_a_obj_dmelevator.cpp1495
1 files changed, 568 insertions, 927 deletions
diff --git a/src/d/actor/d_a_obj_dmelevator.cpp b/src/d/actor/d_a_obj_dmelevator.cpp
index 7de77381dd..9c113e0c7e 100644
--- a/src/d/actor/d_a_obj_dmelevator.cpp
+++ b/src/d/actor/d_a_obj_dmelevator.cpp
@@ -4,134 +4,17 @@
*/
#include "d/actor/d_a_obj_dmelevator.h"
-#include "d/d_procname.h"
-#include "dol2asm.h"
-
-
-//
-// Forward References:
-//
-
-extern "C" static void rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c();
-extern "C" void __dt__4cXyzFv();
-extern "C" static void nodeCallBackForSw__FP8J3DJointi();
-extern "C" static void nodeCallBack__FP8J3DJointi();
-extern "C" void initBaseMtx__17daObjDmElevator_cFv();
-extern "C" void setBaseMtx__17daObjDmElevator_cFv();
-extern "C" void Create__17daObjDmElevator_cFv();
-extern "C" void init__17daObjDmElevator_cFv();
-extern "C" void CreateHeap__17daObjDmElevator_cFv();
-extern "C" void create1st__17daObjDmElevator_cFv();
-extern "C" void Execute__17daObjDmElevator_cFPPA3_A4_f();
-extern "C" void setting_ride_flag__17daObjDmElevator_cFv();
-extern "C" void event_sw_proc_call__17daObjDmElevator_cFv();
-extern "C" void actionSwPauseNoneInit__17daObjDmElevator_cFv();
-extern "C" void actionSwPauseNone__17daObjDmElevator_cFv();
-extern "C" void actionSwPauseOrderInit__17daObjDmElevator_cFv();
-extern "C" void actionSwPauseOrder__17daObjDmElevator_cFv();
-extern "C" void actionSwPauseInit__17daObjDmElevator_cFv();
-extern "C" void actionSwPause__17daObjDmElevator_cFv();
-extern "C" void calc_top_pos__17daObjDmElevator_cFv();
-extern "C" void mode_sw_proc_call__17daObjDmElevator_cFv();
-extern "C" void modeSwWaitLowerInit__17daObjDmElevator_cFv();
-extern "C" void modeSwWaitLower__17daObjDmElevator_cFv();
-extern "C" void modeSwLowerInit__17daObjDmElevator_cFv();
-extern "C" void modeSwLower__17daObjDmElevator_cFv();
-extern "C" void modeSwWaitUpperInit__17daObjDmElevator_cFv();
-extern "C" void modeSwWaitUpper__17daObjDmElevator_cFv();
-extern "C" void modeSwUpperInit__17daObjDmElevator_cFv();
-extern "C" void modeSwUpper__17daObjDmElevator_cFv();
-extern "C" void event_proc_call__17daObjDmElevator_cFv();
-extern "C" void actionWait__17daObjDmElevator_cFv();
-extern "C" void actionOrderEvent__17daObjDmElevator_cFv();
-extern "C" void actionEvent__17daObjDmElevator_cFv();
-extern "C" void actionStartEvent__17daObjDmElevator_cFv();
-extern "C" void actionMoveStart__17daObjDmElevator_cFv();
-extern "C" void actionDead__17daObjDmElevator_cFv();
-extern "C" void demoProc__17daObjDmElevator_cFv();
-extern "C" void moveInit__17daObjDmElevator_cFv();
-extern "C" void moveProc__17daObjDmElevator_cFv();
-extern "C" void Draw__17daObjDmElevator_cFv();
-extern "C" void Delete__17daObjDmElevator_cFv();
-extern "C" static void daObjDmElevator_create1st__FP17daObjDmElevator_c();
-extern "C" static void daObjDmElevator_MoveBGDelete__FP17daObjDmElevator_c();
-extern "C" static void daObjDmElevator_MoveBGExecute__FP17daObjDmElevator_c();
-extern "C" static void daObjDmElevator_MoveBGDraw__FP17daObjDmElevator_c();
-extern "C" void func_80BDF844(void* _this, u8*);
-extern "C" extern char const* const d_a_obj_dmelevator__stringBase0;
-
-//
-// External References:
-//
-
-extern "C" void mDoMtx_XrotM__FPA4_fs();
-extern "C" void mDoMtx_YrotS__FPA4_fs();
-extern "C" void mDoMtx_YrotM__FPA4_fs();
-extern "C" void transS__14mDoMtx_stack_cFRC4cXyz();
-extern "C" void transM__14mDoMtx_stack_cFfff();
-extern "C" void transM__14mDoMtx_stack_cFRC4cXyz();
-extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
-extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
-extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff();
-extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs();
-extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs();
-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 dComIfGp_getReverb__Fi();
-extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
-extern "C" void reset__14dEvt_control_cFv();
-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 dPath_GetPnt__FPC5dPathi();
-extern "C" void dPath_GetRoomPath__Fii();
-extern "C" void StartShock__12dVibration_cFii4cXyz();
-extern "C" void Release__4cBgSFP9dBgW_Base();
-extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c();
-extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
-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 Set__4cBgWFP6cBgD_tUlPA3_A4_f();
-extern "C" void __ct__4dBgWFv();
-extern "C" void Move__4dBgWFv();
-extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
-extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
-extern "C" void __mi__4cXyzCFRC3Vec();
-extern "C" void ChkUsed__9cBgW_BgIdCFv();
-extern "C" void cLib_chaseF__FPfff();
-extern "C" void cLib_chasePos__FP4cXyzRC4cXyzf();
-extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
-extern "C" void deleteObject__14Z2SoundObjBaseFv();
-extern "C" void __ct__16Z2SoundObjSimpleFv();
-extern "C" void* __nw__FUl();
-extern "C" void __dl__FPv();
-extern "C" void __ptmf_scall();
-extern "C" void _savegpr_27();
-extern "C" void _savegpr_28();
-extern "C" void _restgpr_27();
-extern "C" void _restgpr_28();
-extern "C" u8 now__14mDoMtx_stack_c[48];
-extern "C" u8 mCurrentMtx__6J3DSys[48];
-extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
-extern "C" void __register_global_object();
-
-//
-// Declarations:
-//
-
-/* ############################################################################################## */
+#include "Z2AudioLib/Z2Instances.h"
+#include "d/actor/d_a_player.h"
+#include "d/d_bg_w.h"
+#include "d/d_path.h"
+
+/* 80BDFB38-80BDFB70 000008 0001+03 1/1 0/0 0/0 .bss @1109 */
+UNK_REL_BSS;
+
+/* 80BDF950-80BDF964 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
+UNK_REL_DATA;
+
/* 80BDF870-80BDF87C 000000 000C+00 11/11 0/0 0/0 .rodata l_swOffset */
static const Vec l_swOffset = {
0.0f,
@@ -139,427 +22,340 @@ static const Vec l_swOffset = {
-77.0f,
};
-/* 80BDF87C-80BDF880 00000C 0004+00 0/2 0/0 0/0 .rodata @3718 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3718 = -50.0f;
-COMPILER_STRIP_GATE(0x80BDF87C, &lit_3718);
-#pragma pop
-
-/* 80BDF880-80BDF884 000010 0004+00 5/13 0/0 0/0 .rodata @3719 */
-SECTION_RODATA static u8 const lit_3719[4] = {
- 0x00,
- 0x00,
- 0x00,
- 0x00,
-};
-COMPILER_STRIP_GATE(0x80BDF880, &lit_3719);
-
-/* 80BDF884-80BDF888 000014 0004+00 0/1 0/0 0/0 .rodata @3720 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3720 = 50.0f;
-COMPILER_STRIP_GATE(0x80BDF884, &lit_3720);
-#pragma pop
-
-/* 80BDFB38-80BDFB3C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */
-static u8 lit_1109[1 + 3 /* padding */];
-
-/* 80BDFB3C-80BDFB40 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */
-#pragma push
-#pragma force_active on
-static u8 lit_1107[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB40-80BDFB44 000010 0001+03 0/0 0/0 0/0 .bss @1105 */
-#pragma push
-#pragma force_active on
-static u8 lit_1105[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB44-80BDFB48 000014 0001+03 0/0 0/0 0/0 .bss @1104 */
-#pragma push
-#pragma force_active on
-static u8 lit_1104[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB48-80BDFB4C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */
-#pragma push
-#pragma force_active on
-static u8 lit_1099[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB4C-80BDFB50 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */
-#pragma push
-#pragma force_active on
-static u8 lit_1097[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB50-80BDFB54 000020 0001+03 0/0 0/0 0/0 .bss @1095 */
-#pragma push
-#pragma force_active on
-static u8 lit_1095[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB54-80BDFB58 000024 0001+03 0/0 0/0 0/0 .bss @1094 */
-#pragma push
-#pragma force_active on
-static u8 lit_1094[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB58-80BDFB5C 000028 0001+03 0/0 0/0 0/0 .bss @1057 */
-#pragma push
-#pragma force_active on
-static u8 lit_1057[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB5C-80BDFB60 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */
-#pragma push
-#pragma force_active on
-static u8 lit_1055[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB60-80BDFB64 000030 0001+03 0/0 0/0 0/0 .bss @1053 */
-#pragma push
-#pragma force_active on
-static u8 lit_1053[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB64-80BDFB68 000034 0001+03 0/0 0/0 0/0 .bss @1052 */
-#pragma push
-#pragma force_active on
-static u8 lit_1052[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB68-80BDFB6C 000038 0001+03 0/0 0/0 0/0 .bss @1014 */
-#pragma push
-#pragma force_active on
-static u8 lit_1014[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB6C-80BDFB70 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */
-#pragma push
-#pragma force_active on
-static u8 lit_1012[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB70-80BDFB74 000040 0001+03 0/0 0/0 0/0 .bss @1010 */
-#pragma push
-#pragma force_active on
-static u8 lit_1010[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB74-80BDFB78 000044 0001+03 0/0 0/0 0/0 .bss @1009 */
-#pragma push
-#pragma force_active on
-static u8 lit_1009[1 + 3 /* padding */];
-#pragma pop
-
-/* 80BDFB78-80BDFB88 000048 000C+04 0/1 0/0 0/0 .bss @3654 */
-#pragma push
-#pragma force_active on
-static u8 lit_3654[12 + 4 /* padding */];
-#pragma pop
-
-/* 80BDFB88-80BDFB94 000058 000C+00 0/1 0/0 0/0 .bss @3657 */
-#pragma push
-#pragma force_active on
-static u8 lit_3657[12];
-#pragma pop
-
-/* 80BDFB94-80BDFBA0 000064 000C+00 0/1 0/0 0/0 .bss @3658 */
-#pragma push
-#pragma force_active on
-static u8 lit_3658[12];
-#pragma pop
-
-/* 80BDFBA0-80BDFBAC 000070 000C+00 0/1 0/0 0/0 .bss @3659 */
-#pragma push
-#pragma force_active on
-static u8 lit_3659[12];
-#pragma pop
-
-/* 80BDFBAC-80BDFBDC 00007C 0030+00 0/1 0/0 0/0 .bss l_push_check_pos$3653 */
-#pragma push
-#pragma force_active on
-static u8 l_push_check_pos[48];
-#pragma pop
-
/* 80BDD96C-80BDDBB4 0000EC 0248+00 1/1 0/0 0/0 .text
* rideCallBack__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
static void rideCallBack(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) {
- // NONMATCHING
-}
-
-/* 80BDDBB4-80BDDBF0 000334 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */
-// cXyz::~cXyz()
-extern "C" void __dt__4cXyzFv() {
- // NONMATCHING
+ daObjDmElevator_c* pthis = (daObjDmElevator_c*)param_1;
+
+ daPy_py_c* pdVar1 = daPy_getPlayerActorClass();
+ if (fopAcM_checkStatus(param_2, 0x400) != 0 && fopAcM_GetName(param_2) == 0xfd) {
+ static cXyz l_push_check_pos0[4] = {
+ cXyz(-50.0f, 0.0f, -50.0f),
+ cXyz(50.0f, 0.0f, -50.0f),
+ cXyz(50.0f, 0.0f, 50.0f),
+ cXyz(-50.f, 0.f, 50.f),
+ };
+
+ cXyz local_2c = param_2->current.pos - pthis->mXyz;
+ mDoMtx_stack_c::YrotS(-param_1->current.angle.y);
+ mDoMtx_stack_c::multVec(&local_2c, &local_2c);
+
+ if (l_push_check_pos0[0].x <= local_2c.x) {
+ if (l_push_check_pos0[2].x >= local_2c.x) {
+ if (l_push_check_pos0[0].z <= local_2c.z) {
+ if (l_push_check_pos0[2].z >= local_2c.z) {
+ if ((pdVar1->checkEquipHeavyBoots())) {
+ pthis->field_0x632 = 1;
+ pthis->field_0x634 = 1;
+ }
+ else
+ {
+ pthis->field_0x632 = 0;
+ pthis->field_0x634 = 0;
+ }
+ if (fopAcM_CheckCarryType(param_2, fopAcM_CARRY_TYPE_1)) {
+ pthis->field_0x62f = 2;
+ } else {
+ pthis->field_0x62f = 1;
+ }
+ }
+ }
+ }
+ }
+ }
}
/* 80BDDBF0-80BDDCA0 000370 00B0+00 1/1 0/0 0/0 .text nodeCallBackForSw__FP8J3DJointi */
-static void nodeCallBackForSw(J3DJoint* param_0, int param_1) {
- // NONMATCHING
+static int nodeCallBackForSw(J3DJoint* param_0, int param_1) {
+ if (param_1 == 0) {
+ int jnt_no = param_0->getJntNo();
+ J3DModel* pmodel = j3dSys.getModel();
+ daObjDmElevator_c* puser_area = (daObjDmElevator_c*)pmodel->getUserArea();
+
+ mDoMtx_copy(pmodel->mMtxBuffer->getAnmMtx(jnt_no), mDoMtx_stack_c::get());
+
+ if (jnt_no == 1) {
+ mDoMtx_stack_c::transM(puser_area->field_0x638, 0.0f, 0.0f);
+ }
+
+ pmodel->mMtxBuffer->setAnmMtx(jnt_no, mDoMtx_stack_c::get());
+ mDoMtx_copy(mDoMtx_stack_c::get(), j3dSys.mCurrentMtx);
+ }
+ return 1;
}
/* 80BDDCA0-80BDDD38 000420 0098+00 1/1 0/0 0/0 .text nodeCallBack__FP8J3DJointi */
-static void nodeCallBack(J3DJoint* param_0, int param_1) {
- // NONMATCHING
+static int nodeCallBack(J3DJoint* param_0, int param_1) {
+ if (param_1 == 0) {
+ int jnt_no = param_0->getJntNo();
+ J3DModel* pmodel = j3dSys.getModel();
+ daObjDmElevator_c* puser_area = (daObjDmElevator_c*)pmodel->getUserArea();
+
+ mDoMtx_copy(j3dSys.getModel()->mMtxBuffer->getAnmMtx(jnt_no), mDoMtx_stack_c::get());
+
+ if (jnt_no == 2) {
+ mDoMtx_XrotM(mDoMtx_stack_c::get(), puser_area->field_0x5e4);
+ }
+
+ mDoMtx_copy(mDoMtx_stack_c::get(), pmodel->mMtxBuffer->getAnmMtx(jnt_no));
+ }
+ return 1;
}
/* 80BDDD38-80BDDD90 0004B8 0058+00 1/1 0/0 0/0 .text initBaseMtx__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::initBaseMtx() {
- // NONMATCHING
-}
+ mpElevatorModel->setBaseScale(scale);
+ mpSwitchModel->setBaseScale(scale);
-/* ############################################################################################## */
-/* 80BDF888-80BDF88C 000018 0004+00 1/1 0/0 0/0 .rodata @3821 */
-SECTION_RODATA static f32 const lit_3821 = -17.0f;
-COMPILER_STRIP_GATE(0x80BDF888, &lit_3821);
+ setBaseMtx();
+}
/* 80BDDD90-80BDDEFC 000510 016C+00 2/2 0/0 0/0 .text setBaseMtx__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::setBaseMtx() {
- // NONMATCHING
+
+ mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::YrotM(shape_angle.y);
+ mpElevatorModel->setBaseTRMtx(mDoMtx_stack_c::now);
+ PSMTXCopy(mDoMtx_stack_c::now, mBgMtx);
+ mDoMtx_stack_c::YrotS(shape_angle.y);
+
+ cXyz VStack_18;
+
+ mDoMtx_stack_c::multVec(&l_swOffset, &VStack_18);
+ mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::transM(VStack_18);
+ mDoMtx_stack_c::YrotM(shape_angle.y);
+ mpSwitchModel->setBaseTRMtx(mDoMtx_stack_c::now);
+ PSMTXCopy(mDoMtx_stack_c::now, mMtx);
+
+ float fVar1 = field_0x638;
+ if (fVar1 < -17.f) {
+ fVar1 = -17.f;
+ }
+
+ mDoMtx_stack_c::transS(current.pos.x, current.pos.y + fVar1, current.pos.z);
+ mDoMtx_stack_c::transM(VStack_18);
+ mDoMtx_stack_c::YrotM(shape_angle.y);
+ PSMTXCopy(mDoMtx_stack_c::now, mMtx);
+ mDoMtx_stack_c::transS(current.pos);
+ mDoMtx_stack_c::transM(VStack_18);
+ mDoMtx_stack_c::YrotM(shape_angle.y);
+ mDoMtx_stack_c::multVecZero(&mXyz);
}
-/* ############################################################################################## */
-/* 80BDF88C-80BDF890 00001C 0004+00 0/3 0/0 0/0 .rodata @3875 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3875 = -24.0f;
-COMPILER_STRIP_GATE(0x80BDF88C, &lit_3875);
-#pragma pop
-
-/* 80BDF890-80BDF894 000020 0004+00 0/1 0/0 0/0 .rodata @3876 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3876 = -250.0f;
-COMPILER_STRIP_GATE(0x80BDF890, &lit_3876);
-#pragma pop
-
-/* 80BDF894-80BDF898 000024 0004+00 0/1 0/0 0/0 .rodata @3877 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3877 = -350.0f;
-COMPILER_STRIP_GATE(0x80BDF894, &lit_3877);
-#pragma pop
-
-/* 80BDF898-80BDF89C 000028 0004+00 0/1 0/0 0/0 .rodata @3878 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3878 = 250.0f;
-COMPILER_STRIP_GATE(0x80BDF898, &lit_3878);
-#pragma pop
-
-/* 80BDF89C-80BDF8A0 00002C 0004+00 0/1 0/0 0/0 .rodata @3879 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3879 = 450.0f;
-COMPILER_STRIP_GATE(0x80BDF89C, &lit_3879);
-#pragma pop
-
-/* 80BDF8A0-80BDF8A8 000030 0004+04 0/1 0/0 0/0 .rodata @3880 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3880[1 + 1 /* padding */] = {
- 400.0f,
- /* padding */
- 0.0f,
-};
-COMPILER_STRIP_GATE(0x80BDF8A0, &lit_3880);
-#pragma pop
-
-/* 80BDF8EC-80BDF8EC 00007C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80BDF8EC = "H_Elevato";
-SECTION_DEAD static char const* const stringBase_80BDF8F6 = "D_Hfsw00";
-SECTION_DEAD static char const* const stringBase_80BDF8FF = "ELEVATOR_MOVE";
-SECTION_DEAD static char const* const stringBase_80BDF90D = "ELEVATOR_MOVE2";
-SECTION_DEAD static char const* const stringBase_80BDF91C = "dmele";
-SECTION_DEAD static char const* const stringBase_80BDF922 = "F_SP110";
-SECTION_DEAD static char const* const stringBase_80BDF92A = "R_SP110";
-#pragma pop
-
-/* 80BDF944-80BDF950 000000 000C+00 4/4 0/0 0/0 .data cNullVec__6Z2Calc */
-SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-
-/* 80BDF950-80BDF964 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
- 0x02000201,
- /* padding */
- 0x40080000,
- 0x00000000,
- 0x3FE00000,
- 0x00000000,
-};
-#pragma pop
-
/* 80BDF964-80BDF968 -00001 0004+00 3/4 0/0 0/0 .data l_el_arcName */
-SECTION_DATA static void* l_el_arcName = (void*)&d_a_obj_dmelevator__stringBase0;
+static const char* l_el_arcName = "H_Elevato";
/* 80BDF968-80BDF96C -00001 0004+00 3/3 0/0 0/0 .data l_sw_arcName */
-SECTION_DATA static void* l_sw_arcName = (void*)(((char*)&d_a_obj_dmelevator__stringBase0) + 0xA);
+static const char* l_sw_arcName = "D_Hfsw00";
/* 80BDF96C-80BDF970 -00001 0004+00 0/1 0/0 0/0 .data l_eventName */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_eventName = (void*)(((char*)&d_a_obj_dmelevator__stringBase0) + 0x13);
-#pragma pop
+static const char* l_eventName = "ELEVATOR_MOVE";
/* 80BDF970-80BDF974 -00001 0004+00 0/1 0/0 0/0 .data l_eventName2 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* l_eventName2 = (void*)(((char*)&d_a_obj_dmelevator__stringBase0) + 0x21);
-#pragma pop
+static const char* l_eventName2 = "ELEVATOR_MOVE2";
+
+/* 80BDF8EC-80BDF8EC 00007C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+static const char* l_staffName = "dmele";
/* 80BDDEFC-80BDE0A4 00067C 01A8+00 1/0 0/0 0/0 .text Create__17daObjDmElevator_cFv */
int daObjDmElevator_c::Create() {
- // NONMATCHING
+ if (field_0x5e0 == 1) {
+ field_0x637 = 0xe;
+ field_0x636 = 1;
+ field_0x638 = -24.0f;
+ field_0x62b = 1;
+ modeSwWaitUpperInit();
+ }
+ int success = dComIfG_Bgsp().Regist((dBgW_Base*)mpBgW, this);
+ if (success != 0) {
+ success = 0;
+ } else {
+ initBaseMtx();
+
+ cullMtx = mpElevatorModel->mBaseTransformMtx;
+ fopAcM_setCullSizeBox(this, -250.0f, -50.0f, -350.0f, 250.0f, 450.0f, 400.0f);
+
+ mpElevatorModel->mModelData->getJointTree().getJointNodePointer(2)->setCallBack(
+ nodeCallBack);
+ mpElevatorModel->setUserArea((u32)this);
+
+ mpSwitchModel->mModelData->getJointTree().getJointNodePointer(1)->setCallBack(
+ nodeCallBackForSw);
+ mpSwitchModel->setUserArea((u32)this);
+
+ mpBgW->SetRideCallback(rideCallBack);
+ mpBgW->Move();
+
+ eventInfo.setArchiveName((char*)l_el_arcName);
+
+ success = strcmp(dComIfGp_getStartStageName(), "F_SP110");
+ if (success == 0) {
+ mEventIndex = dComIfGp_getEventManager().getEventIdx(this, l_eventName, 0xff);
+ } else {
+ success = strcmp(dComIfGp_getStartStageName(), "R_SP110");
+ if (success == 0) {
+ mEventIndex = dComIfGp_getEventManager().getEventIdx(this, l_eventName2, 0xff);
+ }
+ }
+ success = 1;
+ }
+
+ return success;
}
-/* ############################################################################################## */
-/* 80BDF8A8-80BDF8B0 000038 0008+00 0/2 0/0 0/0 .rodata @3936 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_3936[8] = {
- 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80BDF8A8, &lit_3936);
-#pragma pop
-
-/* 80BDF8B0-80BDF8B8 000040 0008+00 0/2 0/0 0/0 .rodata @3937 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_3937[8] = {
- 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80BDF8B0, &lit_3937);
-#pragma pop
-
-/* 80BDF8B8-80BDF8C0 000048 0008+00 0/2 0/0 0/0 .rodata @3938 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static u8 const lit_3938[8] = {
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-};
-COMPILER_STRIP_GATE(0x80BDF8B8, &lit_3938);
-#pragma pop
-
-/* 80BDF8C0-80BDF8C4 000050 0004+00 0/1 0/0 0/0 .rodata @3939 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3939 = 100.0f;
-COMPILER_STRIP_GATE(0x80BDF8C0, &lit_3939);
-#pragma pop
-
-/* 80BDF8C4-80BDF8C8 000054 0004+00 0/2 0/0 0/0 .rodata @3940 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_3940 = 200.0f;
-COMPILER_STRIP_GATE(0x80BDF8C4, &lit_3940);
-#pragma pop
-
/* 80BDE0A4-80BDE2F8 000824 0254+00 1/1 0/0 0/0 .text init__17daObjDmElevator_cFv */
int daObjDmElevator_c::init() {
- // NONMATCHING
+ dPath* path = dPath_GetRoomPath(getPathID() & 0xff, fopAcM_GetRoomNo(this));
+ daPy_py_c* plink = daPy_getPlayerActorClass();
+ dPnt* pdVar4 = dPath_GetPnt(path, 0);
+ dPnt* pdVar5 = dPath_GetPnt(path, 1);
+
+ if (plink->current.pos.absXZ(pdVar5->m_position) < 100.0f) {
+ home.pos = pdVar5->m_position;
+ home.pos.y = home.pos.y - 200.0f;
+ field_0x5e0 = 1;
+ field_0x5e1 = -1;
+ } else {
+ home.pos = pdVar4->m_position;
+ field_0x5e0 = 0;
+ field_0x5e1 = 1;
+ }
+
+ current.pos = home.pos;
+ old.pos = home.pos;
+ mSoundObj.init(&current.pos, 1);
+ return 1;
}
/* 80BDE2F8-80BDE448 000A78 0150+00 1/0 0/0 0/0 .text CreateHeap__17daObjDmElevator_cFv
*/
int daObjDmElevator_c::CreateHeap() {
- // NONMATCHING
+ J3DModelData* pJVar1 = (J3DModelData*)dComIfG_getObjectRes((const char*)l_el_arcName, 5);
+ mpElevatorModel = mDoExt_J3DModel__create(pJVar1, 0x80000, 0x11000084);
+ if (mpElevatorModel == NULL) {
+ return 0;
+ }
+
+ pJVar1 = (J3DModelData*)dComIfG_getObjectRes((const char*)l_sw_arcName, 4);
+ mpSwitchModel = mDoExt_J3DModel__create(pJVar1, 0x80000, 0x11000084);
+
+ if (mpSwitchModel == NULL) {
+ return 0;
+ }
+ mpBgW = new dBgW();
+
+ if (mpBgW != NULL && mpBgW->Set((cBgD_t*)dComIfG_getObjectRes(l_sw_arcName, 8), 1, &mMtx) == 0)
+ {
+ mpBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
+ } else {
+ mpBgW = NULL;
+ return 0;
+ }
+ return 1;
}
/* 80BDE448-80BDE500 000BC8 00B8+00 1/1 0/0 0/0 .text create1st__17daObjDmElevator_cFv */
int daObjDmElevator_c::create1st() {
- // NONMATCHING
+ int temp = init();
+ if (temp == 0) {
+ return cPhs_ERROR_e;
+ }
+
+ int ret = dComIfG_resLoad(&mPhaseReq2, l_sw_arcName);
+ if (ret != cPhs_COMPLEATE_e) {
+ return ret;
+ }
+ ret = dComIfG_resLoad(&mPhaseReq, l_el_arcName);
+ if (ret == cPhs_COMPLEATE_e) {
+ ret = MoveBGCreate(l_el_arcName, 8, dBgS_MoveBGProc_TypicalRotY, 0x2280, NULL);
+ if (ret == cPhs_ERROR_e) {
+ return ret;
+ }
+ }
+ return ret;
}
-/* ############################################################################################## */
-/* 80BDF8C8-80BDF8CC 000058 0004+00 1/1 0/0 0/0 .rodata @3987 */
-SECTION_RODATA static f32 const lit_3987 = 65535.0f;
-COMPILER_STRIP_GATE(0x80BDF8C8, &lit_3987);
-
-/* 80BDF8CC-80BDF8D0 00005C 0004+00 1/1 0/0 0/0 .rodata @3988 */
-SECTION_RODATA static u32 const lit_3988 = 0x43FB53D2;
-COMPILER_STRIP_GATE(0x80BDF8CC, &lit_3988);
-
/* 80BDE500-80BDE5F8 000C80 00F8+00 1/0 0/0 0/0 .text Execute__17daObjDmElevator_cFPPA3_A4_f */
-int daObjDmElevator_c::Execute(Mtx**) {
- // NONMATCHING
+int daObjDmElevator_c::Execute(Mtx** param_1) {
+ event_proc_call();
+ setting_ride_flag();
+ event_sw_proc_call();
+ mode_sw_proc_call();
+ calc_top_pos();
+ *param_1 = &mBgMtx;
+ setBaseMtx();
+ mpBgW->Move();
+ field_0x630 = field_0x62f;
+ field_0x62f = 0;
+ field_0x633 = field_0x632;
+ field_0x632 = 0;
+ field_0x635 = field_0x634;
+ field_0x634 = 0;
+ field_0x5e4 = field_0x5e4 + (s16)((speedF * 65535.0f) / 502.65485f);
+ mSoundObj.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
+ return 1;
}
/* 80BDE5F8-80BDE6FC 000D78 0104+00 1/1 0/0 0/0 .text setting_ride_flag__17daObjDmElevator_cFv */
void daObjDmElevator_c::setting_ride_flag() {
- // NONMATCHING
+ if (field_0x62f != 0) {
+ if (field_0x631 != 0) {
+ field_0x62e = 8;
+ } else {
+ field_0x62e += 1;
+ if (field_0x62e > 8) {
+ field_0x631 = 1;
+ }
+ }
+ } else if (field_0x631 != 0) {
+ field_0x62e -= 1;
+ if (field_0x62e == 0) {
+ field_0x631 = 0;
+ }
+ } else {
+ field_0x62e = 0;
+ }
+ if (field_0x634 != 0) {
+ if (field_0x636 != 0) {
+ field_0x637 = 0xe;
+ return;
+ }
+ field_0x637 = field_0x637 + 1;
+ if (field_0x637 <= 8) {
+ return;
+ }
+ field_0x636 = 1;
+ return;
+ }
+ if (field_0x636 != 0) {
+ field_0x637 = field_0x637 - 1;
+ if (field_0x637 != 0) {
+ return;
+ }
+ field_0x636 = 0;
+ } else {
+ field_0x637 = 0;
+ }
}
-/* ############################################################################################## */
-/* 80BDF974-80BDF978 -00001 0004+00 1/1 0/0 0/0 .data l_staffName */
-SECTION_DATA static void* l_staffName = (void*)(((char*)&d_a_obj_dmelevator__stringBase0) + 0x30);
-
-/* 80BDF978-80BDF984 -00001 000C+00 0/1 0/0 0/0 .data @4026 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4026[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionSwPauseNone__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDF984-80BDF990 -00001 000C+00 0/1 0/0 0/0 .data @4027 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4027[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionSwPauseOrder__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDF990-80BDF99C -00001 000C+00 0/1 0/0 0/0 .data @4028 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4028[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionSwPause__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDF99C-80BDF9C0 000058 0024+00 0/1 0/0 0/0 .data l_func$4025 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_func_4025[36] = {
- 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
-
-/* 80BDFBDC-80BDFBE0 -00001 0004+00 3/3 0/0 0/0 .bss None */
-/* 80BDFBDC 0001+00 data_80BDFBDC None */
-/* 80BDFBDD 0001+00 data_80BDFBDD None */
-/* 80BDFBDE 0002+00 data_80BDFBDE None */
-static u8 struct_80BDFBDC[4];
-
/* 80BDE6FC-80BDE7A0 000E7C 00A4+00 1/1 0/0 0/0 .text event_sw_proc_call__17daObjDmElevator_cFv */
void daObjDmElevator_c::event_sw_proc_call() {
- // NONMATCHING
+ typedef void (daObjDmElevator_c::*actionFunc)();
+ static actionFunc l_func[] = {
+ &daObjDmElevator_c::actionSwPauseNone,
+ &daObjDmElevator_c::actionSwPauseOrder,
+ &daObjDmElevator_c::actionSwPause,
+ };
+ (this->*l_func[field_0x629])();
}
/* 80BDE7A0-80BDE7AC 000F20 000C+00 2/2 0/0 0/0 .text actionSwPauseNoneInit__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::actionSwPauseNoneInit() {
- // NONMATCHING
+ field_0x629 = 0;
}
/* 80BDE7AC-80BDE7B0 000F2C 0004+00 1/0 0/0 0/0 .text actionSwPauseNone__17daObjDmElevator_cFv */
@@ -570,264 +366,218 @@ void daObjDmElevator_c::actionSwPauseNone() {
/* 80BDE7B0-80BDE808 000F30 0058+00 1/1 0/0 0/0 .text
* actionSwPauseOrderInit__17daObjDmElevator_cFv */
void daObjDmElevator_c::actionSwPauseOrderInit() {
- // NONMATCHING
+ if (field_0x629 != 1) {
+ field_0x629 = 1;
+ fopAcM_orderPotentialEvent(this, 2, 0, 0);
+ eventInfo.mCondition = eventInfo.mCondition | 2;
+ }
}
/* 80BDE808-80BDE83C 000F88 0034+00 1/0 0/0 0/0 .text actionSwPauseOrder__17daObjDmElevator_cFv */
void daObjDmElevator_c::actionSwPauseOrder() {
- // NONMATCHING
+ if (eventInfo.mCommand == 2) {
+ actionSwPauseInit();
+ } else {
+ actionSwPauseNoneInit();
+ }
}
/* 80BDE83C-80BDE868 000FBC 002C+00 1/1 0/0 0/0 .text actionSwPauseInit__17daObjDmElevator_cFv */
void daObjDmElevator_c::actionSwPauseInit() {
- // NONMATCHING
+ daPy_getPlayerActorClass()->onWolfEyeKeep();
+ field_0x62a = 10;
+ field_0x629 = 2;
}
/* 80BDE868-80BDE8D0 000FE8 0068+00 1/0 0/0 0/0 .text actionSwPause__17daObjDmElevator_cFv */
void daObjDmElevator_c::actionSwPause() {
- // NONMATCHING
+ daPy_getPlayerActorClass()->mEndResetFlg1 = daPy_getPlayerActorClass()->mEndResetFlg1 | 0x200;
+ field_0x62a += -1;
+ if (field_0x62a == 0) {
+ g_dComIfG_gameInfo.play.mEvent.reset();
+ actionSwPauseNoneInit();
+ }
}
-/* ############################################################################################## */
-/* 80BDF8D0-80BDF8D4 000060 0004+00 0/1 0/0 0/0 .rodata @4090 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4090 = 9.0f / 10.0f;
-COMPILER_STRIP_GATE(0x80BDF8D0, &lit_4090);
-#pragma pop
-
-/* 80BDF8D4-80BDF8D8 000064 0004+00 0/1 0/0 0/0 .rodata @4091 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4091 = 0.5f;
-COMPILER_STRIP_GATE(0x80BDF8D4, &lit_4091);
-#pragma pop
-
-/* 80BDF8D8-80BDF8DC 000068 0004+00 3/10 0/0 0/0 .rodata @4092 */
-SECTION_RODATA static f32 const lit_4092 = 1.0f;
-COMPILER_STRIP_GATE(0x80BDF8D8, &lit_4092);
-
/* 80BDE8D0-80BDE960 001050 0090+00 1/1 0/0 0/0 .text calc_top_pos__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::calc_top_pos() {
- // NONMATCHING
-}
+ speed.y = speed.y - (field_0x63c - field_0x640) * (0.9f);
+ speed.y = speed.y - speed.y * 0.5f;
-/* ############################################################################################## */
-/* 80BDF9C0-80BDF9CC -00001 000C+00 0/1 0/0 0/0 .data @4097 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4097[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modeSwWaitLower__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDF9CC-80BDF9D8 -00001 000C+00 0/1 0/0 0/0 .data @4098 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4098[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modeSwLower__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDF9D8-80BDF9E4 -00001 000C+00 0/1 0/0 0/0 .data @4099 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4099[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modeSwWaitUpper__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDF9E4-80BDF9F0 -00001 000C+00 0/1 0/0 0/0 .data @4100 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4100[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)modeSwUpper__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDF9F0-80BDFA20 0000AC 0030+00 0/1 0/0 0/0 .data l_mode_func$4096 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_mode_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
+ field_0x63c = field_0x63c + speed.y;
+ field_0x638 = (1.0f - field_0x63c) * -24.0f;
+ field_0x638 = cLib_minMaxLimit(field_0x638, -24.0f, 0.0f);
+}
/* 80BDE960-80BDEA1C 0010E0 00BC+00 1/1 0/0 0/0 .text mode_sw_proc_call__17daObjDmElevator_cFv */
void daObjDmElevator_c::mode_sw_proc_call() {
- // NONMATCHING
+ typedef void (daObjDmElevator_c::*actionFunc)();
+ static actionFunc l_mode_func[] = {
+ &daObjDmElevator_c::modeSwWaitLower,
+ &daObjDmElevator_c::modeSwLower,
+ &daObjDmElevator_c::modeSwWaitUpper,
+ &daObjDmElevator_c::modeSwUpper,
+ };
+ (this->*l_mode_func[field_0x628])();
}
/* 80BDEA1C-80BDEA44 00119C 0028+00 1/1 0/0 0/0 .text modeSwWaitLowerInit__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::modeSwWaitLowerInit() {
- // NONMATCHING
+ speed.y = 0.0f;
+ field_0x63c = 1.0f;
+ field_0x640 = 1.0f;
+ field_0x628 = 0;
}
-/* ############################################################################################## */
-/* 80BDF8DC-80BDF8E0 00006C 0004+00 1/5 0/0 0/0 .rodata @4141 */
-SECTION_RODATA static f32 const lit_4141 = -1.0f;
-COMPILER_STRIP_GATE(0x80BDF8DC, &lit_4141);
-
-/* 80BDF8E0-80BDF8E4 000070 0004+00 0/1 0/0 0/0 .rodata @4142 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4142 = 4.0f / 5.0f;
-COMPILER_STRIP_GATE(0x80BDF8E0, &lit_4142);
-#pragma pop
-
/* 80BDEA44-80BDEB88 0011C4 0144+00 1/0 0/0 0/0 .text modeSwWaitLower__17daObjDmElevator_cFv */
void daObjDmElevator_c::modeSwWaitLower() {
- // NONMATCHING
-}
-
-/* 80BDEB88-80BDEC10 001308 0088+00 1/1 0/0 0/0 .text modeSwLowerInit__17daObjDmElevator_cFv */
+ if (field_0x631 != 0) {
+ if (field_0x636 != 0) {
+ modeSwLowerInit();
+ } else {
+ if (field_0x640 == 1.0f) {
+ fopAcM_seStart(this, Z2SE_OBJ_HEAVY_FUMISW_RIDE, 0);
+ }
+ field_0x640 = 0.8f; // 9c
+ }
+ } else {
+ if (field_0x640 != 1.0f) // a8
+ {
+ fopAcM_seStart(this, Z2SE_OBJ_HEAVY_FUMISW_DROP, 0);
+ }
+ field_0x640 = 1.0f;
+ }
+ if (field_0x62f != 0 && field_0x630 == 0) //: 10c
+ {
+ actionSwPauseOrderInit();
+ }
+}
+
+/* 80BDEA1c-80BDEA40 001308 0088+00 1/1 0/0 0/0 .text modeSwLowerInit__17daObjDmElevator_cFv */
void daObjDmElevator_c::modeSwLowerInit() {
- // NONMATCHING
+ mDoAud_seStart(Z2SE_OBJ_HEAVY_FUMISW_ON, &mXyz, 0, 0);
+
+ field_0x640 = 0;
+ field_0x628 = 1;
}
/* 80BDEC10-80BDEC94 001390 0084+00 1/0 0/0 0/0 .text modeSwLower__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::modeSwLower() {
- // NONMATCHING
+ if (field_0x638 == -24.0f) {
+ dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
+ modeSwWaitUpperInit();
+
+ field_0x62b = 1;
+ field_0x62d = 1;
+ }
}
/* 80BDEC94-80BDECB4 001414 0020+00 2/2 0/0 0/0 .text modeSwWaitUpperInit__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::modeSwWaitUpperInit() {
- // NONMATCHING
+ speed.y = 0.0f;
+ field_0x63c = 0.0f;
+ field_0x640 = 0.0f;
+ field_0x628 = 2;
}
/* 80BDECB4-80BDECE0 001434 002C+00 1/0 0/0 0/0 .text modeSwWaitUpper__17daObjDmElevator_cFv */
void daObjDmElevator_c::modeSwWaitUpper() {
- // NONMATCHING
+ if (field_0x636 == 0) {
+ modeSwUpperInit();
+ }
}
/* 80BDECE0-80BDED64 001460 0084+00 1/1 0/0 0/0 .text modeSwUpperInit__17daObjDmElevator_cFv */
void daObjDmElevator_c::modeSwUpperInit() {
- // NONMATCHING
+ mDoAud_seStart(Z2SE_OBJ_HEAVY_FUMISW_OFF, &mXyz, 0, 0);
+
+ field_0x640 = 1.0f;
+ field_0x628 = 3;
}
/* 80BDED64-80BDEDE0 0014E4 007C+00 1/0 0/0 0/0 .text modeSwUpper__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::modeSwUpper() {
- // NONMATCHING
+ if (field_0x638 == 0.0f) {
+ dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0, 1.0, 0.0));
+ modeSwWaitLowerInit();
+ field_0x62b = 0;
+ }
}
-/* ############################################################################################## */
-/* 80BDFA20-80BDFA2C -00001 000C+00 0/1 0/0 0/0 .data @4197 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4197[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionWait__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDFA2C-80BDFA38 -00001 000C+00 0/1 0/0 0/0 .data @4198 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4198[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionOrderEvent__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDFA38-80BDFA44 -00001 000C+00 0/1 0/0 0/0 .data @4199 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4199[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionEvent__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDFA44-80BDFA50 -00001 000C+00 0/1 0/0 0/0 .data @4200 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4200[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionStartEvent__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDFA50-80BDFA5C -00001 000C+00 0/1 0/0 0/0 .data @4201 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4201[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionMoveStart__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDFA5C-80BDFA68 -00001 000C+00 0/1 0/0 0/0 .data @4202 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static void* lit_4202[3] = {
- (void*)NULL,
- (void*)0xFFFFFFFF,
- (void*)actionDead__17daObjDmElevator_cFv,
-};
-#pragma pop
-
-/* 80BDFA68-80BDFAB0 000124 0048+00 0/1 0/0 0/0 .data l_func$4196 */
-#pragma push
-#pragma force_active on
-SECTION_DATA static u8 l_func_4196[72] = {
- 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, 0x00, 0x00, 0x00, 0x00,
-};
-#pragma pop
-
/* 80BDEDE0-80BDEECC 001560 00EC+00 1/1 0/0 0/0 .text event_proc_call__17daObjDmElevator_cFv */
void daObjDmElevator_c::event_proc_call() {
- // NONMATCHING
+ typedef void (daObjDmElevator_c::*actionFunc)();
+ static actionFunc l_func[] = {
+ &daObjDmElevator_c::actionWait, &daObjDmElevator_c::actionOrderEvent,
+ &daObjDmElevator_c::actionEvent, &daObjDmElevator_c::actionStartEvent,
+ &daObjDmElevator_c::actionMoveStart, &daObjDmElevator_c::actionDead,
+ };
+ (this->*l_func[mAction])();
}
/* 80BDEECC-80BDEF60 00164C 0094+00 1/0 0/0 0/0 .text actionWait__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::actionWait() {
- // NONMATCHING
+ if (field_0x5e0 == 1) {
+ mAction = 4;
+ moveInit();
+ } else if (!dComIfGp_event_runCheck() && (field_0x62d != 0)) {
+ mAction = 1;
+
+ fopAcM_orderOtherEventId(this, mEventIndex, 0xff, 0xffff, 0, 1);
+ eventInfo.mCondition = eventInfo.mCondition | 2;
+ }
}
/* 80BDEF60-80BDF000 0016E0 00A0+00 1/0 0/0 0/0 .text actionOrderEvent__17daObjDmElevator_cFv */
void daObjDmElevator_c::actionOrderEvent() {
- // NONMATCHING
+ if (eventInfo.mCommand == 2) {
+ mAction = 2;
+ field_0x5dc = dComIfGp_evmng_getMyStaffId(l_staffName, NULL, 0);
+ demoProc();
+ field_0x62d = 0;
+ } else {
+ fopAcM_orderOtherEventId(this, mEventIndex, 0xff, 0xffff, 0, 1);
+ eventInfo.mCondition = eventInfo.mCondition | 2;
+ }
}
/* 80BDF000-80BDF068 001780 0068+00 1/0 0/0 0/0 .text actionEvent__17daObjDmElevator_cFv
*/
void daObjDmElevator_c::actionEvent() {
- // NONMATCHING
+ dEvent_manager_c& evt_manager = dComIfGp_getEventManager();
+ if (dComIfGp_evmng_endCheck(mEventIndex)) {
+ setAction(0);
+ dComIfGp_event_reset();
+ } else {
+ demoProc();
+ }
}
/* 80BDF068-80BDF0A0 0017E8 0038+00 1/0 0/0 0/0 .text actionStartEvent__17daObjDmElevator_cFv */
void daObjDmElevator_c::actionStartEvent() {
- // NONMATCHING
+ if ( fopAcM_checkStatus(this, 0x1000) != 0) {
+ demoProc();
+ } else {
+ mAction = 0;
+ }
}
/* 80BDF0A0-80BDF168 001820 00C8+00 1/0 0/0 0/0 .text actionMoveStart__17daObjDmElevator_cFv */
void daObjDmElevator_c::actionMoveStart() {
- // NONMATCHING
+ if (moveProc() != 0) {
+ dComIfGp_getVibration().StartShock(4, 0x1f, cXyz(0.0, 1.0, 0.0));
+
+ mAction = 0;
+
+ s8 i_reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(this));
+ mDoAud_seStart(Z2SE_OBJ_ELEVATOR_STOP, &eyePos, 0, i_reverb);
+ }
}
/* 80BDF168-80BDF16C 0018E8 0004+00 1/0 0/0 0/0 .text actionDead__17daObjDmElevator_cFv
@@ -836,302 +586,193 @@ void daObjDmElevator_c::actionDead() {
/* empty function */
}
-/* ############################################################################################## */
-/* 80BDF8EC-80BDF8EC 00007C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
-#pragma push
-#pragma force_active on
-SECTION_DEAD static char const* const stringBase_80BDF932 = "WAIT";
-SECTION_DEAD static char const* const stringBase_80BDF937 = "MOVE";
-SECTION_DEAD static char const* const stringBase_80BDF93C = "Timer";
-#pragma pop
-
-/* 80BDFAB0-80BDFAB8 -00001 0008+00 1/1 0/0 0/0 .data action_table$4279 */
-static char* action_table[2] = {
- "WAIT",
- "MOVE",
-};
-
/* 80BDF16C-80BDF320 0018EC 01B4+00 3/3 0/0 0/0 .text demoProc__17daObjDmElevator_cFv */
int daObjDmElevator_c::demoProc() {
- // NONMATCHING
+ static char* action_table[2] = {
+ "WAIT",
+ "MOVE",
+ };
+
+ int actIdx =
+ dComIfGp_getEventManager().getMyActIdx(field_0x5dc, &action_table[0], 2, 0, 0); // r30
+ int isAddvance = dComIfGp_getEventManager().getIsAddvance(field_0x5dc); // r3
+
+ if (isAddvance != 0) {
+ switch (actIdx) {
+ case 0: {
+ int* psubstance =
+ (int*)dComIfGp_getEventManager().getMySubstanceP(field_0x5dc, "Timer", 3);
+ if (psubstance == NULL) {
+ field_0x5e3 = 1;
+ } else {
+ field_0x5e3 = (char)*psubstance;
+ }
+ break;
+ }
+ case 1: {
+ moveInit();
+ break;
+ }
+ }
+ }
+ switch (actIdx) {
+ case 0: {
+ if ((cLib_calcTimer(&field_0x5e3) & 0xff) == 0) {
+ dComIfGp_getEventManager().cutEnd(field_0x5dc);
+ }
+ break;
+ }
+ case 1: {
+ actIdx = moveProc();
+ if (actIdx != 0) {
+ actIdx = strcmp(dComIfGp_getStartStage()->getName(), "F_SP110");
+ if (actIdx == 0) {
+ dStage_changeScene(1, 0.0f, 0, (u8)current.roomNo, 0, -1);
+ break;
+ } else {
+ actIdx = strcmp(dComIfGp_getStartStage()->getName(), "R_SP110");
+ if (actIdx == 0) {
+ dStage_changeScene(2, 0.0, 0, (u8)current.roomNo, 0, -1);
+ }
+ }
+ }
+ break;
+ }
+ default: {
+ dComIfGp_getEventManager().cutEnd(field_0x5dc);
+ break;
+ }
+ }
+ return 0;
}
/* 80BDF320-80BDF3B8 001AA0 0098+00 2/2 0/0 0/0 .text moveInit__17daObjDmElevator_cFv */
void daObjDmElevator_c::moveInit() {
- // NONMATCHING
-}
+ speedF = 0.0f;
+ if (field_0x5e0 == 0) {
+ s8 i_reverb = dComIfGp_getReverb(fopAcM_GetRoomNo(this));
-/* ############################################################################################## */
-/* 80BDF8E4-80BDF8E8 000074 0004+00 0/1 0/0 0/0 .rodata @4399 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4399 = 10.0f;
-COMPILER_STRIP_GATE(0x80BDF8E4, &lit_4399);
-#pragma pop
-
-/* 80BDF8E8-80BDF8EC 000078 0004+00 0/1 0/0 0/0 .rodata @4400 */
-#pragma push
-#pragma force_active on
-SECTION_RODATA static f32 const lit_4400 = -10.0f;
-COMPILER_STRIP_GATE(0x80BDF8E8, &lit_4400);
-#pragma pop
+ Z2AudioMgr::mAudioMgrPtr->seStart(Z2SE_OBJ_ELEVATOR_START, (Vec*)&eyePos, 0, i_reverb, 1.0,
+ 1.0, -1.0, -1.0, 0);
+ }
+}
/* 80BDF3B8-80BDF618 001B38 0260+00 2/2 0/0 0/0 .text moveProc__17daObjDmElevator_cFv */
int daObjDmElevator_c::moveProc() {
- // NONMATCHING
+ dPath* path = dPath_GetRoomPath(getPathID(), fopAcM_GetRoomNo(this));
+ dPnt* pdVar3 = dPath_GetPnt(path, field_0x5e0 + (char)field_0x5e1);
+
+ cXyz path_point(pdVar3->m_position);
+ if (path_point.y > current.pos.y) {
+ cLib_chaseF(&speedF, 10.0f, 1.0f);
+ } else {
+ cLib_chaseF(&speedF, -10.0f, 1.0f);
+ }
+
+ int uVar1 = cLib_chasePos(&current.pos, path_point, fabsf(speedF));
+
+ if (field_0x5e0 + (int)(char)field_0x5e1 == 1) {
+ const float fVar6 = current.pos.abs(path_point);
+ uVar1 = ((uint)(char)((fVar6 < 200.0f) << 3) << 0x1c) >> 0x1f;
+ }
+
+ int ret;
+ if (uVar1 != 0) {
+ if (field_0x5e0 + field_0x5e1 != 1) {
+ field_0x5e0 += field_0x5e1;
+ if (field_0x5e0 == 0) {
+ field_0x5e1 = 1;
+ } else {
+ field_0x5e1 = 0xff;
+ }
+ }
+ speedF = 0.0f;
+ ret = 1;
+ } else {
+ mSoundObj.startLevelSound(Z2SE_OBJ_ELEVATOR_MOVE, 0, -1);
+ ret = 0;
+ }
+ return ret;
}
/* 80BDF618-80BDF6DC 001D98 00C4+00 1/0 0/0 0/0 .text Draw__17daObjDmElevator_cFv */
int daObjDmElevator_c::Draw() {
- // NONMATCHING
+ g_env_light.settingTevStruct(0x10, &current.pos, &tevStr);
+ g_env_light.setLightTevColorType_MAJI(mpSwitchModel, &tevStr);
+ g_env_light.setLightTevColorType_MAJI(mpElevatorModel, &tevStr);
+
+ dComIfGd_setListBG();
+
+ mDoExt_modelUpdateDL(mpElevatorModel);
+ mDoExt_modelUpdateDL(mpSwitchModel);
+ dComIfGd_setList();
+ return 1;
}
/* 80BDF6DC-80BDF764 001E5C 0088+00 1/0 0/0 0/0 .text Delete__17daObjDmElevator_cFv */
int daObjDmElevator_c::Delete() {
- // NONMATCHING
-}
+ mSoundObj.deleteObject();
-/* ############################################################################################## */
-/* 80BDFAB8-80BDFAD8 -00001 0020+00 1/0 0/0 0/0 .data daObjDmElevator_METHODS */
-static actor_method_class daObjDmElevator_METHODS = {
- (process_method_func)daObjDmElevator_create1st__FP17daObjDmElevator_c,
- (process_method_func)daObjDmElevator_MoveBGDelete__FP17daObjDmElevator_c,
- (process_method_func)daObjDmElevator_MoveBGExecute__FP17daObjDmElevator_c,
- 0,
- (process_method_func)daObjDmElevator_MoveBGDraw__FP17daObjDmElevator_c,
-};
-
-/* 80BDFAD8-80BDFB08 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Elevator */
-extern actor_process_profile_definition g_profile_Obj_Elevator = {
- fpcLy_CURRENT_e, // mLayerID
- 3, // mListID
- fpcPi_CURRENT_e, // mListPrio
- PROC_Obj_Elevator, // mProcName
- &g_fpcLf_Method.base, // sub_method
- sizeof(daObjDmElevator_c),// mSize
- 0, // mSizeOther
- 0, // mParameters
- &g_fopAc_Method.base, // sub_method
- 542, // mPriority
- &daObjDmElevator_METHODS, // sub_method
- 0x00044100, // mStatus
- fopAc_ACTOR_e, // mActorType
- fopAc_CULLBOX_CUSTOM_e, // cullType
-};
+ if ((mpBgW != NULL) && mpBgW->ChkUsed()) {
+ g_dComIfG_gameInfo.play.mBgs.Release(mpBgW);
+ }
-/* 80BDFB08-80BDFB30 0001C4 0028+00 1/1 0/0 0/0 .data __vt__17daObjDmElevator_c */
-SECTION_DATA extern void* __vt__17daObjDmElevator_c[10] = {
- (void*)NULL /* RTTI */,
- (void*)NULL,
- (void*)CreateHeap__17daObjDmElevator_cFv,
- (void*)Create__17daObjDmElevator_cFv,
- (void*)Execute__17daObjDmElevator_cFPPA3_A4_f,
- (void*)Draw__17daObjDmElevator_cFv,
- (void*)Delete__17daObjDmElevator_cFv,
- (void*)IsDelete__16dBgS_MoveBgActorFv,
- (void*)ToFore__16dBgS_MoveBgActorFv,
- (void*)ToBack__16dBgS_MoveBgActorFv,
-};
+ dComIfG_resDelete(&mPhaseReq, l_el_arcName);
+ dComIfG_resDelete(&mPhaseReq2, l_sw_arcName);
+ return 1;
+}
/* 80BDF764-80BDF7D8 001EE4 0074+00 1/0 0/0 0/0 .text
* daObjDmElevator_create1st__FP17daObjDmElevator_c */
-static void daObjDmElevator_create1st(daObjDmElevator_c* i_this) {
- // NONMATCHING
+static int daObjDmElevator_create1st(daObjDmElevator_c* i_this) {
+ fopAcM_SetupActor(i_this, daObjDmElevator_c);
+ return i_this->create1st();
}
/* 80BDF7D8-80BDF7F8 001F58 0020+00 1/0 0/0 0/0 .text
* daObjDmElevator_MoveBGDelete__FP17daObjDmElevator_c */
-static void daObjDmElevator_MoveBGDelete(daObjDmElevator_c* i_this) {
- // NONMATCHING
+static int daObjDmElevator_MoveBGDelete(daObjDmElevator_c* i_this) {
+ return i_this->MoveBGDelete();
}
/* 80BDF7F8-80BDF818 001F78 0020+00 1/0 0/0 0/0 .text
* daObjDmElevator_MoveBGExecute__FP17daObjDmElevator_c */
-static void daObjDmElevator_MoveBGExecute(daObjDmElevator_c* i_this) {
- // NONMATCHING
+static int daObjDmElevator_MoveBGExecute(daObjDmElevator_c* i_this) {
+ return i_this->MoveBGExecute();
}
/* 80BDF818-80BDF844 001F98 002C+00 1/0 0/0 0/0 .text
* daObjDmElevator_MoveBGDraw__FP17daObjDmElevator_c */
-static void daObjDmElevator_MoveBGDraw(daObjDmElevator_c* i_this) {
- // NONMATCHING
-}
-
-/* 80BDF844-80BDF860 001FC4 001C+00 1/1 0/0 0/0 .text cLib_calcTimer<Uc>__FPUc */
-extern "C" void func_80BDF844(void* _this, u8* param_0) {
- // NONMATCHING
+static int daObjDmElevator_MoveBGDraw(daObjDmElevator_c* i_this) {
+ return i_this->MoveBGDraw();
}
-/* ############################################################################################## */
-/* 80BDFBE0-80BDFBE4 0000B0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBE0[4];
-#pragma pop
-
-/* 80BDFBE4-80BDFBE8 0000B4 0004+00 0/0 0/0 0/0 .bss
- * sInstance__35JASGlobalInstance<14JASAudioThread> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBE4[4];
-#pragma pop
-
-/* 80BDFBE8-80BDFBEC 0000B8 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBE8[4];
-#pragma pop
-
-/* 80BDFBEC-80BDFBF0 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBEC[4];
-#pragma pop
-
-/* 80BDFBF0-80BDFBF4 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBF0[4];
-#pragma pop
-
-/* 80BDFBF4-80BDFBF8 0000C4 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBF4[4];
-#pragma pop
-
-/* 80BDFBF8-80BDFBFC 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBF8[4];
-#pragma pop
-
-/* 80BDFBFC-80BDFC00 0000CC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__36JASGlobalInstance<15JAISoundStarter> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFBFC[4];
-#pragma pop
-
-/* 80BDFC00-80BDFC04 0000D0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__35JASGlobalInstance<14Z2SoundStarter> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC00[4];
-#pragma pop
-
-/* 80BDFC04-80BDFC08 0000D4 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC04[4];
-#pragma pop
-
-/* 80BDFC08-80BDFC0C 0000D8 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC08[4];
-#pragma pop
-
-/* 80BDFC0C-80BDFC10 0000DC 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC0C[4];
-#pragma pop
-
-/* 80BDFC10-80BDFC14 0000E0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAIStreamMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC10[4];
-#pragma pop
-
-/* 80BDFC14-80BDFC18 0000E4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC14[4];
-#pragma pop
-
-/* 80BDFC18-80BDFC1C 0000E8 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAISoundInfo> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC18[4];
-#pragma pop
-
-/* 80BDFC1C-80BDFC20 0000EC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13JAUSoundTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC1C[4];
-#pragma pop
-
-/* 80BDFC20-80BDFC24 0000F0 0004+00 0/0 0/0 0/0 .bss
- * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC20[4];
-#pragma pop
-
-/* 80BDFC24-80BDFC28 0000F4 0004+00 0/0 0/0 0/0 .bss
- * sInstance__33JASGlobalInstance<12JAUSoundInfo> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC24[4];
-#pragma pop
-
-/* 80BDFC28-80BDFC2C 0000F8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC28[4];
-#pragma pop
-
-/* 80BDFC2C-80BDFC30 0000FC 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC2C[4];
-#pragma pop
-
-/* 80BDFC30-80BDFC34 000100 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC30[4];
-#pragma pop
-
-/* 80BDFC34-80BDFC38 000104 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC34[4];
-#pragma pop
-
-/* 80BDFC38-80BDFC3C 000108 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC38[4];
-#pragma pop
+/* 80BDFAB8-80BDFAD8 -00001 0020+00 1/0 0/0 0/0 .data daObjDmElevator_METHODS */
+static actor_method_class daObjDmElevator_METHODS = {
+ (process_method_func)daObjDmElevator_create1st,
+ (process_method_func)daObjDmElevator_MoveBGDelete,
+ (process_method_func)daObjDmElevator_MoveBGExecute,
+ 0,
+ (process_method_func)daObjDmElevator_MoveBGDraw,
+};
-/* 80BDFC3C-80BDFC40 00010C 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
- */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC3C[4];
-#pragma pop
-
-/* 80BDFC40-80BDFC44 000110 0004+00 0/0 0/0 0/0 .bss
- * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
-#pragma push
-#pragma force_active on
-static u8 data_80BDFC40[4];
-#pragma pop
+/* 80BDFAD8-80BDFB08 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Elevator */
+extern actor_process_profile_definition g_profile_Obj_Elevator = {
+ fpcLy_CURRENT_e, // mLayerID
+ 3, // mListID
+ fpcPi_CURRENT_e, // mListPrio
+ PROC_Obj_Elevator, // mProcName
+ &g_fpcLf_Method.base, // sub_method
+ sizeof(daObjDmElevator_c), // mSize
+ 0, // mSizeOther
+ 0, // mParameters
+ &g_fopAc_Method.base, // sub_method
+ 542, // mPriority
+ &daObjDmElevator_METHODS, // sub_method
+ 0x00044100, // mStatus
+ fopAc_ACTOR_e, // mActorType
+ fopAc_CULLBOX_CUSTOM_e, // cullType
+};
-/* 80BDF8EC-80BDF8EC 00007C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
+/* 80BDFBF0-80BDFBF4 0000C0 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> */
+AUDIO_INSTANCES;