diff --git a/config/GZ2E01/rels/d_a_obj_gadget/symbols.txt b/config/GZ2E01/rels/d_a_obj_gadget/symbols.txt index f094a27f435..4555461a40c 100644 --- a/config/GZ2E01/rels/d_a_obj_gadget/symbols.txt +++ b/config/GZ2E01/rels/d_a_obj_gadget/symbols.txt @@ -117,6 +117,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @3804 = .bss:0x00000048; // type:object size:0xC scope:local l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte @4550 = .bss:0x00000058; // type:object size:0xC scope:local +init$2446 = .bss:0x00000064; // type:object size:0x1 scope:local align:1 data:byte scl$4549 = .bss:0x00000068; // type:object size:0xC scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global diff --git a/config/GZ2J01/rels/d_a_obj_gadget/symbols.txt b/config/GZ2J01/rels/d_a_obj_gadget/symbols.txt index f8ecb902168..e58c0bc36c9 100644 --- a/config/GZ2J01/rels/d_a_obj_gadget/symbols.txt +++ b/config/GZ2J01/rels/d_a_obj_gadget/symbols.txt @@ -116,6 +116,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @3804 = .bss:0x00000048; // type:object size:0xC scope:local l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte @4550 = .bss:0x00000058; // type:object size:0xC scope:local +init$2446 = .bss:0x00000064; // type:object size:0x1 scope:local align:1 data:byte scl$4549 = .bss:0x00000068; // type:object size:0xC scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global diff --git a/config/GZ2P01/rels/d_a_obj_gadget/symbols.txt b/config/GZ2P01/rels/d_a_obj_gadget/symbols.txt index f8ecb902168..e58c0bc36c9 100644 --- a/config/GZ2P01/rels/d_a_obj_gadget/symbols.txt +++ b/config/GZ2P01/rels/d_a_obj_gadget/symbols.txt @@ -116,6 +116,7 @@ __global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:globa @3804 = .bss:0x00000048; // type:object size:0xC scope:local l_HIO = .bss:0x00000054; // type:object size:0x4 scope:global data:4byte @4550 = .bss:0x00000058; // type:object size:0xC scope:local +init$2446 = .bss:0x00000064; // type:object size:0x1 scope:local align:1 data:byte scl$4549 = .bss:0x00000068; // type:object size:0xC scope:local sInstance__40JASGlobalInstance<19JASDefaultBankTable> = .bss:0x00000074; // type:object size:0x4 scope:global sInstance__35JASGlobalInstance<14JASAudioThread> = .bss:0x00000078; // type:object size:0x4 scope:global diff --git a/configure.py b/configure.py index b300122ca9d..129c27913c3 100755 --- a/configure.py +++ b/configure.py @@ -1993,7 +1993,7 @@ config.libs = [ ActorRel(Equivalent, "d_a_obj_flag3"), # weak function order ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_food"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_fw"), - ActorRel(NonMatching, "d_a_obj_gadget"), + ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_gadget"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ganonwall"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_ganonwall2"), ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_gb"), diff --git a/include/d/actor/d_a_obj_gadget.h b/include/d/actor/d_a_obj_gadget.h index 63c6688c66c..a9c64ae2986 100644 --- a/include/d/actor/d_a_obj_gadget.h +++ b/include/d/actor/d_a_obj_gadget.h @@ -2,8 +2,12 @@ #define D_A_OBJ_GADGET_H #include "SSystem/SComponent/c_math.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" +class daObj_Gadget_HIO_c; + /** * @ingroup actors-objects * @class daObj_Gadget_c @@ -13,25 +17,67 @@ * */ class daObj_Gadget_c : public fopAc_ac_c { +private: + /* 0x568 */ daObj_Gadget_HIO_c* field_0x568; + /* 0x56C */ request_of_phase_process_class mPhase; + /* 0x574 */ J3DModel* mModel; + /* 0x578 */ dBgS_ObjAcch mAcch; + /* 0x750 */ dCcD_Stts mStts; + /* 0x78C */ dBgS_AcchCir mAcchCir; + /* 0x7CC */ cBgS_GndChk mGndChk; + /* 0x808 */ dCcD_Cyl mCyl; + /* 0x944 */ cM3dGLin mLine; + /* 0x960 */ dBgS_LinChk mLinChk; + /* 0x9D0 */ u8 field_0x9d0; + /* 0x9D4 */ cXyz field_0x9d4; + /* 0x9E0 */ cXyz field_0x9e0; + /* 0x9EC */ csXyz field_0x9ec; + /* 0x9F4 */ int field_0x9f4; + /* 0x9F8 */ int field_0x9f8; + /* 0x9FC */ f32 field_0x9fc; + /* 0xA00 */ f32 field_0xa00; + /* 0xA04 */ f32 field_0xa04; + /* 0xA08 */ f32 field_0xa08; + /* 0xA0C */ f32 field_0xa0c; + /* 0xA10 */ s16 field_0xa10; + /* 0xA12 */ s16 field_0xa12; + /* 0xA14 */ s16 field_0xa14; + /* 0xA16 */ s16 field_0xa16; + /* 0xA18 */ s16 field_0xa18; + /* 0xA1A */ u8 field_0xa1a[0xa20 - 0xa1a]; + /* 0xA20 */ u32 field_0xa20[4]; + /* 0xA30 */ u32 field_0xa30; + /* 0xA34 */ u32 field_0xa34; + /* 0xA38 */ u32 field_0xa38; + /* 0xA3C */ u32 field_0xa3c; + /* 0xA40 */ u8 field_0xa40; + /* 0xA41 */ u8 field_0xa41; + /* 0xA42 */ u8 field_0xa42; + /* 0xA43 */ u8 field_0xa43; + /* 0xA44 */ u8 mHide; + /* 0xA45 */ u8 field_0xa45; + /* 0xA46 */ u8 field_0xa46; + /* 0xA47 */ u8 field_0xa47; + public: - /* 80BF2D2C */ ~daObj_Gadget_c(); - /* 80BF2F28 */ void create(); - /* 80BF3478 */ void CreateHeap(); - /* 80BF3504 */ void Delete(); - /* 80BF3538 */ void Execute(); - /* 80BF3FAC */ void Draw(); - /* 80BF4130 */ void createHeapCallBack(fopAc_ac_c*); + /* 80BF2D2C */ virtual ~daObj_Gadget_c(); + /* 80BF2F28 */ int create(); + /* 80BF3478 */ int CreateHeap(); + /* 80BF3504 */ int Delete(); + /* 80BF3538 */ int Execute(); + /* 80BF3FAC */ int Draw(); + /* 80BF4130 */ static int createHeapCallBack(fopAc_ac_c*); /* 80BF4150 */ void setEnvTevColor(); /* 80BF41AC */ void setRoomNo(); /* 80BF41F0 */ void reset(); /* 80BF424C */ void setMtx(); - /* 80BF4354 */ void calcRollAngle(s16, int); - /* 80BF43F4 */ void getWallAngle(s16, s16*); + /* 80BF4354 */ s16 calcRollAngle(s16, int); + /* 80BF43F4 */ BOOL getWallAngle(s16, s16*); /* 80BF4584 */ void setSmokePrtcl(); /* 80BF4600 */ void setWaterPrtcl(); /* 80BF4728 */ void setHamonPrtcl(); - u32 getType() { return fopAcM_GetParam(this) & 0xFF; } + u8 getType() { return fopAcM_GetParam(this); } void setCoNone() { field_0xa40 = 1; } void offHide() { mHide = 0; } void onHide() { mHide = 1; } @@ -49,25 +95,29 @@ public: field_0xa14 = 0x4000; field_0xa43 = 1; } - -private: - /* 0x568 */ u8 field_0x568[0xa14 - 0x568]; - /* 0xA14 */ s16 field_0xa14; - /* 0xA16 */ u8 field_0xa16[0xa40 - 0xa16]; - /* 0xA40 */ u8 field_0xa40; - /* 0xA41 */ u8 field_0xa41[0xa43 - 0xa41]; - /* 0xA43 */ u8 field_0xa43; - /* 0xA44 */ u8 mHide; - /* 0xA45 */ u8 field_0xa45[0xa4c - 0xa45]; }; STATIC_ASSERT(sizeof(daObj_Gadget_c) == 0xa4c); +struct daObj_Gadget_HIOParam { + /* 0x00 */ f32 focus_offset; + /* 0x04 */ f32 gravity; + /* 0x08 */ f32 scale; + /* 0x0C */ f32 real_shadow_size; + /* 0x10 */ f32 weight; + /* 0x14 */ f32 height; + /* 0x18 */ f32 knee_length; + /* 0x1C */ f32 width; + /* 0x20 */ f32 fire_rate; + /* 0x24 */ f32 launch_angle; + /* 0x28 */ f32 floating_offset; +}; + class daObj_Gadget_Param_c { public: - /* 80BF48D8 */ ~daObj_Gadget_Param_c(); + /* 80BF48D8 */ virtual ~daObj_Gadget_Param_c() {} - static u8 const m[44]; + static daObj_Gadget_HIOParam const m; }; diff --git a/src/d/actor/d_a_obj_gadget.cpp b/src/d/actor/d_a_obj_gadget.cpp index e1ace413aa3..48ee5e1b0e6 100644 --- a/src/d/actor/d_a_obj_gadget.cpp +++ b/src/d/actor/d_a_obj_gadget.cpp @@ -6,173 +6,63 @@ #include "d/dolzel_rel.h" // IWYU pragma: keep #include "d/actor/d_a_obj_gadget.h" +#include "d/actor/d_a_npc.h" +#include "d/d_path.h" #include "d/d_cc_d.h" +#include "Z2AudioLib/Z2Instances.h" +#include "SSystem/SComponent/c_counter.h" +#include "JSystem/JHostIO/JORFile.h" #include "dol2asm.h" +#if DEBUG +#define PARAM field_0x568->mAttr +#define PARAM_CLASS daObj_Gadget_HIO_c + +class daObj_Gadget_HIO_c : public mDoHIO_entry_c { +public: + daObj_Gadget_HIO_c() { + mAttr = daObj_Gadget_Param_c::m; + } + void genMessage(JORMContext* ctx); + void listenPropertyEvent(const JORPropertyEvent*); + + /* 0x8 */ daObj_Gadget_HIOParam mAttr; +}; +#else +#define PARAM daObj_Gadget_Param_c::m +#define PARAM_CLASS daObj_Gadget_Param_c +#endif -// -// Forward References: -// +/* 80BF4944-80BF4970 000000 002C+00 4/4 0/0 0/0 .rodata m__20daObj_Gadget_Param_c */ +daObj_Gadget_HIOParam const daObj_Gadget_Param_c::m = { + 0.0f, -4.0f, 1.0f, 100.0f, 37.0f, 26.0f, 13.0f, 14.0f, + 37.0f, 50.0f, 18.0f, +}; -extern "C" void __dt__14daObj_Gadget_cFv(); -extern "C" void create__14daObj_Gadget_cFv(); -extern "C" void __dt__8cM3dGLinFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void __dt__12dBgS_AcchCirFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__4cXyzFv(); -extern "C" void __dt__12dBgS_ObjAcchFv(); -extern "C" void CreateHeap__14daObj_Gadget_cFv(); -extern "C" void Delete__14daObj_Gadget_cFv(); -extern "C" void Execute__14daObj_Gadget_cFv(); -extern "C" void Draw__14daObj_Gadget_cFv(); -extern "C" void __dt__8cM3dGPlaFv(); -extern "C" void createHeapCallBack__14daObj_Gadget_cFP10fopAc_ac_c(); -extern "C" void setEnvTevColor__14daObj_Gadget_cFv(); -extern "C" void setRoomNo__14daObj_Gadget_cFv(); -extern "C" void reset__14daObj_Gadget_cFv(); -extern "C" void setMtx__14daObj_Gadget_cFv(); -extern "C" void calcRollAngle__14daObj_Gadget_cFsi(); -extern "C" void getWallAngle__14daObj_Gadget_cFsPs(); -extern "C" void setSmokePrtcl__14daObj_Gadget_cFv(); -extern "C" void setWaterPrtcl__14daObj_Gadget_cFv(); -extern "C" void setHamonPrtcl__14daObj_Gadget_cFv(); -extern "C" static void daObj_Gadget_Create__FPv(); -extern "C" static void daObj_Gadget_Delete__FPv(); -extern "C" static void daObj_Gadget_Execute__FPv(); -extern "C" static void daObj_Gadget_Draw__FPv(); -extern "C" static bool daObj_Gadget_IsDelete__FPv(); -extern "C" void __dt__10cCcD_GSttsFv(); -extern "C" void func_80BF4848(void* _this, int*); -extern "C" void __sinit_d_a_obj_gadget_cpp(); -extern "C" void __dt__20daObj_Gadget_Param_cFv(); -extern "C" static void func_80BF4920(); -extern "C" static void func_80BF4928(); -extern "C" u8 const m__20daObj_Gadget_Param_c[44]; -extern "C" extern char const* const d_a_obj_gadget__stringBase0; - -// -// External References: -// - -extern "C" void mDoMtx_XrotM__FPA4_fs(); -extern "C" void mDoMtx_YrotS__FPA4_fs(); -extern "C" void mDoMtx_ZrotM__FPA4_fs(); -extern "C" void scaleM__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void ZXYrotM__14mDoMtx_stack_cFRC5csXyz(); -extern "C" void mDoExt_modelUpdateDL__FP8J3DModel(); -extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_SearchByID__FUiPP10fopAc_ac_c(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_setCullSizeBox__FP10fopAc_ac_cffffff(); -extern "C" void fopAcM_calcSpeed__FP10fopAc_ac_c(); -extern "C" void fopAcM_posMove__FP10fopAc_ac_cPC4cXyz(); -extern "C" void fopAcM_effSmokeSet1__FPUlPUlPC4cXyzPC5csXyzfPC12dKy_tevstr_ci(); -extern "C" void fopAcM_effHamonSet__FPUlPC4cXyzff(); -extern "C" bool fopAcM_riverStream__FP4cXyzPsPff(); -extern "C" void fopAcM_carryOffRevise__FP10fopAc_ac_c(); -extern "C" void fopAcM_getWaterY__FPC4cXyzPf(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void forceOnEventMove__Q213dPa_control_c7level_cFUl(); -extern "C" void -set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void dPath_GetPolyRoomPathVec__FRC13cBgS_PolyInfoP4cXyzPi(); -extern "C" void setSimple__21dDlst_shadowControl_cFP4cXyzffP4cXyzsfP9_GXTexObj(); -extern "C" void LineCross__4cBgSFP11cBgS_LinChk(); -extern "C" void GetTriPla__4cBgSCFRC13cBgS_PolyInfoP8cM3dGPla(); -extern "C" void GetPolyColor__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void GetRoomId__4dBgSFRC13cBgS_PolyInfo(); -extern "C" void __ct__12dBgS_AcchCirFv(); -extern "C" void SetWallR__12dBgS_AcchCirFf(); -extern "C" void __dt__9dBgS_AcchFv(); -extern "C" void __ct__9dBgS_AcchFv(); -extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz(); -extern "C" void CrrPos__9dBgS_AcchFR4dBgS(); -extern "C" void __ct__11dBgS_LinChkFv(); -extern "C" void __dt__11dBgS_LinChkFv(); -extern "C" void Set__11dBgS_LinChkFPC4cXyzPC4cXyzPC10fopAc_ac_c(); -extern "C" void SetObj__16dBgS_PolyPassChkFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void daNpcF_getGroundAngle__FP13cBgS_PolyInfos(); -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 __mi__4cXyzCFRC3Vec(); -extern "C" void normalizeZP__4cXyzFv(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void __ct__11cBgS_GndChkFv(); -extern "C" void __dt__11cBgS_GndChkFv(); -extern "C" void __dt__13cBgS_PolyInfoFv(); -extern "C" void __dt__8cM3dGCirFv(); -extern "C" void SetC__8cM3dGCylFRC4cXyz(); -extern "C" void SetH__8cM3dGCylFf(); -extern "C" void SetR__8cM3dGCylFf(); -extern "C" void cLib_addCalc__FPfffff(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void cLib_addCalcAngleS2__FPssss(); -extern "C" void cLib_chaseF__FPfff(); -extern "C" void cLib_chaseAngleS__FPsss(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_27(); -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" u8 mSimpleTexObj__21dDlst_shadowControl_c[32]; -extern "C" u8 sincosTable___5JMath[65536]; -extern "C" void __register_global_object(); - -// -// Declarations: -// - -/* ############################################################################################## */ -/* 80BF4A24-80BF4A24 0000E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80BF4A24 = ""; -SECTION_DEAD static char const* const stringBase_80BF4A25 = "ykM1"; -#pragma pop +/* 80BF4970-80BF49A0 00002C 0030+00 1/1 0/0 0/0 .rodata l_ccDObjData */ +static dCcD_SrcGObjInf const l_ccDObjData = +{ + {0x0, {{0x0, 0x0, 0}, {0xD8FBFDFF, 0x1F}, 0x79}}, // mObj + {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt + {dCcD_SE_STONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg + {0x0}, // mGObjCo +}; /* 80BF4A4C-80BF4A5C 000020 0010+00 2/3 0/0 0/0 .data l_bmdData */ -SECTION_DATA static u8 l_bmdData[16] = { - 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x01, +static u32 l_bmdData[2][2] = { + 35, 1, 34, 1, }; /* 80BF4A5C-80BF4A64 -00001 0008+00 2/4 0/0 0/0 .data l_resNameList */ -SECTION_DATA static void* l_resNameList[2] = { - (void*)&d_a_obj_gadget__stringBase0, - (void*)(((char*)&d_a_obj_gadget__stringBase0) + 0x1), +static char* l_resNameList[2] = { + "", + "ykM1", }; /* 80BF4A64-80BF4AA8 000038 0044+00 1/2 0/0 0/0 .data l_ccDCyl */ static dCcD_SrcCyl l_ccDCyl = { - { - {0x0, {{0x0, 0x0, 0x0}, {0x0, 0x0}, 0x0}}, // mObj - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjAt - {dCcD_SE_NONE, 0x0, 0x0, 0x0, 0x0}, // mGObjTg - {0x0}, // mGObjCo - }, // mObjInf + l_ccDObjData, // mObjInf { {0.0f, 0.0f, 0.0f}, // mCenter 0.0f, // mRadius @@ -180,18 +70,584 @@ static dCcD_SrcCyl l_ccDCyl = { } // mCyl }; -/* 80BF4AA8-80BF4AB0 00007C 0008+00 1/1 0/0 0/0 .data emttrId$4553 */ -SECTION_DATA static u8 emttrId[8] = { - 0x01, 0xB8, 0x01, 0xB9, 0x01, 0xBA, 0x01, 0xBB, -}; +#if DEBUG + +void daObj_Gadget_HIO_c::listenPropertyEvent(const JORPropertyEvent* i_event) { + char buffer[2000]; + size_t len; + JORReflexible::listenPropertyEvent(i_event); + JORFile jorFile; + switch ((u32)i_event->id) { + case 0x40000002: + if (jorFile.open(6, "すべてのファイル(*.*)", NULL, NULL, NULL)) { + memset(buffer, 0, 2000); + len = 0; + sprintf(buffer + len, "%.3ff,\t// 注目オフセット\n", mAttr.focus_offset); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// 重力\n", mAttr.gravity); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// スケ−ル\n", mAttr.scale); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// リアル影サイズ\n", mAttr.real_shadow_size); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// 体重\n", mAttr.weight); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// 高さ\n", mAttr.height); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// ひざ丈\n", mAttr.knee_length); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// 幅\n", mAttr.width); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// 発射速度\n", mAttr.fire_rate); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// 発射角度\n", mAttr.launch_angle); + len = strlen(buffer); + sprintf(buffer + len, "%.3ff,\t// 浮きオフセット\n", mAttr.floating_offset); + len = strlen(buffer); + jorFile.writeData(buffer, len); + jorFile.close(); + OS_REPORT("write append success!::%6d\n", len); + } else { + OS_REPORT("write append failure!\n"); + } + } +} + +void daObj_Gadget_HIO_c::genMessage(JORMContext* ctx) { + ctx->genSlider("注目オフセット ", &mAttr.focus_offset, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, + 0x200, 0x18); + ctx->genSlider("重力 ", &mAttr.gravity, -100.0f, 100.0f, 0, NULL, 0xffff, 0xffff, + 0x200, 0x18); + ctx->genSlider("スケ−ル ", &mAttr.scale, 0.0f, 100.0f, 0, NULL, 0xffff, 0xffff, 0x200, + 0x18); + ctx->genSlider("リアル影サイズ ", &mAttr.real_shadow_size, 0.0f, 10000.0f, 0, NULL, 0xffff, + 0xffff, 0x200, 0x18); + ctx->genSlider("体重 ", &mAttr.weight, 0.0f, 255.0f, 0, NULL, 0xffff, 0xffff, 0x200, + 0x18); + ctx->genSlider("高さ ", &mAttr.height, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, + 0x18); + ctx->genSlider("ひざ丈 ", &mAttr.knee_length, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, + 0x200, 0x18); + ctx->genSlider("幅 ", &mAttr.width, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, 0x200, + 0x18); + ctx->genSlider("発射速度 ", &mAttr.fire_rate, 0.0f, 1000.0f, 0, NULL, 0xffff, 0xffff, + 0x200, 0x18); + ctx->genSlider("発射角度 ", &mAttr.launch_angle, 0.0f, 90.0f, 0, NULL, 0xffff, 0xffff, + 0x200, 0x18); + ctx->genSlider("浮きオフセット ", &mAttr.floating_offset, -100.0f, 100.0f, 0, NULL, 0xffff, + 0xffff, 0x200, 0x18); + ctx->genButton("ファイル書き出し", 0x40000002, 0, NULL, 0xffff, 0xffff, 0x200, 0x18); +} + +#endif + +/* 80BF4BE4-80BF4BE8 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ +static PARAM_CLASS l_HIO; + +/* 80BF2D2C-80BF2F28 0000EC 01FC+00 1/0 0/0 0/0 .text __dt__14daObj_Gadget_cFv */ +daObj_Gadget_c::~daObj_Gadget_c() { + OS_REPORT("|%06d:%x|daObj_Gadget_c -> デストラクト\n", g_Counter.mCounter0, this); + + #if DEBUG + if (field_0x568 != NULL) { + field_0x568->removeHIO(); + } + #endif + + dComIfG_resDelete( + &mPhase, + l_resNameList[l_bmdData[field_0x9d0][1]]); +} + +/* 80BF2F28-80BF3228 0002E8 0300+00 1/1 0/0 0/0 .text create__14daObj_Gadget_cFv */ +int daObj_Gadget_c::create() { + fopAcM_SetupActor(this, daObj_Gadget_c); + field_0x9d0 = getType(); + int rv = dComIfG_resLoad(&mPhase, l_resNameList[l_bmdData[field_0x9d0][1]]); + if (rv == cPhs_COMPLEATE_e) { + if (!fopAcM_entrySolidHeap(this, createHeapCallBack, 0)) { + return cPhs_ERROR_e; + } + + OS_REPORT("\t(%s:%d) <%08x>\n", fopAcM_getProcNameString(this), getType(), fopAcM_GetParam(this)); + J3DModelData* modelData = mModel->getModelData(); + fopAcM_SetMtx(this, mModel->getBaseTRMtx()); + fopAcM_setCullSizeBox(this, -300.0f, -50.0f, -300.0f, 300.0f, 450.0f, 300.0f); + + #if DEBUG + field_0x568 = &l_HIO; + field_0x568->entryHIO("小物"); + #endif + + mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, + fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this)); + mStts.Init(PARAM.weight, 0, this); + mCyl.Set(l_ccDCyl); + mCyl.SetStts(&mStts); + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + field_0xa00 = mAcch.GetGroundH(); + + if (field_0xa00 != -G_CM3D_F_INF) { + setEnvTevColor(); + setRoomNo(); + } + + reset(); + Execute(); + } + + return rv; +} + +/* 80BF3478-80BF3504 000838 008C+00 1/1 0/0 0/0 .text CreateHeap__14daObj_Gadget_cFv */ +int daObj_Gadget_c::CreateHeap() { + J3DModelData* mdlData_p = (J3DModelData*)dComIfG_getObjectRes( + l_resNameList[l_bmdData[field_0x9d0][1]], + l_bmdData[field_0x9d0][0]); + JUT_ASSERT(384, NULL != mdlData_p) + mModel = mDoExt_J3DModel__create(mdlData_p, 0x80000, 0x11000084); + return mModel != NULL ? TRUE : FALSE; +} + +/* 80BF3504-80BF3538 0008C4 0034+00 1/1 0/0 0/0 .text Delete__14daObj_Gadget_cFv */ +int daObj_Gadget_c::Delete() { + OS_REPORT("|%06d:%x|daObj_Gadget_c -> Delete\n", g_Counter.mCounter0, this); + this->~daObj_Gadget_c(); + return 1; +} + +/* 80BF3538-80BF3FAC 0008F8 0A74+00 2/2 0/0 0/0 .text Execute__14daObj_Gadget_cFv */ +int daObj_Gadget_c::Execute() { + BOOL carryNow = fopAcM_checkCarryNow(this) != FALSE; + + f32 floatingOffset = PARAM.floating_offset; + f32 scaleParam = PARAM.scale; + s16 wallAngle; + scale.set(PARAM.scale, PARAM.scale, PARAM.scale); + attention_info.flags = 0; + attention_info.distances[fopAc_attn_CARRY_e] = 6; + mAcchCir.SetWallR(PARAM.width); + mAcchCir.SetWallH(PARAM.knee_length); + gravity = PARAM.gravity; + + if (carryNow) { + mAcch.ClrWallHit(); + mAcch.ClrGroundHit(); + mAcch.SetWallNone(); + mAcch.SetGrndNone(); + field_0xa00 = 0.0f; + mStts.SetWeight(0); + speed.setall(0.0f); + speedF = 0.0f; + gravity = 0.0f; + field_0x9ec.setall(0); + field_0xa41 = 0; + field_0xa42 = 0; + field_0xa43 = 0; + field_0xa46 = 0; + } else { + mStts.SetWeight(PARAM.weight); + mAcch.ClrWallNone(); + mAcch.ClrGrndNone(); + + if (field_0xa45 != 0 && cM3d_IsZero(speedF) == FALSE) { + fopAcM_carryOffRevise(this); + popup(PARAM.fire_rate, PARAM.launch_angle, NULL); + } else { + fopAcM_getWaterY(¤t.pos, &field_0xa04); + + if (field_0xa04 != -G_CM3D_F_INF && + floatingOffset < field_0xa04 - field_0xa00 && + current.pos.y <= field_0xa04 && + field_0xa42 == 0) { + + if (field_0xa43 != 0 || field_0xa46 != 0 || field_0xa45 != 0) { + setWaterPrtcl(); + } + + if (field_0xa43 != 0 || field_0xa46 != 0) { + if (speed.y < 0.0f) { + field_0xa0c = 3000.0f; + } + field_0xa43 = 0; + field_0xa46 = 0; + } + + speedF *= 0.3f; + speed.y *= 0.5f; + field_0xa41 = 0; + field_0xa42 = 1; + } + + if (field_0xa42 != 0 && field_0xa41 == 0) { + if (speed.y < 0.0f) { + cLib_addCalc(&speed.y, 2.0f, 0.5f, 5.5f, 0.5f); + } else { + cLib_addCalc(&speed.y, 2.0f, 0.5f, 0.5f, 0.5f); + } + + if (field_0xa04 < (current.pos.y + floatingOffset)) { + field_0x9ec.y = 0x100; + mAcch.ClrGroundHit(); + field_0xa41 = 1; + } + } + + if (field_0xa41 != 0) { + if (mAcch.ChkGroundHit()) { + field_0xa41 = 0; + field_0xa42 = 0; + field_0x9ec.setall(0); + speedF = 0.0f; + speed.setall(0.0f); + } else { + cXyz pathVec; + int pathNum; + if (dPath_GetPolyRoomPathVec(mGndChk, &pathVec, &pathNum)) { + pathVec.normalizeZP(); + s16 targetAngle = cM_atan2s(pathVec.x, pathVec.z); + cLib_addCalcAngleS2(¤t.angle.y, targetAngle, 8, 0x400); + + s16 rollTarget = (field_0x9ec.y < 0) ? -0x80 : 0x80; + cLib_chaseAngleS(&field_0x9ec.y, rollTarget, 0x10); + cLib_addCalc2(&speedF, pathNum * 0.75f, 0.25f, 1.0f); + } else { + cLib_chaseF(&speedF, 0.0f, 0.1f); + } + + cLib_addCalc2(¤t.pos.y, field_0xa04 - floatingOffset, 0.5f, 2.0f); + speed.y = 0.0f; + setHamonPrtcl(); + gravity = 0.0f; + + if (field_0x9f4 == 0 && mAcch.ChkWallHit()) { + if (getWallAngle(current.angle.y, &wallAngle)) { + field_0x9f4 = 10; + s16 angleDiff = current.angle.y - wallAngle; + current.angle.y += (s16)((0x8000 - (angleDiff * 2)) + (s16)cM_rndFX(2000.0f)); + field_0x9ec.y = -field_0x9ec.y / 2; + speedF *= 0.3f; + } + } + } + } else if (field_0xa42 != 0) { + cLib_chaseF(&speedF, 0.0f, 0.3f); + gravity = 0.0f; + } else if (field_0xa43 != 0) { + if (mAcch.ChkWallHit()) { + if (getWallAngle(current.angle.y, &wallAngle)) { + s16 angleDiff = current.angle.y - wallAngle; + current.angle.y += (s16)((0x8000 - (angleDiff << 1)) + (s16)cM_rndFX(1000.0f)); + speedF *= 0.5f; + } + } + + if (mAcch.ChkGroundLanding()) { + setSmokePrtcl(); + field_0xa43 = 0; + speedF = 0.0f; + speed.setall(0.0f); + } + } else if (field_0xa46 != 0) { + if (mAcch.ChkGroundLanding()) { + setSmokePrtcl(); + field_0xa46 = 0; + speedF = 0.0f; + speed.setall(0.0f); + } + } else if (field_0xa45 != 0) { + setSmokePrtcl(); + } else if (!mAcch.ChkGroundHit()) { + field_0xa46 = 1; + } + + if (mHide == 0 && field_0xa43 == 0 && field_0xa46 == 0) { + fopAcM_OnCarryType(this, fopAcM_CARRY_SIDE); + cLib_onBit(attention_info.flags, (u32)fopAc_AttnFlag_CARRY_e); + } + } + } + + field_0x9d4 = speed; + + if (field_0xa42 != 0) { + f32 targetWave = mStts.GetCCMoveP() ? 1200.0f : 900.0f; + cLib_addCalc2(&field_0xa0c, targetWave, 0.05f, 100.0f); + } else { + cLib_addCalc2(&field_0xa0c, 0.0f, 0.25f, 100.0f); + } + + shape_angle.x = field_0xa0c * cM_ssin(field_0xa10 * 1000); + shape_angle.z = field_0xa0c * cM_scos(field_0xa10 * 1000); + + cLib_chaseAngleS(&field_0x9ec.y, 0, 10); + shape_angle.y += field_0x9ec.y; + field_0xa10++; + + cLib_chaseF(&field_0x9fc, 0.0f, 0.05f); + + if (field_0xa41 != 0) { + if (field_0x9f8 == 0) { + f32 moveSpeed = JMAFastSqrt(mStts.GetCCMoveP()->x * mStts.GetCCMoveP()->x + mStts.GetCCMoveP()->z * mStts.GetCCMoveP()->z); + if (1.0f < moveSpeed) { + field_0xa18 = cM_atan2s(mStts.GetCCMoveP()->x, mStts.GetCCMoveP()->z); + field_0x9fc += moveSpeed * 0.45f; + if (4.0f < field_0x9fc) { + field_0x9fc = 4.0f; + } + field_0x9ec.y = 0x200; + field_0x9f8 = 10; + } + } + } else { + field_0x9fc = 0.0f; + } + + field_0x9e0.x = field_0x9fc * cM_ssin(field_0xa18); + field_0x9e0.z = field_0x9fc * cM_scos(field_0xa18); + field_0x9e0.y = 0.0f; + + if (!carryNow) { + fopAcM_calcSpeed(this); + speed += field_0x9e0; + fopAcM_posMove(this, mStts.GetCCMoveP()); + } + + if (field_0xa41 != 0) { + fopAcM_riverStream(¤t.pos, &field_0xa16, &field_0xa08, 0.5f); + } + + mAcch.CrrPos(dComIfG_Bgsp()); + mGndChk = mAcch.m_gnd; + + if (!carryNow) { + field_0xa00 = mAcch.GetGroundH(); + } + + if (field_0xa00 != -G_CM3D_F_INF) { + field_0xa12 = daNpcF_getGroundAngle(&mGndChk, shape_angle.y); + setEnvTevColor(); + setRoomNo(); + } + + attention_info.position = current.pos; + attention_info.position.y += PARAM.focus_offset; + eyePos = current.pos; + setMtx(); + field_0xa14 = calcRollAngle(field_0xa14, 0x10000); + + if (mHide == 0 && field_0xa40 == 0) { + mCyl.SetR(PARAM.width); + mCyl.SetH(PARAM.height); + mCyl.SetC(current.pos); + dComIfG_Ccsp()->Set(&mCyl); + } + + mCyl.ClrCoHit(); + field_0xa45 = carryNow ? 1 : 0; + cLib_calcTimer(&field_0x9f4); + cLib_calcTimer(&field_0x9f8); + + return 1; +} + +/* 80BF3FAC-80BF40E8 00136C 013C+00 1/1 0/0 0/0 .text Draw__14daObj_Gadget_cFv */ +int daObj_Gadget_c::Draw() { + if (mHide == 0) { + g_env_light.settingTevStruct(0, ¤t.pos, &tevStr); + g_env_light.setLightTevColorType_MAJI(mModel, &tevStr); + mDoExt_modelUpdateDL(mModel); + + fopAc_ac_c* carryActor = NULL; + fopAcM_SearchByID(daPy_getPlayerActorClass()->getGrabActorID(), &carryActor); + + if (carryActor == this) { + model = mModel; + } else if (field_0xa00 != -G_CM3D_F_INF) { + cM3dGPla groundPla; + if (dComIfG_Bgsp().GetTriPla(mGndChk, &groundPla)) { + dComIfGd_setSimpleShadow(¤t.pos, field_0xa00, 20.0f, &groundPla.mNormal, 0, + 1.0f, dDlst_shadowControl_c::getSimpleTex()); + } + } + } + return 1; +} + +/* 80BF4130-80BF4150 0014F0 0020+00 1/1 0/0 0/0 .text + * createHeapCallBack__14daObj_Gadget_cFP10fopAc_ac_c */ +int daObj_Gadget_c::createHeapCallBack(fopAc_ac_c* a_this) { + return ((daObj_Gadget_c*)a_this)->CreateHeap(); +} + +/* 80BF4150-80BF41AC 001510 005C+00 2/2 0/0 0/0 .text setEnvTevColor__14daObj_Gadget_cFv + */ +void daObj_Gadget_c::setEnvTevColor() { + tevStr.YukaCol = dComIfG_Bgsp().GetPolyColor(mGndChk); + tevStr.room_no = dComIfG_Bgsp().GetRoomId(mGndChk); +} + +/* 80BF41AC-80BF41F0 00156C 0044+00 2/2 0/0 0/0 .text setRoomNo__14daObj_Gadget_cFv */ +void daObj_Gadget_c::setRoomNo() { + s8 room_no = dComIfG_Bgsp().GetRoomId(mGndChk); + fopAcM_SetRoomNo(this, room_no); + mStts.SetRoomId(room_no); +} + +/* 80BF41F0-80BF424C 0015B0 005C+00 1/1 0/0 0/0 .text reset__14daObj_Gadget_cFv */ +void daObj_Gadget_c::reset() { + memset(&field_0x9d4, 0, (u8*)&field_0xa47 - (u8*)&field_0x9d4); + switch (field_0x9d0) { + case 0: + case 1: + mHide = 1; + break; + } +} + +/* 80BF424C-80BF4354 00160C 0108+00 1/1 0/0 0/0 .text setMtx__14daObj_Gadget_cFv */ +void daObj_Gadget_c::setMtx() { + s16 angleDiff = shape_angle.y - current.angle.y; + s16 cosVal = field_0xa14 * cM_scos(angleDiff); + s16 sinVal = field_0xa14 * cM_ssin(angleDiff); + + mDoMtx_stack_c::transS(current.pos.x, current.pos.y, current.pos.z); + mDoMtx_stack_c::ZXYrotM(shape_angle); + mDoMtx_stack_c::XrotM(cosVal); + mDoMtx_stack_c::ZrotM(sinVal); + mDoMtx_stack_c::scaleM(scale); + + mModel->setBaseTRMtx(mDoMtx_stack_c::get()); +} + +/* 80BF4354-80BF43F4 001714 00A0+00 1/1 0/0 0/0 .text calcRollAngle__14daObj_Gadget_cFsi + */ +s16 daObj_Gadget_c::calcRollAngle(s16 param_1, int param_2) { + int result; + if (param_1 != 0) { + result = param_2 - (u16)param_1; + if (abs(result) > 4) { + result /= 4; + if (result > 0x800) { + result = (u16)param_1 + 0x800; + } else { + if (result < -0x800) { + result = (u16)param_1 - 0x800; + } else { + result = (u16)param_1 + result; + } + } + } else { + result = param_2; + } + return result; + } + return 0; +} + +/* 80BF43F4-80BF4584 0017B4 0190+00 1/1 0/0 0/0 .text getWallAngle__14daObj_Gadget_cFsPs + */ +BOOL daObj_Gadget_c::getWallAngle(s16 param_0, s16* param_1) { + cXyz startPos; + cXyz checkPos[2]; + cXyz direction; + + mDoMtx_stack_c::YrotS(param_0); + direction.set(0.0f, 0.0f, -50.0f); + mDoMtx_stack_c::multVec(&direction, &startPos); + startPos += current.pos; + + direction.set(5.0f, 0.0f, 200.0f); + + for (int i = 0; i < 2; i++) { + mDoMtx_stack_c::multVec(&direction, &checkPos[i]); + direction.x = direction.x * -1.0f; + checkPos[i] += startPos; + + mLinChk.Set(&startPos, &checkPos[i], this); + if (dComIfG_Bgsp().LineCross(&mLinChk)) { + checkPos[i] = mLinChk.GetCross(); + } else { + return FALSE; + } + } + + direction = checkPos[1] - checkPos[0]; + s16 wallAngle = cM_atan2s(direction.x, direction.z); + *param_1 = wallAngle + 0x4000; + return TRUE; +} + +/* 80BF4584-80BF4600 001944 007C+00 1/1 0/0 0/0 .text setSmokePrtcl__14daObj_Gadget_cFv + */ +void daObj_Gadget_c::setSmokePrtcl() { + fopAcM_effSmokeSet1(&field_0xa38, &field_0xa3c, ¤t.pos, NULL, 0.4f, &tevStr, 1); + dComIfGp_particle_levelEmitterOnEventMove(field_0xa38); + dComIfGp_particle_levelEmitterOnEventMove(field_0xa3c); +} + +/* 80BF4600-80BF4728 0019C0 0128+00 1/1 0/0 0/0 .text setWaterPrtcl__14daObj_Gadget_cFv + */ +void daObj_Gadget_c::setWaterPrtcl() { + static cXyz scl(0.4f, 0.4f, 0.4f); + static u16 emttrId[4] = { + ID_ZI_J_DOWNWTRA_A, + ID_ZI_J_DOWNWTRA_B, + ID_ZI_J_DOWNWTRA_C, + ID_ZI_J_DOWNWTRA_D, + }; + + cXyz pos(current.pos.x, field_0xa04, current.pos.z); + + for (int i = 0; i < 4; i++) { + field_0xa20[i] = dComIfGp_particle_set(field_0xa20[i], emttrId[i], &pos, &tevStr, 0, &scl, + 0xff, 0, -1, 0, 0, 0); + dComIfGp_particle_levelEmitterOnEventMove(field_0xa20[i]); + } +} + +/* 80BF4728-80BF4778 001AE8 0050+00 1/1 0/0 0/0 .text setHamonPrtcl__14daObj_Gadget_cFv + */ +void daObj_Gadget_c::setHamonPrtcl() { + cXyz pos(current.pos.x, field_0xa04, current.pos.z); + fopAcM_effHamonSet(&field_0xa30, &pos, 0.7f, 0.05f); +} + +/* 80BF4778-80BF4798 001B38 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Create__FPv */ +static int daObj_Gadget_Create(void* i_this) { + return ((daObj_Gadget_c*)i_this)->create(); +} + +/* 80BF4798-80BF47B8 001B58 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Delete__FPv */ +static int daObj_Gadget_Delete(void* i_this) { + return ((daObj_Gadget_c*)i_this)->Delete(); +} + +/* 80BF47B8-80BF47D8 001B78 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Execute__FPv */ +static int daObj_Gadget_Execute(void* i_this) { + return ((daObj_Gadget_c*)i_this)->Execute(); +} + +/* 80BF47D8-80BF47F8 001B98 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Draw__FPv */ +static int daObj_Gadget_Draw(void* i_this) { + return ((daObj_Gadget_c*)i_this)->Draw(); +} + +/* 80BF47F8-80BF4800 001BB8 0008+00 1/0 0/0 0/0 .text daObj_Gadget_IsDelete__FPv */ +static int daObj_Gadget_IsDelete(void* i_this) { + return 1; +} + +AUDIO_INSTANCES /* 80BF4AB0-80BF4AD0 -00001 0020+00 1/0 0/0 0/0 .data daObj_Gadget_MethodTable */ static actor_method_class daObj_Gadget_MethodTable = { - (process_method_func)daObj_Gadget_Create__FPv, - (process_method_func)daObj_Gadget_Delete__FPv, - (process_method_func)daObj_Gadget_Execute__FPv, - (process_method_func)daObj_Gadget_IsDelete__FPv, - (process_method_func)daObj_Gadget_Draw__FPv, + (process_method_func)daObj_Gadget_Create, + (process_method_func)daObj_Gadget_Delete, + (process_method_func)daObj_Gadget_Execute, + (process_method_func)daObj_Gadget_IsDelete, + (process_method_func)daObj_Gadget_Draw, }; /* 80BF4AD0-80BF4B00 -00001 0030+00 0/0 0/0 1/0 .data g_profile_OBJ_GADGET */ @@ -212,702 +668,4 @@ extern actor_process_profile_definition g_profile_OBJ_GADGET = { fopAc_CULLBOX_CUSTOM_e, // cullType }; -/* 80BF4B00-80BF4B0C 0000D4 000C+00 2/2 0/0 0/0 .data __vt__8cM3dGPla */ -SECTION_DATA extern void* __vt__8cM3dGPla[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGPlaFv, -}; - -/* 80BF4B0C-80BF4B30 0000E0 0024+00 3/3 0/0 0/0 .data __vt__12dBgS_ObjAcch */ -SECTION_DATA extern void* __vt__12dBgS_ObjAcch[9] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_ObjAcchFv, - (void*)NULL, - (void*)NULL, - (void*)func_80BF4928, - (void*)NULL, - (void*)NULL, - (void*)func_80BF4920, -}; - -/* 80BF4B30-80BF4B3C 000104 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 80BF4B3C-80BF4B48 000110 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - -/* 80BF4B48-80BF4B54 00011C 000C+00 2/2 0/0 0/0 .data __vt__12dBgS_AcchCir */ -SECTION_DATA extern void* __vt__12dBgS_AcchCir[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__12dBgS_AcchCirFv, -}; - -/* 80BF4B54-80BF4B60 000128 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80BF4B60-80BF4B6C 000134 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 80BF4B6C-80BF4B78 000140 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGLin */ -SECTION_DATA extern void* __vt__8cM3dGLin[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGLinFv, -}; - -/* 80BF4B78-80BF4B84 00014C 000C+00 2/2 0/0 0/0 .data __vt__14daObj_Gadget_c */ -SECTION_DATA extern void* __vt__14daObj_Gadget_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__14daObj_Gadget_cFv, -}; - -/* 80BF2D2C-80BF2F28 0000EC 01FC+00 1/0 0/0 0/0 .text __dt__14daObj_Gadget_cFv */ -daObj_Gadget_c::~daObj_Gadget_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF4944-80BF4970 000000 002C+00 4/4 0/0 0/0 .rodata m__20daObj_Gadget_Param_c */ -SECTION_RODATA u8 const daObj_Gadget_Param_c::m[44] = { - 0x00, 0x00, 0x00, 0x00, 0xC0, 0x80, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x42, 0xC8, 0x00, - 0x00, 0x42, 0x14, 0x00, 0x00, 0x41, 0xD0, 0x00, 0x00, 0x41, 0x50, 0x00, 0x00, 0x41, 0x60, - 0x00, 0x00, 0x42, 0x14, 0x00, 0x00, 0x42, 0x48, 0x00, 0x00, 0x41, 0x90, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80BF4944, &daObj_Gadget_Param_c::m); - -/* 80BF4970-80BF49A0 00002C 0030+00 1/1 0/0 0/0 .rodata l_ccDObjData */ -SECTION_RODATA static u8 const l_ccDObjData[48] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xD8, 0xFB, 0xFD, 0xFF, 0x00, 0x00, 0x00, 0x1F, 0x00, 0x00, 0x00, 0x79, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80BF4970, &l_ccDObjData); - -/* 80BF49A0-80BF49A4 00005C 0004+00 0/1 0/0 0/0 .rodata @3935 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3935 = -300.0f; -COMPILER_STRIP_GATE(0x80BF49A0, &lit_3935); -#pragma pop - -/* 80BF49A4-80BF49A8 000060 0004+00 0/2 0/0 0/0 .rodata @3936 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3936 = -50.0f; -COMPILER_STRIP_GATE(0x80BF49A4, &lit_3936); -#pragma pop - -/* 80BF49A8-80BF49AC 000064 0004+00 0/1 0/0 0/0 .rodata @3937 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3937 = 300.0f; -COMPILER_STRIP_GATE(0x80BF49A8, &lit_3937); -#pragma pop - -/* 80BF49AC-80BF49B0 000068 0004+00 0/1 0/0 0/0 .rodata @3938 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3938 = 450.0f; -COMPILER_STRIP_GATE(0x80BF49AC, &lit_3938); -#pragma pop - -/* 80BF49B0-80BF49B4 00006C 0004+00 0/3 0/0 0/0 .rodata @3939 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3939 = -G_CM3D_F_INF; -COMPILER_STRIP_GATE(0x80BF49B0, &lit_3939); -#pragma pop - -/* 80BF2F28-80BF3228 0002E8 0300+00 1/1 0/0 0/0 .text create__14daObj_Gadget_cFv */ -void daObj_Gadget_c::create() { - // NONMATCHING -} - -/* 80BF3228-80BF3270 0005E8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGLinFv */ -// cM3dGLin::~cM3dGLin() { -extern "C" void __dt__8cM3dGLinFv() { - // NONMATCHING -} - -/* 80BF3270-80BF32B8 000630 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80BF32B8-80BF3300 000678 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* 80BF3300-80BF3370 0006C0 0070+00 1/0 0/0 0/0 .text __dt__12dBgS_AcchCirFv */ -// dBgS_AcchCir::~dBgS_AcchCir() { -extern "C" void __dt__12dBgS_AcchCirFv() { - // NONMATCHING -} - -/* 80BF3370-80BF33CC 000730 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80BF33CC-80BF3408 00078C 003C+00 1/1 0/0 0/0 .text __dt__4cXyzFv */ -// cXyz::~cXyz() { -extern "C" void __dt__4cXyzFv() { - // NONMATCHING -} - -/* 80BF3408-80BF3478 0007C8 0070+00 3/2 0/0 0/0 .text __dt__12dBgS_ObjAcchFv */ -// dBgS_ObjAcch::~dBgS_ObjAcch() { -extern "C" void __dt__12dBgS_ObjAcchFv() { - // NONMATCHING -} - -/* 80BF3478-80BF3504 000838 008C+00 1/1 0/0 0/0 .text CreateHeap__14daObj_Gadget_cFv */ -void daObj_Gadget_c::CreateHeap() { - // NONMATCHING -} - -/* 80BF3504-80BF3538 0008C4 0034+00 1/1 0/0 0/0 .text Delete__14daObj_Gadget_cFv */ -void daObj_Gadget_c::Delete() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF49B4-80BF49B8 000070 0004+00 0/2 0/0 0/0 .rodata @4350 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_4350[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80BF49B4, &lit_4350); -#pragma pop - -/* 80BF49B8-80BF49BC 000074 0004+00 0/1 0/0 0/0 .rodata @4351 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u32 const lit_4351 = 0x43360B61; -COMPILER_STRIP_GATE(0x80BF49B8, &lit_4351); -#pragma pop - -/* 80BF49BC-80BF49C0 000078 0004+00 0/1 0/0 0/0 .rodata @4352 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4352 = 3000.0f; -COMPILER_STRIP_GATE(0x80BF49BC, &lit_4352); -#pragma pop - -/* 80BF49C0-80BF49C4 00007C 0004+00 0/1 0/0 0/0 .rodata @4353 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4353 = 3.0f / 10.0f; -COMPILER_STRIP_GATE(0x80BF49C0, &lit_4353); -#pragma pop - -/* 80BF49C4-80BF49C8 000080 0004+00 0/1 0/0 0/0 .rodata @4354 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4354 = 0.5f; -COMPILER_STRIP_GATE(0x80BF49C4, &lit_4354); -#pragma pop - -/* 80BF49C8-80BF49CC 000084 0004+00 0/1 0/0 0/0 .rodata @4355 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4355 = 2.0f; -COMPILER_STRIP_GATE(0x80BF49C8, &lit_4355); -#pragma pop - -/* 80BF49CC-80BF49D0 000088 0004+00 0/1 0/0 0/0 .rodata @4356 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4356 = 5.5f; -COMPILER_STRIP_GATE(0x80BF49CC, &lit_4356); -#pragma pop - -/* 80BF49D0-80BF49D4 00008C 0004+00 0/1 0/0 0/0 .rodata @4357 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4357 = 0.75f; -COMPILER_STRIP_GATE(0x80BF49D0, &lit_4357); -#pragma pop - -/* 80BF49D4-80BF49D8 000090 0004+00 0/1 0/0 0/0 .rodata @4358 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4358 = 0.25f; -COMPILER_STRIP_GATE(0x80BF49D4, &lit_4358); -#pragma pop - -/* 80BF49D8-80BF49DC 000094 0004+00 1/3 0/0 0/0 .rodata @4359 */ -SECTION_RODATA static f32 const lit_4359 = 1.0f; -COMPILER_STRIP_GATE(0x80BF49D8, &lit_4359); - -/* 80BF49DC-80BF49E0 000098 0004+00 0/1 0/0 0/0 .rodata @4360 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4360 = 1.0f / 10.0f; -COMPILER_STRIP_GATE(0x80BF49DC, &lit_4360); -#pragma pop - -/* 80BF49E0-80BF49E4 00009C 0004+00 0/1 0/0 0/0 .rodata @4361 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4361 = 2000.0f; -COMPILER_STRIP_GATE(0x80BF49E0, &lit_4361); -#pragma pop - -/* 80BF49E4-80BF49E8 0000A0 0004+00 0/1 0/0 0/0 .rodata @4362 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4362 = 1000.0f; -COMPILER_STRIP_GATE(0x80BF49E4, &lit_4362); -#pragma pop - -/* 80BF49E8-80BF49EC 0000A4 0004+00 0/1 0/0 0/0 .rodata @4363 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4363 = 1200.0f; -COMPILER_STRIP_GATE(0x80BF49E8, &lit_4363); -#pragma pop - -/* 80BF49EC-80BF49F0 0000A8 0004+00 0/1 0/0 0/0 .rodata @4364 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4364 = 900.0f; -COMPILER_STRIP_GATE(0x80BF49EC, &lit_4364); -#pragma pop - -/* 80BF49F0-80BF49F4 0000AC 0004+00 1/2 0/0 0/0 .rodata @4365 */ -SECTION_RODATA static f32 const lit_4365 = 1.0f / 20.0f; -COMPILER_STRIP_GATE(0x80BF49F0, &lit_4365); - -/* 80BF49F4-80BF49F8 0000B0 0004+00 0/1 0/0 0/0 .rodata @4366 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4366 = 100.0f; -COMPILER_STRIP_GATE(0x80BF49F4, &lit_4366); -#pragma pop - -/* 80BF49F8-80BF49FC 0000B4 0004+00 0/1 0/0 0/0 .rodata @4367 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4367 = 9.0f / 20.0f; -COMPILER_STRIP_GATE(0x80BF49F8, &lit_4367); -#pragma pop - -/* 80BF49FC-80BF4A04 0000B8 0004+04 0/1 0/0 0/0 .rodata @4368 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4368[1 + 1 /* padding */] = { - 4.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80BF49FC, &lit_4368); -#pragma pop - -/* 80BF4A04-80BF4A0C 0000C0 0008+00 1/2 0/0 0/0 .rodata @4370 */ -SECTION_RODATA static u8 const lit_4370[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80BF4A04, &lit_4370); - -/* 80BF3538-80BF3FAC 0008F8 0A74+00 2/2 0/0 0/0 .text Execute__14daObj_Gadget_cFv */ -void daObj_Gadget_c::Execute() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF4A0C-80BF4A10 0000C8 0004+00 0/1 0/0 0/0 .rodata @4402 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4402 = 20.0f; -COMPILER_STRIP_GATE(0x80BF4A0C, &lit_4402); -#pragma pop - -/* 80BF3FAC-80BF40E8 00136C 013C+00 1/1 0/0 0/0 .text Draw__14daObj_Gadget_cFv */ -void daObj_Gadget_c::Draw() { - // NONMATCHING -} - -/* 80BF40E8-80BF4130 0014A8 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGPlaFv */ -// cM3dGPla::~cM3dGPla() { -extern "C" void __dt__8cM3dGPlaFv() { - // NONMATCHING -} - -/* 80BF4130-80BF4150 0014F0 0020+00 1/1 0/0 0/0 .text - * createHeapCallBack__14daObj_Gadget_cFP10fopAc_ac_c */ -void daObj_Gadget_c::createHeapCallBack(fopAc_ac_c* param_0) { - // NONMATCHING -} - -/* 80BF4150-80BF41AC 001510 005C+00 2/2 0/0 0/0 .text setEnvTevColor__14daObj_Gadget_cFv - */ -void daObj_Gadget_c::setEnvTevColor() { - // NONMATCHING -} - -/* 80BF41AC-80BF41F0 00156C 0044+00 2/2 0/0 0/0 .text setRoomNo__14daObj_Gadget_cFv */ -void daObj_Gadget_c::setRoomNo() { - // NONMATCHING -} - -/* 80BF41F0-80BF424C 0015B0 005C+00 1/1 0/0 0/0 .text reset__14daObj_Gadget_cFv */ -void daObj_Gadget_c::reset() { - // NONMATCHING -} - -/* 80BF424C-80BF4354 00160C 0108+00 1/1 0/0 0/0 .text setMtx__14daObj_Gadget_cFv */ -void daObj_Gadget_c::setMtx() { - // NONMATCHING -} - -/* 80BF4354-80BF43F4 001714 00A0+00 1/1 0/0 0/0 .text calcRollAngle__14daObj_Gadget_cFsi - */ -void daObj_Gadget_c::calcRollAngle(s16 param_0, int param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF4A10-80BF4A14 0000CC 0004+00 0/1 0/0 0/0 .rodata @4527 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4527 = 5.0f; -COMPILER_STRIP_GATE(0x80BF4A10, &lit_4527); -#pragma pop - -/* 80BF4A14-80BF4A18 0000D0 0004+00 0/1 0/0 0/0 .rodata @4528 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4528 = 200.0f; -COMPILER_STRIP_GATE(0x80BF4A14, &lit_4528); -#pragma pop - -/* 80BF4A18-80BF4A1C 0000D4 0004+00 0/1 0/0 0/0 .rodata @4529 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4529 = -1.0f; -COMPILER_STRIP_GATE(0x80BF4A18, &lit_4529); -#pragma pop - -/* 80BF43F4-80BF4584 0017B4 0190+00 1/1 0/0 0/0 .text getWallAngle__14daObj_Gadget_cFsPs - */ -void daObj_Gadget_c::getWallAngle(s16 param_0, s16* param_1) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF4A1C-80BF4A20 0000D8 0004+00 2/2 0/0 0/0 .rodata @4545 */ -SECTION_RODATA static f32 const lit_4545 = 2.0f / 5.0f; -COMPILER_STRIP_GATE(0x80BF4A1C, &lit_4545); - -/* 80BF4584-80BF4600 001944 007C+00 1/1 0/0 0/0 .text setSmokePrtcl__14daObj_Gadget_cFv - */ -void daObj_Gadget_c::setSmokePrtcl() { - // NONMATCHING -} - -/* 80BF4BD8-80BF4BE4 000048 000C+00 1/1 0/0 0/0 .bss @3804 */ -static u8 lit_3804[12]; - -/* 80BF4BE4-80BF4BE8 000054 0004+00 1/1 0/0 0/0 .bss l_HIO */ -static u8 l_HIO[4]; - -/* 80BF4BE8-80BF4BF8 000058 000C+04 0/1 0/0 0/0 .bss @4550 */ -#pragma push -#pragma force_active on -static u8 lit_4550[12 + 4 /* padding */]; -#pragma pop - -/* 80BF4BF8-80BF4C04 000068 000C+00 0/1 0/0 0/0 .bss scl$4549 */ -#pragma push -#pragma force_active on -static u8 scl[12]; -#pragma pop - -/* 80BF4600-80BF4728 0019C0 0128+00 1/1 0/0 0/0 .text setWaterPrtcl__14daObj_Gadget_cFv - */ -void daObj_Gadget_c::setWaterPrtcl() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF4A20-80BF4A24 0000DC 0004+00 1/1 0/0 0/0 .rodata @4592 */ -SECTION_RODATA static f32 const lit_4592 = 7.0f / 10.0f; -COMPILER_STRIP_GATE(0x80BF4A20, &lit_4592); - -/* 80BF4728-80BF4778 001AE8 0050+00 1/1 0/0 0/0 .text setHamonPrtcl__14daObj_Gadget_cFv - */ -void daObj_Gadget_c::setHamonPrtcl() { - // NONMATCHING -} - -/* 80BF4778-80BF4798 001B38 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Create__FPv */ -static void daObj_Gadget_Create(void* param_0) { - // NONMATCHING -} - -/* 80BF4798-80BF47B8 001B58 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Delete__FPv */ -static void daObj_Gadget_Delete(void* param_0) { - // NONMATCHING -} - -/* 80BF47B8-80BF47D8 001B78 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Execute__FPv */ -static void daObj_Gadget_Execute(void* param_0) { - // NONMATCHING -} - -/* 80BF47D8-80BF47F8 001B98 0020+00 1/0 0/0 0/0 .text daObj_Gadget_Draw__FPv */ -static void daObj_Gadget_Draw(void* param_0) { - // NONMATCHING -} - -/* 80BF47F8-80BF4800 001BB8 0008+00 1/0 0/0 0/0 .text daObj_Gadget_IsDelete__FPv */ -static bool daObj_Gadget_IsDelete(void* param_0) { - return true; -} - -/* 80BF4800-80BF4848 001BC0 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} - -/* 80BF4848-80BF4864 001C08 001C+00 1/1 0/0 0/0 .text cLib_calcTimer__FPi */ -extern "C" void func_80BF4848(void* _this, int* param_0) { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF4B84-80BF4B90 000158 000C+00 2/2 0/0 0/0 .data __vt__20daObj_Gadget_Param_c */ -SECTION_DATA extern void* __vt__20daObj_Gadget_Param_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__20daObj_Gadget_Param_cFv, -}; - -/* 80BF4864-80BF48D8 001C24 0074+00 0/0 1/0 0/0 .text __sinit_d_a_obj_gadget_cpp */ -void __sinit_d_a_obj_gadget_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80BF4864, __sinit_d_a_obj_gadget_cpp); -#pragma pop - -/* 80BF48D8-80BF4920 001C98 0048+00 2/1 0/0 0/0 .text __dt__20daObj_Gadget_Param_cFv */ -daObj_Gadget_Param_c::~daObj_Gadget_Param_c() { - // NONMATCHING -} - -/* 80BF4920-80BF4928 001CE0 0008+00 1/0 0/0 0/0 .text @36@__dt__12dBgS_ObjAcchFv */ -static void func_80BF4920() { - // NONMATCHING -} - -/* 80BF4928-80BF4930 001CE8 0008+00 1/0 0/0 0/0 .text @20@__dt__12dBgS_ObjAcchFv */ -static void func_80BF4928() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80BF4C04-80BF4C08 000074 0004+00 0/0 0/0 0/0 .bss - * sInstance__40JASGlobalInstance<19JASDefaultBankTable> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C04[4]; -#pragma pop - -/* 80BF4C08-80BF4C0C 000078 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14JASAudioThread> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C08[4]; -#pragma pop - -/* 80BF4C0C-80BF4C10 00007C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C0C[4]; -#pragma pop - -/* 80BF4C10-80BF4C14 000080 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C10[4]; -#pragma pop - -/* 80BF4C14-80BF4C18 000084 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C14[4]; -#pragma pop - -/* 80BF4C18-80BF4C1C 000088 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C18[4]; -#pragma pop - -/* 80BF4C1C-80BF4C20 00008C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C1C[4]; -#pragma pop - -/* 80BF4C20-80BF4C24 000090 0004+00 0/0 0/0 0/0 .bss - * sInstance__36JASGlobalInstance<15JAISoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C20[4]; -#pragma pop - -/* 80BF4C24-80BF4C28 000094 0004+00 0/0 0/0 0/0 .bss - * sInstance__35JASGlobalInstance<14Z2SoundStarter> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C24[4]; -#pragma pop - -/* 80BF4C28-80BF4C2C 000098 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C28[4]; -#pragma pop - -/* 80BF4C2C-80BF4C30 00009C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C2C[4]; -#pragma pop - -/* 80BF4C30-80BF4C34 0000A0 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C30[4]; -#pragma pop - -/* 80BF4C34-80BF4C38 0000A4 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAIStreamMgr> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C34[4]; -#pragma pop - -/* 80BF4C38-80BF4C3C 0000A8 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C38[4]; -#pragma pop - -/* 80BF4C3C-80BF4C40 0000AC 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAISoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C3C[4]; -#pragma pop - -/* 80BF4C40-80BF4C44 0000B0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13JAUSoundTable> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C40[4]; -#pragma pop - -/* 80BF4C44-80BF4C48 0000B4 0004+00 0/0 0/0 0/0 .bss - * sInstance__38JASGlobalInstance<17JAUSoundNameTable> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C44[4]; -#pragma pop - -/* 80BF4C48-80BF4C4C 0000B8 0004+00 0/0 0/0 0/0 .bss - * sInstance__33JASGlobalInstance<12JAUSoundInfo> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C48[4]; -#pragma pop - -/* 80BF4C4C-80BF4C50 0000BC 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C4C[4]; -#pragma pop - -/* 80BF4C50-80BF4C54 0000C0 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C50[4]; -#pragma pop - -/* 80BF4C54-80BF4C58 0000C4 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C54[4]; -#pragma pop - -/* 80BF4C58-80BF4C5C 0000C8 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C58[4]; -#pragma pop - -/* 80BF4C5C-80BF4C60 0000CC 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C5C[4]; -#pragma pop - -/* 80BF4C60-80BF4C64 0000D0 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr> - */ -#pragma push -#pragma force_active on -static u8 data_80BF4C60[4]; -#pragma pop - -/* 80BF4C64-80BF4C68 0000D4 0004+00 0/0 0/0 0/0 .bss - * sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */ -#pragma push -#pragma force_active on -static u8 data_80BF4C64[4]; -#pragma pop - /* 80BF4A24-80BF4A24 0000E0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */