diff --git a/include/JAZelAudio/JAIZelBasic.h b/include/JAZelAudio/JAIZelBasic.h index d21567e18..6b3062fd0 100644 --- a/include/JAZelAudio/JAIZelBasic.h +++ b/include/JAZelAudio/JAIZelBasic.h @@ -1,17 +1,19 @@ #ifndef JAZELAUDIO_JAIZELBASIC_H #define JAZELAUDIO_JAIZELBASIC_H -#include "dolphin/types.h" #include "JAZelAudio/JAZelAudio_SE.h" #include "JAZelAudio/JAZelAudio_BGM.h" +#include "JSystem/JAudio/JAIBasic.h" +#include "JSystem/JMath/random.h" #include "dolphin/mtx/mtx.h" class JAISound; class JKRSolidHeap; -class JAIZelBasic { +class JAIZelBasic : public JAIBasic { public: JAIZelBasic(); + ~JAIZelBasic() {} void zeldaGFrameWork(); void heartGaugeOn(); @@ -142,10 +144,10 @@ public: void registWindowPos(Vec*); void rainPlay(s32); - virtual void makeSound(u32); - virtual void getMapInfoFxline(u32); - virtual void getMapInfoGround(u32); - virtual void getMapInfoFxParameter(u32); + virtual JAISound* makeSound(u32); + virtual bool getMapInfoFxline(u32); + virtual bool getMapInfoGround(u32); + virtual f32 getMapInfoFxParameter(u32); void setHour(s32 i_hour) { mHour = i_hour; } void setMinute(s32 i_minute) { mMinute = i_minute; } @@ -168,23 +170,22 @@ public: // static spot_dir_name; // static mIsleArea; - /* 0x0004 */ u8 field_0x0004[0x0020 - 0x0004]; /* 0x0020 */ u8 field_0x0020; /* 0x0021 */ u8 field_0x0021; /* 0x0022 */ u8 field_0x0022[0x0024 - 0x0022]; /* 0x0024 */ int field_0x0024; - /* 0x0028 */ u8 field_0x0028[0x002C - 0x0028]; + /* 0x0028 */ int field_0x0028; /* 0x002C */ u8 mHour; /* 0x002D */ u8 mMinute; /* 0x002E */ u8 mWeekday; /* 0x002F */ u8 field_0x002f; /* 0x0030 */ s16 field_0x0030; /* 0x0032 */ u8 field_0x0032; - /* 0x0033 */ u8 field_0x0033[0x0034 - 0x0033]; + /* 0x0033 */ u8 field_0x0033; /* 0x0034 */ int field_0x0034; /* 0x0038 */ int field_0x0038; /* 0x003C */ f32 field_0x003c; - /* 0x0040 */ u8 field_0x0040[0x0041 - 0x0040]; + /* 0x0040 */ u8 field_0x0040; /* 0x0041 */ u8 field_0x0041; /* 0x0042 */ u8 field_0x0042; /* 0x0043 */ u8 field_0x0043; @@ -192,14 +193,10 @@ public: /* 0x0045 */ u8 field_0x0045; /* 0x0046 */ u8 field_0x0046; /* 0x0047 */ u8 field_0x0047; - /* 0x0048 */ f32 field_0x0048; - /* 0x004C */ f32 field_0x004c; - /* 0x0050 */ f32 field_0x0050; - /* 0x0054 */ f32 field_0x0054; - /* 0x0058 */ f32 field_0x0058; - /* 0x005C */ f32 field_0x005c; + /* 0x0048 */ Vec field_0x0048; + /* 0x0054 */ Vec field_0x0054; /* 0x0060 */ u8 mbLandingDemoStarted; - /* 0x0061 */ u8 field_0x0061[0x0062 - 0x0061]; + /* 0x0061 */ u8 field_0x0061; /* 0x0062 */ u8 field_0x0062; /* 0x0063 */ u8 field_0x0063; /* 0x0064 */ u8 field_0x0064[0x0066 - 0x0064]; @@ -222,27 +219,56 @@ public: /* 0x00A8 */ f32 field_0x00a8; /* 0x00AC */ f32 field_0x00ac; /* 0x00B0 */ int field_0x00b0; - /* 0x00B4 */ u8 field_0x00B4[0x00B5 - 0x00B4]; + /* 0x00B4 */ u8 field_0x00b4; /* 0x00B5 */ u8 mSomeSpecialBGMFlag; /* 0x00B6 */ u8 mLastMinibossSubBGMType; - /* 0x00B7 */ u8 field_0x00B7[0x00BC - 0x00B7]; + /* 0x00B7 */ u8 field_0x00b7; + /* 0x00B8 */ u8 field_0x00b8; + /* 0x00B9 */ u8 field_0x00b9; + /* 0x00BA */ u8 field_0x00ba; + /* 0x00BB */ u8 field_0x00bb; /* 0x00BC */ u8 field_0x00bc; - /* 0x00BD */ u8 field_0x00BD[0x00BE - 0x00BD]; + /* 0x00BD */ u8 field_0x00bd; /* 0x00BE */ u8 field_0x00be; - /* 0x00BF */ u8 field_0x00BF[0x00CA - 0x00BF]; + /* 0x00BF */ u8 field_0x00bf; + /* 0x00C0 */ u8 field_0x00c0; + /* 0x00C1 */ u8 field_0x00c1; + /* 0x00C4 */ int field_0x00c4; + /* 0x00C8 */ u8 field_0x00c8; + /* 0x00C9 */ u8 field_0x00c9; /* 0x00CA */ u8 field_0x00ca; - /* 0x00CB */ u8 field_0x00CB[0x01F9 - 0x00CB]; + /* 0x00CB */ s8 field_0x00cb; + /* 0x00CC */ u8 field_0x00cc; + /* 0x00CD */ u8 field_0x00cd; + /* 0x00CE */ u8 field_0x00ce; + /* 0x00CF */ u8 field_0x00CF[0x00D0 - 0x00CF]; + /* 0x00D0 */ int field_0x00d0; + /* 0x00D4 */ u8 field_0x00d4[0x01F8 - 0x00D4]; + /* 0x01F8 */ u8 field_0x01f8; /* 0x01F9 */ u8 field_0x01f9; - /* 0x01FA */ u8 field_0x01FA[0x0201 - 0x01FA]; + /* 0x01FA */ u8 field_0x01fa; + /* 0x01FB */ u8 field_0x01fb; + /* 0x01FC */ u8 field_0x01fc; + /* 0x01FD */ u8 field_0x01fd; + /* 0x01FE */ u8 field_0x01fe; + /* 0x01FF */ u8 field_0x01ff; + /* 0x0200 */ u8 field_0x0200; /* 0x0201 */ u8 field_0x0201; - /* 0x0202 */ u8 field_0x0202[0x021C - 0x0202]; + /* 0x0202 */ u8 field_0x0202[0x0204 - 0x0202]; + /* 0x0204 */ u8 field_0x0204; + /* 0x0205 */ u8 field_0x0205; + /* 0x0206 */ u8 field_0x0206; + /* 0x0207 */ u8 field_0x0207; + /* 0x0208 */ u8 field_0x0208; + /* 0x0209 */ u8 field_0x0209[0x021C - 0x0209]; /* 0x021C */ u8 mCameraSeaFloorGroupInfo; /* 0x021D */ u8 mLinkSeaFloorGroupInfo; /* 0x021E */ u8 field_0x021e; - /* 0x021F */ u8 field_0x021F[0x0224 - 0x021F]; + /* 0x021F */ u8 field_0x021F[0x0220 - 0x021F]; + /* 0x0220 */ int field_0x0220; /* 0x0224 */ int field_0x0224; /* 0x0228 */ u32 mNextSceneBgmId; - /* 0x022C */ u8 field_0x022C[0x022D - 0x022C]; + /* 0x022C */ u8 field_0x022c; /* 0x022D */ u8 field_0x022d; /* 0x022E */ u8 field_0x022e; /* 0x022F */ u8 field_0x022f; @@ -255,11 +281,20 @@ public: /* 0x0236 */ u8 field_0x0236; /* 0x0237 */ u8 field_0x0237; /* 0x0238 */ u8 mIslandRoomNo; - /* 0x0239 */ u8 field_0x0239[0x1F3D - 0x0239]; + /* 0x0239 */ u8 field_0x0239; + /* 0x023A */ u8 field_0x023a; + /* 0x023B */ u8 field_0x023B[0x1DD4 - 0x023B]; + /* 0x1DD4 */ u8 field_0x1dd4; + /* 0x1DD5 */ u8 field_0x1DD5[0x1EC0 - 0x1DD5]; + /* 0x1EC0 */ int field_0x1ec0; + /* 0x1EC4 */ u8 field_0x1EC1[0x1F3C - 0x1EC4]; + /* 0x1F3C */ u8 field_0x1f3c; /* 0x1F3D */ u8 mIsSailing; /* 0x1F3E */ u8 field_0x1F3E[0x1F40 - 0x1F3E]; /* 0x1F40 */ f32 field_0x1f40; - /* 0x1F44 */ u8 field_0x1F44[0x20F4 - 0x1F44]; + /* 0x1F44 */ u8 field_0x1F44[0x2068 - 0x1F44]; + /* 0x2068 */ JMath::TRandom_enough_ field_0x2068; + /* 0x20F0 */ u8 field_0x20F0[0x20F4 - 0x20F0]; }; -#endif /* JAZELAUDIO_JAIZELBASIC_H */ \ No newline at end of file +#endif /* JAZELAUDIO_JAIZELBASIC_H */ diff --git a/include/JAZelAudio/JAIZelInst.h b/include/JAZelAudio/JAIZelInst.h index 7dcb05dd1..dc553c54a 100644 --- a/include/JAZelAudio/JAIZelInst.h +++ b/include/JAZelAudio/JAIZelInst.h @@ -6,6 +6,7 @@ class JAIZelInst { public: JAIZelInst(); + ~JAIZelInst() {} void reset(); void playArmSwing(s32, s32); void stopArmSwing(); @@ -24,8 +25,25 @@ public: void melodyStop(); public: - /* 0x00 */ u8 pad[0x1F]; + /* 0x00 */ int field_0x0; + /* 0x04 */ u8 field_0x4[5]; + /* 0x0C */ int field_0xc; + /* 0x10 */ int field_0x10; + /* 0x14 */ int field_0x14; + /* 0x18 */ u8 field_0x18[0x1e - 0x18]; + /* 0x1E */ u8 field_0x1e; /* 0x1F */ u8 mMelodyNum; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ u8 field_0x34; + /* 0x38 */ int field_0x38; + /* 0x3C */ int field_0x3c; + /* 0x40 */ int field_0x40; + /* 0x44 */ int field_0x44; + /* 0x48 */ u8 field_0x48; }; #endif /* JAIZELINST_H */ diff --git a/include/JSystem/JAudio/JAIBankWave.h b/include/JSystem/JAudio/JAIBankWave.h index 941ec92d5..e79b170a0 100644 --- a/include/JSystem/JAudio/JAIBankWave.h +++ b/include/JSystem/JAudio/JAIBankWave.h @@ -15,7 +15,7 @@ namespace JAInter { void loadSceneWave(s32, s32); void loadGroupWave(s32, s32); void getWaveLoadStatus(s32); - void checkAllWaveLoadStatus(); + bool checkAllWaveLoadStatus(); extern s32* wsGroupNumber; extern s32* wsLoadStatus; diff --git a/include/SSystem/SComponent/c_angle.h b/include/SSystem/SComponent/c_angle.h index 13eb90cb2..c6e52697b 100644 --- a/include/SSystem/SComponent/c_angle.h +++ b/include/SSystem/SComponent/c_angle.h @@ -121,6 +121,7 @@ private: cSAngle mInclination; // original: U public: + cSGlobe() {}; cSGlobe(const cSGlobe&); cSGlobe(float, short, short); cSGlobe(float, const cSAngle&, const cSAngle&); diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index d747864d0..ffcf1c47e 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -278,7 +278,7 @@ public: STATIC_ASSERT(0x38 == sizeof(cCcD_CylAttr)); class cCcD_DivideInfo { -private: +public: /* 0x00 */ u32 mRangeBits; /* 0x04 vtable */ public: diff --git a/include/d/d_bg_s_lin_chk.h b/include/d/d_bg_s_lin_chk.h index 6f4b2c942..498f0d4bf 100644 --- a/include/d/d_bg_s_lin_chk.h +++ b/include/d/d_bg_s_lin_chk.h @@ -68,9 +68,11 @@ public: class dBgS_CamLinChk : public dBgS_LinChk { public: - dBgS_CamLinChk(); + dBgS_CamLinChk() { + mbCamThrough = true; + } - virtual ~dBgS_CamLinChk(); + virtual ~dBgS_CamLinChk() {} }; class dBgS_CamLinChk_NorWtr : public dBgS_CamLinChk { diff --git a/include/d/d_cam_param.h b/include/d/d_cam_param.h index af8b6fa41..dcc8de2d4 100644 --- a/include/d/d_cam_param.h +++ b/include/d/d_cam_param.h @@ -98,6 +98,8 @@ class dCamSetup_c { }; class dCamParam_c { + void Flag(s32, u16); + void Val(s32, int); /* 0x0 */ dCamera__Style* mpStyle; /* 0x4 */ int mStyleIdx; /* 0x8 */ void* vtbl; diff --git a/include/d/d_camera.h b/include/d/d_camera.h index 6fb1074f1..b7b387db9 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -1,8 +1,425 @@ #ifndef D_CAMERA_H #define D_CAMERA_H -#include "f_op/f_op_camera.h" +#include "SSystem/SComponent/c_angle.h" +#include "SSystem/SComponent/c_rnd.h" +#include "SSystem/SComponent/c_sxyz.h" +#include "SSystem/SComponent/c_xyz.h" +#include "d/d_cam_param.h" +#include "global.h" +class camera_class; +class dBgS_LinChk; +class dStage_Event_dt_c; +class fopAc_ac_c; + +struct stage_camera__entry { + /* 0x00 */ char mpTypeStr[16]; + /* 0x10 */ u8 mArrowIdx; + /* 0x11 */ u8 m11; + /* 0x12 */ u8 m12; + /* 0x13 */ u8 m13; +}; + +struct stage_arrow__entry { + /* 0x00 */ cXyz mPos; + /* 0x0C */ csXyz mRot; + /* 0x12 */ s16 m12; +}; + +struct dCamera__EventParam { + /* 0x00 */ char mName[16]; + /* 0x10 */ int mValue; +}; + +class d2DBSplinePath { +public: + ~d2DBSplinePath(); + /* 0x00 */ int mKeyframeCur; + /* 0x04 */ int mTimer; + /* 0x08 */ int mKeyframeNum; + /* 0x0C */ int mState; + /* 0x10 */ int m10; + /* 0x14 */ int mKeyframeLast; + /* 0x18 */ u8 m18[0x1C - 0x18]; + /* 0x1C */ f32 mTime; + /* 0x20 */ u8 m20[0x24 - 0x20]; + /* 0x24 */ f32 mFrameWeight[3]; + /* 0x30 */ int mFrameIdx[3]; + /* 0x3C */ u8 m3C[0x40 - 0x3C]; + /* 0x40 */ void* vtbl; +}; + +class dCamForcusLine { +public: + void Init(); + void Draw(); + void Off(); + + /* 0x00 */ void* vtbl; + /* 0x04 */ cM_rnd_c mRnd; + /* 0x10 */ u8 field_10[0x70 - 0x10]; +}; + +class dCamera_c { +public: + struct BG { + BG(); + ~BG(); + u8 temp[0xB0]; + }; + + /* 0x000 */ camera_class* mpCamera; + /* 0x004 */ u8 m004; + /* 0x005 */ u8 m005; + /* 0x006 */ u8 m006[0x008 - 0x006]; + /* 0x008 */ f32 m008; + /* 0x00C */ s16 m00C; + /* 0x00E */ cSAngle m00E; + /* 0x010 */ cXyz mCenter; + /* 0x01C */ cXyz mEye; + /* 0x028 */ cXyz mUp; + /* 0x034 */ cSAngle mBank; + /* 0x036 */ u8 m036[0x038 - 0x036]; + /* 0x038 */ f32 mFovY; + /* 0x03C */ cSGlobe m03C; + /* 0x044 */ cXyz m044; + /* 0x050 */ cXyz m050; + /* 0x05C */ s16 m05C; + /* 0x05E */ u8 m05E[0x060 - 0x05E]; + /* 0x060 */ f32 m060; + /* 0x064 */ u8 m064[0x068 - 0x064]; + /* 0x068 */ int m068; + /* 0x06C */ cSAngle mAngleY; + /* 0x06E */ u8 m06E[0x080 - 0x06E]; + /* 0x080 */ u32 m080; + /* 0x084 */ cXyz m084; + /* 0x090 */ cXyz m090; + /* 0x09C */ f32 m09C; + /* 0x0A0 */ f32 m0A0; + // /* 0x0A4 */ @class$4017d_camera_cpp m0A4[2]; + /* 0x0A4 */ u8 m0A4[0x40]; + /* 0x0E4 */ int mStageMapToolCameraIdx; + /* 0x0E8 */ int m0E8; + /* 0x0EC */ u8 m0EC[0x108 - 0x0EC]; + /* 0x108 */ int m108; + /* 0x10C */ u8 m10C[0x110 - 0x10C]; + /* 0x110 */ u8 m110; + /* 0x111 */ u8 m111[0x114 - 0x111]; + /* 0x114 */ int m114; + /* 0x118 */ int m118; + /* 0x11C */ int m11C; + /* 0x120 */ int mCameraInfoIdx; + /* 0x124 */ int mPadId; + /* 0x128 */ fopAc_ac_c* mpPlayerActor; + /* 0x12C */ fopAc_ac_c* mpLockonTarget; + /* 0x130 */ int m130; + /* 0x134 */ u8 m134[0x138 - 0x134]; + /* 0x138 */ int m138; + /* 0x13C */ int mCurMode; + /* 0x140 */ int mNextMode; + /* 0x144 */ int m144; + /* 0x148 */ cSAngle m148; + /* 0x14A */ u8 m14A[0x14C - 0x14A]; + /* 0x14C */ f32 m14C; + /* 0x150 */ u8 m150[0x154 - 0x150]; + /* 0x154 */ f32 mStickMainPosXLast; + /* 0x158 */ f32 mStickMainPosYLast; + /* 0x15C */ f32 mStickMainValueLast; + /* 0x160 */ f32 mStickMainPosXDelta; + /* 0x164 */ f32 mStickMainPosYDelta; + /* 0x168 */ f32 mStickMainValueDelta; + /* 0x16C */ f32 mStickCPosXLast; + /* 0x170 */ f32 mStickCPosYLast; + /* 0x174 */ f32 mStickCValueLast; + /* 0x178 */ f32 mStickCPosXDelta; + /* 0x17C */ f32 mStickCPosYDelta; + /* 0x180 */ f32 mStickCValueDelta; + /* 0x184 */ u8 m184[0x190 - 0x184]; + /* 0x190 */ f32 mTriggerLeftLast; + /* 0x194 */ f32 mTriggerLeftDelta; + /* 0x198 */ u8 m198; + /* 0x199 */ u8 m199; + /* 0x19A */ u8 m19A; + /* 0x19B */ u8 m19B; + /* 0x19C */ f32 mTriggerRightLast; + /* 0x1A0 */ f32 mTriggerRightDelta; + /* 0x1A4 */ u8 m1A4; + /* 0x1A5 */ u8 m1A5; + /* 0x1A6 */ u8 m1A6; + /* 0x1A7 */ u8 m1A7; + /* 0x1A8 */ u8 m1A8; + /* 0x1A9 */ u8 m1A9; + /* 0x1AA */ u8 m1AA; + /* 0x1AB */ u8 m1AB; + /* 0x1AC */ u8 m1AC; + /* 0x1AD */ u8 m1AD; + /* 0x1AE */ u8 m1AE; + /* 0x1AF */ u8 m1AF[0x1B0 - 0x1AF]; + /* 0x1B0 */ dCamForcusLine mForcusLine; + /* 0x220 */ u8 m220[0x228 - 0x220]; + /* 0x228 */ cXyz mMonitorPos; + /* 0x234 */ f32 m234; + /* 0x238 */ f32 m238; + /* 0x23C */ f32 m23C; + /* 0x240 */ int m240; + /* 0x244 */ f32 m244; + /* 0x248 */ u8 m248[0x254 - 0x248]; + /* 0x254 */ int m254; + /* 0x258 */ u8 m258[0x25C - 0x258]; + /* 0x25C */ BG mBG; + /* 0x30C */ u8 m30C[0x31D - 0x30C]; + /* 0x31D */ u8 m31D; + /* 0x31E */ u8 m31E[0x350 - 0x31E]; + /* 0x350 */ int m350; + /* 0x354 */ u8 m354[0x358 - 0x354]; + /* 0x358 */ int mRoomNo; + /* 0x35C */ int mRoomMapToolCameraIdx; + /* 0x360 */ u8 m360[0x394 - 0x360]; + /* 0x394 */ f32 mEvFovy; + /* 0x398 */ f32 mEvBank; + /* 0x39C */ fopAc_ac_c* mpEvRelActor; + /* 0x3A0 */ char mEvRelUseMask[4]; + /* 0x3A4 */ int mEvTimer; + /* 0x3A8 */ u8 m3A8; + /* 0x3A9 */ u8 m3A9[0x3AC - 0x3A9]; + /* 0x3AC */ cXyz mEvBasePos; + /* 0x3B8 */ u8 m3B8[0x3FC - 0x3B8]; + /* 0x3FC */ int mStaffIdx; + /* 0x400 */ int m400; + /* 0x404 */ int m404; + /* 0x408 */ u8 m408; + /* 0x409 */ u8 m409[0x40C - 0x409]; + /* 0x40C */ int m40C; + /* 0x410 */ int m410; + /* 0x414 */ u8 m414[0x424 - 0x414]; + /* 0x424 */ dCamera__EventParam mEventParams[8]; + /* 0x4C4 */ dStage_Event_dt_c* m4C4; + /* 0x4C8 */ d2DBSplinePath mSpline2DPath; + /* 0x50C */ u32 mEventFlags; + /* 0x510 */ int mCurStyle; + /* 0x514 */ int m514; + /* 0x518 */ int mCurType; + /* 0x51C */ int mNextType; + /* 0x520 */ int mMapToolType; + /* 0x524 */ int m524; + /* 0x528 */ int m528; + /* 0x52C */ u8 m52C[0x530 - 0x52C]; + /* 0x530 */ int m530; + /* 0x534 */ s16 m534; + /* 0x536 */ s16 m536; + /* 0x538 */ u8 m538[0x550 - 0x538]; + /* 0x550 */ int m550; + /* 0x554 */ int m554; + /* 0x558 */ u8 m558[0x568 - 0x558]; + /* 0x568 */ cXyz mCenterShake; + /* 0x574 */ cXyz mEyeShake; + /* 0x580 */ f32 mFovYShake; + /* 0x584 */ u8 m584[0x590 - 0x584]; + /* 0x590 */ int mBlureTimer; + /* 0x594 */ u8 m594[0x59C - 0x594]; + /* 0x59C */ int mBlurePositionType; + /* 0x5A0 */ cXyz mBlurePosition; + /* 0x5AC */ cXyz mBlureScale; + /* 0x5B8 */ f32 mBlureAlpha; + /* 0x5BC */ u8 m5BC[0x5C0 - 0x5BC]; + /* 0x5C0 */ stage_camera__entry mCurRoomCamEntry; + /* 0x5D4 */ stage_arrow__entry mCurRoomArrowEntry; + /* 0x5E8 */ int mCurArrowIdx; + /* 0x5EC */ f32 m5EC; + /* 0x5F0 */ f32 m5F0; + /* 0x5F4 */ u8 m5F4[0x5F8 - 0x5F4]; + /* 0x5F8 */ f32 m5F8; + /* 0x5FC */ int m5FC; + /* 0x600 */ u8 m600[0x604 - 0x600]; + /* 0x604 */ f32 m604; + /* 0x608 */ u8 m608[0x60C - 0x608]; + /* 0x60C */ dCamSetup_c mCamSetup; + /* 0x750 */ dCamParam_c mCamParam; + /* 0x75C */ int mCamTypeField; + /* 0x760 */ int mCamTypeEvent; + /* 0x764 */ int mCamTypeWater; + /* 0x768 */ int mCamTypeSubject; + /* 0x76C */ int mCamTypeBoat; + /* 0x770 */ int mCamTypeBoatBattle; + /* 0x774 */ int m774; + /* 0x778 */ int mCamTypeKeep; + /* 0x77C */ int mCamTypeRestrict; + /* 0x780 */ u8 field_780[0x800 - 0x780]; + +public: + dCamera_c(camera_class*); + ~dCamera_c(); + void initialize(camera_class*, fopAc_ac_c*, u32, u32); + void Start(); + void Stop(); + void Stay(); + void ChangeModeOK(s32); + void initPad(); + void updatePad(); + void initMonitor(); + void updateMonitor(); + void calcPeepAngle(); + void Att(); + void checkForceLockTarget(); + void Run(); + void NotRun(); + void SetTrimSize(s32); + void SetTrimTypeForce(s32); + void CalcTrimSize(); + void Draw(); + void nextMode(s32); + void onModeChange(s32, s32); + void nextType(s32); + void onTypeChange(s32, s32); + void SetTypeForce(char*, fopAc_ac_c*); + void SetTypeForce(s32, fopAc_ac_c*); + void onStyleChange(s32, s32); + void GetCameraTypeFromMapToolID(s32, s32); + void GetCameraTypeFromCameraName(const char*); + void pushPos(); + void directionOf(fopAc_ac_c*); + void positionOf(fopAc_ac_c*); + void attentionPos(fopAc_ac_c*); + void relationalPos(fopAc_ac_c*, cXyz*); + void relationalPos(fopAc_ac_c*, cXyz*, cSAngle); + void relationalPos(fopAc_ac_c*, fopAc_ac_c*, cXyz*, f32); + void setDMCAngle(); + void getDMCAngle(cSAngle); + void pointInSight(cXyz*); + void radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*); + void radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*, cXyz*, cXyz*, f32, s16); + void groundHeight(cXyz*); + void lineBGCheck(cXyz*, cXyz*, dBgS_LinChk*, u32); + void lineBGCheck(cXyz*, cXyz*, cXyz*, u32); + void lineBGCheck(cXyz*, cXyz*, u32); + void lineBGCheckBack(cXyz*, cXyz*, u32); + void lineBGCheckBoth(cXyz*, cXyz*, dBgS_LinChk*, u32); + void lineCollisionCheckBush(cXyz*, cXyz*); + void compWallMargin(cXyz*, f32); + void defaultTriming(); + void setView(f32, f32, f32, f32); + void forwardCheckAngle(); + void bumpCheck(u32); + void getWaterSurfaceHeight(cXyz*); + void checkSpecialArea(); + void checkGroundInfo(); + void followCamera2(s32); + void followCamera(s32); + void eyePos(fopAc_ac_c*); + void heightOf(fopAc_ac_c*); + void lockonCamera(s32); + void getMsgCmdSpeaker(); + void getMsgCmdCut(); + void talktoCamera(s32); + void CalcSubjectAngle(s16*, s16*); + void subjectCamera(s32); + void towerCamera(s32); + void crawlCamera(s32); + void hookshotCamera(s32); + void tornadoCamera(s32); + void rideCamera(s32); + void hungCamera(s32); + void vomitCamera(s32); + void shieldCamera(s32); + void manualCamera(s32); + void nonOwnerCamera(s32); + void fixedFrameCamera(s32); + void fixedPositionCamera(s32); + void eventCamera(s32); + void demoCamera(s32); + void letCamera(s32); + void Set(cXyz, cXyz); + void Set(cXyz, cXyz, f32, s16); + void Set(cXyz, cXyz, s16, f32); + void Reset(cXyz, cXyz, f32, s16); + void Reset(cXyz, cXyz); + void Reset(); + void ResetView(); + void Chtyp(s32); + void U2(); + void shakeCamera(); + void StartShake(s32, u8*, s32, cXyz); + void StopShake(); + void ResetBlure(int); + void SetBlureAlpha(f32); + void SetBlureScale(f32, f32, f32); + void SetBlureScale(f32); + void SetBlurePosition(f32, f32, f32); + void SetBlurePositionType(int); + void SetBlureTimer(s32); + void SubjectLockOn(fopAc_ac_c*); + void SubjectLockOff(); + void GetForceLockOnActor(); + void ForceLockOn(unsigned int); + void ForceLockOff(unsigned int); + void SetExtendedPosition(cXyz*); + void ScopeViewMsgModeOff(); + + void setFlag(u32); + void chkFlag(u32); + void Bank(); + void Up(); + void Center(); + + void StartEventCamera(int, int, ...); + void EndEventCamera(int); + void searchEventArgData(char*); + void getEvIntData(int*, char*); + void getEvStringPntData(char*); + void getEvIntData(int*, char*, int); + void getEvFloatData(f32*, char*, f32); + void getEvXyzData(cXyz*, char*, cXyz); + void getEvStringData(char*, char*, char*); + void getEvStringPntData(char*, char*); + void getEvActor(char*); + void getEvActor(char*, char*); + void pauseEvCamera(); + void fixedFrameEvCamera(); + void stokerEvCamera(); + void rollingEvCamera(); + void fixedPositionEvCamera(); + void uniformTransEvCamera(); + void uniformBrakeEvCamera(); + void uniformAcceleEvCamera(); + void watchActorEvCamera(); + void restorePosEvCamera(); + void talktoEvCamera(); + void maptoolIdEvCamera(); + void styleEvCamera(); + void gameOverEvCamera(); + void tactEvCamera(); + void windDirectionEvCamera(); + void turnToActorEvCamera(); + void tornadoWarpEvCamera(); + void saveEvCamera(); + void loadEvCamera(); + void useItem0EvCamera(); + void useItem1EvCamera(); + void getItemEvCamera(); + void possessedEvCamera(); + void fixedFramesEvCamera(); + void bSplineEvCamera(); + void twoActor0EvCamera(); + + void CStickUse() {} + void CStickUseless() {} + void Eye() {} + void StickUse() {} + void StickUseless() {} + void clrFlag(u32) {} +}; + +STATIC_ASSERT(sizeof(dCamera_c) == 0x800); + +class dBgS_CamSphChk { + ~dBgS_CamSphChk(); +}; + +s16 dCam_getAngleY(camera_class*); +s16 dCam_getAngleX(camera_class*); s16 dCam_getControledAngleY(camera_class*); +camera_class* dCam_getCamera(); +dCamera_c* dCam_getBody(); #endif /* D_CAMERA_H */ diff --git a/include/d/d_cc_mass_s.h b/include/d/d_cc_mass_s.h index ec2c3ef65..70374eacb 100644 --- a/include/d/d_cc_mass_s.h +++ b/include/d/d_cc_mass_s.h @@ -7,7 +7,7 @@ typedef void (*dCcMassS_ObjCallback)(fopAc_ac_c*, cXyz*, u32); class dCcMassS_Obj { -private: +public: /* 0x00 */ cCcD_Obj* mpObj; /* 0x04 */ u8 mPriority; /* 0x08 */ dCcMassS_ObjCallback mpCallback; @@ -15,7 +15,7 @@ private: /* 0x14 vtable */ public: - dCcMassS_Obj(); + dCcMassS_Obj() {} virtual ~dCcMassS_Obj() {} void Set(cCcD_Obj* p_obj, u8 priority, dCcMassS_ObjCallback callback); void Clear(); @@ -53,7 +53,7 @@ public: /* 0x00BC */ s32 mMassAreaCount; /* 0x00C0 */ dCcMassS_Obj mMassAreas[2]; /* 0x00F0 */ cCcD_CylAttr mCylAttr; - /* 0x0128 */ u8 field_0x200; + /* 0x0128 */ u8 field_0x128; /* 0x0129 */ u8 mResultCamBit; /* 0x012C */ u32 mFlag; /* 0x0130 */ u32 mResultCam; @@ -72,7 +72,7 @@ public: void SetAttr(f32 radius, f32 height, u8 param_2, u8 param_3) { mCylAttr.SetR(radius); mCylAttr.SetH(height); - field_0x200 = param_2; + field_0x128 = param_2; mResultCamBit = param_3; } void Prepare(); diff --git a/include/d/d_detect.h b/include/d/d_detect.h index f182a8bc2..84c71fc03 100644 --- a/include/d/d_detect.h +++ b/include/d/d_detect.h @@ -7,7 +7,7 @@ class dDetectPlace_c { public: dDetectPlace_c(); ~dDetectPlace_c(); - void chk_enable() const; + bool chk_enable() const; /* 0x00 */ cXyz mPos; /* 0x0C */ s16 mEnable; diff --git a/include/d/d_event.h b/include/d/d_event.h index 5df8db89f..702f36d2c 100644 --- a/include/d/d_event.h +++ b/include/d/d_event.h @@ -110,7 +110,7 @@ public: /* 0xDA */ u8 mEventEndSound; /* 0xDB */ u8 field_0xdb; /* 0xDC */ u8 field_0xdc; - /* 0xDD */ u8 field_0xDD[0xDE - 0xDD]; + /* 0xDD */ u8 field_0xdd; /* 0xDE */ u8 field_0xde; /* 0xDF */ u8 field_0xdf; /* 0xE0 */ u8 mTalkButton; diff --git a/include/d/d_vibration.h b/include/d/d_vibration.h index af7dba404..9d1c6b746 100644 --- a/include/d/d_vibration.h +++ b/include/d/d_vibration.h @@ -4,9 +4,39 @@ #include "SSystem/SComponent/c_xyz.h" class dVibration_c { +public: + /* 0x00 */ int field_0x0; + /* 0x04 */ int field_0x4; + /* 0x08 */ s32 field_0x8; + /* 0x0C */ int field_0xc; + /* 0x10 */ int field_0x10; + /* 0x14 */ cXyz field_0x14; + /* 0x20 */ s32 field_0x20; + /* 0x24 */ int field_0x24; + /* 0x28 */ u32 field_0x28; + /* 0x2C */ s32 field_0x2c; + /* 0x30 */ int field_0x30; + /* 0x34 */ int field_0x34; + /* 0x38 */ cXyz field_0x38; + /* 0x44 */ s32 field_0x44; + /* 0x48 */ int field_0x48; + /* 0x4C */ int field_0x4c; + /* 0x50 */ s32 field_0x50; + /* 0x54 */ s32 field_0x54; + /* 0x58 */ s32 field_0x58; + /* 0x5C */ s32 field_0x5c; + /* 0x60 */ int field_0x60; + /* 0x64 */ u32 field_0x64; + /* 0x68 */ u32 field_0x68; + /* 0x6C */ s32 field_0x6c; + /* 0x70 */ s32 field_0x70; + /* 0x74 */ s32 field_0x74; + /* 0x78 */ s32 field_0x78; + /* 0x7C */ int field_0x7c; + public: dVibration_c(); - ~dVibration_c(); + virtual ~dVibration_c(); int Run(); bool StartShock(int i_strength, int, cXyz); @@ -19,8 +49,6 @@ public: void Init(); void Pause(); void Remove(); - - u8 temp[0x84]; }; // Size: 0x84 -#endif /* D_D_VIBRATION_H */ \ No newline at end of file +#endif /* D_D_VIBRATION_H */ diff --git a/include/f_op/f_op_camera.h b/include/f_op/f_op_camera.h index 62580bc8a..5e9792928 100644 --- a/include/f_op/f_op_camera.h +++ b/include/f_op/f_op_camera.h @@ -1,264 +1,11 @@ #ifndef F_F_OP_CAMERA_H_ #define F_F_OP_CAMERA_H_ -#include "f_op/f_op_view.h" -#include "SSystem/SComponent/c_sxyz.h" -#include "SSystem/SComponent/c_phase.h" -#include "SSystem/SComponent/c_angle.h" -#include "SSystem/SComponent/c_rnd.h" #include "d/d_cam_param.h" +#include "d/d_camera.h" +#include "f_op/f_op_view.h" #include "global.h" -class fopAc_ac_c; -class dStage_Event_dt_c; -class camera_class; - -struct stage_camera__entry { - /* 0x00 */ char mpTypeStr[16]; - /* 0x10 */ u8 mArrowIdx; - /* 0x11 */ u8 m11; - /* 0x12 */ u8 m12; - /* 0x13 */ u8 m13; -}; - -struct stage_arrow__entry { - /* 0x00 */ cXyz mPos; - /* 0x0C */ csXyz mRot; - /* 0x12 */ s16 m12; -}; - -struct dCamera__EventParam { - /* 0x00 */ char mName[16]; - /* 0x10 */ int mValue; -}; - -class d2DBSplinePath { - /* 0x00 */ int mKeyframeCur; - /* 0x04 */ int mTimer; - /* 0x08 */ int mKeyframeNum; - /* 0x0C */ int mState; - /* 0x10 */ int m10; - /* 0x14 */ int mKeyframeLast; - /* 0x18 */ u8 m18[0x1C - 0x18]; - /* 0x1C */ f32 mTime; - /* 0x20 */ u8 m20[0x24 - 0x20]; - /* 0x24 */ f32 mFrameWeight[3]; - /* 0x30 */ int mFrameIdx[3]; - /* 0x3C */ u8 m3C[0x40 - 0x3C]; - /* 0x40 */ void* vtbl; -}; - -class dCamForcusLine { - /* 0x00 */ void* vtbl; - /* 0x04 */ cM_rnd_c mRnd; - /* 0x10 */ u8 field_10[0x70 - 0x10]; -}; - -class dCamera_c { -public: - struct BG { - u8 temp[0xB0]; - }; - - /* 0x000 */ camera_class* mpCamera; - /* 0x004 */ u8 m004; - /* 0x005 */ u8 m005; - /* 0x006 */ u8 m006[0x008 - 0x006]; - /* 0x008 */ f32 m008; - /* 0x00C */ s16 m00C; - /* 0x00E */ cSAngle m00E; - /* 0x010 */ cXyz mCenter; - /* 0x01C */ cXyz mEye; - /* 0x028 */ cXyz mUp; - /* 0x034 */ cSAngle mBank; - /* 0x036 */ u8 m036[0x038 - 0x036]; - /* 0x038 */ f32 mFovY; - /* 0x03C */ cSGlobe m03C; - /* 0x044 */ cXyz m044; - /* 0x050 */ cXyz m050; - /* 0x05C */ s16 m05C; - /* 0x05E */ u8 m05E[0x060 - 0x05E]; - /* 0x060 */ f32 m060; - /* 0x064 */ u8 m064[0x068 - 0x064]; - /* 0x068 */ int m068; - /* 0x06C */ cSAngle mAngleY; - /* 0x06E */ u8 m06E[0x080 - 0x06E]; - /* 0x080 */ u32 m080; - /* 0x084 */ cXyz m084; - /* 0x090 */ cXyz m090; - /* 0x09C */ f32 m09C; - /* 0x0A0 */ f32 m0A0; - // /* 0x0A4 */ @class$4017d_camera_cpp m0A4[2]; - /* 0x0A4 */ u8 m0A4[0x40]; - /* 0x0E4 */ int mStageMapToolCameraIdx; - /* 0x0E8 */ int m0E8; - /* 0x0EC */ u8 m0EC[0x108 - 0x0EC]; - /* 0x108 */ int m108; - /* 0x10C */ u8 m10C[0x110 - 0x10C]; - /* 0x110 */ u8 m110; - /* 0x111 */ u8 m111[0x114 - 0x111]; - /* 0x114 */ int m114; - /* 0x118 */ int m118; - /* 0x11C */ int m11C; - /* 0x120 */ int mCameraInfoIdx; - /* 0x124 */ int mPadId; - /* 0x128 */ fopAc_ac_c* mpPlayerActor; - /* 0x12C */ fopAc_ac_c* mpLockonTarget; - /* 0x130 */ int m130; - /* 0x134 */ u8 m134[0x138 - 0x134]; - /* 0x138 */ int m138; - /* 0x13C */ int mCurMode; - /* 0x140 */ int mNextMode; - /* 0x144 */ int m144; - /* 0x148 */ cSAngle m148; - /* 0x14A */ u8 m14A[0x14C - 0x14A]; - /* 0x14C */ f32 m14C; - /* 0x150 */ u8 m150[0x154 - 0x150]; - /* 0x154 */ f32 mStickMainPosXLast; - /* 0x158 */ f32 mStickMainPosYLast; - /* 0x15C */ f32 mStickMainValueLast; - /* 0x160 */ f32 mStickMainPosXDelta; - /* 0x164 */ f32 mStickMainPosYDelta; - /* 0x168 */ f32 mStickMainValueDelta; - /* 0x16C */ f32 mStickCPosXLast; - /* 0x170 */ f32 mStickCPosYLast; - /* 0x174 */ f32 mStickCValueLast; - /* 0x178 */ f32 mStickCPosXDelta; - /* 0x17C */ f32 mStickCPosYDelta; - /* 0x180 */ f32 mStickCValueDelta; - /* 0x184 */ u8 m184[0x190 - 0x184]; - /* 0x190 */ f32 mTriggerLeftLast; - /* 0x194 */ f32 mTriggerLeftDelta; - /* 0x198 */ u8 m198; - /* 0x199 */ u8 m199; - /* 0x19A */ u8 m19A; - /* 0x19B */ u8 m19B; - /* 0x19C */ f32 mTriggerRightLast; - /* 0x1A0 */ f32 mTriggerRightDelta; - /* 0x1A4 */ u8 m1A4; - /* 0x1A5 */ u8 m1A5; - /* 0x1A6 */ u8 m1A6; - /* 0x1A7 */ u8 m1A7; - /* 0x1A8 */ u8 m1A8; - /* 0x1A9 */ u8 m1A9; - /* 0x1AA */ u8 m1AA; - /* 0x1AB */ u8 m1AB; - /* 0x1AC */ u8 m1AC; - /* 0x1AD */ u8 m1AD; - /* 0x1AE */ u8 m1AE; - /* 0x1AF */ u8 m1AF[0x1B0 - 0x1AF]; - /* 0x1B0 */ dCamForcusLine mForcusLine; - /* 0x220 */ u8 m220[0x228 - 0x220]; - /* 0x228 */ cXyz mMonitorPos; - /* 0x234 */ f32 m234; - /* 0x238 */ f32 m238; - /* 0x23C */ f32 m23C; - /* 0x240 */ int m240; - /* 0x244 */ f32 m244; - /* 0x248 */ u8 m248[0x254 - 0x248]; - /* 0x254 */ int m254; - /* 0x258 */ u8 m258[0x25C - 0x258]; - /* 0x25C */ BG mBG; - /* 0x30C */ u8 m30C[0x31D - 0x30C]; - /* 0x31D */ u8 m31D; - /* 0x31E */ u8 m31E[0x350 - 0x31E]; - /* 0x350 */ int m350; - /* 0x354 */ u8 m354[0x358 - 0x354]; - /* 0x358 */ int mRoomNo; - /* 0x35C */ int mRoomMapToolCameraIdx; - /* 0x360 */ u8 m360[0x394 - 0x360]; - /* 0x394 */ f32 mEvFovy; - /* 0x398 */ f32 mEvBank; - /* 0x39C */ fopAc_ac_c* mpEvRelActor; - /* 0x3A0 */ char mEvRelUseMask[4]; - /* 0x3A4 */ int mEvTimer; - /* 0x3A8 */ u8 m3A8; - /* 0x3A9 */ u8 m3A9[0x3AC - 0x3A9]; - /* 0x3AC */ cXyz mEvBasePos; - /* 0x3B8 */ u8 m3B8[0x3FC - 0x3B8]; - /* 0x3FC */ int mStaffIdx; - /* 0x400 */ int m400; - /* 0x404 */ int m404; - /* 0x408 */ u8 m408; - /* 0x409 */ u8 m409[0x40C - 0x409]; - /* 0x40C */ int m40C; - /* 0x410 */ int m410; - /* 0x414 */ u8 m414[0x424 - 0x414]; - /* 0x424 */ dCamera__EventParam mEventParams[8]; - /* 0x4C4 */ dStage_Event_dt_c* m4C4; - /* 0x4C8 */ d2DBSplinePath mSpline2DPath; - /* 0x50C */ u32 mEventFlags; - /* 0x510 */ int mCurStyle; - /* 0x514 */ int m514; - /* 0x518 */ int mCurType; - /* 0x51C */ int mNextType; - /* 0x520 */ int mMapToolType; - /* 0x524 */ int m524; - /* 0x528 */ int m528; - /* 0x52C */ u8 m52C[0x530 - 0x52C]; - /* 0x530 */ int m530; - /* 0x534 */ s16 m534; - /* 0x536 */ s16 m536; - /* 0x538 */ u8 m538[0x550 - 0x538]; - /* 0x550 */ int m550; - /* 0x554 */ int m554; - /* 0x558 */ u8 m558[0x568 - 0x558]; - /* 0x568 */ cXyz mCenterShake; - /* 0x574 */ cXyz mEyeShake; - /* 0x580 */ f32 mFovYShake; - /* 0x584 */ u8 m584[0x590 - 0x584]; - /* 0x590 */ int mBlureTimer; - /* 0x594 */ u8 m594[0x59C - 0x594]; - /* 0x59C */ int mBlurePositionType; - /* 0x5A0 */ cXyz mBlurePosition; - /* 0x5AC */ cXyz mBlureScale; - /* 0x5B8 */ f32 mBlureAlpha; - /* 0x5BC */ u8 m5BC[0x5C0 - 0x5BC]; - /* 0x5C0 */ stage_camera__entry mCurRoomCamEntry; - /* 0x5D4 */ stage_arrow__entry mCurRoomArrowEntry; - /* 0x5E8 */ int mCurArrowIdx; - /* 0x5EC */ f32 m5EC; - /* 0x5F0 */ f32 m5F0; - /* 0x5F4 */ u8 m5F4[0x5F8 - 0x5F4]; - /* 0x5F8 */ f32 m5F8; - /* 0x5FC */ int m5FC; - /* 0x600 */ u8 m600[0x604 - 0x600]; - /* 0x604 */ f32 m604; - /* 0x608 */ u8 m608[0x60C - 0x608]; - /* 0x60C */ dCamSetup_c mCamSetup; - /* 0x750 */ dCamParam_c mCamParam; - /* 0x75C */ int mCamTypeField; - /* 0x760 */ int mCamTypeEvent; - /* 0x764 */ int mCamTypeWater; - /* 0x768 */ int mCamTypeSubject; - /* 0x76C */ int mCamTypeBoat; - /* 0x770 */ int mCamTypeBoatBattle; - /* 0x774 */ int m774; - /* 0x778 */ int mCamTypeKeep; - /* 0x77C */ int mCamTypeRestrict; - /* 0x780 */ u8 field_780[0x800 - 0x780]; - -public: - void ForceLockOff(unsigned int pcId); - void Reset(cXyz, cXyz, f32, s16); - void Set(cXyz, cXyz, f32, s16); - void Stay(); - void SetTrimSize(s32); - void StartEventCamera(int, int, ...); - void EndEventCamera(int); - - void CStickUse() {} - void CStickUseless() {} - void Center() {} - void Eye() {} - void StickUse() {} - void StickUseless() {} - void clrFlag(u32) {} - void setFlag(u32) {} -}; - -STATIC_ASSERT(sizeof(dCamera_c) == 0x800); - typedef struct leafdraw_method_class leafdraw_method_class; class camera_process_class : public view_class { @@ -286,8 +33,4 @@ struct camera_process_profile_definition { /* 0x3C */ leafdraw_method_class* mSubMtd; // Subclass methods }; -dCamera_c* dCam_getBody(); -s16 dCam_getAngleY(camera_class*); -s16 dCam_getAngleX(camera_class*); - #endif diff --git a/include/m_Do/m_Do_audio.h b/include/m_Do/m_Do_audio.h index cd5546a04..efbf31bf6 100644 --- a/include/m_Do/m_Do_audio.h +++ b/include/m_Do/m_Do_audio.h @@ -7,9 +7,10 @@ class mDoAud_zelAudio_c : public JAIZelBasic { public: mDoAud_zelAudio_c() {} + ~mDoAud_zelAudio_c() {} void reset(); - + static void calcLoadTimer(); static bool isResetFlag() { return mResetFlag; } diff --git a/src/JAZelAudio/JAIZelBasic.cpp b/src/JAZelAudio/JAIZelBasic.cpp index 16eebddad..b57b72691 100644 --- a/src/JAZelAudio/JAIZelBasic.cpp +++ b/src/JAZelAudio/JAIZelBasic.cpp @@ -8,7 +8,125 @@ /* 802A1C78-802A1EB4 .text __ct__11JAIZelBasicFv */ JAIZelBasic::JAIZelBasic() { - /* Nonmatching */ + zel_basic = this; + field_0x0021 = 0; + field_0x0024 = 0; + mpSound = 0; + field_0x0020 = 0; + field_0x0074 = -1; + field_0x0078 = -1; + field_0x007c = -1; + field_0x0080 = 1.0f; + field_0x0084 = 1.0f; + field_0x0088 = 1.0f; + field_0x008c = 1.0f; + field_0x0090 = 1.0f; + field_0x0094 = 1.0f; + field_0x0098 = 1.0f; + field_0x009c = 1.0f; + field_0x00a0 = 1.0f; + field_0x00a4 = 1.0f; + field_0x00ac = 1.0f; + field_0x00a8 = 1.0f; + mHour = 0; + mMinute = 0; + mWeekday = 0; + field_0x002f = 0; + field_0x0030 = 0xc00; + field_0x0032 = 0; + field_0x0034 = 0; + field_0x0038 = 0; + field_0x003c = 1.0f; + field_0x0041 = 0; + field_0x0042 = 0; + field_0x0043 = 0; + field_0x0044 = 0; + field_0x0045 = 0; + field_0x0046 = 0; + field_0x0047 = 0; + field_0x0048.x = 1e+07; + field_0x0048.y = 1e+07; + field_0x0048.z = 1e+07; + field_0x0054.x = 1e+07; + field_0x0054.y = 1e+07; + field_0x0054.z = 1e+07; + field_0x00d0 = 0; + field_0x0063 = 0; + field_0x00b0 = -1; + mSomeSpecialBGMFlag = 0; + mLastMinibossSubBGMType = 0; + field_0x1f3c = 0; + field_0x01f8 = 0; + field_0x0201 = 0; + field_0x0204 = 0; + field_0x0064[0] = 0; + field_0x0064[1] = 0; + field_0x00b8 = 0; + field_0x00ba = 0; + field_0x00bb = 0; + field_0x0206 = 0; + field_0x01f9 = 0; + field_0x01fa = 0; + field_0x0202[0] = 0; + field_0x0202[1] = 0; + field_0x01fb = 0; + field_0x01fc = 0; + field_0x023a = 0; + field_0x0220 = -1; + field_0x0224 = -1; + mNextSceneBgmId = 0; + field_0x022e = 0; + field_0x022f = 0; + field_0x0230 = 0; + field_0x0231 = 0; + mFirstDynamicSceneWaveIndex = 0; + field_0x0233 = 0; + mSetNum = 0; + mSecondDynamicSceneWaveIndex = 0; + field_0x0236 = 0; + field_0x0237 = 0; + field_0x022c = 0; + field_0x022d = 0; + field_0x00b4 = 0; + field_0x00bc = 0; + field_0x00c0 = 0; + field_0x00c1 = 0; + field_0x00c4 = 0; + field_0x00c8 = 0; + field_0x00c9 = 0; + field_0x00ca = 0; + mCameraSeaFloorGroupInfo = 0; + mIslandRoomNo = 0; + mLinkSeaFloorGroupInfo = 0; + field_0x021e = 0; + field_0x00cb = -1; + field_0x00cc = 0; + field_0x1dd4 = 0; + field_0x00b9 = 0; + field_0x00cd = 0; + field_0x0033 = 0; + mIsSailing = 0; + field_0x1f40 = 0.0; + field_0x00b7 = 0; + field_0x0040 = 0; + field_0x0207 = 0; + mbLandingDemoStarted = 0; + field_0x0239 = 0; + field_0x0208 = 0; + field_0x1ec0 = 0; + field_0x00ce = 0; + field_0x00bd = 0; + field_0x00be = 0; + field_0x0061 = 0; + field_0x01fd = 0; + field_0x01fe = 0; + field_0x01ff = 0; + field_0x0200 = 0; + field_0x0205 = 0; + field_0x0066 = 0; + field_0x00bf = 0; + field_0x0028 = 0; + field_0x0062 = 0; } /* 802A1EB4-802A2F48 .text zeldaGFrameWork__11JAIZelBasicFv */ @@ -387,17 +505,17 @@ void JAIZelBasic::setLinkGroupInfo(u8) { } /* 802AA378-802AA380 .text getMapInfoFxline__11JAIZelBasicFUl */ -void JAIZelBasic::getMapInfoFxline(u32) { +bool JAIZelBasic::getMapInfoFxline(u32) { /* Nonmatching */ } /* 802AA380-802AA388 .text getMapInfoFxParameter__11JAIZelBasicFUl */ -void JAIZelBasic::getMapInfoFxParameter(u32) { +f32 JAIZelBasic::getMapInfoFxParameter(u32) { /* Nonmatching */ } /* 802AA388-802AA390 .text getMapInfoGround__11JAIZelBasicFUl */ -void JAIZelBasic::getMapInfoGround(u32) { +bool JAIZelBasic::getMapInfoGround(u32) { /* Nonmatching */ } @@ -557,7 +675,7 @@ void JAIZelBasic::checkOnOuterSea(f32*) { } /* 802AC1BC-802AC258 .text makeSound__11JAIZelBasicFUl */ -void JAIZelBasic::makeSound(u32) { +JAISound* JAIZelBasic::makeSound(u32) { /* Nonmatching */ } diff --git a/src/JAZelAudio/JAIZelInst.cpp b/src/JAZelAudio/JAIZelInst.cpp index 166d24086..b4f30ce62 100644 --- a/src/JAZelAudio/JAIZelInst.cpp +++ b/src/JAZelAudio/JAIZelInst.cpp @@ -8,7 +8,19 @@ /* 802AE04C-802AE0B4 .text __ct__10JAIZelInstFv */ JAIZelInst::JAIZelInst() { - /* Nonmatching */ + field_0x0 = 0; + field_0xc = 0; + field_0x10 = -1; + field_0x14 = 0x2f; + mMelodyNum = 3; + field_0x20 = 0.6f; + field_0x24 = 3.0f; + field_0x28 = 60.f; + field_0x2c = 1.0f; + field_0x30 = field_0x2c * 30.0f; + field_0x1e = 0; + field_0x48 = 0; + field_0x34 = 0x37; } /* 802AE0B4-802AE1C0 .text reset__10JAIZelInstFv */ diff --git a/src/JSystem/JAudio/JAIBankWave.cpp b/src/JSystem/JAudio/JAIBankWave.cpp index a005c8d99..fe43cb0f2 100644 --- a/src/JSystem/JAudio/JAIBankWave.cpp +++ b/src/JSystem/JAudio/JAIBankWave.cpp @@ -70,6 +70,6 @@ void JAInter::BankWave::getWaveLoadStatus(s32) { } /* 802916C0-80291704 .text checkAllWaveLoadStatus__Q27JAInter8BankWaveFv */ -void JAInter::BankWave::checkAllWaveLoadStatus() { +bool JAInter::BankWave::checkAllWaveLoadStatus() { /* Nonmatching */ } diff --git a/src/d/actor/d_a_obj_zouK.cpp b/src/d/actor/d_a_obj_zouK.cpp index 1f68d5ab5..abc45f5dc 100644 --- a/src/d/actor/d_a_obj_zouK.cpp +++ b/src/d/actor/d_a_obj_zouK.cpp @@ -278,8 +278,6 @@ bool daObjZouk::Act_c::_draw() { return true; } -camera_class * dCam_getCamera(); - /* 000015F0-00001804 .text setEffectMtx__Q29daObjZouk5Act_cFPC4cXyzf */ void daObjZouk::Act_c::setEffectMtx(const cXyz* pos, f32 scale) { static Mtx mtx_adj = { diff --git a/src/d/actor/d_a_sea.cpp b/src/d/actor/d_a_sea.cpp index c9946379a..ba9d4cf3e 100644 --- a/src/d/actor/d_a_sea.cpp +++ b/src/d/actor/d_a_sea.cpp @@ -218,9 +218,7 @@ void daSea_packet_c::CleanUp() { } /* 8015B7E4-8015B84C .text __ct__14daSea_packet_cFv */ -daSea_packet_c::daSea_packet_c() { - /* Nonmatching */ -} +daSea_packet_c::daSea_packet_c() {} /* 8015B84C-8015B86C .text SetFlat__14daSea_packet_cFv */ void daSea_packet_c::SetFlat() { diff --git a/src/d/d_camera.cpp b/src/d/d_camera.cpp index 12dc29547..68be33ce1 100644 --- a/src/d/d_camera.cpp +++ b/src/d/d_camera.cpp @@ -3,9 +3,14 @@ // Translation Unit: d_camera.cpp // -#include "d_camera.h" +#include "d/d_camera.h" +#include "d/d_bg_s_gnd_chk.h" +#include "d/d_bg_s_lin_chk.h" +#include "d/d_bg_s_sph_chk.h" +#include "SSystem/SComponent/c_bg_s.h" #include "dolphin/types.h" +class camera_process_class; /* 80161790-801618B8 .text __ct__9dCamera_cFP12camera_class */ dCamera_c::dCamera_c(camera_class*) { @@ -18,7 +23,7 @@ dCamera_c::~dCamera_c() { } /* 80161994-80162128 .text initialize__9dCamera_cFP12camera_classP10fopAc_ac_cUlUl */ -void dCamera_c::initialize(camera_class*, fopAc_ac_c*, unsigned long, unsigned long) { +void dCamera_c::initialize(camera_class*, fopAc_ac_c*, u32, u32) { /* Nonmatching */ } @@ -38,7 +43,7 @@ void dCamera_c::Stay() { } /* 8016214C-801621A0 .text ChangeModeOK__9dCamera_cFl */ -void dCamera_c::ChangeModeOK(long) { +void dCamera_c::ChangeModeOK(s32) { /* Nonmatching */ } @@ -72,11 +77,6 @@ dBgS_CamLinChk_NorWtr::~dBgS_CamLinChk_NorWtr() { /* Nonmatching */ } -/* 8016319C-801632F0 .text __dt__14dBgS_CamLinChkFv */ -dBgS_CamLinChk::~dBgS_CamLinChk() { - /* Nonmatching */ -} - /* 801632F0-8016336C .text Att__9dCamera_cFv */ void dCamera_c::Att() { /* Nonmatching */ @@ -98,12 +98,12 @@ void dCamera_c::NotRun() { } /* 801640A8-801640B4 .text SetTrimSize__9dCamera_cFl */ -void dCamera_c::SetTrimSize(long) { +void dCamera_c::SetTrimSize(s32) { /* Nonmatching */ } /* 801640B4-801640C0 .text SetTrimTypeForce__9dCamera_cFl */ -void dCamera_c::SetTrimTypeForce(long) { +void dCamera_c::SetTrimTypeForce(s32) { /* Nonmatching */ } @@ -118,22 +118,22 @@ void dCamera_c::Draw() { } /* 8016418C-80164898 .text nextMode__9dCamera_cFl */ -void dCamera_c::nextMode(long) { +void dCamera_c::nextMode(s32) { /* Nonmatching */ } /* 80164898-80164A48 .text onModeChange__9dCamera_cFll */ -void dCamera_c::onModeChange(long, long) { +void dCamera_c::onModeChange(s32, s32) { /* Nonmatching */ } /* 80164A48-80164CEC .text nextType__9dCamera_cFl */ -void dCamera_c::nextType(long) { +void dCamera_c::nextType(s32) { /* Nonmatching */ } /* 80164CEC-80164DB4 .text onTypeChange__9dCamera_cFll */ -void dCamera_c::onTypeChange(long, long) { +void dCamera_c::onTypeChange(s32, s32) { /* Nonmatching */ } @@ -143,17 +143,17 @@ void dCamera_c::SetTypeForce(char*, fopAc_ac_c*) { } /* 80164DFC-80164E2C .text SetTypeForce__9dCamera_cFlP10fopAc_ac_c */ -void dCamera_c::SetTypeForce(long, fopAc_ac_c*) { +void dCamera_c::SetTypeForce(s32, fopAc_ac_c*) { /* Nonmatching */ } /* 80164E2C-80164F5C .text onStyleChange__9dCamera_cFll */ -void dCamera_c::onStyleChange(long, long) { +void dCamera_c::onStyleChange(s32, s32) { /* Nonmatching */ } /* 80164F5C-8016513C .text GetCameraTypeFromMapToolID__9dCamera_cFll */ -void dCamera_c::GetCameraTypeFromMapToolID(long, long) { +void dCamera_c::GetCameraTypeFromMapToolID(s32, s32) { /* Nonmatching */ } @@ -168,7 +168,7 @@ void dCamera_c::pushPos() { } /* 80165234-8016528C .text limited_range_addition__FPffff */ -void limited_range_addition(float*, float, float, float) { +void limited_range_addition(f32*, f32, f32, f32) { /* Nonmatching */ } @@ -198,7 +198,7 @@ void dCamera_c::relationalPos(fopAc_ac_c*, cXyz*, cSAngle) { } /* 8016548C-801656AC .text relationalPos__9dCamera_cFP10fopAc_ac_cP10fopAc_ac_cP4cXyzf */ -void dCamera_c::relationalPos(fopAc_ac_c*, fopAc_ac_c*, cXyz*, float) { +void dCamera_c::relationalPos(fopAc_ac_c*, fopAc_ac_c*, cXyz*, f32) { /* Nonmatching */ } @@ -223,7 +223,7 @@ void dCamera_c::radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*) { } /* 80165830-80165CC4 .text radiusActorInSight__9dCamera_cFP10fopAc_ac_cP10fopAc_ac_cP4cXyzP4cXyzfs */ -void dCamera_c::radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*, cXyz*, cXyz*, float, short) { +void dCamera_c::radiusActorInSight(fopAc_ac_c*, fopAc_ac_c*, cXyz*, cXyz*, f32, s16) { /* Nonmatching */ } @@ -238,27 +238,27 @@ dBgS_CamGndChk_Wtr::~dBgS_CamGndChk_Wtr() { } /* 80166230-80166354 .text lineBGCheck__9dCamera_cFP4cXyzP4cXyzP11dBgS_LinChkUl */ -void dCamera_c::lineBGCheck(cXyz*, cXyz*, dBgS_LinChk*, unsigned long) { +void dCamera_c::lineBGCheck(cXyz*, cXyz*, dBgS_LinChk*, u32) { /* Nonmatching */ } /* 80166354-80166740 .text lineBGCheck__9dCamera_cFP4cXyzP4cXyzP4cXyzUl */ -void dCamera_c::lineBGCheck(cXyz*, cXyz*, cXyz*, unsigned long) { +void dCamera_c::lineBGCheck(cXyz*, cXyz*, cXyz*, u32) { /* Nonmatching */ } /* 80166740-80166A04 .text lineBGCheck__9dCamera_cFP4cXyzP4cXyzUl */ -void dCamera_c::lineBGCheck(cXyz*, cXyz*, unsigned long) { +void dCamera_c::lineBGCheck(cXyz*, cXyz*, u32) { /* Nonmatching */ } /* 80166A04-80166CD4 .text lineBGCheckBack__9dCamera_cFP4cXyzP4cXyzUl */ -void dCamera_c::lineBGCheckBack(cXyz*, cXyz*, unsigned long) { +void dCamera_c::lineBGCheckBack(cXyz*, cXyz*, u32) { /* Nonmatching */ } /* 80166CD4-80166D00 .text lineBGCheckBoth__9dCamera_cFP4cXyzP4cXyzP11dBgS_LinChkUl */ -void dCamera_c::lineBGCheckBoth(cXyz*, cXyz*, dBgS_LinChk*, unsigned long) { +void dCamera_c::lineBGCheckBoth(cXyz*, cXyz*, dBgS_LinChk*, u32) { /* Nonmatching */ } @@ -273,7 +273,7 @@ void sph_chk_callback(dBgS_SphChk*, cBgD_Vtx_t*, int, int, int, cM3dGPla*, void* } /* 80166EA4-80167294 .text compWallMargin__9dCamera_cFP4cXyzf */ -void dCamera_c::compWallMargin(cXyz*, float) { +void dCamera_c::compWallMargin(cXyz*, f32) { /* Nonmatching */ } @@ -282,18 +282,13 @@ dBgS_CamSphChk::~dBgS_CamSphChk() { /* Nonmatching */ } -/* 801673DC-801674F4 .text __dt__11dBgS_SphChkFv */ -dBgS_SphChk::~dBgS_SphChk() { - /* Nonmatching */ -} - /* 801674F4-801675E8 .text defaultTriming__9dCamera_cFv */ void dCamera_c::defaultTriming() { /* Nonmatching */ } /* 801675E8-801676C0 .text setView__9dCamera_cFffff */ -void dCamera_c::setView(float, float, float, float) { +void dCamera_c::setView(f32, f32, f32, f32) { /* Nonmatching */ } @@ -303,7 +298,7 @@ void dCamera_c::forwardCheckAngle() { } /* 80167F08-80168D44 .text bumpCheck__9dCamera_cFUl */ -void dCamera_c::bumpCheck(unsigned long) { +void dCamera_c::bumpCheck(u32) { /* Nonmatching */ } @@ -328,18 +323,12 @@ void dCamera_c::checkGroundInfo() { } /* 8016A0F0-8016A110 .text followCamera2__9dCamera_cFl */ -void dCamera_c::followCamera2(long) { +void dCamera_c::followCamera2(s32) { /* Nonmatching */ } /* 8016A110-8016C4F8 .text followCamera__9dCamera_cFl */ -void dCamera_c::followCamera(long) { - /* Nonmatching */ -} - - -/* 8016C53C-8016C55C .text d2s__6cAngleFf */ -void cAngle::d2s(float) { +void dCamera_c::followCamera(s32) { /* Nonmatching */ } @@ -348,20 +337,13 @@ void dCamera_c::eyePos(fopAc_ac_c*) { /* Nonmatching */ } -/* 8016C578-8016C5A4 .text GetTriPla__4cBgSCFR13cBgS_PolyInfo */ -void cBgS::GetTriPla(cBgS_PolyInfo&) const { - /* Nonmatching */ -} - /* 8016C5A4-8016C5D0 .text heightOf__9dCamera_cFP10fopAc_ac_c */ void dCamera_c::heightOf(fopAc_ac_c*) { /* Nonmatching */ } - - /* 8016C618-8016D824 .text lockonCamera__9dCamera_cFl */ -void dCamera_c::lockonCamera(long) { +void dCamera_c::lockonCamera(s32) { /* Nonmatching */ } @@ -376,94 +358,92 @@ void dCamera_c::getMsgCmdCut() { } /* 8016D8D0-80170434 .text talktoCamera__9dCamera_cFl */ -void dCamera_c::talktoCamera(long) { +void dCamera_c::talktoCamera(s32) { /* Nonmatching */ } - - /* 80170490-801708E0 .text CalcSubjectAngle__9dCamera_cFPsPs */ -void dCamera_c::CalcSubjectAngle(short*, short*) { +void dCamera_c::CalcSubjectAngle(s16*, s16*) { /* Nonmatching */ } /* 801708E0-801719C4 .text subjectCamera__9dCamera_cFl */ -void dCamera_c::subjectCamera(long) { +void dCamera_c::subjectCamera(s32) { /* Nonmatching */ } /* 801719C4-80172C20 .text towerCamera__9dCamera_cFl */ -void dCamera_c::towerCamera(long) { +void dCamera_c::towerCamera(s32) { /* Nonmatching */ } /* 80172C20-8017346C .text crawlCamera__9dCamera_cFl */ -void dCamera_c::crawlCamera(long) { +void dCamera_c::crawlCamera(s32) { /* Nonmatching */ } /* 8017346C-80173E40 .text hookshotCamera__9dCamera_cFl */ -void dCamera_c::hookshotCamera(long) { +void dCamera_c::hookshotCamera(s32) { /* Nonmatching */ } /* 80173E40-80174E98 .text tornadoCamera__9dCamera_cFl */ -void dCamera_c::tornadoCamera(long) { +void dCamera_c::tornadoCamera(s32) { /* Nonmatching */ } /* 80174E98-8017623C .text rideCamera__9dCamera_cFl */ -void dCamera_c::rideCamera(long) { +void dCamera_c::rideCamera(s32) { /* Nonmatching */ } /* 8017623C-80176F54 .text hungCamera__9dCamera_cFl */ -void dCamera_c::hungCamera(long) { +void dCamera_c::hungCamera(s32) { /* Nonmatching */ } /* 80176F54-8017793C .text vomitCamera__9dCamera_cFl */ -void dCamera_c::vomitCamera(long) { +void dCamera_c::vomitCamera(s32) { /* Nonmatching */ } /* 8017793C-801787B8 .text shieldCamera__9dCamera_cFl */ -void dCamera_c::shieldCamera(long) { +void dCamera_c::shieldCamera(s32) { /* Nonmatching */ } /* 801787B8-801795C8 .text manualCamera__9dCamera_cFl */ -void dCamera_c::manualCamera(long) { +void dCamera_c::manualCamera(s32) { /* Nonmatching */ } /* 801795C8-801799C0 .text nonOwnerCamera__9dCamera_cFl */ -void dCamera_c::nonOwnerCamera(long) { +void dCamera_c::nonOwnerCamera(s32) { /* Nonmatching */ } /* 801799C0-80179F8C .text fixedFrameCamera__9dCamera_cFl */ -void dCamera_c::fixedFrameCamera(long) { +void dCamera_c::fixedFrameCamera(s32) { /* Nonmatching */ } /* 80179F8C-8017A80C .text fixedPositionCamera__9dCamera_cFl */ -void dCamera_c::fixedPositionCamera(long) { +void dCamera_c::fixedPositionCamera(s32) { /* Nonmatching */ } /* 8017A80C-8017B144 .text eventCamera__9dCamera_cFl */ -void dCamera_c::eventCamera(long) { +void dCamera_c::eventCamera(s32) { /* Nonmatching */ } /* 8017B144-8017B14C .text demoCamera__9dCamera_cFl */ -void dCamera_c::demoCamera(long) { +void dCamera_c::demoCamera(s32) { /* Nonmatching */ } /* 8017B14C-8017B154 .text letCamera__9dCamera_cFl */ -void dCamera_c::letCamera(long) { +void dCamera_c::letCamera(s32) { /* Nonmatching */ } @@ -473,17 +453,17 @@ void dCamera_c::Set(cXyz, cXyz) { } /* 8017B18C-8017B1EC .text Set__9dCamera_cF4cXyz4cXyzfs */ -void dCamera_c::Set(cXyz, cXyz, float, short) { +void dCamera_c::Set(cXyz, cXyz, f32, s16) { /* Nonmatching */ } /* 8017B1EC-8017B24C .text Set__9dCamera_cF4cXyz4cXyzsf */ -void dCamera_c::Set(cXyz, cXyz, short, float) { +void dCamera_c::Set(cXyz, cXyz, s16, f32) { /* Nonmatching */ } /* 8017B24C-8017B31C .text Reset__9dCamera_cF4cXyz4cXyzfs */ -void dCamera_c::Reset(cXyz, cXyz, float, short) { +void dCamera_c::Reset(cXyz, cXyz, f32, s16) { /* Nonmatching */ } @@ -503,7 +483,7 @@ void dCamera_c::ResetView() { } /* 8017B4C4-8017B51C .text Chtyp__9dCamera_cFl */ -void dCamera_c::Chtyp(long) { +void dCamera_c::Chtyp(s32) { /* Nonmatching */ } @@ -518,7 +498,7 @@ void dCamera_c::shakeCamera() { } /* 8017BA50-8017BB8C .text StartShake__9dCamera_cFlPUcl4cXyz */ -void dCamera_c::StartShake(long, unsigned char*, long, cXyz) { +void dCamera_c::StartShake(s32, u8*, s32, cXyz) { /* Nonmatching */ } @@ -533,22 +513,22 @@ void dCamera_c::ResetBlure(int) { } /* 8017BBF0-8017BBF8 .text SetBlureAlpha__9dCamera_cFf */ -void dCamera_c::SetBlureAlpha(float) { +void dCamera_c::SetBlureAlpha(f32) { /* Nonmatching */ } /* 8017BBF8-8017BC08 .text SetBlureScale__9dCamera_cFfff */ -void dCamera_c::SetBlureScale(float, float, float) { +void dCamera_c::SetBlureScale(f32, f32, f32) { /* Nonmatching */ } /* 8017BC08-8017BC1C .text SetBlureScale__9dCamera_cFf */ -void dCamera_c::SetBlureScale(float) { +void dCamera_c::SetBlureScale(f32) { /* Nonmatching */ } /* 8017BC1C-8017BC74 .text SetBlurePosition__9dCamera_cFfff */ -void dCamera_c::SetBlurePosition(float, float, float) { +void dCamera_c::SetBlurePosition(f32, f32, f32) { /* Nonmatching */ } @@ -558,7 +538,7 @@ void dCamera_c::SetBlurePositionType(int) { } /* 8017BC7C-8017BC84 .text SetBlureTimer__9dCamera_cFl */ -void dCamera_c::SetBlureTimer(long) { +void dCamera_c::SetBlureTimer(s32) { /* Nonmatching */ } @@ -603,27 +583,27 @@ void dCam_isManual(camera_class*) { } /* 8017BD9C-8017BDC0 .text dCam_getAngleY__FP12camera_class */ -void dCam_getAngleY(camera_class*) { +s16 dCam_getAngleY(camera_class*) { /* Nonmatching */ } /* 8017BDC0-8017BDC8 .text dCam_getAngleX__FP12camera_class */ -void dCam_getAngleX(camera_class*) { +s16 dCam_getAngleX(camera_class*) { /* Nonmatching */ } /* 8017BDC8-8017BDEC .text dCam_getControledAngleY__FP12camera_class */ -void dCam_getControledAngleY(camera_class*) { +s16 dCam_getControledAngleY(camera_class*) { /* Nonmatching */ } /* 8017BDEC-8017BDFC .text dCam_getCamera__Fv */ -void dCam_getCamera() { +camera_class* dCam_getCamera() { /* Nonmatching */ } /* 8017BDFC-8017BE20 .text dCam_getBody__Fv */ -void dCam_getBody() { +dCamera_c* dCam_getBody() { /* Nonmatching */ } @@ -712,23 +692,13 @@ dBgS_CamGndChk::~dBgS_CamGndChk() { /* Nonmatching */ } -/* 8017D0CC-8017D0D0 .text __ct__Q29dCamera_c23@class$4017d_camera_cppFv */ -dCamera_c::@class$4017d_camera_cpp::@class$4017d_camera_cpp() { - /* Nonmatching */ -} - -/* 8017D0D0-8017D10C .text __dt__Q29dCamera_c23@class$4017d_camera_cppFv */ -dCamera_c::@class$4017d_camera_cpp::~@class$4017d_camera_cpp() { - /* Nonmatching */ -} - /* 8017D128-8017D13C .text setFlag__9dCamera_cFUl */ -void dCamera_c::setFlag(unsigned long) { +void dCamera_c::setFlag(u32) { /* Nonmatching */ } /* 8017D13C-8017D150 .text chkFlag__9dCamera_cFUl */ -void dCamera_c::chkFlag(unsigned long) { +void dCamera_c::chkFlag(u32) { /* Nonmatching */ } @@ -748,32 +718,11 @@ void dCamera_c::Center() { } /* 8017D1D4-8017D1F4 .text Flag__11dCamParam_cFlUs */ -void dCamParam_c::Flag(long, unsigned short) { +void dCamParam_c::Flag(s32, u16) { /* Nonmatching */ } /* 8017D200-8017D220 .text Val__11dCamParam_cFli */ -void dCamParam_c::Val(long, int) { +void dCamParam_c::Val(s32, int) { /* Nonmatching */ } - - - - - - - - - - - - - - - - - - - - - diff --git a/src/d/d_cc_mass_s.cpp b/src/d/d_cc_mass_s.cpp index c1f12f204..a716fd6d9 100644 --- a/src/d/d_cc_mass_s.cpp +++ b/src/d/d_cc_mass_s.cpp @@ -4,21 +4,76 @@ // #include "d/d_cc_mass_s.h" -#include "dolphin/types.h" +#include "JSystem/JUtility/JUTAssert.h" /* 800AC810-800AC920 .text __ct__12dCcMassS_MngFv */ dCcMassS_Mng::dCcMassS_Mng() { - /* Nonmatching */ + Ct(); } /* 800AC920-800AC96C .text Ct__12dCcMassS_MngFv */ void dCcMassS_Mng::Ct() { - /* Nonmatching */ + mFlag = 0; + mResultCam = 0; + mCamTopPos.x = 0.0f; + mCamTopPos.y = -1e+9f; + mCamTopPos.z = 0.0f; + mCamBottomPos.x = 0.0f; + mCamBottomPos.y = -1e+9f; + mCamBottomPos.z = 0.0f; + Clear(); } /* 800AC96C-800ACCB8 .text Prepare__12dCcMassS_MngFv */ void dCcMassS_Mng::Prepare() { /* Nonmatching */ + cM3dGAab local_38; + local_38.ClearForMinMax(); + for (dCcMassS_Obj* mass = mMassObjs; mass < mMassObjs + mMassObjCount; mass++) { + cCcD_Obj* pobj = mass->mpObj; + JUT_ASSERT(61, pobj != 0); + cCcD_ShapeAttr* attr = pobj->GetShapeAttr(); + attr->CalcAabBox(); + local_38.SetMinMax(attr->mAab.mMin); + local_38.SetMinMax(attr->mAab.mMax); + } + for (dCcMassS_Obj* mass = mMassAreas; mass < mMassAreas + mMassAreaCount; mass++) { + cCcD_Obj* parea = mass->mpObj; + JUT_ASSERT(73, parea != 0); + cCcD_ShapeAttr* attr = parea->GetShapeAttr(); + attr->CalcAabBox(); + local_38.SetMinMax(attr->mAab.mMin); + local_38.SetMinMax(attr->mAab.mMax); + } + if (mFlag & 1) { + mCpsAttr.CalcAabBox(); + local_38.SetMinMax(mCpsAttr.mAab.mMin); + local_38.SetMinMax(mCpsAttr.mAab.mMax); + } + mDivideArea.SetArea(local_38); + for (dCcMassS_Obj* mass = mMassObjs; mass < mMassObjs + mMassObjCount; mass++) { + cCcD_Obj* pobj = mass->mpObj; + JUT_ASSERT(93, pobj != 0); + cCcD_ShapeAttr* attr = pobj->GetShapeAttr(); + mDivideArea.CalcDivideInfo(&mass->mDivideInfo, attr->mAab, 0); + } + for (dCcMassS_Obj* mass = mMassAreas; mass < mMassAreas + mMassAreaCount; mass++) { + cCcD_Obj* parea = mass->mpObj; + JUT_ASSERT(104, parea != 0); + cCcD_ShapeAttr* attr = parea->GetShapeAttr(); + mDivideArea.CalcDivideInfo(&mass->mDivideInfo, attr->mAab, 0); + } + if (mFlag & 1) { + mDivideArea.CalcDivideInfo(&mDivideInfo, mCpsAttr.mAab, 0); + } + mCamTopPos.x = 0.0f; + mCamTopPos.y = -1e+9f; + mCamTopPos.z = 0.0f; + mCamTopDist = 1e+9f; + mCamBottomPos.x = 0.0f; + mCamBottomPos.y = -1e+9f; + mCamBottomPos.z = 0.0f; + mCamBottomDist = 1e+9f; } /* 800ACCB8-800AD17C .text Chk__12dCcMassS_MngFP4cXyzPP10fopAc_ac_cP15dCcMassS_HitInf */ @@ -28,7 +83,24 @@ u32 dCcMassS_Mng::Chk(cXyz*, fopAc_ac_c**, dCcMassS_HitInf*) { /* 800AD17C-800AD234 .text Clear__12dCcMassS_MngFv */ void dCcMassS_Mng::Clear() { - /* Nonmatching */ + mMassObjCount = 0; + mMassAreaCount = 0; + for (int i = 0; i < 5; i++) { + mMassObjs[i].mpObj = NULL; + mMassObjs[i].mPriority = 5; + mMassObjs[i].mpCallback = NULL; + mMassObjs[i].mDivideInfo.mRangeBits = 0; + } + for (int i = 0; i < 2; i++) { + mMassAreas[i].mpObj = NULL; + mMassAreas[i].mPriority = 5; + mMassAreas[i].mpCallback = NULL; + mMassAreas[i].mDivideInfo.mRangeBits = 0; + } + mCylAttr.SetR(0.0f); + mCylAttr.SetH(0.0f); + field_0x128 = 0; + mResultCamBit = 4; } /* 800AD234-800AD310 .text Set__12dCcMassS_MngFP8cCcD_ObjUc */ @@ -55,8 +127,3 @@ u8 dCcMassS_Mng::GetResultCam() const { void dCcMassS_Mng::GetCamTopPos(Vec*) { /* Nonmatching */ } - -/* 800AD594-800AD5B0 .text __ct__12dCcMassS_ObjFv */ -dCcMassS_Obj::dCcMassS_Obj() { - /* Nonmatching */ -} diff --git a/src/d/d_detect.cpp b/src/d/d_detect.cpp index 72d53b28a..17afd407d 100644 --- a/src/d/d_detect.cpp +++ b/src/d/d_detect.cpp @@ -8,28 +8,25 @@ /* 8009BFD4-8009BFFC .text __ct__14dDetectPlace_cFv */ dDetectPlace_c::dDetectPlace_c() { - /* Nonmatching */ + mPos = cXyz::Zero; + mEnable = 0; } /* 8009BFFC-8009C038 .text __dt__14dDetectPlace_cFv */ -dDetectPlace_c::~dDetectPlace_c() { - /* Nonmatching */ -} +dDetectPlace_c::~dDetectPlace_c() {} /* 8009C038-8009C048 .text chk_enable__14dDetectPlace_cCFv */ -void dDetectPlace_c::chk_enable() const { - /* Nonmatching */ +bool dDetectPlace_c::chk_enable() const { + return mEnable != 0; } /* 8009C048-8009C098 .text __ct__9dDetect_cFv */ dDetect_c::dDetect_c() { - /* Nonmatching */ + mTimer = 0; } /* 8009C098-8009C0F8 .text __dt__9dDetect_cFv */ -dDetect_c::~dDetect_c() { - /* Nonmatching */ -} +dDetect_c::~dDetect_c() {} /* 8009C0F8-8009C14C .text proc__9dDetect_cFv */ void dDetect_c::proc() { diff --git a/src/d/d_drawlist.cpp b/src/d/d_drawlist.cpp index 1f40606d4..f9e692173 100644 --- a/src/d/d_drawlist.cpp +++ b/src/d/d_drawlist.cpp @@ -1240,8 +1240,6 @@ void dDlst_list_c::calcWipe() { } } -camera_class * dCam_getCamera(); - /* 80086790-8008696C .text dDlst_texSpecmapST__FPC4cXyzPC12dKy_tevstr_cP12J3DModelDataf */ void dDlst_texSpecmapST(const cXyz* pos, const dKy_tevstr_c* tevStr, J3DModelData* modelData, f32 scale) { static Mtx mtx_adj = { diff --git a/src/d/d_ev_camera.cpp b/src/d/d_ev_camera.cpp index dd6bb10eb..483999e1c 100644 --- a/src/d/d_ev_camera.cpp +++ b/src/d/d_ev_camera.cpp @@ -3,7 +3,7 @@ // Translation Unit: d_ev_camera.cpp // -#include "d_ev_camera.h" +#include "d/d_camera.h" #include "dolphin/types.h" /* 800B004C-800B0174 .text StartEventCamera__9dCamera_cFiie */ @@ -37,7 +37,7 @@ void dCamera_c::getEvIntData(int*, char*, int) { } /* 800B0484-800B055C .text getEvFloatData__9dCamera_cFPfPcf */ -void dCamera_c::getEvFloatData(float*, char*, float) { +void dCamera_c::getEvFloatData(f32*, char*, f32) { /* Nonmatching */ } @@ -96,31 +96,16 @@ void dCamera_c::uniformTransEvCamera() { /* Nonmatching */ } -/* 800B3DDC-800B3E18 .text __dt__Q29dCamera_c26@class$5621d_ev_camera_cppFv */ -dCamera_c::@class$5621d_ev_camera_cpp::~@class$5621d_ev_camera_cpp() { - /* Nonmatching */ -} - /* 800B3E18-800B5110 .text uniformBrakeEvCamera__9dCamera_cFv */ void dCamera_c::uniformBrakeEvCamera() { /* Nonmatching */ } -/* 800B5110-800B514C .text __dt__Q29dCamera_c26@class$6314d_ev_camera_cppFv */ -dCamera_c::@class$6314d_ev_camera_cpp::~@class$6314d_ev_camera_cpp() { - /* Nonmatching */ -} - /* 800B514C-800B6434 .text uniformAcceleEvCamera__9dCamera_cFv */ void dCamera_c::uniformAcceleEvCamera() { /* Nonmatching */ } -/* 800B6434-800B6470 .text __dt__Q29dCamera_c26@class$6993d_ev_camera_cppFv */ -dCamera_c::@class$6993d_ev_camera_cpp::~@class$6993d_ev_camera_cpp() { - /* Nonmatching */ -} - /* 800B6470-800B7640 .text watchActorEvCamera__9dCamera_cFv */ void dCamera_c::watchActorEvCamera() { /* Nonmatching */ @@ -216,4 +201,3 @@ void dCamera_c::bSplineEvCamera() { void dCamera_c::twoActor0EvCamera() { /* Nonmatching */ } - diff --git a/src/d/d_event.cpp b/src/d/d_event.cpp index e73fc5bad..ae542fc35 100644 --- a/src/d/d_event.cpp +++ b/src/d/d_event.cpp @@ -9,13 +9,11 @@ /* 8006FE04-8006FE54 .text __ct__14dEvt_control_cFv */ dEvt_control_c::dEvt_control_c() { - /* Nonmatching */ + remove(); } /* 8006FE54-8006FE58 .text __ct__12dEvt_order_cFv */ -dEvt_order_c::dEvt_order_c() { - /* Nonmatching */ -} +dEvt_order_c::dEvt_order_c() {} /* 8006FE58-8006FEE8 .text orderOld__14dEvt_control_cFUsUsUsUsPvPvPCv */ s32 dEvt_control_c::orderOld(u16, u16, u16, u16, void*, void*, const void*) { @@ -145,6 +143,19 @@ BOOL dEvt_control_c::compulsory(void*, const char*, u16) { /* 80071468-800714AC .text remove__14dEvt_control_cFv */ void dEvt_control_c::remove() { /* Nonmatching */ + mMode = 0; + mbEndProc = 0; + mOrderCount = 0; + field_0xdd = 0; + mEventEndSound = 0; + field_0xdb = 0; + mCullFarClipRatio = 0.0f; + field_0xde = 0xff; + field_0xdf = 0xff; + mTalkButton = 0; + mbInPhoto = 0; + mItemNo = 0xff; + mEventFlag = 0; } /* 800714AC-80071534 .text getStageEventDt__14dEvt_control_cFv */ @@ -179,7 +190,12 @@ void dEvt_control_c::getTactFreeCStick(int) { /* 80071624-80071658 .text __ct__11dEvt_info_cFv */ dEvt_info_c::dEvt_info_c() { - /* Nonmatching */ + mCommand = 0; + mCondition = 0; + mEventId = -1; + mMapToolId = 0xff; + mpEventCB = 0; + mpCheckCB = 0; } /* 80071658-800716AC .text setEventName__11dEvt_info_cFPc */ diff --git a/src/d/d_kankyo_rain.cpp b/src/d/d_kankyo_rain.cpp index 55824b60b..f3dac6ce2 100644 --- a/src/d/d_kankyo_rain.cpp +++ b/src/d/d_kankyo_rain.cpp @@ -782,7 +782,7 @@ void dKyr_poison_light_colision() { dCcMassS_Mng * mass = &dComIfG_Ccsp()->mMass_Mng; dComIfG_Ccsp()->mMass_Mng.mCylAttr.SetR(220.0f); dComIfG_Ccsp()->mMass_Mng.mCylAttr.SetH(140.0f); - mass->field_0x200 = 0x0B; + mass->field_0x128 = 0x0B; mass->mResultCamBit = 0x03; #endif diff --git a/src/d/d_particle.cpp b/src/d/d_particle.cpp index c4a68e9bd..b1337e981 100644 --- a/src/d/d_particle.cpp +++ b/src/d/d_particle.cpp @@ -164,8 +164,11 @@ void dPa_modelControl_c::draw() { } /* 8007B158-8007B194 .text __ct__19dPa_followEcallBackFUcUc */ -dPa_followEcallBack::dPa_followEcallBack(u8, u8) { - /* Nonmatching */ +dPa_followEcallBack::dPa_followEcallBack(u8 param_1, u8 param_2) { + mRateOff = param_1; + field_0x12 = param_2; + field_0x13 = 0; + mpEmitter = NULL; } /* 8007B194-8007B288 .text execute__19dPa_followEcallBackFP14JPABaseEmitter */ @@ -189,18 +192,39 @@ void dPa_followEcallBack::end() { } /* 8007B3B0-8007B444 .text __ct__18dPa_smokeEcallBackFUc */ -dPa_smokeEcallBack::dPa_smokeEcallBack(u8) { +dPa_smokeEcallBack::dPa_smokeEcallBack(u8 param_1) { /* Nonmatching */ + GXColor local_18 = {0xa0, 0xa0, 0x80, 0xff}; + field_0x16 = local_18; + mRateOff = param_1; + field_0x12 = 0; + mTevstr = NULL; + field_0x14 = -1; + field_0x15 = 0; } /* 8007B4B0-8007B558 .text __ct__18dPa_smokeEcallBackFUcUcUcUc */ -dPa_smokeEcallBack::dPa_smokeEcallBack(u8, u8, u8, u8) { +dPa_smokeEcallBack::dPa_smokeEcallBack(u8 param_1, u8 param_2, u8 param_3, u8 param_4) { /* Nonmatching */ + GXColor local_28 = {0xa0, 0xa0, 0x80, 0xff}; + field_0x16 = local_28; + mRateOff = param_1; + field_0x12 = param_2; + field_0x13 = param_4; + mTevstr = NULL; + field_0x14 = -1; + mFlag = param_3; + field_0x15 = 0; + } /* 8007B558-8007B5E8 .text __ct__18dPa_smokeEcallBackFRC8_GXColorP12dKy_tevstr_cUc */ -dPa_smokeEcallBack::dPa_smokeEcallBack(const _GXColor&, dKy_tevstr_c*, u8) { - /* Nonmatching */ +dPa_smokeEcallBack::dPa_smokeEcallBack(const _GXColor& param_1, dKy_tevstr_c* param_2, u8 param_3) { + field_0x16 = param_1; + mTevstr = param_2; + mRateOff = param_3; + field_0x12 = 0; + field_0x14 = -1; } /* 8007B5E8-8007B698 .text setup__18dPa_smokeEcallBackFP14JPABaseEmitterPC4cXyzPC5csXyzSc */ @@ -259,9 +283,7 @@ dPa_simpleEcallBack::dPa_simpleEcallBack() { } /* 8007C45C-8007C460 .text __ct__16dPa_simpleData_cFv */ -dPa_simpleData_c::dPa_simpleData_c() { - /* Nonmatching */ -} +dPa_simpleData_c::dPa_simpleData_c() {} /* 8007C460-8007C618 .text executeAfter__19dPa_simpleEcallBackFP14JPABaseEmitter */ void dPa_simpleEcallBack::executeAfter(JPABaseEmitter* param_1) { diff --git a/src/d/d_s_title.cpp b/src/d/d_s_title.cpp index 7e3169b6f..f22f6e026 100644 --- a/src/d/d_s_title.cpp +++ b/src/d/d_s_title.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_s_title.cpp // +#include "JSystem/JAudio/JAIBankWave.h" #include "f_op/f_op_scene.h" #include "f_op/f_op_draw_iter.h" #include "f_op/f_op_actor_mng.h" @@ -17,13 +18,6 @@ #include "m_Do/m_Do_controller_pad.h" #include "d/actor/d_a_movie_player.h" -namespace JAInter { - class BankWave { - public: - static bool checkAllWaveLoadStatus(); - }; -}; - #if VERSION == VERSION_PAL #define title_of_scene_class dScnTitle_c #endif diff --git a/src/d/d_snap.cpp b/src/d/d_snap.cpp index b7ae5b550..4f8f396a3 100644 --- a/src/d/d_snap.cpp +++ b/src/d/d_snap.cpp @@ -33,7 +33,19 @@ void dSnap_GetFigRoomId(int) { /* 800CD00C-800CD068 .text __ct__9dSnap_ObjFv */ dSnap_Obj::dSnap_Obj() { - /* Nonmatching */ + mBsPcId = -1; + field_0x18 = 0; + field_0x19 = 4; + field_0x1a = -1; + field_0x1b = 0; + field_0x1c = 0x7fff; + field_0x1e = 0; + field_0x20 = 0; + field_0x24 = 0.0f; + field_0x28 = 0; + field_0x2a = 0; + field_0x2c = 0; + field_0x2e = 0; } /* 800CD068-800CD6D0 .text CalcArea2D__9dSnap_ObjFv */ @@ -248,16 +260,10 @@ void dSnap_DebugDraw() { void dSnap_Delete() {} /* 800CF058-800CF0DC .text __dt__12dSnap_packetFv */ -dSnap_packet::~dSnap_packet() { - /* Nonmatching */ -} +dSnap_packet::~dSnap_packet() {} /* 800CF0DC-800CF138 .text __dt__18dSnap_RegistObjElmFv */ -dSnap_RegistObjElm::~dSnap_RegistObjElm() { - /* Nonmatching */ -} +dSnap_RegistObjElm::~dSnap_RegistObjElm() {} /* 800CF2E0-800CF31C .text __ct__18dSnap_RegistObjElmFv */ -dSnap_RegistObjElm::dSnap_RegistObjElm() { - /* Nonmatching */ -} +dSnap_RegistObjElm::dSnap_RegistObjElm() {} diff --git a/src/d/d_vibration.cpp b/src/d/d_vibration.cpp index 95224240d..3c9352eb6 100644 --- a/src/d/d_vibration.cpp +++ b/src/d/d_vibration.cpp @@ -4,6 +4,22 @@ // #include "d/d_vibration.h" +#include "m_Do/m_Do_controller_pad.h" + +namespace { + void makedata(u16*, u32, s32) { + /* Nonmatching */ + } + void rollshift(u32, s32, s32) { + /* Nonmatching */ + } + void makebits(u32, s32, s32) { + /* Nonmatching */ + } + void randombit(s32, s32) { + /* Nonmatching */ + } +}; /* 8009C73C-8009CCCC .text Run__12dVibration_cFv */ int dVibration_c::Run() { @@ -32,22 +48,35 @@ int dVibration_c::StopQuake(int) { /* 8009CFEC-8009D044 .text Kill__12dVibration_cFv */ void dVibration_c::Kill() { - /* Nonmatching */ + g_mDoCPd_gamePad[0]->stopMotorWaveHard(); + g_mDoCPd_gamePad[0]->stopMotorHard(); + setDefault(); } /* 8009D044-8009D06C .text CheckQuake__12dVibration_cFv */ bool dVibration_c::CheckQuake() { - /* Nonmatching */ + return field_0x24 != -1 || field_0x60 != -1; } /* 8009D06C-8009D0AC .text setDefault__12dVibration_cFv */ void dVibration_c::setDefault() { - /* Nonmatching */ + field_0x48 = -1; + field_0x0 = -1; + field_0x60 = -1; + field_0x24 = -1; + field_0x58 = -99; + field_0x20 = -99; + field_0x70 = -99; + field_0x44 = -99; + field_0x74 = -99; + field_0x5c = -99; + field_0x7c = 0; + field_0x78 = 0; } /* 8009D0AC-8009D0CC .text Init__12dVibration_cFv */ void dVibration_c::Init() { - /* Nonmatching */ + setDefault(); } /* 8009D0CC-8009D188 .text Pause__12dVibration_cFv */ @@ -57,10 +86,10 @@ void dVibration_c::Pause() { /* 8009D188-8009D1C4 .text __ct__12dVibration_cFv */ dVibration_c::dVibration_c() { - /* Nonmatching */ + setDefault(); } /* 8009D1C4-8009D220 .text __dt__12dVibration_cFv */ dVibration_c::~dVibration_c() { - /* Nonmatching */ + Kill(); } diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp index c8d9c8dde..de6e79f08 100644 --- a/src/m_Do/m_Do_audio.cpp +++ b/src/m_Do/m_Do_audio.cpp @@ -7,6 +7,7 @@ #include "JSystem/JKernel/JKRSolidHeap.h" #include "SSystem/SComponent/c_lib.h" +JAIZelInst mDoAud_zelAudio_c::mTact; mDoAud_zelAudio_c g_mDoAud_zelAudio; bool mDoAud_zelAudio_c::mInitFlag;