From c67489d3da50e45a844f68788d12b59a8dadbe86 Mon Sep 17 00:00:00 2001 From: hatal175 Date: Thu, 2 Jan 2025 00:51:34 +0200 Subject: [PATCH] d_a_obj_riverrock OK (#2279) --- .../GZ2E01/rels/d_a_obj_riverrock/symbols.txt | 18 +- configure.py | 2 +- include/d/actor/d_a_obj_riverrock.h | 59 +- src/d/actor/d_a_obj_riverrock.cpp | 868 +++++++----------- 4 files changed, 400 insertions(+), 547 deletions(-) diff --git a/config/GZ2E01/rels/d_a_obj_riverrock/symbols.txt b/config/GZ2E01/rels/d_a_obj_riverrock/symbols.txt index 61d44647f1d..a91421e82aa 100644 --- a/config/GZ2E01/rels/d_a_obj_riverrock/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_riverrock/symbols.txt @@ -6,8 +6,8 @@ __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:glob __ct__20daObjRIVERROCK_HIO_cFv = .text:0x000000EC; // type:function size:0x28 scope:global initCcCylinder__16daObjRIVERROCK_cFv = .text:0x00000114; // type:function size:0x60 scope:global SetCcCyl__16daObjRIVERROCK_cFv = .text:0x00000174; // type:function size:0x60 scope:global -daObjRIVERROCK_Create__FP10fopAc_ac_c = .text:0x000001D4; // type:function size:0x20 scope:global -daObjRIVERROCK_Delete__FP16daObjRIVERROCK_c = .text:0x000001F4; // type:function size:0x24 scope:global +daObjRIVERROCK_Create__FP10fopAc_ac_c = .text:0x000001D4; // type:function size:0x20 scope:local +daObjRIVERROCK_Delete__FP16daObjRIVERROCK_c = .text:0x000001F4; // type:function size:0x24 scope:local BreakWaitAction__16daObjRIVERROCK_cFv = .text:0x00000218; // type:function size:0xC4 scope:global CheckBG__16daObjRIVERROCK_cFv = .text:0x000002DC; // type:function size:0x380 scope:global BreakMoveAction__16daObjRIVERROCK_cFv = .text:0x0000065C; // type:function size:0x84 scope:global @@ -17,13 +17,13 @@ Action__16daObjRIVERROCK_cFv = .text:0x00000808; // type:function size:0x44 scop BreakSet__16daObjRIVERROCK_cFv = .text:0x0000084C; // type:function size:0x398 scope:global WaitAction__16daObjRIVERROCK_cFv = .text:0x00000BE4; // type:function size:0x40 scope:global setBaseMtx__16daObjRIVERROCK_cFv = .text:0x00000C24; // type:function size:0xF8 scope:global -daObjRIVERROCK_Draw__FP16daObjRIVERROCK_c = .text:0x00000D1C; // type:function size:0x2C scope:global -daObjRIVERROCK_Execute__FP16daObjRIVERROCK_c = .text:0x00000D48; // type:function size:0x20 scope:global +daObjRIVERROCK_Draw__FP16daObjRIVERROCK_c = .text:0x00000D1C; // type:function size:0x2C scope:local +daObjRIVERROCK_Execute__FP16daObjRIVERROCK_c = .text:0x00000D48; // type:function size:0x20 scope:local CreateHeap__16daObjRIVERROCK_cFv = .text:0x00000D68; // type:function size:0x78 scope:global create__16daObjRIVERROCK_cFv = .text:0x00000DE0; // type:function size:0x35C scope:global __dt__8cM3dGCylFv = .text:0x0000113C; // type:function size:0x48 scope:global __dt__8cM3dGAabFv = .text:0x00001184; // type:function size:0x48 scope:global -daObjRIVERROCK_IsDelete__FP16daObjRIVERROCK_c = .text:0x000011CC; // type:function size:0x8 scope:global +daObjRIVERROCK_IsDelete__FP16daObjRIVERROCK_c = .text:0x000011CC; // type:function size:0x8 scope:local Create__16daObjRIVERROCK_cFv = .text:0x000011D4; // type:function size:0x60 scope:global Execute__16daObjRIVERROCK_cFPPA3_A4_f = .text:0x00001234; // type:function size:0xCC scope:global Draw__16daObjRIVERROCK_cFv = .text:0x00001300; // type:function size:0x84 scope:global @@ -62,14 +62,14 @@ ccCylSrc$3635 = .rodata:0x00000004; // type:object size:0x44 scope:local @4119 = .rodata:0x000000B0; // type:object size:0x4 scope:local @4120 = .rodata:0x000000B4; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x000000B8; // type:object size:0x2A scope:local data:string_table -l_arcName = .data:0x00000000; // type:object size:0x4 scope:global -l_daObjRIVERROCK_Method = .data:0x00000004; // type:object size:0x20 scope:global +l_arcName = .data:0x00000000; // type:object size:0x4 scope:local +l_daObjRIVERROCK_Method = .data:0x00000004; // type:object size:0x20 scope:local g_profile_Obj_RIVERROCK = .data:0x00000024; // type:object size:0x30 scope:global __vt__8cM3dGCyl = .data:0x00000054; // type:object size:0xC scope:global __vt__8cM3dGAab = .data:0x00000060; // type:object size:0xC scope:global __vt__16daObjRIVERROCK_c = .data:0x0000006C; // type:object size:0x28 scope:global __vt__20daObjRIVERROCK_HIO_c = .data:0x00000094; // type:object size:0xC scope:global __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global -lbl_603_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte +lbl_603_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte @3626 = .bss:0x0000000C; // type:object size:0xC scope:local -l_HIO = .bss:0x00000018; // type:object size:0x10 scope:global data:byte +l_HIO = .bss:0x00000018; // type:object size:0x10 scope:local data:byte diff --git a/configure.py b/configure.py index 399b8cb9887..acc6c78a7e5 100644 --- a/configure.py +++ b/configure.py @@ -1968,7 +1968,7 @@ config.libs = [ ActorRel(Matching, "d_a_obj_rcircle"), ActorRel(NonMatching, "d_a_obj_rfHole"), ActorRel(Matching, "d_a_obj_rgate"), - ActorRel(NonMatching, "d_a_obj_riverrock"), + ActorRel(Matching, "d_a_obj_riverrock"), ActorRel(Matching, "d_a_obj_rock"), ActorRel(NonMatching, "d_a_obj_rotBridge"), ActorRel(NonMatching, "d_a_obj_rotTrap"), diff --git a/include/d/actor/d_a_obj_riverrock.h b/include/d/actor/d_a_obj_riverrock.h index 04f1fd31780..a4501a9dd89 100644 --- a/include/d/actor/d_a_obj_riverrock.h +++ b/include/d/actor/d_a_obj_riverrock.h @@ -1,6 +1,8 @@ #ifndef D_A_OBJ_RIVERROCK_H #define D_A_OBJ_RIVERROCK_H +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,8 +13,20 @@ * @details * */ -class daObjRIVERROCK_c : public fopAc_ac_c { +class daObjRIVERROCK_c : public dBgS_MoveBgActor { public: + typedef enum { + ACTION_WAIT, + ACTION_BREAK, + } ActionEnum; + + typedef enum { + BREAK_WAIT, + BREAK_MOVE, + BREAK_BROKEN, + BREAK_3, + } BreakSubAction; + /* 80CBC6F4 */ void initCcCylinder(); /* 80CBC754 */ void SetCcCyl(); /* 80CBC7F8 */ void BreakWaitAction(); @@ -24,15 +38,38 @@ public: /* 80CBCE2C */ void BreakSet(); /* 80CBD1C4 */ void WaitAction(); /* 80CBD204 */ void setBaseMtx(); - /* 80CBD348 */ void CreateHeap(); - /* 80CBD3C0 */ void create(); - /* 80CBD7B4 */ void Create(); - /* 80CBD814 */ void Execute(f32 (**)[3][4]); - /* 80CBD8E0 */ void Draw(); - /* 80CBD964 */ void Delete(); + /* 80CBD348 */ int CreateHeap(); + /* 80CBD3C0 */ int create(); + /* 80CBD7B4 */ int Create(); + /* 80CBD814 */ int Execute(Mtx**); + /* 80CBD8E0 */ int Draw(); + /* 80CBD964 */ int Delete(); private: - /* 0x568 */ u8 field_0x568[0x79c - 0x568]; + /* 0x5A0 */ ActionEnum mAction; + /* 0x5A4 */ BreakSubAction mBreakSubAction; + /* 0x5A8 */ u8 field_0x5a8; + /* 0x5A9 */ u8 field_0x5a9; + /* 0x5AA */ s16 field_0x5aa; + /* 0x5AC */ int field_0x5ac; + /* 0x5B0 */ s16 field_0x5b0; + /* 0x5B2 */ s16 field_0x5b2; + /* 0x5B4 */ s16 field_0x5b4; + /* 0x5B6 */ s16 field_0x5b6; + /* 0x5B8 */ s16 field_0x5b8; + /* 0x5BA */ u8 field_0x5ba[0x5c4 - 0x5ba]; + /* 0x5C4 */ cXyz field_0x5c4; + /* 0x5D0 */ cXyz field_0x5d0; + /* 0x5DC */ cXyz field_0x5dc; + /* 0x5E8 */ csXyz field_0x5e8; + /* 0x5EE */ bool field_0x5ee; + /* 0x5F0 */ Z2SoundObjSimple mSoundObj; + /* 0x610 */ int field_0x610; + /* 0x614 */ J3DModel* mModel; + /* 0x618 */ request_of_phase_process_class mPhase; + /* 0x620 */ dCcD_Stts mStts; + /* 0x65C */ dCcD_Cyl mCyl; + /* 0x798 */ bool mHIONeedDelete; }; STATIC_ASSERT(sizeof(daObjRIVERROCK_c) == 0x79c); @@ -40,7 +77,11 @@ STATIC_ASSERT(sizeof(daObjRIVERROCK_c) == 0x79c); class daObjRIVERROCK_HIO_c { public: /* 80CBC6CC */ daObjRIVERROCK_HIO_c(); - /* 80CBD9C4 */ ~daObjRIVERROCK_HIO_c(); + /* 80CBD9C4 */ virtual ~daObjRIVERROCK_HIO_c() {} + + /* 0x4 */ s8 field_0x4; + /* 0x8 */ f32 field_0x8; + /* 0xC */ f32 field_0xc; }; diff --git a/src/d/actor/d_a_obj_riverrock.cpp b/src/d/actor/d_a_obj_riverrock.cpp index 7e946e3122d..5acf0eeff23 100644 --- a/src/d/actor/d_a_obj_riverrock.cpp +++ b/src/d/actor/d_a_obj_riverrock.cpp @@ -4,138 +4,352 @@ */ #include "d/actor/d_a_obj_riverrock.h" +#include "SSystem/SComponent/c_math.h" #include "d/d_cc_d.h" -#include "dol2asm.h" - - - -// -// Forward References: -// - -extern "C" void __ct__20daObjRIVERROCK_HIO_cFv(); -extern "C" void initCcCylinder__16daObjRIVERROCK_cFv(); -extern "C" void SetCcCyl__16daObjRIVERROCK_cFv(); -extern "C" static void daObjRIVERROCK_Create__FP10fopAc_ac_c(); -extern "C" static void daObjRIVERROCK_Delete__FP16daObjRIVERROCK_c(); -extern "C" void BreakWaitAction__16daObjRIVERROCK_cFv(); -extern "C" void CheckBG__16daObjRIVERROCK_cFv(); -extern "C" void BreakMoveAction__16daObjRIVERROCK_cFv(); -extern "C" void BrokenAction__16daObjRIVERROCK_cFv(); -extern "C" void BreakAction__16daObjRIVERROCK_cFv(); -extern "C" void Action__16daObjRIVERROCK_cFv(); -extern "C" void BreakSet__16daObjRIVERROCK_cFv(); -extern "C" void WaitAction__16daObjRIVERROCK_cFv(); -extern "C" void setBaseMtx__16daObjRIVERROCK_cFv(); -extern "C" static void daObjRIVERROCK_Draw__FP16daObjRIVERROCK_c(); -extern "C" static void daObjRIVERROCK_Execute__FP16daObjRIVERROCK_c(); -extern "C" void CreateHeap__16daObjRIVERROCK_cFv(); -extern "C" void create__16daObjRIVERROCK_cFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" static bool daObjRIVERROCK_IsDelete__FP16daObjRIVERROCK_c(); -extern "C" void Create__16daObjRIVERROCK_cFv(); -extern "C" void Execute__16daObjRIVERROCK_cFPPA3_A4_f(); -extern "C" void Draw__16daObjRIVERROCK_cFv(); -extern "C" void Delete__16daObjRIVERROCK_cFv(); -extern "C" void __dt__20daObjRIVERROCK_HIO_cFv(); -extern "C" void __sinit_d_a_obj_riverrock_cpp(); -extern "C" extern char const* const d_a_obj_riverrock__stringBase0; - -// -// External References: -// - -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_setupStageTexture__FP12J3DModelData(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -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 isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCcPCcP11dRes_info_ci(); -extern "C" void getObjectResName2Index__14dRes_control_cFPCcPCc(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void StartShock__12dVibration_cFii4cXyz(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GetSpecialCode__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void dBgS_MoveBGProc_TypicalRotY__FP4dBgWPvRC13cBgS_PolyInfobP4cXyzP5csXyzP5csXyz(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -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 __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void ChkTgHit__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c(); -extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c(); -extern "C" void Set__4cCcSFP8cCcD_Obj(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_addCalcAngleS__FPsssss(); -extern "C" void cLib_chaseAngleS__FPsss(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void deleteObject__14Z2SoundObjBaseFv(); -extern "C" void __ct__16Z2SoundObjSimpleFv(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80CBDA5C-80CBDA60 000000 0004+00 6/6 0/0 0/0 .rodata @3631 */ -SECTION_RODATA static u8 const lit_3631[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80CBDA5C, &lit_3631); - -/* 80CBDB14-80CBDB14 0000B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CBDB14 = "RiverRock"; -#pragma pop +#include "d/d_com_inf_game.h" /* 80CBDB40-80CBDB44 -00001 0004+00 3/3 0/0 0/0 .data l_arcName */ -SECTION_DATA static void* l_arcName = (void*)&d_a_obj_riverrock__stringBase0; +static char* l_arcName = "RiverRock"; + +/* 80CBC6CC-80CBC6F4 0000EC 0028+00 1/1 0/0 0/0 .text __ct__20daObjRIVERROCK_HIO_cFv */ +daObjRIVERROCK_HIO_c::daObjRIVERROCK_HIO_c() { + field_0x4 = -1; + field_0x8 = 0.0f; + field_0xc = 0.0f; +} + +/* 80CBC6F4-80CBC754 000114 0060+00 1/1 0/0 0/0 .text initCcCylinder__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::initCcCylinder() { + const static dCcD_SrcCyl ccCylSrc = { + { + {0x0, {{0x0, 0x0, 0x0}, {0x20, 0x11}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg + {0x0}, // mGObjCo + }, // mObjInf + { + {0.0f, -500.0f, 0.0f}, // mCenter + 1000.0f, // mRadius + 1000.0f // mHeight + } // mCyl + }; + + mStts.Init(0xff, 0xff, this); + mCyl.Set(ccCylSrc); + mCyl.SetStts(&mStts); + mCyl.SetC(current.pos); +} + +/* 80CBC754-80CBC7B4 000174 0060+00 1/1 0/0 0/0 .text SetCcCyl__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::SetCcCyl() { + mCyl.SetC(current.pos); + mCyl.SetR(field_0x5c4.x * 1000.0f); + dComIfG_Ccsp()->Set(&mCyl); +} + +/* 80CBC7B4-80CBC7D4 0001D4 0020+00 1/0 0/0 0/0 .text daObjRIVERROCK_Create__FP10fopAc_ac_c */ +static int daObjRIVERROCK_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); +} + +/* 80CBC7D4-80CBC7F8 0001F4 0024+00 1/0 0/0 0/0 .text daObjRIVERROCK_Delete__FP16daObjRIVERROCK_c + */ +static int daObjRIVERROCK_Delete(daObjRIVERROCK_c* i_this) { + i_this->MoveBGDelete(); + return 1; +} + +/* 80CBC7F8-80CBC8BC 000218 00C4+00 1/1 0/0 0/0 .text BreakWaitAction__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::BreakWaitAction() { + shape_angle.x = field_0x5b4 * cM_ssin(field_0x5aa); + cLib_addCalcAngleS(&field_0x5b0, 0x10, 0x100, 0x50, 0); + field_0x5aa += field_0x5b0; + if (cLib_chaseAngleS(&field_0x5b4, 0, 0x15) != 0) { + mBreakSubAction = BREAK_MOVE; + field_0x5aa = 0; + } +} + +/* 80CBC8BC-80CBCC3C 0002DC 0380+00 1/1 0/0 0/0 .text CheckBG__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::CheckBG() { + mSoundObj.startLevelSound(Z2SE_OBJ_RG_ROCKPOLE_FALL, 0, -1); + cXyz particlePos(0.0f, 5650.0f * field_0x5c4.y, field_0x5c4.z * 700.0f); + cXyz cStack_bc(0.0f, 2850.0f * field_0x5c4.y, field_0x5c4.z * 700.0f); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::transM(0.0f, 0.0f, field_0x5c4.z * 300.0f); + mDoMtx_stack_c::ZXYrotM(field_0x5e8); + mDoMtx_stack_c::transM(0.0f, 0.0f, field_0x5c4.z * -300.0f); + mDoMtx_stack_c::multVec(&particlePos, &particlePos); + mDoMtx_stack_c::multVec(&cStack_bc, &cStack_bc); + mSoundObj.init(&cStack_bc, 2); + dBgS_LinChk adStack_a0; + adStack_a0.Set(&field_0x5d0, &particlePos, NULL); + if (dComIfG_Bgsp().LineCross(&adStack_a0)) { + if (dComIfG_Bgsp().GetSpecialCode(adStack_a0) == 1) { + eyePos = adStack_a0.i_GetCross(); + fopAcM_seStart(this, Z2SE_OBJ_RG_ROCKPOLE_LAND, 0); + if (field_0x5a8 != 0xff) { + if (!dComIfGs_isSwitch(field_0x5a8, fopAcM_GetRoomNo(this))) { + dComIfGp_getVibration().StartShock(8, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); + } + } + mBreakSubAction = BREAK_BROKEN; + cXyz particleScale(field_0x5c4.x, field_0x5c4.y, field_0x5c4.z); + dComIfGp_particle_set(0x8706, &particlePos, &tevStr, &shape_angle, &particleScale); + dComIfGp_particle_set(0x8707, &particlePos, &tevStr, &shape_angle, &particleScale); + field_0x5b0 = field_0x5aa * 3.0f; + field_0x5b8 = field_0x5e8.x; + field_0x5b4 = 1024; + } + } + if (field_0x5e8.x > 0x6000) { + mBreakSubAction = BREAK_BROKEN; + } + field_0x5dc = field_0x5d0; + field_0x5d0 = particlePos; +} + +/* 80CBDBE8-80CBDBEC 000008 0004+00 2/2 0/0 0/0 .bss None */ +static bool mHIOInitialized; + +/* 80CBDBF8-80CBDC08 000018 0010+00 4/4 0/0 0/0 .bss l_HIO */ +static daObjRIVERROCK_HIO_c l_HIO; + +/* 80CBCC3C-80CBCCC0 00065C 0084+00 1/1 0/0 0/0 .text BreakMoveAction__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::BreakMoveAction() { + cLib_addCalcAngleS(&field_0x5aa, 0x1500, l_HIO.field_0x8 + 3628.0f, 0x1500, 0); + field_0x5e8.x += field_0x5aa; + field_0x5b6 += 0x50; + CheckBG(); +} + +/* 80CBCCC0-80CBCD94 0006E0 00D4+00 1/1 0/0 0/0 .text BrokenAction__16daObjRIVERROCK_cFv + */ +void daObjRIVERROCK_c::BrokenAction() { + s16 sVar1 = field_0x5b4 * cM_ssin(field_0x5aa); + if (sVar1 > 0) { + sVar1 = -sVar1; + } + field_0x5e8.x = field_0x5b8 + sVar1; + cLib_addCalcAngleS(&field_0x5b0, 0x300, 0x800, 0x100, 0); + field_0x5aa += field_0x5b0; + if (cLib_chaseAngleS(&field_0x5b4, 0, 0x20) != 0) { + mBreakSubAction = BREAK_3; + } +} + +/* 80CBCD94-80CBCDE8 0007B4 0054+00 1/1 0/0 0/0 .text BreakAction__16daObjRIVERROCK_cFv + */ +void daObjRIVERROCK_c::BreakAction() { + switch (mBreakSubAction) { + case BREAK_WAIT: + BreakWaitAction(); + break; + case BREAK_MOVE: + BreakMoveAction(); + break; + case BREAK_BROKEN: + BrokenAction(); + break; + case BREAK_3: + default: + break; + } +} + +/* 80CBCDE8-80CBCE2C 000808 0044+00 1/1 0/0 0/0 .text Action__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::Action() { + switch (mAction) { + case ACTION_WAIT: + WaitAction(); + break; + case ACTION_BREAK: + BreakAction(); + break; + } +} + +/* 80CBCE2C-80CBD1C4 00084C 0398+00 3/3 0/0 0/0 .text BreakSet__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::BreakSet() { + eyePos = current.pos; + fopAcM_seStart(this, Z2SE_OBJ_RG_ROCK_BREAK, 0); + cXyz acStack_30(0.0f, 0.0f, 1.0f); + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::transM(0.0f, 0.0f, field_0x5c4.z * 200.0f); + mDoMtx_stack_c::multVec(&acStack_30, &acStack_30); + cXyz cStack_3c(field_0x5c4.x, field_0x5c4.y, field_0x5c4.z); + dComIfGp_particle_set(0x86ff, &acStack_30, &tevStr, &shape_angle, &cStack_3c); + dComIfGp_particle_set(0x8700, &acStack_30, &tevStr, &shape_angle, &cStack_3c); + dComIfGp_particle_set(0x8701, &acStack_30, &tevStr, &shape_angle, &cStack_3c); + dComIfGp_particle_set(0x8702, &acStack_30, &tevStr, &shape_angle, &cStack_3c); + dComIfGp_particle_set(0x8703, &acStack_30, &tevStr, &shape_angle, &cStack_3c); + dComIfGp_particle_set(0x8704, &acStack_30, &tevStr, &shape_angle, &cStack_3c); + dComIfGp_particle_set(0x8705, &acStack_30, &tevStr, &shape_angle, &cStack_3c); + if (field_0x5a8 != 0xff) { + if (!dComIfGs_isSwitch(field_0x5a8, fopAcM_GetRoomNo(this))) { + dComIfGp_getVibration().StartShock(8, 0x1f, cXyz(0.0f, 1.0f, 0.0f)); + } + } + field_0x5b0 = l_HIO.field_0xc + 280.0f; + field_0x5b4 = 0x400; + mAction = ACTION_BREAK; + mBreakSubAction = BREAK_WAIT; +} + +/* 80CBD1C4-80CBD204 000BE4 0040+00 1/1 0/0 0/0 .text WaitAction__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::WaitAction() { + if (mCyl.ChkTgHit()) { + BreakSet(); + } +} + +/* 80CBD204-80CBD2FC 000C24 00F8+00 1/1 0/0 0/0 .text setBaseMtx__16daObjRIVERROCK_cFv */ +void daObjRIVERROCK_c::setBaseMtx() { + if (mBreakSubAction == BREAK_MOVE || mBreakSubAction == BREAK_BROKEN || + mBreakSubAction == BREAK_3) + { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::transM(0.0f, 0.0f, 150.0f * field_0x5c4.z); + mDoMtx_stack_c::ZXYrotM(field_0x5e8); + mDoMtx_stack_c::transM(0.0, 0.0, -150.0f * field_0x5c4.z); + mDoMtx_stack_c::scaleM(field_0x5c4); + mModel->setBaseTRMtx(mDoMtx_stack_c::get()); + } else { + mDoMtx_stack_c::transS(current.pos); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::scaleM(field_0x5c4); + mModel->setBaseTRMtx(mDoMtx_stack_c::get()); + } + cMtx_copy(mDoMtx_stack_c::get(), mBgMtx); +} + +/* 80CBD2FC-80CBD328 000D1C 002C+00 1/0 0/0 0/0 .text daObjRIVERROCK_Draw__FP16daObjRIVERROCK_c */ +static int daObjRIVERROCK_Draw(daObjRIVERROCK_c* i_this) { + return i_this->Draw(); +} + +/* 80CBD328-80CBD348 000D48 0020+00 2/1 0/0 0/0 .text daObjRIVERROCK_Execute__FP16daObjRIVERROCK_c + */ +static int daObjRIVERROCK_Execute(daObjRIVERROCK_c* i_this) { + return i_this->MoveBGExecute(); +} + +/* 80CBD348-80CBD3C0 000D68 0078+00 1/0 0/0 0/0 .text CreateHeap__16daObjRIVERROCK_cFv */ +int daObjRIVERROCK_c::CreateHeap() { + J3DModelData* modelData = (J3DModelData*) dComIfG_getObjectRes(l_arcName, "M_RiverRock.bmd"); + JUT_ASSERT(242, modelData != 0); + mModel = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084); + return mModel != NULL ? TRUE : FALSE; +} + +/* 80CBD3C0-80CBD71C 000DE0 035C+00 1/1 0/0 0/0 .text create__16daObjRIVERROCK_cFv */ +int daObjRIVERROCK_c::create() { + fopAcM_SetupActor(this, daObjRIVERROCK_c); + int rv = dComIfG_resLoad(&mPhase, l_arcName); + if (rv == cPhs_COMPLEATE_e) { + gravity = -9.0f; + int dzb_id = dComIfG_getObjctResName2Index(l_arcName, "M_RiverRock.dzb"); + JUT_ASSERT(856, dzb_id != -1); + field_0x5a8 = (fopAcM_GetParam(this) >> 16) & 0xff; + rv = MoveBGCreate(l_arcName, + dzb_id, dBgS_MoveBGProc_TypicalRotY, 0x1bf0, NULL); + if (rv == cPhs_ERROR_e) { + return rv; + } + mDoExt_setupStageTexture(mModel->getModelData()); + if (fopAcM_GetParam(this) != -1) { + field_0x5c4.x = (fopAcM_GetParam(this) & 0xff) * 0.05f + 0.5f; + field_0x5c4.z = (fopAcM_GetParam(this) & 0xff) * 0.05f + 0.5f; + field_0x5c4.y = ((fopAcM_GetParam(this) >> 8) & 0xff) * 0.05f + 0.5f; + } else { + field_0x5c4.set(1.0f, 1.0f, 1.0f); + } + if (!mHIOInitialized) { + mHIOInitialized = true; + mHIONeedDelete = true; + l_HIO.field_0x4 = -1; + } + fopAcM_SetMtx(this, mModel->getBaseTRMtx()); + cXyz cStack_3c(current.pos.x, current.pos.y + 1000.0f, current.pos.z); + cXyz cStack_48(current.pos.x, current.pos.y + field_0x5c4.y * 2800.0f, current.pos.z); + mSoundObj.init(&cStack_48, 2); + field_0x5d0.set(current.pos.x, current.pos.y + 6000.0f, current.pos.z); + initCcCylinder(); + if (field_0x5a8 != 0xff && dComIfGs_isSwitch(field_0x5a8, fopAcM_GetRoomNo(this))) { + BreakSet(); + } else { + mAction = ACTION_WAIT; + } + fopAcM_setCullSizeBox(this, -6000.0f, -500.0f, -6000.0f, 6000.0f, 6000.0f, 6000.0f); + daObjRIVERROCK_Execute(this); + } + return rv; +} + +/* 80CBD7AC-80CBD7B4 0011CC 0008+00 1/0 0/0 0/0 .text + * daObjRIVERROCK_IsDelete__FP16daObjRIVERROCK_c */ +static int daObjRIVERROCK_IsDelete(daObjRIVERROCK_c* i_this) { + return 1; +} + +/* 80CBD7B4-80CBD814 0011D4 0060+00 1/0 0/0 0/0 .text Create__16daObjRIVERROCK_cFv */ +int daObjRIVERROCK_c::Create() { + fopAcM_setCullSizeBox(this, field_0x5c4.x * -1000.0f, field_0x5c4.y * -500.0f, + field_0x5c4.z * -1000.0f, field_0x5c4.x * 1000.0f, field_0x5c4.y * 500.0f, + field_0x5c4.z * 1000.0f); + return cPhs_COMPLEATE_e; +} + +/* 80CBD814-80CBD8E0 001234 00CC+00 1/0 0/0 0/0 .text Execute__16daObjRIVERROCK_cFPPA3_A4_f */ +int daObjRIVERROCK_c::Execute(Mtx** ppMtx) { + Action(); + field_0x5a9 = fopAcM_GetParam(this) >> 24; + if (field_0x5a9 != 0xff) { + if (dComIfGs_isSwitch(field_0x5a9, fopAcM_GetRoomNo(this)) && !field_0x5ee) { + field_0x5ee = true; + BreakSet(); + } + } + *ppMtx = &mBgMtx; + SetCcCyl(); + setBaseMtx(); + mSoundObj.framework(0, dComIfGp_getReverb(fopAcM_GetRoomNo(this))); + return 1; +} + +/* 80CBD8E0-80CBD964 001300 0084+00 1/0 0/0 0/0 .text Draw__16daObjRIVERROCK_cFv */ +int daObjRIVERROCK_c::Draw() { + g_env_light.settingTevStruct(0x10, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mModel, &tevStr); + dComIfGd_setListBG(); + mDoExt_modelUpdateDL(mModel); + return 1; +} + +/* 80CBD964-80CBD9C4 001384 0060+00 1/0 0/0 0/0 .text Delete__16daObjRIVERROCK_cFv */ +int daObjRIVERROCK_c::Delete() { + dComIfG_resDelete(&mPhase, l_arcName); + if (mHIONeedDelete) { + mHIOInitialized = false; + } + mSoundObj.deleteObject(); + return 1; +} + +// /* 80CBD9C4-80CBDA0C 0013E4 0048+00 2/1 0/0 0/0 .text __dt__20daObjRIVERROCK_HIO_cFv */ +// daObjRIVERROCK_HIO_c::~daObjRIVERROCK_HIO_c() { +// } /* 80CBDB44-80CBDB64 -00001 0020+00 1/0 0/0 0/0 .data l_daObjRIVERROCK_Method */ static actor_method_class l_daObjRIVERROCK_Method = { - (process_method_func)daObjRIVERROCK_Create__FP10fopAc_ac_c, - (process_method_func)daObjRIVERROCK_Delete__FP16daObjRIVERROCK_c, - (process_method_func)daObjRIVERROCK_Execute__FP16daObjRIVERROCK_c, - (process_method_func)daObjRIVERROCK_IsDelete__FP16daObjRIVERROCK_c, - (process_method_func)daObjRIVERROCK_Draw__FP16daObjRIVERROCK_c, + (process_method_func)daObjRIVERROCK_Create, + (process_method_func)daObjRIVERROCK_Delete, + (process_method_func)daObjRIVERROCK_Execute, + (process_method_func)daObjRIVERROCK_IsDelete, + (process_method_func)daObjRIVERROCK_Draw, }; /* 80CBDB64-80CBDB94 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Obj_RIVERROCK */ @@ -156,406 +370,4 @@ extern actor_process_profile_definition g_profile_Obj_RIVERROCK = { fopAc_CULLBOX_CUSTOM_e, // cullType }; -/* 80CBDB94-80CBDBA0 000054 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 80CBDBA0-80CBDBAC 000060 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80CBDBAC-80CBDBD4 00006C 0028+00 1/1 0/0 0/0 .data __vt__16daObjRIVERROCK_c */ -SECTION_DATA extern void* __vt__16daObjRIVERROCK_c[10] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)CreateHeap__16daObjRIVERROCK_cFv, - (void*)Create__16daObjRIVERROCK_cFv, - (void*)Execute__16daObjRIVERROCK_cFPPA3_A4_f, - (void*)Draw__16daObjRIVERROCK_cFv, - (void*)Delete__16daObjRIVERROCK_cFv, - (void*)IsDelete__16dBgS_MoveBgActorFv, - (void*)ToFore__16dBgS_MoveBgActorFv, - (void*)ToBack__16dBgS_MoveBgActorFv, -}; - -/* 80CBDBD4-80CBDBE0 000094 000C+00 2/2 0/0 0/0 .data __vt__20daObjRIVERROCK_HIO_c */ -SECTION_DATA extern void* __vt__20daObjRIVERROCK_HIO_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20daObjRIVERROCK_HIO_cFv, -}; - -/* 80CBC6CC-80CBC6F4 0000EC 0028+00 1/1 0/0 0/0 .text __ct__20daObjRIVERROCK_HIO_cFv */ -daObjRIVERROCK_HIO_c::daObjRIVERROCK_HIO_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDA60-80CBDAA4 000004 0044+00 1/1 0/0 0/0 .rodata ccCylSrc$3635 */ -const static dCcD_SrcCyl ccCylSrc = { - { - {0x0, {{0x0, 0x0, 0x0}, {0x20, 0x11}, 0x79}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x1}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf - { - {0.0f, -500.0f, 0.0f}, // mCenter - 1000.0f, // mRadius - 1000.0f // mHeight - } // mCyl -}; - -/* 80CBC6F4-80CBC754 000114 0060+00 1/1 0/0 0/0 .text initCcCylinder__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::initCcCylinder() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDAA4-80CBDAAC 000048 0004+04 1/3 0/0 0/0 .rodata @3642 */ -SECTION_RODATA static f32 const lit_3642[1 + 1 /* padding */] = { - 1000.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80CBDAA4, &lit_3642); - -/* 80CBC754-80CBC7B4 000174 0060+00 1/1 0/0 0/0 .text SetCcCyl__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::SetCcCyl() { - // NONMATCHING -} - -/* 80CBC7B4-80CBC7D4 0001D4 0020+00 1/0 0/0 0/0 .text daObjRIVERROCK_Create__FP10fopAc_ac_c */ -static void daObjRIVERROCK_Create(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* 80CBC7D4-80CBC7F8 0001F4 0024+00 1/0 0/0 0/0 .text daObjRIVERROCK_Delete__FP16daObjRIVERROCK_c - */ -static void daObjRIVERROCK_Delete(daObjRIVERROCK_c* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDAAC-80CBDAB4 000050 0008+00 2/3 0/0 0/0 .rodata @3669 */ -SECTION_RODATA static u8 const lit_3669[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CBDAAC, &lit_3669); - -/* 80CBC7F8-80CBC8BC 000218 00C4+00 1/1 0/0 0/0 .text BreakWaitAction__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::BreakWaitAction() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDAB4-80CBDAB8 000058 0004+00 0/1 0/0 0/0 .rodata @3742 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3742 = 700.0f; -COMPILER_STRIP_GATE(0x80CBDAB4, &lit_3742); -#pragma pop - -/* 80CBDAB8-80CBDABC 00005C 0004+00 0/1 0/0 0/0 .rodata @3743 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3743 = 5650.0f; -COMPILER_STRIP_GATE(0x80CBDAB8, &lit_3743); -#pragma pop - -/* 80CBDABC-80CBDAC0 000060 0004+00 0/1 0/0 0/0 .rodata @3744 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3744 = 2850.0f; -COMPILER_STRIP_GATE(0x80CBDABC, &lit_3744); -#pragma pop - -/* 80CBDAC0-80CBDAC4 000064 0004+00 0/1 0/0 0/0 .rodata @3745 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3745 = 300.0f; -COMPILER_STRIP_GATE(0x80CBDAC0, &lit_3745); -#pragma pop - -/* 80CBDAC4-80CBDAC8 000068 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(0x80CBDAC4, &lit_3746); -#pragma pop - -/* 80CBDAC8-80CBDACC 00006C 0004+00 0/3 0/0 0/0 .rodata @3747 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3747 = 1.0f; -COMPILER_STRIP_GATE(0x80CBDAC8, &lit_3747); -#pragma pop - -/* 80CBDACC-80CBDAD0 000070 0004+00 0/2 0/0 0/0 .rodata @3748 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3748 = -1.0f; -COMPILER_STRIP_GATE(0x80CBDACC, &lit_3748); -#pragma pop - -/* 80CBDAD0-80CBDAD4 000074 0004+00 0/1 0/0 0/0 .rodata @3749 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3749 = 3.0f; -COMPILER_STRIP_GATE(0x80CBDAD0, &lit_3749); -#pragma pop - -/* 80CBC8BC-80CBCC3C 0002DC 0380+00 1/1 0/0 0/0 .text CheckBG__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::CheckBG() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDAD4-80CBDAD8 000078 0004+00 1/1 0/0 0/0 .rodata @3758 */ -SECTION_RODATA static f32 const lit_3758 = 3628.0f; -COMPILER_STRIP_GATE(0x80CBDAD4, &lit_3758); - -/* 80CBDBE8-80CBDBEC 000008 0004+00 2/2 0/0 0/0 .bss None */ -static u8 data_80CBDBE8[4]; - -/* 80CBDBEC-80CBDBF8 00000C 000C+00 1/1 0/0 0/0 .bss @3626 */ -static u8 lit_3626[12]; - -/* 80CBDBF8-80CBDC08 000018 0010+00 4/4 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[16]; - -/* 80CBCC3C-80CBCCC0 00065C 0084+00 1/1 0/0 0/0 .text BreakMoveAction__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::BreakMoveAction() { - // NONMATCHING -} - -/* 80CBCCC0-80CBCD94 0006E0 00D4+00 1/1 0/0 0/0 .text BrokenAction__16daObjRIVERROCK_cFv - */ -void daObjRIVERROCK_c::BrokenAction() { - // NONMATCHING -} - -/* 80CBCD94-80CBCDE8 0007B4 0054+00 1/1 0/0 0/0 .text BreakAction__16daObjRIVERROCK_cFv - */ -void daObjRIVERROCK_c::BreakAction() { - // NONMATCHING -} - -/* 80CBCDE8-80CBCE2C 000808 0044+00 1/1 0/0 0/0 .text Action__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::Action() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDAD8-80CBDADC 00007C 0004+00 0/1 0/0 0/0 .rodata @3861 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3861 = 200.0f; -COMPILER_STRIP_GATE(0x80CBDAD8, &lit_3861); -#pragma pop - -/* 80CBDADC-80CBDAE0 000080 0004+00 0/1 0/0 0/0 .rodata @3862 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3862 = 280.0f; -COMPILER_STRIP_GATE(0x80CBDADC, &lit_3862); -#pragma pop - -/* 80CBCE2C-80CBD1C4 00084C 0398+00 3/3 0/0 0/0 .text BreakSet__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::BreakSet() { - // NONMATCHING -} - -/* 80CBD1C4-80CBD204 000BE4 0040+00 1/1 0/0 0/0 .text WaitAction__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::WaitAction() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDAE0-80CBDAE4 000084 0004+00 0/1 0/0 0/0 .rodata @3895 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3895 = 150.0f; -COMPILER_STRIP_GATE(0x80CBDAE0, &lit_3895); -#pragma pop - -/* 80CBDAE4-80CBDAE8 000088 0004+00 0/1 0/0 0/0 .rodata @3896 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3896 = -150.0f; -COMPILER_STRIP_GATE(0x80CBDAE4, &lit_3896); -#pragma pop - -/* 80CBD204-80CBD2FC 000C24 00F8+00 1/1 0/0 0/0 .text setBaseMtx__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::setBaseMtx() { - // NONMATCHING -} - -/* 80CBD2FC-80CBD328 000D1C 002C+00 1/0 0/0 0/0 .text daObjRIVERROCK_Draw__FP16daObjRIVERROCK_c */ -static void daObjRIVERROCK_Draw(daObjRIVERROCK_c* param_0) { - // NONMATCHING -} - -/* 80CBD328-80CBD348 000D48 0020+00 2/1 0/0 0/0 .text daObjRIVERROCK_Execute__FP16daObjRIVERROCK_c - */ -static void daObjRIVERROCK_Execute(daObjRIVERROCK_c* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDB14-80CBDB14 0000B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CBDB1E = "M_RiverRock.bmd"; -#pragma pop - -/* 80CBD348-80CBD3C0 000D68 0078+00 1/0 0/0 0/0 .text CreateHeap__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::CreateHeap() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80CBDAE8-80CBDAEC 00008C 0004+00 0/1 0/0 0/0 .rodata @4026 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4026 = -9.0f; -COMPILER_STRIP_GATE(0x80CBDAE8, &lit_4026); -#pragma pop - -/* 80CBDAEC-80CBDAF0 000090 0004+00 0/1 0/0 0/0 .rodata @4027 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4027 = 0.5f; -COMPILER_STRIP_GATE(0x80CBDAEC, &lit_4027); -#pragma pop - -/* 80CBDAF0-80CBDAF4 000094 0004+00 0/1 0/0 0/0 .rodata @4028 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4028 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x80CBDAF0, &lit_4028); -#pragma pop - -/* 80CBDAF4-80CBDAF8 000098 0004+00 0/1 0/0 0/0 .rodata @4029 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4029 = 2800.0f; -COMPILER_STRIP_GATE(0x80CBDAF4, &lit_4029); -#pragma pop - -/* 80CBDAF8-80CBDAFC 00009C 0004+00 0/1 0/0 0/0 .rodata @4030 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4030 = 6000.0f; -COMPILER_STRIP_GATE(0x80CBDAF8, &lit_4030); -#pragma pop - -/* 80CBDAFC-80CBDB00 0000A0 0004+00 0/1 0/0 0/0 .rodata @4031 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4031 = -6000.0f; -COMPILER_STRIP_GATE(0x80CBDAFC, &lit_4031); -#pragma pop - -/* 80CBDB00-80CBDB04 0000A4 0004+00 0/2 0/0 0/0 .rodata @4032 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4032 = -500.0f; -COMPILER_STRIP_GATE(0x80CBDB00, &lit_4032); -#pragma pop - -/* 80CBDB04-80CBDB0C 0000A8 0008+00 0/1 0/0 0/0 .rodata @4034 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4034[8] = { - 0x43, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80CBDB04, &lit_4034); -#pragma pop - -/* 80CBDB14-80CBDB14 0000B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80CBDB2E = "M_RiverRock.dzb"; -#pragma pop - -/* 80CBD3C0-80CBD71C 000DE0 035C+00 1/1 0/0 0/0 .text create__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::create() { - // NONMATCHING -} - -/* 80CBD71C-80CBD764 00113C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80CBD764-80CBD7AC 001184 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80CBD7AC-80CBD7B4 0011CC 0008+00 1/0 0/0 0/0 .text - * daObjRIVERROCK_IsDelete__FP16daObjRIVERROCK_c */ -static bool daObjRIVERROCK_IsDelete(daObjRIVERROCK_c* param_0) { - return true; -} - -/* ############################################################################################## */ -/* 80CBDB0C-80CBDB10 0000B0 0004+00 0/1 0/0 0/0 .rodata @4119 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4119 = -1000.0f; -COMPILER_STRIP_GATE(0x80CBDB0C, &lit_4119); -#pragma pop - -/* 80CBDB10-80CBDB14 0000B4 0004+00 0/1 0/0 0/0 .rodata @4120 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4120 = 500.0f; -COMPILER_STRIP_GATE(0x80CBDB10, &lit_4120); -#pragma pop - -/* 80CBD7B4-80CBD814 0011D4 0060+00 1/0 0/0 0/0 .text Create__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::Create() { - // NONMATCHING -} - -/* 80CBD814-80CBD8E0 001234 00CC+00 1/0 0/0 0/0 .text Execute__16daObjRIVERROCK_cFPPA3_A4_f */ -void daObjRIVERROCK_c::Execute(f32 (**param_0)[3][4]) { - // NONMATCHING -} - -/* 80CBD8E0-80CBD964 001300 0084+00 1/0 0/0 0/0 .text Draw__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::Draw() { - // NONMATCHING -} - -/* 80CBD964-80CBD9C4 001384 0060+00 1/0 0/0 0/0 .text Delete__16daObjRIVERROCK_cFv */ -void daObjRIVERROCK_c::Delete() { - // NONMATCHING -} - -/* 80CBD9C4-80CBDA0C 0013E4 0048+00 2/1 0/0 0/0 .text __dt__20daObjRIVERROCK_HIO_cFv */ -daObjRIVERROCK_HIO_c::~daObjRIVERROCK_HIO_c() { - // NONMATCHING -} - -/* 80CBDA0C-80CBDA48 00142C 003C+00 0/0 1/0 0/0 .text __sinit_d_a_obj_riverrock_cpp */ -void __sinit_d_a_obj_riverrock_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80CBDA0C, __sinit_d_a_obj_riverrock_cpp); -#pragma pop - /* 80CBDB14-80CBDB14 0000B8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */