Files
tp/src/d/actor/d_a_obj_lv4sand.cpp
T
TakaRikka 24b72a5302 some cleanup of f_pc/f_op files (#2254)
* cleanup f_pc files

* cleanup f_op files

* fix a couple f_op_actor_mng functions

* minor JSystem work
2024-11-29 18:24:26 +02:00

432 lines
15 KiB
C++

/**
* @file d_a_obj_lv4sand.cpp
*
*/
#include "d/actor/d_a_obj_lv4sand.h"
#include "dol2asm.h"
//
// Forward References:
//
extern "C" void initBaseMtx__14daObjLv4Sand_cFv();
extern "C" void setBaseMtx__14daObjLv4Sand_cFv();
extern "C" void Create__14daObjLv4Sand_cFv();
extern "C" void CreateHeap__14daObjLv4Sand_cFv();
extern "C" void __dt__12J3DFrameCtrlFv();
extern "C" void create1st__14daObjLv4Sand_cFv();
extern "C" void Execute__14daObjLv4Sand_cFPPA3_A4_f();
extern "C" void action__14daObjLv4Sand_cFv();
extern "C" void mode_init_wait__14daObjLv4Sand_cFv();
extern "C" void mode_wait__14daObjLv4Sand_cFv();
extern "C" void mode_init_move__14daObjLv4Sand_cFv();
extern "C" void mode_move__14daObjLv4Sand_cFv();
extern "C" void mode_init_dead__14daObjLv4Sand_cFv();
extern "C" void mode_dead__14daObjLv4Sand_cFv();
extern "C" void eventStart__14daObjLv4Sand_cFv();
extern "C" void Draw__14daObjLv4Sand_cFv();
extern "C" void Delete__14daObjLv4Sand_cFv();
extern "C" static void daObjLv4Sand_create1st__FP14daObjLv4Sand_c();
extern "C" static void daObjLv4Sand_MoveBGDelete__FP14daObjLv4Sand_c();
extern "C" static void daObjLv4Sand_MoveBGExecute__FP14daObjLv4Sand_c();
extern "C" static void daObjLv4Sand_MoveBGDraw__FP14daObjLv4Sand_c();
extern "C" void __dt__17dEvLib_callback_cFv();
extern "C" bool eventStart__17dEvLib_callback_cFv();
extern "C" bool eventRun__17dEvLib_callback_cFv();
extern "C" bool eventEnd__17dEvLib_callback_cFv();
extern "C" void __dt__14daObjLv4Sand_cFv();
extern "C" static void func_80C6A3A0();
extern "C" static void func_80C6A3A8();
extern "C" extern char const* const d_a_obj_lv4sand__stringBase0;
//
// External References:
//
extern "C" void mDoMtx_YrotM__FPA4_fs();
extern "C" void play__14mDoExt_baseAnmFv();
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
extern "C" void __dt__10fopAc_ac_cFv();
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 isDungeonItem__12dSv_memBit_cCFi();
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 dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz();
extern "C" void __ct__16dBgS_MoveBgActorFv();
extern "C" bool IsDelete__16dBgS_MoveBgActorFv();
extern "C" bool ToFore__16dBgS_MoveBgActorFv();
extern "C" bool ToBack__16dBgS_MoveBgActorFv();
extern "C" void
MoveBGCreate__16dBgS_MoveBgActorFPCciPFP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz_vUlPA3_A4_f();
extern "C" void MoveBGDelete__16dBgS_MoveBgActorFv();
extern "C" void MoveBGExecute__16dBgS_MoveBgActorFv();
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
extern "C" void cLib_chaseF__FPfff();
extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
extern "C" void* __nw__FUl();
extern "C" void __dl__FPv();
extern "C" void init__12J3DFrameCtrlFs();
extern "C" void __ptmf_scall();
extern "C" void _savegpr_28();
extern "C" void _savegpr_29();
extern "C" void _restgpr_28();
extern "C" void _restgpr_29();
extern "C" extern void* __vt__16dBgS_MoveBgActor[10];
extern "C" u8 now__14mDoMtx_stack_c[48];
extern "C" extern u8 g_dComIfG_gameInfo[122384];
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
extern "C" extern u8 data_80C6A508[4];
//
// Declarations:
//
/* 80C69A98-80C69AD4 000078 003C+00 1/1 0/0 0/0 .text initBaseMtx__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::initBaseMtx() {
// NONMATCHING
}
/* 80C69AD4-80C69B50 0000B4 007C+00 2/2 0/0 0/0 .text setBaseMtx__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::setBaseMtx() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C6A3B8-80C6A3BC 000000 0004+00 3/3 0/0 0/0 .rodata @3679 */
SECTION_RODATA static f32 const lit_3679 = -3500.0f;
COMPILER_STRIP_GATE(0x80C6A3B8, &lit_3679);
/* 80C6A3BC-80C6A3C0 000004 0004+00 2/2 0/0 0/0 .rodata @3680 */
SECTION_RODATA static u8 const lit_3680[4] = {
0x00,
0x00,
0x00,
0x00,
};
COMPILER_STRIP_GATE(0x80C6A3BC, &lit_3680);
/* 80C69B50-80C69C28 000130 00D8+00 1/0 0/0 0/0 .text Create__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::Create() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C6A3C0-80C6A3C4 000008 0004+00 1/2 0/0 0/0 .rodata @3710 */
SECTION_RODATA static f32 const lit_3710 = 1.0f;
COMPILER_STRIP_GATE(0x80C6A3C0, &lit_3710);
/* 80C6A3D4-80C6A3D4 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
#pragma push
#pragma force_active on
SECTION_DEAD static char const* const stringBase_80C6A3D4 = "P_L4Sand";
#pragma pop
/* 80C6A3E0-80C6A3EC 000000 000C+00 1/1 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,
};
/* 80C6A3EC-80C6A400 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
/* 80C6A400-80C6A404 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */
SECTION_DATA static void* l_arcName = (void*)&d_a_obj_lv4sand__stringBase0;
/* 80C6A404-80C6A410 -00001 000C+00 0/1 0/0 0/0 .data @3754 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3754[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_wait__14daObjLv4Sand_cFv,
};
#pragma pop
/* 80C6A410-80C6A41C -00001 000C+00 0/1 0/0 0/0 .data @3755 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3755[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_move__14daObjLv4Sand_cFv,
};
#pragma pop
/* 80C6A41C-80C6A428 -00001 000C+00 0/1 0/0 0/0 .data @3756 */
#pragma push
#pragma force_active on
SECTION_DATA static void* lit_3756[3] = {
(void*)NULL,
(void*)0xFFFFFFFF,
(void*)mode_dead__14daObjLv4Sand_cFv,
};
#pragma pop
/* 80C6A428-80C6A44C 000048 0024+00 0/1 0/0 0/0 .data l_func$3753 */
#pragma push
#pragma force_active on
SECTION_DATA static u8 l_func[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
/* 80C6A44C-80C6A46C -00001 0020+00 1/0 0/0 0/0 .data daObjLv4Sand_METHODS */
static actor_method_class daObjLv4Sand_METHODS = {
(process_method_func)daObjLv4Sand_create1st__FP14daObjLv4Sand_c,
(process_method_func)daObjLv4Sand_MoveBGDelete__FP14daObjLv4Sand_c,
(process_method_func)daObjLv4Sand_MoveBGExecute__FP14daObjLv4Sand_c,
0,
(process_method_func)daObjLv4Sand_MoveBGDraw__FP14daObjLv4Sand_c,
};
/* 80C6A46C-80C6A49C -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_Lv4Sand */
extern actor_process_profile_definition g_profile_Obj_Lv4Sand = {
fpcLy_CURRENT_e, // mLayerID
3, // mListID
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_Lv4Sand, // mProcName
&g_fpcLf_Method.base, // sub_method
sizeof(daObjLv4Sand_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
573, // mPriority
&daObjLv4Sand_METHODS, // sub_method
0x00044100, // mStatus
fopAc_ACTOR_e, // mActorType
fopAc_CULLBOX_CUSTOM_e, // cullType
};
/* 80C6A49C-80C6A4B4 0000BC 0018+00 3/3 0/0 0/0 .data __vt__17dEvLib_callback_c */
SECTION_DATA extern void* __vt__17dEvLib_callback_c[6] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__17dEvLib_callback_cFv,
(void*)eventStart__17dEvLib_callback_cFv,
(void*)eventRun__17dEvLib_callback_cFv,
(void*)eventEnd__17dEvLib_callback_cFv,
};
/* 80C6A4B4-80C6A4C0 0000D4 000C+00 2/2 0/0 0/0 .data __vt__12J3DFrameCtrl */
SECTION_DATA extern void* __vt__12J3DFrameCtrl[3] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)__dt__12J3DFrameCtrlFv,
};
/* 80C69C28-80C69D44 000208 011C+00 1/0 0/0 0/0 .text CreateHeap__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::CreateHeap() {
// NONMATCHING
}
/* 80C69D44-80C69D8C 000324 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */
// J3DFrameCtrl::~J3DFrameCtrl() {
extern "C" void __dt__12J3DFrameCtrlFv() {
// NONMATCHING
}
/* 80C69D8C-80C69E10 00036C 0084+00 1/1 0/0 0/0 .text create1st__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::create1st() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C6A3C4-80C6A3C8 00000C 0004+00 0/1 0/0 0/0 .rodata @3748 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3748 = 3300.0f;
COMPILER_STRIP_GATE(0x80C6A3C4, &lit_3748);
#pragma pop
/* 80C6A3C8-80C6A3CC 000010 0004+00 0/1 0/0 0/0 .rodata @3749 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3749 = -1.0f;
COMPILER_STRIP_GATE(0x80C6A3C8, &lit_3749);
#pragma pop
/* 80C69E10-80C69F18 0003F0 0108+00 1/0 0/0 0/0 .text Execute__14daObjLv4Sand_cFPPA3_A4_f
*/
void daObjLv4Sand_c::Execute(f32 (**param_0)[3][4]) {
// NONMATCHING
}
/* 80C69F18-80C69FBC 0004F8 00A4+00 1/1 0/0 0/0 .text action__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::action() {
// NONMATCHING
}
/* 80C69FBC-80C69FC8 00059C 000C+00 1/1 0/0 0/0 .text mode_init_wait__14daObjLv4Sand_cFv
*/
void daObjLv4Sand_c::mode_init_wait() {
// NONMATCHING
}
/* 80C69FC8-80C6A01C 0005A8 0054+00 1/0 0/0 0/0 .text mode_wait__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::mode_wait() {
// NONMATCHING
}
/* 80C6A01C-80C6A034 0005FC 0018+00 2/2 0/0 0/0 .text mode_init_move__14daObjLv4Sand_cFv
*/
void daObjLv4Sand_c::mode_init_move() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C6A3CC-80C6A3D0 000014 0004+00 0/1 0/0 0/0 .rodata @3786 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3786 = 8.5f;
COMPILER_STRIP_GATE(0x80C6A3CC, &lit_3786);
#pragma pop
/* 80C6A3D0-80C6A3D4 000018 0004+00 0/1 0/0 0/0 .rodata @3787 */
#pragma push
#pragma force_active on
SECTION_RODATA static f32 const lit_3787 = 3.0f / 10.0f;
COMPILER_STRIP_GATE(0x80C6A3D0, &lit_3787);
#pragma pop
/* 80C6A034-80C6A09C 000614 0068+00 1/0 0/0 0/0 .text mode_move__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::mode_move() {
// NONMATCHING
}
/* 80C6A09C-80C6A0A8 00067C 000C+00 2/2 0/0 0/0 .text mode_init_dead__14daObjLv4Sand_cFv
*/
void daObjLv4Sand_c::mode_init_dead() {
// NONMATCHING
}
/* 80C6A0A8-80C6A0AC 000688 0004+00 1/0 0/0 0/0 .text mode_dead__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::mode_dead() {
/* empty function */
}
/* 80C6A0AC-80C6A0D0 00068C 0024+00 2/1 0/0 0/0 .text eventStart__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::eventStart() {
// NONMATCHING
}
/* 80C6A0D0-80C6A18C 0006B0 00BC+00 1/0 0/0 0/0 .text Draw__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::Draw() {
// NONMATCHING
}
/* 80C6A18C-80C6A1C0 00076C 0034+00 1/0 0/0 0/0 .text Delete__14daObjLv4Sand_cFv */
void daObjLv4Sand_c::Delete() {
// NONMATCHING
}
/* ############################################################################################## */
/* 80C6A4C0-80C6A508 0000E0 0048+00 2/2 0/0 0/0 .data __vt__14daObjLv4Sand_c */
SECTION_DATA extern void* __vt__14daObjLv4Sand_c[18] = {
(void*)NULL /* RTTI */,
(void*)NULL,
(void*)CreateHeap__14daObjLv4Sand_cFv,
(void*)Create__14daObjLv4Sand_cFv,
(void*)Execute__14daObjLv4Sand_cFPPA3_A4_f,
(void*)Draw__14daObjLv4Sand_cFv,
(void*)Delete__14daObjLv4Sand_cFv,
(void*)IsDelete__16dBgS_MoveBgActorFv,
(void*)ToFore__16dBgS_MoveBgActorFv,
(void*)ToBack__16dBgS_MoveBgActorFv,
(void*)NULL,
(void*)NULL,
(void*)func_80C6A3A8,
(void*)func_80C6A3A0,
(void*)eventRun__17dEvLib_callback_cFv,
(void*)eventEnd__17dEvLib_callback_cFv,
(void*)__dt__14daObjLv4Sand_cFv,
(void*)eventStart__14daObjLv4Sand_cFv,
};
/* 80C6A1C0-80C6A240 0007A0 0080+00 1/0 0/0 0/0 .text daObjLv4Sand_create1st__FP14daObjLv4Sand_c
*/
static void daObjLv4Sand_create1st(daObjLv4Sand_c* param_0) {
// NONMATCHING
}
/* 80C6A240-80C6A260 000820 0020+00 1/0 0/0 0/0 .text
* daObjLv4Sand_MoveBGDelete__FP14daObjLv4Sand_c */
static void daObjLv4Sand_MoveBGDelete(daObjLv4Sand_c* param_0) {
// NONMATCHING
}
/* 80C6A260-80C6A280 000840 0020+00 1/0 0/0 0/0 .text
* daObjLv4Sand_MoveBGExecute__FP14daObjLv4Sand_c */
static void daObjLv4Sand_MoveBGExecute(daObjLv4Sand_c* param_0) {
// NONMATCHING
}
/* 80C6A280-80C6A2AC 000860 002C+00 1/0 0/0 0/0 .text daObjLv4Sand_MoveBGDraw__FP14daObjLv4Sand_c
*/
static void daObjLv4Sand_MoveBGDraw(daObjLv4Sand_c* param_0) {
// NONMATCHING
}
/* 80C6A2AC-80C6A2F4 00088C 0048+00 1/0 0/0 0/0 .text __dt__17dEvLib_callback_cFv */
// dEvLib_callback_c::~dEvLib_callback_c() {
extern "C" void __dt__17dEvLib_callback_cFv() {
// NONMATCHING
}
/* 80C6A2F4-80C6A2FC 0008D4 0008+00 1/0 0/0 0/0 .text eventStart__17dEvLib_callback_cFv
*/
// bool dEvLib_callback_c::eventStart() {
extern "C" bool eventStart__17dEvLib_callback_cFv() {
return true;
}
/* 80C6A2FC-80C6A304 0008DC 0008+00 2/0 0/0 0/0 .text eventRun__17dEvLib_callback_cFv */
// bool dEvLib_callback_c::eventRun() {
extern "C" bool eventRun__17dEvLib_callback_cFv() {
return true;
}
/* 80C6A304-80C6A30C 0008E4 0008+00 2/0 0/0 0/0 .text eventEnd__17dEvLib_callback_cFv */
// bool dEvLib_callback_c::eventEnd() {
extern "C" bool eventEnd__17dEvLib_callback_cFv() {
return true;
}
/* 80C6A30C-80C6A3A0 0008EC 0094+00 2/1 0/0 0/0 .text __dt__14daObjLv4Sand_cFv */
daObjLv4Sand_c::~daObjLv4Sand_c() {
// NONMATCHING
}
/* 80C6A3A0-80C6A3A8 000980 0008+00 1/0 0/0 0/0 .text @1440@eventStart__14daObjLv4Sand_cFv */
static void func_80C6A3A0() {
// NONMATCHING
}
/* 80C6A3A8-80C6A3B0 000988 0008+00 1/0 0/0 0/0 .text @1440@__dt__14daObjLv4Sand_cFv */
static void func_80C6A3A8() {
// NONMATCHING
}
/* 80C6A3D4-80C6A3D4 00001C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */