/** * @file d_a_obj_fw.cpp * */ #include "d/actor/d_a_obj_fw.h" #include "dol2asm.h" // // Forward References: // extern "C" void __ct__14daObj_Fw_HIO_cFv(); extern "C" static void ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c(); extern "C" static void daObj_Fw_Draw__FP12obj_fw_class(); extern "C" static void water_check__FP12obj_fw_class(); extern "C" static void fw_float__FP12obj_fw_class(); extern "C" static void action__FP12obj_fw_class(); extern "C" static void daObj_Fw_Execute__FP12obj_fw_class(); extern "C" static bool daObj_Fw_IsDelete__FP12obj_fw_class(); extern "C" static void daObj_Fw_Delete__FP12obj_fw_class(); extern "C" static void useHeapInit__FP10fopAc_ac_c(); extern "C" static void daObj_Fw_Create__FP10fopAc_ac_c(); extern "C" void __dt__14daObj_Fw_HIO_cFv(); extern "C" void __sinit_d_a_obj_fw_cpp(); extern "C" extern char const* const d_a_obj_fw__stringBase0; // // External References: // extern "C" void mDoMtx_XrotM__FPA4_fs(); extern "C" void mDoMtx_YrotM__FPA4_fs(); extern "C" void mDoMtx_ZrotM__FPA4_fs(); extern "C" void scaleM__14mDoMtx_stack_cFfff(); extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); extern "C" void __ct__10fopAc_ac_cFv(); extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); extern "C" void fopAcM_SetMin__FP10fopAc_ac_cfff(); extern "C" void fopAcM_SetMax__FP10fopAc_ac_cfff(); extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff(); 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 getRes__14dRes_control_cFPCclP11dRes_info_ci(); extern "C" void Release__4cBgSFP9dBgW_Base(); extern "C" void GroundCross__4cBgSFP11cBgS_GndChk(); extern "C" void Regist__4dBgSFP9dBgW_BaseP10fopAc_ac_c(); extern "C" void dBgS_MoveBGProc_Typical__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); extern "C" void __ct__18dBgS_ObjGndChk_SplFv(); extern "C" void __dt__18dBgS_ObjGndChk_SplFv(); 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 cM_atan2s__Fff(); extern "C" void cM_rndF__Ff(); extern "C" void SetPos__11cBgS_GndChkFPC3Vec(); extern "C" void cLib_addCalc2__FPffff(); extern "C" void cLib_addCalc0__FPfff(); extern "C" void cLib_addCalcAngleS2__FPssss(); extern "C" void deleteObject__14Z2SoundObjBaseFv(); extern "C" void __ct__16Z2SoundObjSimpleFv(); extern "C" void* __nw__FUl(); extern "C" void __dl__FPv(); extern "C" void _savegpr_29(); extern "C" void _restgpr_29(); extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" u8 sincosTable___5JMath[65536]; extern "C" void __register_global_object(); // // Declarations: // /* ############################################################################################## */ /* 80BF2B48-80BF2B4C 000000 0004+00 5/5 0/0 0/0 .rodata @3647 */ SECTION_RODATA static f32 const lit_3647 = 1.0f; COMPILER_STRIP_GATE(0x80BF2B48, &lit_3647); /* 80BF2BAC-80BF2BB4 000000 0008+00 1/1 0/0 0/0 .data bmdd$3836 */ SECTION_DATA static u8 bmdd[8] = { 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x05, }; /* 80BF2BB4-80BF2BBC 000008 0008+00 1/1 0/0 0/0 .data dzbd$3837 */ SECTION_DATA static u8 dzbd[8] = { 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x09, }; /* 80BF2BBC-80BF2BDC -00001 0020+00 1/0 0/0 0/0 .data l_daObj_Fw_Method */ static actor_method_class l_daObj_Fw_Method = { (process_method_func)daObj_Fw_Create__FP10fopAc_ac_c, (process_method_func)daObj_Fw_Delete__FP12obj_fw_class, (process_method_func)daObj_Fw_Execute__FP12obj_fw_class, (process_method_func)daObj_Fw_IsDelete__FP12obj_fw_class, (process_method_func)daObj_Fw_Draw__FP12obj_fw_class, }; /* 80BF2BDC-80BF2C0C -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_FW */ extern actor_process_profile_definition g_profile_OBJ_FW = { fpcLy_CURRENT_e, // mLayerID 8, // mListID fpcPi_CURRENT_e, // mListPrio PROC_OBJ_FW, // mProcName &g_fpcLf_Method.base, // sub_method sizeof(obj_fw_class), // mSize 0, // mSizeOther 0, // mParameters &g_fopAc_Method.base, // sub_method 42, // mPriority &l_daObj_Fw_Method, // sub_method 0x00044100, // mStatus fopAc_ACTOR_e, // mActorType fopAc_CULLBOX_CUSTOM_e, // cullType }; /* 80BF2C0C-80BF2C18 000060 000C+00 2/2 0/0 0/0 .data __vt__14daObj_Fw_HIO_c */ SECTION_DATA extern void* __vt__14daObj_Fw_HIO_c[3] = { (void*)NULL /* RTTI */, (void*)NULL, (void*)__dt__14daObj_Fw_HIO_cFv, }; /* 80BF204C-80BF2070 0000EC 0024+00 1/1 0/0 0/0 .text __ct__14daObj_Fw_HIO_cFv */ daObj_Fw_HIO_c::daObj_Fw_HIO_c() { // NONMATCHING } /* ############################################################################################## */ /* 80BF2B4C-80BF2B50 000004 0004+00 0/1 0/0 0/0 .rodata @3667 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3667 = -50.0f; COMPILER_STRIP_GATE(0x80BF2B4C, &lit_3667); #pragma pop /* 80BF2B50-80BF2B54 000008 0004+00 0/3 0/0 0/0 .rodata @3668 */ #pragma push #pragma force_active on SECTION_RODATA static u8 const lit_3668[4] = { 0x00, 0x00, 0x00, 0x00, }; COMPILER_STRIP_GATE(0x80BF2B50, &lit_3668); #pragma pop /* 80BF2B54-80BF2B58 00000C 0004+00 0/2 0/0 0/0 .rodata @3669 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3669 = 10.0f; COMPILER_STRIP_GATE(0x80BF2B54, &lit_3669); #pragma pop /* 80BF2C20-80BF2C24 000008 0004+00 2/2 0/0 0/0 .bss None */ static u8 data_80BF2C20[4]; /* 80BF2C24-80BF2C30 00000C 000C+00 1/1 0/0 0/0 .bss @3642 */ static u8 lit_3642[12]; /* 80BF2C30-80BF2C3C 000018 000C+00 4/4 0/0 0/0 .bss l_HIO */ static u8 l_HIO[12]; /* 80BF2070-80BF219C 000110 012C+00 1/1 0/0 0/0 .text * ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */ static void ride_call_back(dBgW* param_0, fopAc_ac_c* param_1, fopAc_ac_c* param_2) { // NONMATCHING } /* 80BF219C-80BF2200 00023C 0064+00 1/0 0/0 0/0 .text daObj_Fw_Draw__FP12obj_fw_class */ static void daObj_Fw_Draw(obj_fw_class* param_0) { // NONMATCHING } /* ############################################################################################## */ /* 80BF2B58-80BF2B5C 000010 0004+00 1/1 0/0 0/0 .rodata @3694 */ SECTION_RODATA static f32 const lit_3694 = 500.0f; COMPILER_STRIP_GATE(0x80BF2B58, &lit_3694); /* 80BF2200-80BF22AC 0002A0 00AC+00 1/1 0/0 0/0 .text water_check__FP12obj_fw_class */ static void water_check(obj_fw_class* param_0) { // NONMATCHING } /* ############################################################################################## */ /* 80BF2B5C-80BF2B60 000014 0004+00 0/1 0/0 0/0 .rodata @3740 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3740 = 0.25f; COMPILER_STRIP_GATE(0x80BF2B5C, &lit_3740); #pragma pop /* 80BF2B60-80BF2B64 000018 0004+00 0/1 0/0 0/0 .rodata @3741 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3741 = 3.5f; COMPILER_STRIP_GATE(0x80BF2B60, &lit_3741); #pragma pop /* 80BF2B64-80BF2B68 00001C 0004+00 0/1 0/0 0/0 .rodata @3742 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3742 = 1.0f / 20.0f; COMPILER_STRIP_GATE(0x80BF2B64, &lit_3742); #pragma pop /* 80BF2B68-80BF2B6C 000020 0004+00 0/1 0/0 0/0 .rodata @3743 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3743 = -300.0f; COMPILER_STRIP_GATE(0x80BF2B68, &lit_3743); #pragma pop /* 80BF2B6C-80BF2B70 000024 0004+00 0/1 0/0 0/0 .rodata @3744 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3744 = 3.0f / 100.0f; COMPILER_STRIP_GATE(0x80BF2B6C, &lit_3744); #pragma pop /* 80BF2B70-80BF2B74 000028 0004+00 0/1 0/0 0/0 .rodata @3745 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3745 = 1.0f / 10.0f; COMPILER_STRIP_GATE(0x80BF2B70, &lit_3745); #pragma pop /* 80BF2B74-80BF2B78 00002C 0004+00 0/1 0/0 0/0 .rodata @3746 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3746 = 300.0f; COMPILER_STRIP_GATE(0x80BF2B74, &lit_3746); #pragma pop /* 80BF2B78-80BF2B7C 000030 0004+00 0/1 0/0 0/0 .rodata @3747 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3747 = 2.0f; COMPILER_STRIP_GATE(0x80BF2B78, &lit_3747); #pragma pop /* 80BF2B7C-80BF2B80 000034 0004+00 0/1 0/0 0/0 .rodata @3748 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3748 = 20.0f; COMPILER_STRIP_GATE(0x80BF2B7C, &lit_3748); #pragma pop /* 80BF2B80-80BF2B84 000038 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 / 5.0f; COMPILER_STRIP_GATE(0x80BF2B80, &lit_3749); #pragma pop /* 80BF2B84-80BF2B88 00003C 0004+00 0/1 0/0 0/0 .rodata @3750 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3750 = -20.0f; COMPILER_STRIP_GATE(0x80BF2B84, &lit_3750); #pragma pop /* 80BF2B88-80BF2B8C 000040 0004+00 0/1 0/0 0/0 .rodata @3751 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3751 = 3.0f; COMPILER_STRIP_GATE(0x80BF2B88, &lit_3751); #pragma pop /* 80BF22AC-80BF24C4 00034C 0218+00 1/1 0/0 0/0 .text fw_float__FP12obj_fw_class */ static void fw_float(obj_fw_class* param_0) { // NONMATCHING } /* ############################################################################################## */ /* 80BF2B8C-80BF2B90 000044 0004+00 0/1 0/0 0/0 .rodata @3802 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3802 = 15.0f; COMPILER_STRIP_GATE(0x80BF2B8C, &lit_3802); #pragma pop /* 80BF24C4-80BF2670 000564 01AC+00 1/1 0/0 0/0 .text action__FP12obj_fw_class */ static void action(obj_fw_class* param_0) { // NONMATCHING } /* 80BF2670-80BF2718 000710 00A8+00 2/1 0/0 0/0 .text daObj_Fw_Execute__FP12obj_fw_class */ static void daObj_Fw_Execute(obj_fw_class* param_0) { // NONMATCHING } /* 80BF2718-80BF2720 0007B8 0008+00 1/0 0/0 0/0 .text daObj_Fw_IsDelete__FP12obj_fw_class */ static bool daObj_Fw_IsDelete(obj_fw_class* param_0) { return true; } /* ############################################################################################## */ /* 80BF2BA4-80BF2BA4 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_80BF2BA4 = "RYUW00"; #pragma pop /* 80BF2720-80BF279C 0007C0 007C+00 1/0 0/0 0/0 .text daObj_Fw_Delete__FP12obj_fw_class */ static void daObj_Fw_Delete(obj_fw_class* param_0) { // NONMATCHING } /* 80BF279C-80BF28D0 00083C 0134+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */ static void useHeapInit(fopAc_ac_c* param_0) { // NONMATCHING } /* ############################################################################################## */ /* 80BF2B90-80BF2B94 000048 0004+00 0/1 0/0 0/0 .rodata @3918 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3918 = -1000.0f; COMPILER_STRIP_GATE(0x80BF2B90, &lit_3918); #pragma pop /* 80BF2B94-80BF2B98 00004C 0004+00 0/1 0/0 0/0 .rodata @3919 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3919 = -600.0f; COMPILER_STRIP_GATE(0x80BF2B94, &lit_3919); #pragma pop /* 80BF2B98-80BF2B9C 000050 0004+00 0/1 0/0 0/0 .rodata @3920 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3920 = 1000.0f; COMPILER_STRIP_GATE(0x80BF2B98, &lit_3920); #pragma pop /* 80BF2B9C-80BF2BA0 000054 0004+00 0/1 0/0 0/0 .rodata @3921 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3921 = 600.0f; COMPILER_STRIP_GATE(0x80BF2B9C, &lit_3921); #pragma pop /* 80BF2BA0-80BF2BA4 000058 0004+00 0/1 0/0 0/0 .rodata @3922 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3922 = 65536.0f; COMPILER_STRIP_GATE(0x80BF2BA0, &lit_3922); #pragma pop /* 80BF28D0-80BF2AB0 000970 01E0+00 1/0 0/0 0/0 .text daObj_Fw_Create__FP10fopAc_ac_c */ static void daObj_Fw_Create(fopAc_ac_c* param_0) { // NONMATCHING } /* 80BF2AB0-80BF2AF8 000B50 0048+00 2/1 0/0 0/0 .text __dt__14daObj_Fw_HIO_cFv */ daObj_Fw_HIO_c::~daObj_Fw_HIO_c() { // NONMATCHING } /* 80BF2AF8-80BF2B34 000B98 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_fw_cpp */ void __sinit_d_a_obj_fw_cpp() { // NONMATCHING } #pragma push #pragma force_active on REGISTER_CTORS(0x80BF2AF8, __sinit_d_a_obj_fw_cpp); #pragma pop /* 80BF2BA4-80BF2BA4 00005C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */