// // Generated By: dol2asm // Translation Unit: d_a_vrbox2 // #include "rel/d/a/d_a_vrbox2/d_a_vrbox2.h" #include "dol2asm.h" #include "dolphin/types.h" // // Types: // struct vrbox2_class {}; struct mDoMtx_stack_c { /* 8000CE38 */ void scaleM(f32, f32, f32); static u8 now[48]; }; struct J3DAnmTextureSRTKey {}; struct J3DMaterialTable { /* 8032F7B4 */ void removeTexMtxAnimator(J3DAnmTextureSRTKey*); }; struct mDoExt_btkAnm { /* 8000D63C */ void init(J3DMaterialTable*, J3DAnmTextureSRTKey*, int, int, f32, s16, s16); /* 8000D6D8 */ void entry(J3DMaterialTable*, f32); }; struct mDoExt_baseAnm { /* 8000D428 */ void play(); }; struct fopAc_ac_c { /* 80018B64 */ fopAc_ac_c(); }; struct dStage_roomControl_c { /* 80024384 */ void getStatusRoomDt(int); }; struct cXyz {}; struct Vec {}; struct J3DModelData {}; struct J3DModel {}; struct J3DFrameCtrl { /* 803283FC */ void init(s16); /* 80499A1C */ ~J3DFrameCtrl(); }; // // Forward References: // extern "C" static void texScrollCheck__FRf(); extern "C" static void daVrbox2_Draw__FP12vrbox2_class(); extern "C" static void daVrbox2_color_set__FP12vrbox2_class(); extern "C" static void daVrbox2_Execute__FP12vrbox2_class(); extern "C" static bool daVrbox2_IsDelete__FP12vrbox2_class(); extern "C" static bool daVrbox2_Delete__FP12vrbox2_class(); extern "C" static void daVrbox2_solidHeapCB__FP10fopAc_ac_c(); extern "C" static void daVrbox2_Create__FP10fopAc_ac_c(); extern "C" void __dt__12J3DFrameCtrlFv(); extern "C" extern char const* const d_a_vrbox2__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 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 __ct__10fopAc_ac_cFv(); extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); extern "C" void getStatusRoomDt__20dStage_roomControl_cFi(); extern "C" void dComIfG_getStageRes__FPCc(); extern "C" void dKyw_get_wind_vec__Fv(); extern "C" void dKyw_get_wind_pow__Fv(); extern "C" void dKyr_get_vectle_calc__FP4cXyzP4cXyzP4cXyz(); extern "C" void dKy_get_parcent__Ffff(); extern "C" void dKy_GxFog_set__Fv(); extern "C" void cM_rndF__Ff(); extern "C" void cM3d_VectorProduct2d__Fffffff(); extern "C" void cLib_addCalc__FPfffff(); extern "C" void cLib_targetAngleY__FPC3VecPC3Vec(); extern "C" void cLib_targetAngleX__FPC4cXyzPC4cXyz(); extern "C" void __dl__FPv(); extern "C" void init__12J3DFrameCtrlFs(); extern "C" void removeTexMtxAnimator__16J3DMaterialTableFP19J3DAnmTextureSRTKey(); extern "C" void PSMTXCopy(); extern "C" void PSMTXTrans(); extern "C" void _savegpr_17(); extern "C" void _savegpr_25(); extern "C" void _restgpr_17(); extern "C" void _restgpr_25(); extern "C" void strcmp(); extern "C" extern void* g_fopAc_Method[8]; extern "C" extern void* g_fpcLf_Method[5 + 1 /* padding */]; extern "C" u8 now__14mDoMtx_stack_c[48]; extern "C" extern u8 g_dComIfG_gameInfo[122384]; extern "C" extern u8 g_env_light[4880]; extern "C" extern u8 j3dSys[284]; extern "C" extern u8 struct_80450D64[4]; // // Declarations: // /* ############################################################################################## */ /* 80499A6C-80499A70 000000 0004+00 4/4 0/0 0/0 .rodata @3627 */ SECTION_RODATA static f32 const lit_3627 = 1.0f; COMPILER_STRIP_GATE(0x80499A6C, &lit_3627); /* 80499A70-80499A74 000004 0004+00 1/3 0/0 0/0 .rodata @3628 */ SECTION_RODATA static u8 const lit_3628[4] = { 0x00, 0x00, 0x00, 0x00, }; COMPILER_STRIP_GATE(0x80499A70, &lit_3628); /* 80498A78-80498ACC 000078 0054+00 1/1 0/0 0/0 .text texScrollCheck__FRf */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void texScrollCheck(f32& param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/texScrollCheck__FRf.s" } #pragma pop /* ############################################################################################## */ /* 80499A74-80499A78 000008 0004+00 0/1 0/0 0/0 .rodata @3835 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3835 = 9.0f / 100.0f; COMPILER_STRIP_GATE(0x80499A74, &lit_3835); #pragma pop /* 80499A78-80499A7C 00000C 0004+00 0/1 0/0 0/0 .rodata @3836 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3836 = 8000.0f; COMPILER_STRIP_GATE(0x80499A78, &lit_3836); #pragma pop /* 80499A7C-80499A80 000010 0004+00 1/3 0/0 0/0 .rodata @3837 */ SECTION_RODATA static f32 const lit_3837 = 255.0f; COMPILER_STRIP_GATE(0x80499A7C, &lit_3837); /* 80499A80-80499A84 000014 0004+00 0/1 0/0 0/0 .rodata @3838 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3838 = 2.0f / 5.0f; COMPILER_STRIP_GATE(0x80499A80, &lit_3838); #pragma pop /* 80499A84-80499A88 000018 0004+00 0/1 0/0 0/0 .rodata @3839 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3839 = 270.0f; COMPILER_STRIP_GATE(0x80499A84, &lit_3839); #pragma pop /* 80499A88-80499A8C 00001C 0004+00 0/1 0/0 0/0 .rodata @3840 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3840 = 240.0f; COMPILER_STRIP_GATE(0x80499A88, &lit_3840); #pragma pop /* 80499A8C-80499A90 000020 0004+00 0/2 0/0 0/0 .rodata @3841 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3841 = 1.0f / 5.0f; COMPILER_STRIP_GATE(0x80499A8C, &lit_3841); #pragma pop /* 80499A90-80499A94 000024 0004+00 0/1 0/0 0/0 .rodata @3842 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3842 = 300.0f; COMPILER_STRIP_GATE(0x80499A90, &lit_3842); #pragma pop /* 80499A94-80499A98 000028 0004+00 0/1 0/0 0/0 .rodata @3843 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3843 = 17.0f / 20.0f; COMPILER_STRIP_GATE(0x80499A94, &lit_3843); #pragma pop /* 80499A98-80499A9C 00002C 0004+00 0/1 0/0 0/0 .rodata @3844 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3844 = 3.0f / 20.0f; COMPILER_STRIP_GATE(0x80499A98, &lit_3844); #pragma pop /* 80499A9C-80499AA0 000030 0004+00 0/1 0/0 0/0 .rodata @3845 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3845 = 483.0f; COMPILER_STRIP_GATE(0x80499A9C, &lit_3845); #pragma pop /* 80499AA0-80499AA4 000034 0004+00 0/1 0/0 0/0 .rodata @3846 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_3846 = 100.0f; COMPILER_STRIP_GATE(0x80499AA0, &lit_3846); #pragma pop /* 80499AC4-80499AC4 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_80499AC4 = "F_SP102"; SECTION_DEAD static char const* const stringBase_80499ACC = "F_SP127"; #pragma pop /* 80499B78-80499B7C 000000 0002+02 1/1 0/0 0/0 .bss mangZ$3688 */ static u8 mangZ[2 + 2 /* padding */]; /* 80498ACC-804990DC 0000CC 0610+00 1/0 0/0 0/0 .text daVrbox2_Draw__FP12vrbox2_class */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void daVrbox2_Draw(vrbox2_class* param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Draw__FP12vrbox2_class.s" } #pragma pop /* ############################################################################################## */ /* 80499AA4-80499AA8 000038 0004+00 0/1 0/0 0/0 .rodata @4069 */ #pragma push #pragma force_active on SECTION_RODATA static u32 const lit_4069 = 0x3A03126F; COMPILER_STRIP_GATE(0x80499AA4, &lit_4069); #pragma pop /* 80499AA8-80499AAC 00003C 0004+00 0/1 0/0 0/0 .rodata @4070 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_4070 = 3.0f / 10.0f; COMPILER_STRIP_GATE(0x80499AA8, &lit_4070); #pragma pop /* 80499AAC-80499AB0 000040 0004+00 0/1 0/0 0/0 .rodata @4071 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_4071 = 1.75f; COMPILER_STRIP_GATE(0x80499AAC, &lit_4071); #pragma pop /* 80499AB0-80499AB4 000044 0004+00 0/1 0/0 0/0 .rodata @4072 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_4072 = 22.0f / 5.0f; COMPILER_STRIP_GATE(0x80499AB0, &lit_4072); #pragma pop /* 80499AB4-80499AB8 000048 0004+00 0/1 0/0 0/0 .rodata @4073 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_4073 = 11.0f / 5.0f; COMPILER_STRIP_GATE(0x80499AB4, &lit_4073); #pragma pop /* 80499AB8-80499ABC 00004C 0004+00 0/1 0/0 0/0 .rodata @4074 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_4074 = 97.5f; COMPILER_STRIP_GATE(0x80499AB8, &lit_4074); #pragma pop /* 80499ABC-80499AC0 000050 0004+00 0/1 0/0 0/0 .rodata @4075 */ #pragma push #pragma force_active on SECTION_RODATA static f32 const lit_4075 = 1.0f / 10.0f; COMPILER_STRIP_GATE(0x80499ABC, &lit_4075); #pragma pop /* 80499AC0-80499AC4 000054 0004+00 0/1 0/0 0/0 .rodata @4076 */ #pragma push #pragma force_active on SECTION_RODATA static u32 const lit_4076 = 0x38D1B717; COMPILER_STRIP_GATE(0x80499AC0, &lit_4076); #pragma pop /* 80499AC4-80499AC4 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_80499AD4 = "R_SP30"; #pragma pop /* 804990DC-804997E8 0006DC 070C+00 1/1 0/0 0/0 .text daVrbox2_color_set__FP12vrbox2_class */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void daVrbox2_color_set(vrbox2_class* param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_color_set__FP12vrbox2_class.s" } #pragma pop /* 804997E8-8049982C 000DE8 0044+00 1/0 0/0 0/0 .text daVrbox2_Execute__FP12vrbox2_class */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void daVrbox2_Execute(vrbox2_class* param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Execute__FP12vrbox2_class.s" } #pragma pop /* 8049982C-80499834 000E2C 0008+00 1/0 0/0 0/0 .text daVrbox2_IsDelete__FP12vrbox2_class */ static bool daVrbox2_IsDelete(vrbox2_class* param_0) { return true; } /* 80499834-8049983C 000E34 0008+00 1/0 0/0 0/0 .text daVrbox2_Delete__FP12vrbox2_class */ static bool daVrbox2_Delete(vrbox2_class* param_0) { return true; } /* ############################################################################################## */ /* 80499AC4-80499AC4 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ #pragma push #pragma force_active on SECTION_DEAD static char const* const stringBase_80499ADB = "vrbox_kumo.bmd"; SECTION_DEAD static char const* const stringBase_80499AEA = "vrbox_sun.bmd"; SECTION_DEAD static char const* const stringBase_80499AF8 = "vrbox_sun.btk"; SECTION_DEAD static char const* const stringBase_80499B06 = "vrbox_kasumiM.bmd"; #pragma pop /* 8049983C-80499978 000E3C 013C+00 1/1 0/0 0/0 .text daVrbox2_solidHeapCB__FP10fopAc_ac_c */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void daVrbox2_solidHeapCB(fopAc_ac_c* param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_solidHeapCB__FP10fopAc_ac_c.s" } #pragma pop /* ############################################################################################## */ /* 80499B18-80499B38 -00001 0020+00 1/0 0/0 0/0 .data l_daVrbox2_Method */ SECTION_DATA static void* l_daVrbox2_Method[8] = { (void*)daVrbox2_Create__FP10fopAc_ac_c, (void*)daVrbox2_Delete__FP12vrbox2_class, (void*)daVrbox2_Execute__FP12vrbox2_class, (void*)daVrbox2_IsDelete__FP12vrbox2_class, (void*)daVrbox2_Draw__FP12vrbox2_class, (void*)NULL, (void*)NULL, (void*)NULL, }; /* 80499B38-80499B68 -00001 0030+00 0/0 0/0 1/0 .data g_profile_VRBOX2 */ SECTION_DATA extern void* g_profile_VRBOX2[12] = { (void*)0xFFFFFFFD, (void*)0x0007FFFD, (void*)0x02DB0000, (void*)&g_fpcLf_Method, (void*)0x000005A0, (void*)NULL, (void*)NULL, (void*)&g_fopAc_Method, (void*)0x00040000, (void*)&l_daVrbox2_Method, (void*)0x00044000, (void*)NULL, }; /* 80499B68-80499B74 000050 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, }; /* 80499978-80499A1C 000F78 00A4+00 1/0 0/0 0/0 .text daVrbox2_Create__FP10fopAc_ac_c */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off static asm void daVrbox2_Create(fopAc_ac_c* param_0) { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/daVrbox2_Create__FP10fopAc_ac_c.s" } #pragma pop /* 80499A1C-80499A64 00101C 0048+00 1/0 0/0 0/0 .text __dt__12J3DFrameCtrlFv */ #pragma push #pragma optimization_level 0 #pragma optimizewithasm off asm J3DFrameCtrl::~J3DFrameCtrl() { nofralloc #include "asm/rel/d/a/d_a_vrbox2/d_a_vrbox2/__dt__12J3DFrameCtrlFv.s" } #pragma pop /* 80499AC4-80499AC4 000058 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */