diff options
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/actor/d_a_grass.h | 2 | ||||
| -rw-r--r-- | include/d/actor/d_a_kago.h | 110 | ||||
| -rw-r--r-- | include/d/d_bg_s.h | 2 | ||||
| -rw-r--r-- | include/d/d_camera.h | 3 | ||||
| -rw-r--r-- | include/d/d_com_inf_game.h | 45 | ||||
| -rw-r--r-- | include/d/d_demo.h | 1 | ||||
| -rw-r--r-- | include/d/d_eye_hl.h | 4 | ||||
| -rw-r--r-- | include/d/d_jpreviewer.h | 4 | ||||
| -rw-r--r-- | include/d/d_particle.h | 5 | ||||
| -rw-r--r-- | include/d/d_path.h | 7 | ||||
| -rw-r--r-- | include/d/d_resorce.h | 9 | ||||
| -rw-r--r-- | include/d/d_s_logo.h | 114 | ||||
| -rw-r--r-- | include/d/d_s_menu.h | 2 | ||||
| -rw-r--r-- | include/d/d_s_play.h | 25 | ||||
| -rw-r--r-- | include/d/d_s_play_env.h | 5 | ||||
| -rw-r--r-- | include/d/d_save_HIO.h | 3 | ||||
| -rw-r--r-- | include/d/d_stage.h | 14 |
17 files changed, 263 insertions, 92 deletions
diff --git a/include/d/actor/d_a_grass.h b/include/d/actor/d_a_grass.h index 549a067eba..4b07bea1d5 100644 --- a/include/d/actor/d_a_grass.h +++ b/include/d/actor/d_a_grass.h @@ -44,6 +44,8 @@ public: static daGrass_c* m_myObj; static dGrass_packet_c* m_grass; static dFlower_packet_c* m_flower; + + /* 0x568 */ u8 unk_0x568[0x570 - 0x568]; }; namespace daGrass_prm { diff --git a/include/d/actor/d_a_kago.h b/include/d/actor/d_a_kago.h index a84d049ad2..90de3b74bf 100644 --- a/include/d/actor/d_a_kago.h +++ b/include/d/actor/d_a_kago.h @@ -18,6 +18,20 @@ */ class daKago_c : public fopAc_ac_c { public: + enum daKago_Action_e { + ACTION_FLY_e, + ACTION_STAGGER_e, + ACTION_EVENT_e, + ACTION_PERCH_e, + ACTION_WAIT_e, + ACTION_ATTACK_e, + ACTION_EVENT2_e, + ACTION_PERCH2_e, + ACTION_LANDING_e, + ACTION_DEMO_FLY_e, + ACTION_DEMO_FLY2_e, + }; + int getBckName(int); void setBck(int, u8, f32, f32); bool checkBck(int); @@ -93,14 +107,14 @@ public: void setEvent() { mIsFlying = false; - mCurrentAction = 2; - field_0x744 = 0; + mAction = ACTION_EVENT_e; + mMode = 0; } void setEvent2() { mIsFlying = false; - mCurrentAction = 6; - field_0x744 = 0; + mAction = ACTION_EVENT2_e; + mMode = 0; } void setKagoPath(u8 i_pathNo) { @@ -110,36 +124,36 @@ public: } void onWaterFall() { - field_0x6ea = 1; + mIsWaterfall = TRUE; } bool isAttack() { - return field_0x6dd != 0; + return mIsAttack != 0; } MtxP getLegR3Mtx() { return mLegR3Mtx; } - MtxP getMidnaLocaterMtx() { return mpMorf->getModel()->getAnmMtx(4); } + MtxP getMidnaLocaterMtx() { return mAnm_p->getModel()->getAnmMtx(4); } s8 getPathDir() { return mPathDir; } u8 isFlying() { return mIsFlying; } fopAc_ac_c* getLockActor() { return mpLockActor; } void setLockActor(fopAc_ac_c* actor) { mpLockActor = actor; } void setEatYm() { field_0x6d8 |= (u8) 4; } - MtxP getMouthMtx() { return mpMorf->getModel()->getAnmMtx(7); } + MtxP getMouthMtx() { return mAnm_p->getModel()->getAnmMtx(7); } private: /* 0x568 */ request_of_phase_process_class mPhase; - /* 0x570 */ mDoExt_McaMorfSO* mpMorf; + /* 0x570 */ mDoExt_McaMorfSO* mAnm_p; /* 0x574 */ Z2CreatureEnemy mSound; /* 0x618 */ fopAc_ac_c* mpLockActor; /* 0x61C */ fpc_ProcID mBalloon2DId; /* 0x620 */ Mtx mLegR3Mtx; - /* 0x650 */ cXyz field_0x650[3]; + /* 0x650 */ cXyz mWallHitEffPos[3]; /* 0x674 */ cXyz field_0x674; /* 0x680 */ cXyz field_0x680; - /* 0x68C */ cXyz field_0x68c; - /* 0x698 */ cXyz field_0x698; + /* 0x68C */ cXyz mDemoCamCenter; + /* 0x698 */ cXyz mDemoCamEye; /* 0x6A4 */ cXyz field_0x6a4; - /* 0x6B0 */ cXyz field_0x6b0; + /* 0x6B0 */ cXyz mPrevCamEye; /* 0x6BC */ s16 field_0x6bc; /* 0x6BE */ csXyz field_0x6be; /* 0x6C4 */ f32 field_0x6c4; @@ -147,12 +161,12 @@ private: /* 0x6CA */ s16 field_0x6ca; /* 0x6CC */ f32 field_0x6cc; /* 0x6D0 */ f32 field_0x6d0; - /* 0x6D4 */ f32 field_0x6d4; + /* 0x6D4 */ f32 mDemoCamFovy; /* 0x6D8 */ u8 field_0x6d8; /* 0x6D9 */ u8 field_0x6d9; /* 0x6DA */ s16 field_0x6da; /* 0x6DC */ u8 field_0x6dc; - /* 0x6DD */ u8 field_0x6dd; + /* 0x6DD */ u8 mIsAttack; /* 0x6DE */ u8 field_0x6de; /* 0x6DF */ u8 field_0x6df; /* 0x6E0 */ u8 field_0x6e0; @@ -162,18 +176,18 @@ private: /* 0x6E4 */ u8 field_0x6e4; /* 0x6E5 */ u8 field_0x6e5; /* 0x6E6 */ u8 field_0x6e6; - /* 0x6E7 */ u8 field_0x6e7; + /* 0x6E7 */ u8 mType; /* 0x6E8 */ u8 field_0x6e8; /* 0x6E8 */ u8 field_0x6e9; - /* 0x6EA */ u8 field_0x6ea; - /* 0x6EB */ u8 field_0x6eb; + /* 0x6EA */ u8 mIsWaterfall; + /* 0x6EB */ u8 mBalloonMenuMode; /* 0x6EC */ u8 field_0x6ec[0x6ed - 0x6ec]; - /* 0x6ED */ u8 field_0x6ed; - /* 0x6F0 */ f32 field_0x6f0; - /* 0x6F4 */ f32 field_0x6f4; - /* 0x6F8 */ f32 field_0x6f8; + /* 0x6ED */ u8 unk_0x6ed; + /* 0x6F0 */ f32 mStickX; + /* 0x6F4 */ f32 mStickY; + /* 0x6F8 */ f32 mFlySpeed; /* 0x6FC */ f32 field_0x6fc; - /* 0x700 */ f32 field_0x700; + /* 0x700 */ f32 mGroundFlyHeight; /* 0x704 */ f32 mGroundHeight; /* 0x708 */ f32 mRoofHeight; /* 0x70C */ f32 field_0x70c; @@ -181,32 +195,32 @@ private: /* 0x712 */ s16 field_0x712; /* 0x714 */ s16 field_0x714; /* 0x716 */ s16 field_0x716; - /* 0x718 */ s16 field_0x718; - /* 0x71A */ s16 field_0x71a; - /* 0x71C */ s32 field_0x71c; - /* 0x720 */ s32 field_0x720; + /* 0x718 */ s16 mHeadRotZ; + /* 0x71A */ s16 mHeadRotY; + /* 0x71C */ int mWaterSplashTimer; + /* 0x720 */ int mWallHitInvulnTimer; /* 0x724 */ u8 field_0x724[0x728 - 0x724]; - /* 0x728 */ s32 field_0x728; - /* 0x72C */ s32 field_0x72c; - /* 0x730 */ s32 mDashCooldownTime; - /* 0x734 */ s32 mDashTime; - /* 0x738 */ s32 field_0x738; - /* 0x73C */ s32 field_0x73c; - /* 0x740 */ s32 mCurrentAction; - /* 0x744 */ s32 field_0x744; - /* 0x748 */ s32 field_0x748; - /* 0x74C */ s32 field_0x74c; - /* 0x750 */ s32 field_0x750; - /* 0x754 */ s32 field_0x754; - /* 0x758 */ s32 field_0x758; - /* 0x75C */ char* field_0x75c; - /* 0x760 */ char* field_0x760; - /* 0x764 */ s32 field_0x764; + /* 0x728 */ int field_0x728; + /* 0x72C */ int field_0x72c; + /* 0x730 */ int mDashCooldownTime; + /* 0x734 */ int mDashTime; + /* 0x738 */ int mGndSpecialCode; + /* 0x73C */ int mSceneType; + /* 0x740 */ int mAction; + /* 0x744 */ int mMode; + /* 0x748 */ int mDemoMode; + /* 0x74C */ int field_0x74c; + /* 0x750 */ int field_0x750; + /* 0x754 */ int field_0x754; + /* 0x758 */ int field_0x758; + /* 0x75C */ char* mArcName; + /* 0x760 */ char* mDemoName; + /* 0x764 */ u32 mShadowId; /* 0x768 */ dPath* mpPath1; /* 0x76C */ dPath* mpPath2; - /* 0x770 */ s8 mPathIdx; + /* 0x770 */ s8 mPathCurrentPointNo; /* 0x771 */ s8 field_0x771; - /* 0x772 */ s8 mPathIdxOffset; + /* 0x772 */ s8 mPathStep; /* 0x773 */ s8 mPathDir; /* 0x774 */ u8 field_0x774[0x778 - 0x774]; /* 0x778 */ dBgS_AcchCir mAcchCir; @@ -220,9 +234,9 @@ private: /* 0xB38 */ u32 field_0xb38; /* 0xB3C */ u32 field_0xb3c; /* 0xB40 */ u32 field_0xb40; - /* 0xB44 */ u32 field_0xb44[3]; - /* 0xB50 */ u32 field_0xb50; - /* 0xB54 */ u8 field_0xb54; + /* 0xB44 */ u32 mSibukiEmitterIDs[3]; + /* 0xB50 */ u32 mDashSibukiEmitterID; + /* 0xB54 */ u8 mIsHioSet; /* 0xB58 */ dMsgFlow_c mMsgFlow; }; diff --git a/include/d/d_bg_s.h b/include/d/d_bg_s.h index c0804bd07c..537748470c 100644 --- a/include/d/d_bg_s.h +++ b/include/d/d_bg_s.h @@ -195,6 +195,8 @@ public: void ChkDeleteActorRegist(fopAc_ac_c*); + void Draw(); + #if DEBUG /* 0x1404 */ u8 field_0x1404[0x1408 - 0x1404]; /* 0x1408 */ dBgS_HIO m_hio; diff --git a/include/d/d_camera.h b/include/d/d_camera.h index c49cce155e..f7a7132538 100644 --- a/include/d/d_camera.h +++ b/include/d/d_camera.h @@ -1367,8 +1367,7 @@ public: /* 0x970 */ dCamSetup_c mCamSetup; /* 0xAEC */ dCamParam_c mCamParam; /* 0xB0C */ u8 field_0xb0c; - /* 0xB0D */ u8 field_0xb0d[0xd58 - 0xb0d]; -}; // Size: 0xD58 +}; // Size: 0xB10 dCamera_c* dCam_getBody(); camera_class* dCam_getCamera(); diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index 20101bc074..d8556e2fde 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -952,7 +952,7 @@ public: dComIfG_inf_c() { this->ct(); } ~dComIfG_inf_c() {} void ct(); - void createBaseCsr(); + static void createBaseCsr(); #if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG class baseCsr_c : public mDoGph_gInf_c::csr_c { @@ -1022,7 +1022,9 @@ public: /* 0x1DE09 */ u8 field_0x1de09; /* 0x1DE0A */ u8 field_0x1de0a; /* 0x1DE0B */ u8 mIsDebugMode; - /* 0x1DE0C */ u8 field_0x1de0c; + #if DEBUG + /* 0x1DE0C */ OSStopwatch mStopwatch; + #endif static __d_timer_info_c dComIfG_mTimerInfo; #if PLATFORM_WII || VERSION == VERSION_SHIELD_DEBUG @@ -1174,6 +1176,7 @@ int dComIfG_TimerEnd(int i_mode, int param_1); int dComIfG_TimerDeleteCheck(int); int dComIfG_TimerDeleteRequest(int i_mode); int dComLbG_PhaseHandler(request_of_phase_process_class*, request_of_phase_process_fn*, void*); +BOOL dComIfG_isSceneResetButton(); int dComIfGd_setSimpleShadow(cXyz* i_pos, f32 param_1, f32 param_2, cBgS_PolyInfo& param_3, s16 i_angle, f32 param_5, _GXTexObj* i_tex); @@ -3262,6 +3265,22 @@ inline JPABaseEmitter* dComIfGp_particle_setColor(u16 param_0, const cXyz* i_pos NULL, NULL, NULL, -1, NULL); } +inline u32 dComIfGp_particle_getHeapSize() { + return g_dComIfG_gameInfo.play.getParticle()->getHeapSize(); +} + +inline u32 dComIfGp_particle_getSceneHeapSize() { + return g_dComIfG_gameInfo.play.getParticle()->getSceneHeapSize(); +} + +inline int dComIfGp_particle_getEmitterNum() { + return g_dComIfG_gameInfo.play.getParticle()->getEmitterNum(); +} + +inline int dComIfGp_particle_getParticleNum() { + return g_dComIfG_gameInfo.play.getParticle()->getParticleNum(); +} + inline dSmplMdl_draw_c* dComIfGp_getSimpleModel() { return g_dComIfG_gameInfo.play.getSimpleModel(); } @@ -4369,6 +4388,28 @@ inline u32 dComIfG_getTrigB(u32 i_padNo) { return mDoCPd_c::getTrig(i_padNo) & PAD_BUTTON_B; } +inline u32 dComIfG_getObjectAllSize() { + return g_dComIfG_gameInfo.mResControl.getObjectAllSize(); +} + +inline u32 dComIfG_getStageAllSize() { + return g_dComIfG_gameInfo.mResControl.getStageAllSize(); +} + +inline u32 dComIfG_getObjectSize(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.getObjectSize(i_arcName); +} + +inline u32 dComIfG_getStageSize(const char* i_arcName) { + return g_dComIfG_gameInfo.mResControl.getStageSize(i_arcName); +} + +#if DEBUG +inline void dComIfG_initStopwatch() { + OSInitStopwatch(&g_dComIfG_gameInfo.mStopwatch, "dComIfG"); +} +#endif + inline int dComIfGd_setRealShadow(u32 param_0, s8 param_1, J3DModel* param_2, cXyz* param_3, f32 param_4, f32 param_5, dKy_tevstr_c* param_6) { return g_dComIfG_gameInfo.drawlist.setRealShadow(param_0, param_1, param_2, param_3, param_4, diff --git a/include/d/d_demo.h b/include/d/d_demo.h index 73c6f24e42..45e99a85d9 100644 --- a/include/d/d_demo.h +++ b/include/d/d_demo.h @@ -387,6 +387,7 @@ public: static s16 getBranchId() { return m_branchId; } static u16 getBranchNum() { return m_branchNum; } static jmessage_tControl* getMesgControl() { return m_mesgControl; } + static dDemo_system_c* getSystem() { return m_system; } static void setBranchNum(u16 num) { m_branchNum = num; diff --git a/include/d/d_eye_hl.h b/include/d/d_eye_hl.h index d174387806..382938c5a5 100644 --- a/include/d/d_eye_hl.h +++ b/include/d/d_eye_hl.h @@ -13,6 +13,10 @@ public: static void entry(dEyeHL_c*); static void remove(dEyeHL_c*); + static void create() { + JUT_ASSERT(51, m_obj == NULL); + } + static dEyeHL_c* m_obj; }; diff --git a/include/d/d_jpreviewer.h b/include/d/d_jpreviewer.h index 9971fa6674..b3b9776de9 100644 --- a/include/d/d_jpreviewer.h +++ b/include/d/d_jpreviewer.h @@ -26,8 +26,8 @@ public: void show3D(Mtx); void show2D(); - void create(JStudio::TControl* pControl, const JUTGamePad& pad); - void remove(); + static void create(JStudio::TControl* pControl, const JUTGamePad& pad); + static void remove(); void update(); static dJprev_c* get() { return m_myObj; } diff --git a/include/d/d_particle.h b/include/d/d_particle.h index ab8a3be574..5b5d8db634 100644 --- a/include/d/d_particle.h +++ b/include/d/d_particle.h @@ -7,6 +7,7 @@ #include "JSystem/JParticle/JPAParticle.h" #include "d/d_particle_name.h" #include "d/d_kankyo_tev_str.h" +#include "JSystem/JKernel/JKRSolidHeap.h" void dPa_cleanupGX(); @@ -427,6 +428,9 @@ public: JKRSolidHeap* getSceneHeap() { return mSceneHeap; } void* getSceneRes() { return m_sceneRes; } + u32 getHeapSize() { return mHeap->getTotalFreeSize(); } + u32 getSceneHeapSize() { return mSceneHeap->getTotalFreeSize(); } + void levelAllForceOnEventMove() { field_0x210.allForceOnEventMove(); } void levelExecute(u32 param_0) { @@ -453,6 +457,7 @@ public: static JPAEmitterManager* getEmitterManager() { return mEmitterMng; } int getEmitterNum() { return mEmitterMng->getEmitterNumber(); }; + int getParticleNum() { return mEmitterMng->getParticleNumber(); } static dPa_light8PcallBack* getLight8PcallBack() { return &mLight8PcallBack; diff --git a/include/d/d_path.h b/include/d/d_path.h index 7a4e6576ac..5ef65cfaef 100644 --- a/include/d/d_path.h +++ b/include/d/d_path.h @@ -25,6 +25,13 @@ struct dPath { /* 0x8 */ dPnt* m_points; }; +#if VERSION == VERSION_SHIELD_DEBUG +void dPath_Move(); +void dPath_Draw(); +void dPath_Dt(); +void dPath_Ct(); +#endif + inline BOOL dPath_ChkClose(const dPath* i_path) { return i_path->m_closed & 1; } dPath* dPath_GetRoomPath(int path_index, int room_no); diff --git a/include/d/d_resorce.h b/include/d/d_resorce.h index 000146822b..31d028a082 100644 --- a/include/d/d_resorce.h +++ b/include/d/d_resorce.h @@ -39,6 +39,7 @@ public: char* getArchiveName() { return mArchiveName; } mDoDvdThd_mountArchive_c* getDMCommand() { return mDMCommand; } JKRArchive* getArchive() { return mArchive; } + JKRSolidHeap* getDataHeap() { return mDataHeap; } u32 incCount() { return ++mCount; } u32 decCount() { return --mCount; } @@ -138,6 +139,14 @@ public: return getResInfo(i_arcName, mStageInfo, ARRAY_SIZEU(mStageInfo)); } + u32 getObjectSize(const char* i_arcName) { + return getSize(i_arcName, mObjectInfo, ARRAY_SIZEU(mObjectInfo)); + } + + u32 getStageSize(const char* i_arcName) { + return getSize(i_arcName, mStageInfo, ARRAY_SIZEU(mStageInfo)); + } + /* 0x0000 */ dRes_info_c mObjectInfo[128]; /* 0x1200 */ dRes_info_c mStageInfo[64]; }; // Size: 0x1B00 diff --git a/include/d/d_s_logo.h b/include/d/d_s_logo.h index 0a611b83c3..56d10eef82 100644 --- a/include/d/d_s_logo.h +++ b/include/d/d_s_logo.h @@ -2,6 +2,7 @@ #define D_S_D_S_LOGO_H #include "f_op/f_op_scene.h" +#include "m_Do/m_Do_dvd_thread.h" class JKRExpHeap; class JKRHeap; @@ -11,33 +12,41 @@ class mDoDvdThd_mountXArchive_c; class mDoDvdThd_mountArchive_c; class mDoDvdThd_toMainRam_c; -class dLog_HIO_c { -public: - dLog_HIO_c(); - virtual ~dLog_HIO_c(); - - u8 field_0x4[0x8 - 0x4]; -}; // Size: 0x8 - class dScnLogo_c : public scene_class { public: enum { - /* 0x0 */ EXEC_WARNING_IN, - /* 0x1 */ EXEC_WARNING_DISP, - /* 0x2 */ EXEC_WARNING_OUT, - /* 0x3 */ EXEC_NINTENDO_IN, - /* 0x4 */ EXEC_NINTENDO_OUT, - /* 0x5 */ EXEC_DOLBY_IN, - /* 0x6 */ EXEC_DOLBY_OUT, - /* 0x7 */ EXEC_DOLBY_OUT2, - /* 0x8 */ EXEC_PROG_IN, - /* 0x9 */ EXEC_PROG_SEL, - /* 0xA */ EXEC_PROG_OUT, - /* 0xB */ EXEC_PROG_SET, - /* 0xC */ EXEC_PROG_SET2, - /* 0xD */ EXEC_PROG_CHANGE, - /* 0xE */ EXEC_DVD_WAIT, - /* 0xF */ EXEC_SCENE_CHANGE, + /* 0 */ EXEC_WARNING_IN, + /* 1 */ EXEC_WARNING_DISP, + /* 2 */ EXEC_WARNING_OUT, + /* 3 */ EXEC_NINTENDO_IN, + /* 4 */ EXEC_NINTENDO_OUT, + /* 5 */ EXEC_DOLBY_IN, + /* 6 */ EXEC_DOLBY_OUT, + /* 7 */ EXEC_DOLBY_OUT2, + /* 8 */ EXEC_PROG_IN, + /* 9 */ EXEC_PROG_SEL, + /* 10 */ EXEC_PROG_OUT, + /* 11 */ EXEC_PROG_SET, + /* 12 */ EXEC_PROG_SET2, + /* 13 */ EXEC_PROG_CHANGE, + /* 14 */ EXEC_DVD_WAIT, + /* 15 */ EXEC_SCENE_CHANGE, + + #if PLATFORM_WII || PLATFORM_SHIELD + /* 16 */ EXEC_STRAP_IN, + /* 17 */ EXEC_STRAP_DISP, + /* 18 */ EXEC_STRAP_OUT, + /* 19 */ EXEC_STRAP_OUT2, + #endif + + #if VERSION == VERSION_SHIELD + /* 20 */ EXEC_MOC_IN, + /* 21 */ EXEC_MOC_DISP, + /* 22 */ EXEC_MOC_OUT, + /* 23 */ EXEC_NVLOGO_IN, + /* 24 */ EXEC_NVLOGO_DISP, + /* 25 */ EXEC_NVLOGO_OUT, + #endif }; dScnLogo_c() {} @@ -64,30 +73,66 @@ public: void nextSceneChange(); ~dScnLogo_c(); int create(); - void logoInitGC(); void dvdDataLoad(); void setProgressiveMode(u8); u8 getProgressiveMode(); bool isProgressiveMode(); void setRenderMode(); - #if VERSION == VERSION_GCN_PAL + #if VERSION == VERSION_GCN_PAL || PLATFORM_WII || PLATFORM_SHIELD u8 getPalLanguage(); #endif - #if DEBUG + #if PLATFORM_WII || PLATFORM_SHIELD + void logoInitWii(); + void strapInDraw(); + void strapDispDraw(); + void strapOutDraw(); + void strapOut2Draw(); + #else + void logoInitGC(); + #endif + + #if VERSION == VERSION_SHIELD + void mocInDraw(); + void mocDispDraw(); + void mocOutDraw(); + void nvLogoInDraw(); + void nvLogoDispDraw(); + void nvLogoOutDraw(); + #endif + + mDoDvdThd_mountXArchive_c* aramMount(const char* i_arcPath, JKRHeap* i_heap) { + return mDoDvdThd_mountXArchive_c::create(i_arcPath, 0, JKRArchive::MOUNT_ARAM, i_heap); + } + + mDoDvdThd_mountXArchive_c* onMemMount(const char* i_arcPath) { + return mDoDvdThd_mountXArchive_c::create(i_arcPath, 0, JKRArchive::MOUNT_MEM, NULL); + } + static void onOpeningCut() { + #if DEBUG mOpeningCut = true; + #endif + } + + static u8 isOpeningCut() { + #if DEBUG + return mOpeningCut; + #else + return 0; + #endif } + #if DEBUG static u8 mOpeningCut; #endif public: /* 0x1C4 */ request_of_phase_process_class field_0x1c4; /* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand; - /* 0x1D0 */ JKRExpHeap* field_0x1d0; - /* 0x1D4 */ JKRExpHeap* field_0x1d4; + /* 0x1D0 */ JKRExpHeap* mLogoHeap; + /* 0x1D4 */ JKRExpHeap* mLogo01Heap; /* 0x1D8 */ JKRHeap* mpHeap; /* 0x1DC */ dDlst_2D_c* mWarning; /* 0x1E0 */ dDlst_2D_c* mWarningStart; @@ -97,6 +142,13 @@ public: /* 0x1F0 */ dDlst_2D_c* mProgressiveYes; /* 0x1F4 */ dDlst_2D_c* mProgressiveNo; /* 0x1F8 */ dDlst_2D_c* mProgressiveSel; +#if PLATFORM_WII || PLATFORM_SHIELD + /* 0x1FC */ dDlst_2D_c* mStrapImg; +#endif +#if VERSION == VERSION_SHIELD + /* 0x200 */ dDlst_2D_c* mNvLogo; + /* 0x204 */ dDlst_2D_c* mMocImg; +#endif #if VERSION == VERSION_GCN_PAL /* 0x1FC */ mDoDvdThd_mountArchive_c* mpPalLogoResCommand; #endif @@ -114,6 +166,10 @@ public: /* 0x214 */ u16 field_0x214; /* 0x218 */ u32 field_0x218; /* 0x21C */ void* dummyGameAlloc; +#if PLATFORM_WII || VERSION == VERSION_SHIELD + /* 0x224 */ mDoDvdThd_toMainRam_c* mpHomeBtnCommand; + /* 0x228 */ int mHomeBtnRegion; +#endif /* 0x220 */ mDoDvdThd_mountXArchive_c* mpField0Command; /* 0x224 */ mDoDvdThd_mountXArchive_c* mpAlAnmCommand; /* 0x228 */ u8 field_0x228[4]; diff --git a/include/d/d_s_menu.h b/include/d/d_s_menu.h index a544c65576..d2e0e9bde0 100644 --- a/include/d/d_s_menu.h +++ b/include/d/d_s_menu.h @@ -83,6 +83,8 @@ public: extern int g_playerKind; extern int g_debugHpMode; extern int g_horsePosInit; + +u8 dSm_read_stageset(u8* i_data); #else class dScnMenu_c {}; #endif diff --git a/include/d/d_s_play.h b/include/d/d_s_play.h index 7181cf0b60..45b60220b0 100644 --- a/include/d/d_s_play.h +++ b/include/d/d_s_play.h @@ -9,9 +9,15 @@ class mDoDvdThd_mountXArchive_c; class mDoDvdThd_toMainRam_c; -class dScnPly_reg_childHIO_c { +class dScnPly_reg_childHIO_c : public JORReflexible { public: - /* 0x00 */ void* vtable; +#if ENABLE_REGHIO + dScnPly_reg_childHIO_c(); + virtual ~dScnPly_reg_childHIO_c() {} + + void genMessage(JORMContext*); +#endif + /* 0x04 */ f32 mFloatReg[30]; /* 0x7C */ s16 mShortReg[10]; }; @@ -37,9 +43,10 @@ public: void genMessage(JORMContext*); }; -class dScnPly_env_HIO_c { +class dScnPly_env_HIO_c : public JORReflexible { public: virtual ~dScnPly_env_HIO_c() {} + void genMessage(JORMContext*); /* 0x04 */ s8 field_0x4; /* 0x08 */ dScnPly_env_otherHIO_c mOther; @@ -79,6 +86,18 @@ public: static s8 pauseTimer; static s8 nextPauseTimer; + #if DEBUG + void onDebugPause() { + debugPause = TRUE; + } + + void offDebugPause() { + debugPause = FALSE; + } + + static u8 debugPause; + #endif + /* 0x1C4 */ request_of_phase_process_class field_0x1c4; /* 0x1CC */ mDoDvdThd_toMainRam_c* sceneCommand; /* 0x1D0 */ mDoDvdThd_mountXArchive_c* field_0x1d0; diff --git a/include/d/d_s_play_env.h b/include/d/d_s_play_env.h index 79eed8a63d..d2b23d9f8c 100644 --- a/include/d/d_s_play_env.h +++ b/include/d/d_s_play_env.h @@ -6,7 +6,9 @@ public: dScnPly_env_otherHIO_c(); virtual ~dScnPly_env_otherHIO_c() {} + void listenPropertyEvent(const JORPropertyEvent*); void genMessage(JORMContext*); + void addSetEmitterID(u16 param_0) { #if DEBUG field_0x1c[field_0x4f++] = param_0; @@ -14,6 +16,8 @@ public: #endif } + void printParticle(); + #if DEBUG /* 0x04 */ s8 field_0x04; #endif @@ -53,6 +57,7 @@ public: dScnPly_env_debugHIO_c(); virtual ~dScnPly_env_debugHIO_c() {} + void listenPropertyEvent(const JORPropertyEvent*); void genMessage(JORMContext*); /* 0x04 */ u8 field_0x4; diff --git a/include/d/d_save_HIO.h b/include/d/d_save_HIO.h index cc2f8af706..e149f7fcb9 100644 --- a/include/d/d_save_HIO.h +++ b/include/d/d_save_HIO.h @@ -209,11 +209,12 @@ private: /* 0x1A0 */ dSvBit_childItOneZoneHIO_c mOneZoneSave; }; -class dSvBit_HIO_c { +class dSvBit_HIO_c : public JORReflexible { public: void init(); virtual ~dSvBit_HIO_c() {} + void genMessage(JORMContext*); /* 0x004 */ s8 field_0x4; /* 0x008 */ dSvBit_childSwitchHIO_c mSwitch; diff --git a/include/d/d_stage.h b/include/d/d_stage.h index 6f558f87c0..a4b72182bb 100644 --- a/include/d/d_stage.h +++ b/include/d/d_stage.h @@ -1062,7 +1062,7 @@ public: /* 0x3F7 */ s8 mZoneNo; /* 0x3F8 */ s8 mMemBlockID; /* 0x3F9 */ u8 mRegionNo; - /* 0x3FC */ int mProcID; + /* 0x3FC */ fpc_ProcID mProcID; /* 0x400 */ dBgW_Base* mpBgW; int getZoneNo() const { return mZoneNo; } @@ -1118,8 +1118,8 @@ public: static s8 getRoomReadId() { return mRoomReadId; } static void setRoomReadId(s8 id) { mRoomReadId = id; } - static u32 getProcID() { return mProcID; } - static void setProcID(u32 id) { mProcID = id; } + static fpc_ProcID getProcID() { return mProcID; } + static void setProcID(fpc_ProcID id) { mProcID = id; } static int getStayNo() { return mStayNo; } static int getNextStayNo() { return mNextStayNo; } static BOOL GetTimePass() { return m_time_pass; } @@ -1193,7 +1193,7 @@ public: JUT_ASSERT(2770, 0 <= i_roomNo && i_roomNo < 64); mStatus[i_roomNo].mProcID = i_id; } - static int getStatusProcID(int i_roomNo) { + static fpc_ProcID getStatusProcID(int i_roomNo) { JUT_ASSERT(2774, 0 <= i_roomNo && i_roomNo < 64); return mStatus[i_roomNo].mProcID; } @@ -1223,7 +1223,7 @@ public: static char mArcBank[32][10]; static dStage_roomStatus_c mStatus[0x40]; static char mDemoArcName[10]; - static u32 mProcID; + static fpc_ProcID mProcID; static nameData* mArcBankName; static bankData* mArcBankData; static roomDzs_c m_roomDzs; @@ -1398,6 +1398,10 @@ dStage_KeepDoorInfo* dStage_GetKeepDoorInfo(); dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo(); void dStage_dt_c_fieldMapLoader(void* i_data, dStage_dt_c* i_stage); +#if DEBUG +void dStage_DebugDisp(); +#endif + #define dStage_NAME_LENGTH 8 const char* dStage_getName(s16 procName, s8 argument); |
