diff --git a/config/GZ2E01/rels/d_a_obj_spinLift/symbols.txt b/config/GZ2E01/rels/d_a_obj_spinLift/symbols.txt index 1a1d15365a..e6ef9cf494 100644 --- a/config/GZ2E01/rels/d_a_obj_spinLift/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_spinLift/symbols.txt @@ -20,10 +20,10 @@ init_modeMoveEnd__12daSpinLift_cFv = .text:0x00000AD0; // type:function size:0x3 modeMoveEnd__12daSpinLift_cFv = .text:0x00000DDC; // type:function size:0x4 scope:global Draw__12daSpinLift_cFv = .text:0x00000DE0; // type:function size:0xA4 scope:global Delete__12daSpinLift_cFv = .text:0x00000E84; // type:function size:0x40 scope:global -daSpinLift_Draw__FP12daSpinLift_c = .text:0x00000EC4; // type:function size:0x2C scope:global -daSpinLift_Execute__FP12daSpinLift_c = .text:0x00000EF0; // type:function size:0x20 scope:global -daSpinLift_Delete__FP12daSpinLift_c = .text:0x00000F10; // type:function size:0x20 scope:global -daSpinLift_Create__FP10fopAc_ac_c = .text:0x00000F30; // type:function size:0x20 scope:global +daSpinLift_Draw__FP12daSpinLift_c = .text:0x00000EC4; // type:function size:0x2C scope:local +daSpinLift_Execute__FP12daSpinLift_c = .text:0x00000EF0; // type:function size:0x20 scope:local +daSpinLift_Delete__FP12daSpinLift_c = .text:0x00000F10; // type:function size:0x20 scope:local +daSpinLift_Create__FP10fopAc_ac_c = .text:0x00000F30; // type:function size:0x20 scope:local __dt__16daSpinLift_HIO_cFv = .text:0x00000F50; // type:function size:0x5C scope:global __sinit_d_a_obj_spinLift_cpp = .text:0x00000FAC; // type:function size:0x3C scope:local _ctors = .ctors:0x00000000; // type:label scope:global @@ -43,16 +43,17 @@ l_dzbIdx = .rodata:0x00000028; // type:object size:0x24 scope:global @3907 = .rodata:0x00000070; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x00000074; // type:object size:0x58 scope:local data:string_table ...data.0 = .data:0x00000000; // type:label scope:local -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local -lbl_629_data_10 = .data:0x00000010; // type:object size:0x10 -l_resNameIdx = .data:0x00000020; // type:object size:0x24 scope:global +_three$localstatic4$sqrtf = .data:0x00000010; // type:object size:0x8 +_half$localstatic3$sqrtf = .data:0x00000018; // type:object size:0x8 +l_resNameIdx = .data:0x00000020; // type:object size:0x24 scope:local @3749 = .data:0x00000044; // type:object size:0xC scope:local @3750 = .data:0x00000050; // type:object size:0xC scope:local @3751 = .data:0x0000005C; // type:object size:0xC scope:local @3752 = .data:0x00000068; // type:object size:0xC scope:local mode_proc$3748 = .data:0x00000074; // type:object size:0x30 scope:local -l_daSpinLift_Method = .data:0x000000A4; // type:object size:0x20 scope:global +l_daSpinLift_Method = .data:0x000000A4; // type:object size:0x20 scope:local g_profile_Obj_SpinLift = .data:0x000000C4; // type:object size:0x30 scope:global __vt__12daSpinLift_c = .data:0x000000F4; // type:object size:0x28 scope:global __vt__16daSpinLift_HIO_c = .data:0x0000011C; // type:object size:0xC scope:global @@ -60,4 +61,4 @@ __vt__14mDoHIO_entry_c = .data:0x00000128; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @3631 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x10 scope:global data:byte -lbl_629_bss_24 = .bss:0x00000024; // type:object size:0x1 data:byte +init$1678 = .bss:0x00000024; // type:object size:0x1 data:byte diff --git a/config/GZ2J01/rels/d_a_obj_spinLift/symbols.txt b/config/GZ2J01/rels/d_a_obj_spinLift/symbols.txt index 8c06bb72ce..e6ef9cf494 100644 --- a/config/GZ2J01/rels/d_a_obj_spinLift/symbols.txt +++ b/config/GZ2J01/rels/d_a_obj_spinLift/symbols.txt @@ -20,10 +20,10 @@ init_modeMoveEnd__12daSpinLift_cFv = .text:0x00000AD0; // type:function size:0x3 modeMoveEnd__12daSpinLift_cFv = .text:0x00000DDC; // type:function size:0x4 scope:global Draw__12daSpinLift_cFv = .text:0x00000DE0; // type:function size:0xA4 scope:global Delete__12daSpinLift_cFv = .text:0x00000E84; // type:function size:0x40 scope:global -daSpinLift_Draw__FP12daSpinLift_c = .text:0x00000EC4; // type:function size:0x2C scope:global -daSpinLift_Execute__FP12daSpinLift_c = .text:0x00000EF0; // type:function size:0x20 scope:global -daSpinLift_Delete__FP12daSpinLift_c = .text:0x00000F10; // type:function size:0x20 scope:global -daSpinLift_Create__FP10fopAc_ac_c = .text:0x00000F30; // type:function size:0x20 scope:global +daSpinLift_Draw__FP12daSpinLift_c = .text:0x00000EC4; // type:function size:0x2C scope:local +daSpinLift_Execute__FP12daSpinLift_c = .text:0x00000EF0; // type:function size:0x20 scope:local +daSpinLift_Delete__FP12daSpinLift_c = .text:0x00000F10; // type:function size:0x20 scope:local +daSpinLift_Create__FP10fopAc_ac_c = .text:0x00000F30; // type:function size:0x20 scope:local __dt__16daSpinLift_HIO_cFv = .text:0x00000F50; // type:function size:0x5C scope:global __sinit_d_a_obj_spinLift_cpp = .text:0x00000FAC; // type:function size:0x3C scope:local _ctors = .ctors:0x00000000; // type:label scope:global @@ -42,16 +42,18 @@ l_dzbIdx = .rodata:0x00000028; // type:object size:0x24 scope:global @3880 = .rodata:0x0000006C; // type:object size:0x4 scope:local @3907 = .rodata:0x00000070; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x00000074; // type:object size:0x58 scope:local data:string_table -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +...data.0 = .data:0x00000000; // type:label scope:local +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local -lbl_629_data_10 = .data:0x00000010; // type:object size:0x10 -l_resNameIdx = .data:0x00000020; // type:object size:0x24 scope:global +_three$localstatic4$sqrtf = .data:0x00000010; // type:object size:0x8 +_half$localstatic3$sqrtf = .data:0x00000018; // type:object size:0x8 +l_resNameIdx = .data:0x00000020; // type:object size:0x24 scope:local @3749 = .data:0x00000044; // type:object size:0xC scope:local @3750 = .data:0x00000050; // type:object size:0xC scope:local @3751 = .data:0x0000005C; // type:object size:0xC scope:local @3752 = .data:0x00000068; // type:object size:0xC scope:local mode_proc$3748 = .data:0x00000074; // type:object size:0x30 scope:local -l_daSpinLift_Method = .data:0x000000A4; // type:object size:0x20 scope:global +l_daSpinLift_Method = .data:0x000000A4; // type:object size:0x20 scope:local g_profile_Obj_SpinLift = .data:0x000000C4; // type:object size:0x30 scope:global __vt__12daSpinLift_c = .data:0x000000F4; // type:object size:0x28 scope:global __vt__16daSpinLift_HIO_c = .data:0x0000011C; // type:object size:0xC scope:global @@ -59,4 +61,4 @@ __vt__14mDoHIO_entry_c = .data:0x00000128; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @3631 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x10 scope:global data:byte -lbl_629_bss_24 = .bss:0x00000024; // type:object size:0x1 data:byte +init$1678 = .bss:0x00000024; // type:object size:0x1 data:byte diff --git a/config/GZ2P01/rels/d_a_obj_spinLift/symbols.txt b/config/GZ2P01/rels/d_a_obj_spinLift/symbols.txt index 8c06bb72ce..e6ef9cf494 100644 --- a/config/GZ2P01/rels/d_a_obj_spinLift/symbols.txt +++ b/config/GZ2P01/rels/d_a_obj_spinLift/symbols.txt @@ -20,10 +20,10 @@ init_modeMoveEnd__12daSpinLift_cFv = .text:0x00000AD0; // type:function size:0x3 modeMoveEnd__12daSpinLift_cFv = .text:0x00000DDC; // type:function size:0x4 scope:global Draw__12daSpinLift_cFv = .text:0x00000DE0; // type:function size:0xA4 scope:global Delete__12daSpinLift_cFv = .text:0x00000E84; // type:function size:0x40 scope:global -daSpinLift_Draw__FP12daSpinLift_c = .text:0x00000EC4; // type:function size:0x2C scope:global -daSpinLift_Execute__FP12daSpinLift_c = .text:0x00000EF0; // type:function size:0x20 scope:global -daSpinLift_Delete__FP12daSpinLift_c = .text:0x00000F10; // type:function size:0x20 scope:global -daSpinLift_Create__FP10fopAc_ac_c = .text:0x00000F30; // type:function size:0x20 scope:global +daSpinLift_Draw__FP12daSpinLift_c = .text:0x00000EC4; // type:function size:0x2C scope:local +daSpinLift_Execute__FP12daSpinLift_c = .text:0x00000EF0; // type:function size:0x20 scope:local +daSpinLift_Delete__FP12daSpinLift_c = .text:0x00000F10; // type:function size:0x20 scope:local +daSpinLift_Create__FP10fopAc_ac_c = .text:0x00000F30; // type:function size:0x20 scope:local __dt__16daSpinLift_HIO_cFv = .text:0x00000F50; // type:function size:0x5C scope:global __sinit_d_a_obj_spinLift_cpp = .text:0x00000FAC; // type:function size:0x3C scope:local _ctors = .ctors:0x00000000; // type:label scope:global @@ -42,16 +42,18 @@ l_dzbIdx = .rodata:0x00000028; // type:object size:0x24 scope:global @3880 = .rodata:0x0000006C; // type:object size:0x4 scope:local @3907 = .rodata:0x00000070; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x00000074; // type:object size:0x58 scope:local data:string_table -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +...data.0 = .data:0x00000000; // type:label scope:local +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local -lbl_629_data_10 = .data:0x00000010; // type:object size:0x10 -l_resNameIdx = .data:0x00000020; // type:object size:0x24 scope:global +_three$localstatic4$sqrtf = .data:0x00000010; // type:object size:0x8 +_half$localstatic3$sqrtf = .data:0x00000018; // type:object size:0x8 +l_resNameIdx = .data:0x00000020; // type:object size:0x24 scope:local @3749 = .data:0x00000044; // type:object size:0xC scope:local @3750 = .data:0x00000050; // type:object size:0xC scope:local @3751 = .data:0x0000005C; // type:object size:0xC scope:local @3752 = .data:0x00000068; // type:object size:0xC scope:local mode_proc$3748 = .data:0x00000074; // type:object size:0x30 scope:local -l_daSpinLift_Method = .data:0x000000A4; // type:object size:0x20 scope:global +l_daSpinLift_Method = .data:0x000000A4; // type:object size:0x20 scope:local g_profile_Obj_SpinLift = .data:0x000000C4; // type:object size:0x30 scope:global __vt__12daSpinLift_c = .data:0x000000F4; // type:object size:0x28 scope:global __vt__16daSpinLift_HIO_c = .data:0x0000011C; // type:object size:0xC scope:global @@ -59,4 +61,4 @@ __vt__14mDoHIO_entry_c = .data:0x00000128; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global @3631 = .bss:0x00000008; // type:object size:0xC scope:local l_HIO = .bss:0x00000014; // type:object size:0x10 scope:global data:byte -lbl_629_bss_24 = .bss:0x00000024; // type:object size:0x1 data:byte +init$1678 = .bss:0x00000024; // type:object size:0x1 data:byte diff --git a/configure.py b/configure.py index 8f891238ff..134de8c854 100755 --- a/configure.py +++ b/configure.py @@ -2156,7 +2156,7 @@ config.libs = [ ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_snowEffTag"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_snow_soup"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_so"), - ActorRel(NonMatching, "d_a_obj_spinLift"), + ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_spinLift"), # extra weak dtors? ActorRel(NonMatching, "d_a_obj_ss_drink"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ss_item"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_stairBlock"), diff --git a/include/d/actor/d_a_obj_spinLift.h b/include/d/actor/d_a_obj_spinLift.h index f8bf06ed6e..c395d05dbd 100644 --- a/include/d/actor/d_a_obj_spinLift.h +++ b/include/d/actor/d_a_obj_spinLift.h @@ -1,6 +1,7 @@ #ifndef D_A_OBJ_SPINLIFT_H #define D_A_OBJ_SPINLIFT_H +#include "d/d_bg_s_movebg_actor.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,12 +12,12 @@ * @details * */ -class daSpinLift_c : public fopAc_ac_c { +class daSpinLift_c : public dBgS_MoveBgActor { public: + typedef void (daSpinLift_c::*modeFunc)(); + /* 80CE3E2C */ void setBaseMtx(); - /* 80CE3E9C */ void CreateHeap(); - /* 80CE3F1C */ void create(); - /* 80CE40FC */ void Execute(Mtx**); + /* 80CE3F1C */ int create(); /* 80CE414C */ void moveLift(); /* 80CE4290 */ void init_modeWait(); /* 80CE429C */ void modeWait(); @@ -26,20 +27,32 @@ public: /* 80CE4698 */ void modeDownMove(); /* 80CE4790 */ void init_modeMoveEnd(); /* 80CE4A9C */ void modeMoveEnd(); - /* 80CE4AA0 */ void Draw(); - /* 80CE4B44 */ void Delete(); + + /* 80CE3E9C */ virtual int CreateHeap(); + /* 80CE40FC */ virtual int Execute(Mtx**); + /* 80CE4AA0 */ virtual int Draw(); + /* 80CE4B44 */ virtual int Delete(); + + u8 getModelType() { return current.angle.x; } + int getMoveHeight() { return fopAcM_GetParamBit(this, 16, 8); } + int getMoveSpeed() { return fopAcM_GetParamBit(this, 24, 8); } + int getSw() { return fopAcM_GetParamBit(this, 0, 8); } + u8 getTimer() { return (current.angle.x & 0xff00) >> 8; } + int getEndSw() { return fopAcM_GetParamBit(this, 8, 8); } private: - /* 0x568 */ u8 field_0x568[0x5c0 - 0x568]; + /* 0x5A0 */ request_of_phase_process_class mPhase; + /* 0x5A8 */ J3DModel* mpModel; + /* 0x5AC */ u8 field_0x5ac; + /* 0x5B0 */ f32 mMoveHeight; + /* 0x5B4 */ f32 mMoveSpeed; + /* 0x5B8 */ u8 field_0x5b8; + /* 0x5B9 */ u8 mTimer; + /* 0x5BA */ u8 field_0x5ba; + /* 0x5BB */ u8 mModelType; + /* 0x5BC */ u8 field_0x5bc; }; STATIC_ASSERT(sizeof(daSpinLift_c) == 0x5c0); -class daSpinLift_HIO_c { -public: - /* 80CE3DAC */ daSpinLift_HIO_c(); - /* 80CE4C10 */ ~daSpinLift_HIO_c(); -}; - - #endif /* D_A_OBJ_SPINLIFT_H */ diff --git a/src/d/actor/d_a_obj_spinLift.cpp b/src/d/actor/d_a_obj_spinLift.cpp index 7f0baee9e0..1cd2c81f6a 100644 --- a/src/d/actor/d_a_obj_spinLift.cpp +++ b/src/d/actor/d_a_obj_spinLift.cpp @@ -1,437 +1,325 @@ /** * @file d_a_obj_spinLift.cpp - * -*/ + * + */ #include "d/dolzel_rel.h" #include "d/actor/d_a_obj_spinLift.h" #include "dol2asm.h" +class daSpinLift_HIO_c : public mDoHIO_entry_c { +public: + /* 80CE3DAC */ daSpinLift_HIO_c(); + /* 80CE4C10 */ ~daSpinLift_HIO_c() {}; +#ifdef DEBUG + void genMessage(JORMContext*); +#endif -// -// Forward References: -// - -extern "C" void __ct__16daSpinLift_HIO_cFv(); -extern "C" void __dt__14mDoHIO_entry_cFv(); -extern "C" void setBaseMtx__12daSpinLift_cFv(); -extern "C" void CreateHeap__12daSpinLift_cFv(); -extern "C" void create__12daSpinLift_cFv(); -extern "C" void Execute__12daSpinLift_cFPPA3_A4_f(); -extern "C" void moveLift__12daSpinLift_cFv(); -extern "C" void init_modeWait__12daSpinLift_cFv(); -extern "C" void modeWait__12daSpinLift_cFv(); -extern "C" void init_modeUpMove__12daSpinLift_cFv(); -extern "C" void modeUpMove__12daSpinLift_cFv(); -extern "C" void init_modeDownMove__12daSpinLift_cFv(); -extern "C" void modeDownMove__12daSpinLift_cFv(); -extern "C" void init_modeMoveEnd__12daSpinLift_cFv(); -extern "C" void modeMoveEnd__12daSpinLift_cFv(); -extern "C" void Draw__12daSpinLift_cFv(); -extern "C" void Delete__12daSpinLift_cFv(); -extern "C" static void daSpinLift_Draw__FP12daSpinLift_c(); -extern "C" static void daSpinLift_Execute__FP12daSpinLift_c(); -extern "C" static void daSpinLift_Delete__FP12daSpinLift_c(); -extern "C" static void daSpinLift_Create__FP10fopAc_ac_c(); -extern "C" void __dt__16daSpinLift_HIO_cFv(); -extern "C" void __sinit_d_a_obj_spinLift_cpp(); -extern "C" extern char const* const d_a_obj_spinLift__stringBase0; - -// -// External References: -// - -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcM_setCullSizeBox2__FP10fopAc_ac_cP12J3DModelData(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__16dBgS_MoveBgActorFv(); -extern "C" bool Create__16dBgS_MoveBgActorFv(); -extern "C" bool IsDelete__16dBgS_MoveBgActorFv(); -extern "C" bool ToFore__16dBgS_MoveBgActorFv(); -extern "C" bool ToBack__16dBgS_MoveBgActorFv(); -extern "C" void -MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f(); -extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv(); -extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80CE4CBC-80CE4CC0 000000 0004+00 4/4 0/0 0/0 .rodata @3637 */ -SECTION_RODATA static u8 const lit_3637[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80CE4CBC, &lit_3637); - -/* 80CE4D30-80CE4D30 000074 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CE4D30 = "L4_N_Entr"; -SECTION_DEAD static char const* const stringBase_80CE4D3A = "L4_N_SlpH"; -SECTION_DEAD static char const* const stringBase_80CE4D44 = "L4_N_SlpL"; -SECTION_DEAD static char const* const stringBase_80CE4D4E = "L4_Center"; -SECTION_DEAD static char const* const stringBase_80CE4D58 = "L4_Switch"; -SECTION_DEAD static char const* const stringBase_80CE4D62 = "L4_S_Slp"; -SECTION_DEAD static char const* const stringBase_80CE4D6B = "L4_Wal_ZE"; -SECTION_DEAD static char const* const stringBase_80CE4D75 = "L4_Wal_ZW"; -SECTION_DEAD static char const* const stringBase_80CE4D7F = "L4_Wal_X"; -#pragma pop - -/* 80CE4DA8-80CE4DCC -00001 0024+00 3/3 0/0 0/0 .data l_resNameIdx */ -SECTION_DATA static void* l_resNameIdx[9] = { - (void*)&d_a_obj_spinLift__stringBase0, - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0xA), - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0x14), - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0x1E), - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0x28), - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0x32), - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0x3B), - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0x45), - (void*)(((char*)&d_a_obj_spinLift__stringBase0) + 0x4F), + /* 0x06 */ u8 field_0x06; + /* 0x08 */ f32 mInitialSpeed; + /* 0x0C */ u8 mVibration; }; -/* 80CE4DCC-80CE4DD8 -00001 000C+00 0/1 0/0 0/0 .data @3749 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3749[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeWait__12daSpinLift_cFv, -}; -#pragma pop - -/* 80CE4DD8-80CE4DE4 -00001 000C+00 0/1 0/0 0/0 .data @3750 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3750[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeUpMove__12daSpinLift_cFv, -}; -#pragma pop - -/* 80CE4DE4-80CE4DF0 -00001 000C+00 0/1 0/0 0/0 .data @3751 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3751[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeDownMove__12daSpinLift_cFv, -}; -#pragma pop - -/* 80CE4DF0-80CE4DFC -00001 000C+00 0/1 0/0 0/0 .data @3752 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3752[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)modeMoveEnd__12daSpinLift_cFv, -}; -#pragma pop - -/* 80CE4DFC-80CE4E2C 000074 0030+00 0/1 0/0 0/0 .data mode_proc$3748 */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 mode_proc[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 - -/* 80CE4E2C-80CE4E4C -00001 0020+00 1/0 0/0 0/0 .data l_daSpinLift_Method */ -static actor_method_class l_daSpinLift_Method = { - (process_method_func)daSpinLift_Create__FP10fopAc_ac_c, - (process_method_func)daSpinLift_Delete__FP12daSpinLift_c, - (process_method_func)daSpinLift_Execute__FP12daSpinLift_c, - 0, - (process_method_func)daSpinLift_Draw__FP12daSpinLift_c, -}; - -/* 80CE4E4C-80CE4E7C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SpinLift */ -extern actor_process_profile_definition g_profile_Obj_SpinLift = { - fpcLy_CURRENT_e, // mLayerID - 3, // mListID - fpcPi_CURRENT_e, // mListPrio - PROC_Obj_SpinLift, // mProcName - &g_fpcLf_Method.base, // sub_method - sizeof(daSpinLift_c), // mSize - 0, // mSizeOther - 0, // mParameters - &g_fopAc_Method.base, // sub_method - 512, // mPriority - &l_daSpinLift_Method, // sub_method - 0x00040100, // mStatus - fopAc_ACTOR_e, // mActorType - fopAc_CULLBOX_CUSTOM_e, // cullType -}; - -/* 80CE4E7C-80CE4EA4 0000F4 0028+00 1/1 0/0 0/0 .data __vt__12daSpinLift_c */ -SECTION_DATA extern void* __vt__12daSpinLift_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__12daSpinLift_cFv, - (void*)Create__16dBgS_MoveBgActorFv, - (void*)Execute__12daSpinLift_cFPPA3_A4_f, - (void*)Draw__12daSpinLift_cFv, - (void*)Delete__12daSpinLift_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; - -/* 80CE4EA4-80CE4EB0 00011C 000C+00 2/2 0/0 0/0 .data __vt__16daSpinLift_HIO_c */ -SECTION_DATA extern void* __vt__16daSpinLift_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__16daSpinLift_HIO_cFv, -}; - -/* 80CE4EB0-80CE4EBC 000128 000C+00 3/3 0/0 0/0 .data __vt__14mDoHIO_entry_c */ -SECTION_DATA extern void* __vt__14mDoHIO_entry_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14mDoHIO_entry_cFv, -}; +/* 80CE4ED4-80CE4EE4 000014 0010+00 4/4 0/0 0/0 .bss l_HIO */ +static daSpinLift_HIO_c l_HIO; /* 80CE3DAC-80CE3DE4 0000EC 0038+00 1/1 0/0 0/0 .text __ct__16daSpinLift_HIO_cFv */ daSpinLift_HIO_c::daSpinLift_HIO_c() { - // NONMATCHING + field_0x06 = 0x3c; + mInitialSpeed = 0.0f; + mVibration = 4; } -/* 80CE3DE4-80CE3E2C 000124 0048+00 1/0 0/0 0/0 .text __dt__14mDoHIO_entry_cFv */ -// mDoHIO_entry_c::~mDoHIO_entry_c() { -extern "C" void __dt__14mDoHIO_entry_cFv() { - // NONMATCHING +#ifdef DEBUG +void daSpinLift_HIO_c::genMessage(JORMContext* ctx) { + // === Ascent === + ctx->genLabel("\n=== 上昇 ===", 0, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + // Initial Speed + ctx->genSlider("初速", &mInitialSpeed, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); + // Vibration + ctx->startComboBox("振動", &mVibration, 0, NULL, 0xffff, 0xffff, 0x100, 0x1a); + // Strength 1 - 8 + ctx->genComboBoxItem("強さ1", 1); + ctx->genComboBoxItem("強さ2", 2); + ctx->genComboBoxItem("強さ3", 3); + ctx->genComboBoxItem("強さ4", 4); + ctx->genComboBoxItem("強さ5", 5); + ctx->genComboBoxItem("強さ6", 6); + ctx->genComboBoxItem("強さ7", 7); + ctx->genComboBoxItem("強さ8", 8); + ctx->endComboBox(); } +#endif + +/* 80CE4DA8-80CE4DCC -00001 0024+00 3/3 0/0 0/0 .data l_resNameIdx */ +static char* l_resNameIdx[] = { + "L4_N_Entr", "L4_N_SlpH", "L4_N_SlpL", "L4_Center", "L4_Switch", + "L4_S_Slp", "L4_Wal_ZE", "L4_Wal_ZW", "L4_Wal_X", +}; /* 80CE3E2C-80CE3E9C 00016C 0070+00 2/2 0/0 0/0 .text setBaseMtx__12daSpinLift_cFv */ void daSpinLift_c::setBaseMtx() { - // NONMATCHING + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mpModel->setBaseScale(scale); + mpModel->setBaseTRMtx(mDoMtx_stack_c::get()); } -/* ############################################################################################## */ -/* 80CE4CC0-80CE4CE4 000004 0024+00 1/1 0/0 0/0 .rodata l_bmdIdx */ -SECTION_RODATA static u8 const l_bmdIdx[36] = { - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, - 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x04, -}; -COMPILER_STRIP_GATE(0x80CE4CC0, &l_bmdIdx); - /* 80CE3E9C-80CE3F1C 0001DC 0080+00 1/0 0/0 0/0 .text CreateHeap__12daSpinLift_cFv */ -void daSpinLift_c::CreateHeap() { - // NONMATCHING +int daSpinLift_c::CreateHeap() { + static u32 const l_bmdIdx[] = {4, 4, 4, 4, 4, 4, 4, 4, 4}; + J3DModelData* modelData = + (J3DModelData*)dComIfG_getObjectRes(l_resNameIdx[mModelType], l_bmdIdx[mModelType]); + JUT_ASSERT(222, modelData != 0); + mpModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + return mpModel == NULL ? 0 : 1; } -/* ############################################################################################## */ -/* 80CE4CE4-80CE4D08 000028 0024+00 1/1 0/0 0/0 .rodata l_dzbIdx */ -SECTION_RODATA static u8 const l_dzbIdx[36] = { - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, - 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, -}; -COMPILER_STRIP_GATE(0x80CE4CE4, &l_dzbIdx); - -/* 80CE4D08-80CE4D0C 00004C 0004+00 1/1 0/0 0/0 .rodata @3731 */ -SECTION_RODATA static f32 const lit_3731 = 50.0f; -COMPILER_STRIP_GATE(0x80CE4D08, &lit_3731); - -/* 80CE4D0C-80CE4D14 000050 0008+00 1/1 0/0 0/0 .rodata @3733 */ -SECTION_RODATA static u8 const lit_3733[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CE4D0C, &lit_3733); - -/* 80CE4D14-80CE4D1C 000058 0008+00 1/1 0/0 0/0 .rodata @3735 */ -SECTION_RODATA static u8 const lit_3735[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CE4D14, &lit_3735); - /* 80CE3F1C-80CE40FC 00025C 01E0+00 1/1 0/0 0/0 .text create__12daSpinLift_cFv */ -void daSpinLift_c::create() { - // NONMATCHING +int daSpinLift_c::create() { + static const int l_dzbIdx[] = {7, 7, 7, 7, 7, 7, 7, 7, 7}; + fopAcM_SetupActor(this, daSpinLift_c); + mModelType = getModelType(); + int phase = dComIfG_resLoad(&mPhase, l_resNameIdx[mModelType]); + + if (phase == cPhs_COMPLEATE_e) { + if (MoveBGCreate(l_resNameIdx[mModelType], l_dzbIdx[mModelType], + dBgS_MoveBGProc_TypicalRotY, 0x9300, NULL) == cPhs_ERROR_e) + { + return cPhs_ERROR_e; + } + + fopAcM_SetMtx(this, mpModel->getBaseTRMtx()); + fopAcM_setCullSizeBox2(this, mpModel->getModelData()); + + s8 move_height = (s8)getMoveHeight(); + mMoveHeight = move_height * 50.0f; + + u8 move_speed = (u8)getMoveSpeed(); + mMoveSpeed = mMoveHeight / move_speed; + + mTimer = getTimer(); + field_0x5bc = fopAcM_isSwitch(this, getSw()); + + if (fopAcM_isSwitch(this, getEndSw())) { + current.pos.y += mMoveHeight; + init_modeMoveEnd(); + } else { + init_modeWait(); + } + + setBaseMtx(); +#ifdef DEBUG + // Spin Lift + l_HIO.entryHIO("スピンリフト"); +#endif + } + + return phase; } /* 80CE40FC-80CE414C 00043C 0050+00 1/0 0/0 0/0 .text Execute__12daSpinLift_cFPPA3_A4_f */ -void daSpinLift_c::Execute(Mtx** param_0) { - // NONMATCHING +int daSpinLift_c::Execute(Mtx** param_0) { + moveLift(); + *param_0 = &mpModel->getBaseTRMtx(); + setBaseMtx(); + return 1; } -/* ############################################################################################## */ -/* 80CE4EC8-80CE4ED4 000008 000C+00 1/1 0/0 0/0 .bss @3631 */ -static u8 lit_3631[12]; - -/* 80CE4ED4-80CE4EE4 000014 0010+00 4/4 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[16]; - -/* 80CE4EE4-80CE4EE8 000024 0004+00 1/1 0/0 0/0 .bss None */ -static u8 data_80CE4EE4[4]; - /* 80CE414C-80CE4290 00048C 0144+00 1/1 0/0 0/0 .text moveLift__12daSpinLift_cFv */ void daSpinLift_c::moveLift() { - // NONMATCHING + static daSpinLift_c::modeFunc mode_proc[] = { + &daSpinLift_c::modeWait, + &daSpinLift_c::modeUpMove, + &daSpinLift_c::modeDownMove, + &daSpinLift_c::modeMoveEnd, + }; + + if (!fopAcM_isSwitch(this, getEndSw())) { + u8 f5bc = field_0x5bc; + field_0x5bc = fopAcM_isSwitch(this, getSw()); + if (f5bc != field_0x5bc) { + if (field_0x5bc != 0) { + init_modeUpMove(); + } else { + init_modeDownMove(); + } + } + } + + (this->*mode_proc[field_0x5ac])(); } /* 80CE4290-80CE429C 0005D0 000C+00 3/3 0/0 0/0 .text init_modeWait__12daSpinLift_cFv */ void daSpinLift_c::init_modeWait() { - // NONMATCHING + field_0x5ac = 0; } /* 80CE429C-80CE42A0 0005DC 0004+00 1/0 0/0 0/0 .text modeWait__12daSpinLift_cFv */ -void daSpinLift_c::modeWait() { - /* empty function */ -} +void daSpinLift_c::modeWait() {} /* 80CE42A0-80CE42C4 0005E0 0024+00 1/1 0/0 0/0 .text init_modeUpMove__12daSpinLift_cFv */ void daSpinLift_c::init_modeUpMove() { - // NONMATCHING + fopAcM_SetSpeedF(this, l_HIO.mInitialSpeed); + field_0x5ba = mTimer; + field_0x5ac = 1; } -/* ############################################################################################## */ -/* 80CE4D1C-80CE4D20 000060 0004+00 0/1 0/0 0/0 .rodata @3877 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3877 = 30.0f; -COMPILER_STRIP_GATE(0x80CE4D1C, &lit_3877); -#pragma pop - -/* 80CE4D20-80CE4D24 000064 0004+00 0/3 0/0 0/0 .rodata @3878 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3878 = 1.0f; -COMPILER_STRIP_GATE(0x80CE4D20, &lit_3878); -#pragma pop - -/* 80CE4D24-80CE4D28 000068 0004+00 0/2 0/0 0/0 .rodata @3879 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3879 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80CE4D24, &lit_3879); -#pragma pop - -/* 80CE4D28-80CE4D2C 00006C 0004+00 0/3 0/0 0/0 .rodata @3880 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3880 = -1.0f; -COMPILER_STRIP_GATE(0x80CE4D28, &lit_3880); -#pragma pop - /* 80CE42C4-80CE468C 000604 03C8+00 1/0 0/0 0/0 .text modeUpMove__12daSpinLift_cFv */ void daSpinLift_c::modeUpMove() { - // NONMATCHING + if (field_0x5ba != 0) { + field_0x5ba--; + return; + } + + int unused = cLib_chaseF(&speedF, mMoveSpeed, mMoveSpeed / 30.0f); + f32 dVar3 = + cLib_addCalc(¤t.pos.y, home.pos.y + mMoveHeight, 1.0f, fopAcM_GetSpeedF(this), 0.1f); + cXyz cStack_34(current.pos); + cStack_34.y += cull.box.max.y; + mDoAud_seStartLevel(Z2SE_OBJ_STN_SPRL_RAIL, &cStack_34, 0, + dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + + if (dVar3 == 0.0f) { + if (mModelType == 1 || mModelType == 4) { + init_modeMoveEnd(); + return; + } + + mDoAud_seStart(Z2SE_OBJ_STN_SPRL_RAIL_ST, 0, 0, 0); + dComIfGp_getVibration().StartShock(l_HIO.mVibration, 15, cXyz(0.0f, 1.0f, 0.0f)); + + csXyz local_48(shape_angle); + local_48.x = 0; + + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_A), ¤t.pos, &local_48, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_B), ¤t.pos, &local_48, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_C), ¤t.pos, &local_48, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_D), ¤t.pos, &local_48, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_E), ¤t.pos, &local_48, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_F), ¤t.pos, &local_48, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_G), ¤t.pos, &local_48, NULL); + init_modeWait(); + } } /* 80CE468C-80CE4698 0009CC 000C+00 1/1 0/0 0/0 .text init_modeDownMove__12daSpinLift_cFv */ void daSpinLift_c::init_modeDownMove() { - // NONMATCHING + field_0x5ac = 2; } -/* ############################################################################################## */ -/* 80CE4D2C-80CE4D30 000070 0004+00 0/1 0/0 0/0 .rodata @3907 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3907 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80CE4D2C, &lit_3907); -#pragma pop - /* 80CE4698-80CE4790 0009D8 00F8+00 1/0 0/0 0/0 .text modeDownMove__12daSpinLift_cFv */ void daSpinLift_c::modeDownMove() { - // NONMATCHING + f32 dVar3 = cLib_addCalc(¤t.pos.y, home.pos.y, 0.3f, mMoveSpeed, 0.1f); + + if (current.pos.y != home.pos.y) { + cXyz acStack_38(current.pos); + acStack_38.y += cull.box.max.y; + mDoAud_seStartLevel(Z2SE_OBJ_STN_SPRL_RAIL_DW, &acStack_38, 0, + dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + } + + if (dVar3 == 0.0f) { + init_modeWait(); + } } /* 80CE4790-80CE4A9C 000AD0 030C+00 2/2 0/0 0/0 .text init_modeMoveEnd__12daSpinLift_cFv */ void daSpinLift_c::init_modeMoveEnd() { - // NONMATCHING + if (fopAcM_isSwitch(this, getEndSw()) == 0) { + fopAcM_onSwitch(this, getEndSw()); + mDoAud_seStart(Z2SE_OBJ_STN_SPRL_RAIL_ST, 0, 0, 0); + dComIfGp_getVibration().StartShock(l_HIO.mVibration, 15, cXyz(0.0f, 1.0f, 0.0f)); + + csXyz local_28(shape_angle); + local_28.x = 0; + + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_A), ¤t.pos, &local_28, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_B), ¤t.pos, &local_28, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_C), ¤t.pos, &local_28, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_D), ¤t.pos, &local_28, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_E), ¤t.pos, &local_28, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_F), ¤t.pos, &local_28, NULL); + dComIfGp_particle_set(dPa_RM(ID_ZI_S_LV4SLPH_KIDOU_G), ¤t.pos, &local_28, NULL); + } + + field_0x5ac = 3; } /* 80CE4A9C-80CE4AA0 000DDC 0004+00 1/0 0/0 0/0 .text modeMoveEnd__12daSpinLift_cFv */ -void daSpinLift_c::modeMoveEnd() { - /* empty function */ -} +void daSpinLift_c::modeMoveEnd() {} /* 80CE4AA0-80CE4B44 000DE0 00A4+00 1/0 0/0 0/0 .text Draw__12daSpinLift_cFv */ -void daSpinLift_c::Draw() { - // NONMATCHING +int daSpinLift_c::Draw() { + g_env_light.settingTevStruct(0x40, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mpModel); + dComIfGd_setList(); + return 1; } /* 80CE4B44-80CE4B84 000E84 0040+00 1/0 0/0 0/0 .text Delete__12daSpinLift_cFv */ -void daSpinLift_c::Delete() { - // NONMATCHING +int daSpinLift_c::Delete() { + dComIfG_resDelete(&mPhase, l_resNameIdx[mModelType]); +#ifdef DEBUG + l_HIO.removeHIO(); +#endif + return 1; } /* 80CE4B84-80CE4BB0 000EC4 002C+00 1/0 0/0 0/0 .text daSpinLift_Draw__FP12daSpinLift_c */ -static void daSpinLift_Draw(daSpinLift_c* param_0) { - // NONMATCHING +static int daSpinLift_Draw(daSpinLift_c* i_this) { + return i_this->MoveBGDraw(); } /* 80CE4BB0-80CE4BD0 000EF0 0020+00 1/0 0/0 0/0 .text daSpinLift_Execute__FP12daSpinLift_c */ -static void daSpinLift_Execute(daSpinLift_c* param_0) { - // NONMATCHING +static int daSpinLift_Execute(daSpinLift_c* i_this) { + return i_this->MoveBGExecute(); } /* 80CE4BD0-80CE4BF0 000F10 0020+00 1/0 0/0 0/0 .text daSpinLift_Delete__FP12daSpinLift_c */ -static void daSpinLift_Delete(daSpinLift_c* param_0) { - // NONMATCHING +static int daSpinLift_Delete(daSpinLift_c* i_this) { + fpc_ProcID proc_id = fopAcM_GetID(i_this); + return i_this->MoveBGDelete(); } /* 80CE4BF0-80CE4C10 000F30 0020+00 1/0 0/0 0/0 .text daSpinLift_Create__FP10fopAc_ac_c */ -static void daSpinLift_Create(fopAc_ac_c* param_0) { - // NONMATCHING +static int daSpinLift_Create(fopAc_ac_c* a_this) { + daSpinLift_c* i_this = (daSpinLift_c*)a_this; + fpc_ProcID proc_id = fopAcM_GetID(a_this); + return i_this->create(); } -/* 80CE4C10-80CE4C6C 000F50 005C+00 2/1 0/0 0/0 .text __dt__16daSpinLift_HIO_cFv */ -daSpinLift_HIO_c::~daSpinLift_HIO_c() { - // NONMATCHING -} +/* 80CE4E2C-80CE4E4C -00001 0020+00 1/0 0/0 0/0 .data l_daSpinLift_Method */ +static actor_method_class l_daSpinLift_Method = { + (process_method_func)daSpinLift_Create, (process_method_func)daSpinLift_Delete, + (process_method_func)daSpinLift_Execute, 0, + (process_method_func)daSpinLift_Draw, +}; -/* 80CE4C6C-80CE4CA8 000FAC 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_spinLift_cpp */ -void __sinit_d_a_obj_spinLift_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80CE4C6C, __sinit_d_a_obj_spinLift_cpp); -#pragma pop - -/* 80CE4D30-80CE4D30 000074 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +/* 80CE4E4C-80CE4E7C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_SpinLift */ +extern actor_process_profile_definition g_profile_Obj_SpinLift = { + fpcLy_CURRENT_e, // mLayerID + 3, // mListID + fpcPi_CURRENT_e, // mListPrio + PROC_Obj_SpinLift, // mProcName + &g_fpcLf_Method.base, // sub_method + sizeof(daSpinLift_c), // mSize + 0, // mSizeOther + 0, // mParameters + &g_fopAc_Method.base, // sub_method + 512, // mPriority + &l_daSpinLift_Method, // sub_method + 0x00040100, // mStatus + fopAc_ACTOR_e, // mActorType + fopAc_CULLBOX_CUSTOM_e, // cullType +};