d_s_logo / d_s_play debug work, d_a_kago cleanup, misc cleanup (#3116)

* d_a_kago cleanup

* d_s_logo wii/shield work

* d_s_logo / d_s_play debug work

* fix missing profile class sizeof's

* fix phase->id values

* build fixes

* fix dCamera_c and camera profile
This commit is contained in:
TakaRikka
2026-03-01 13:19:48 -08:00
committed by GitHub
parent 6a48380461
commit 6e149819e1
49 changed files with 3113 additions and 1354 deletions
+1
View File
@@ -37,6 +37,7 @@ struct JFWSystem {
static JUTConsole* getSystemConsole() { return systemConsole; }
static JKRExpHeap* getSystemHeap() { return systemHeap; }
static JKRExpHeap* getRootHeap() { return rootHeap; }
static JUTResFont* getSystemFont() { return systemFont; }
static void setMaxStdHeap(int max) {
+1
View File
@@ -9,6 +9,7 @@
#include "JSystem/JUtility/JUTAssert.h"
u32 JORMessageBox(const char* message, const char* title, u32 style);
int JORShellExecute(const char* param_0, const char* param_1, const char* param_2, const char* param_3, int param_4);
struct JOREventCallbackListNode {
JOREventCallbackListNode(u32, u32, bool);
@@ -39,6 +39,7 @@ public:
return pResMgrAry[res_mgr_id];
}
int getEmitterNumber() const { return emtrNum - mFreeEmtrList.getNumLinks(); }
int getParticleNumber() const { return ptclNum - mPtclPool.getNum(); }
public:
/* 0x00 */ JSUList<JPABaseEmitter>* pEmtrUseList;
@@ -35,4 +35,42 @@ struct interface_of_controller_pad {
void cAPICPad_recalibrate(void);
u32 cAPICPad_ANY_BUTTON(u32 param_0);
#if PLATFORM_WII
u32 cAPICPad_BUTTON(u32 i_padNo);
u32 cAPICPad_Z_BUTTON(u32 i_padNo);
u32 cAPICPad_R_BUTTON(u32 i_padNo);
u32 cAPICPad_L_BUTTON(u32 i_padNo);
u32 cAPICPad_A_BUTTON(u32 i_padNo);
u32 cAPICPad_B_BUTTON(u32 i_padNo);
u32 cAPICPad_X_BUTTON(u32 i_padNo);
u32 cAPICPad_Y_BUTTON(u32 i_padNo);
u32 cAPICPad_TRIGGER(u32 i_padNo);
u32 cAPICPad_Z_TRIGGER(u32 i_padNo);
u32 cAPICPad_R_TRIGGER(u32 i_padNo);
u32 cAPICPad_UP_TRIGGER(u32 i_padNo);
u32 cAPICPad_DOWN_TRIGGER(u32 i_padNo);
u32 cAPICPad_LEFT_TRIGGER(u32 i_padNo);
u32 cAPICPad_RIGHT_TRIGGER(u32 i_padNo);
u32 cAPICPad_L_TRIGGER(u32 i_padNo);
u32 cAPICPad_A_TRIGGER(u32 i_padNo);
u32 cAPICPad_B_TRIGGER(u32 i_padNo);
u32 cAPICPad_X_TRIGGER(u32 i_padNo);
u32 cAPICPad_Y_TRIGGER(u32 i_padNo);
u32 cAPICPad_START_TRIGGER(u32 i_padNo);
f32 cAPICPad_X_STICK(u32 i_padNo);
f32 cAPICPad_X_STICK_3D(u32 i_padNo);
f32 cAPICPad_Y_STICK(u32 i_padNo);
f32 cAPICPad_VALUE_STICK(u32 i_padNo);
s16 cAPICPad_ANGLE_STICK(u32 i_padNo);
s16 cAPICPad_ANGLE_STICK_3D(u32 i_padNo);
f32 cAPICPad_X_SUBSTICK(u32 i_padNo);
f32 cAPICPad_Y_SUBSTICK(u32 i_padNo);
f32 cAPICPad_VALUE_SUBSTICK(u32 i_padNo);
s16 cAPICPad_ANGLE_SUBSTICK(u32 i_padNo);
f32 cAPICPad_L_ANALOG(u32 i_padNo);
f32 cAPICPad_R_ANALOG(u32 i_padNo);
#endif
#endif
+2
View File
@@ -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 {
+62 -48
View File
@@ -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;
};
+2
View File
@@ -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;
+1 -2
View File
@@ -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();
+43 -2
View File
@@ -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,
+1
View File
@@ -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;
+4
View File
@@ -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;
};
+2 -2
View File
@@ -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; }
+5
View File
@@ -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;
+7
View File
@@ -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);
+9
View File
@@ -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
+87 -31
View File
@@ -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
static void onOpeningCut() {
mOpeningCut = true;
#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];
+2
View File
@@ -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
+22 -3
View File
@@ -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;
+5
View File
@@ -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;
+2 -1
View File
@@ -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;
+9 -5
View File
@@ -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);
+3
View File
@@ -71,6 +71,8 @@ enum fopAc_Cull_e {
fopAc_CULLBOX_14_e,
#endif
fopAc_CULLBOX_CUSTOM_e,
fopAc_CULLBOX_MAX_e = fopAc_CULLBOX_CUSTOM_e,
fopAc_CULLSPHERE_0_e,
fopAc_CULLSPHERE_1_e,
fopAc_CULLSPHERE_2_e,
@@ -83,6 +85,7 @@ enum fopAc_Cull_e {
fopAc_CULLSPHERE_8_e,
#endif
fopAc_CULLSPHERE_CUSTOM_e,
fopAc_CULLSPHERE_MAX_e = fopAc_CULLSPHERE_CUSTOM_e - fopAc_CULLSPHERE_0_e,
};
enum fopAc_attention_type {
+3
View File
@@ -847,6 +847,9 @@ BOOL fopAcM_getNameString(const fopAc_ac_c*, char*);
inline void fopAcM_SetStatusMap(fopAc_ac_c*, u32) {}
extern cull_box l_cullSizeBox[fopAc_CULLBOX_MAX_e];
extern cull_sphere l_cullSizeSphere[fopAc_CULLSPHERE_MAX_e];
class fopAcM_lc_c {
public:
fopAcM_lc_c() { mLineCheck.ClrSttsRoofOff(); }
+1 -1
View File
@@ -19,7 +19,7 @@ struct kankyo_process_profile_definition {
/* 0x24 */ leafdraw_method_class* sub_method;
}; // Size: 0x28
void fopKy_IsKankyo(void* i_this);
BOOL fopKy_IsKankyo(void* i_this);
extern leafdraw_method_class g_fopKy_Method;
+1
View File
@@ -21,6 +21,7 @@ base_process_class* fopKyM_fastCreate(s16 i_procName, int i_param, cXyz* i_pos,
fopKyM_CreateFunc i_createFunc);
fpc_ProcID fopKyM_createWpillar(cXyz const* i_pos, f32 scale, int i_param);
fpc_ProcID fopKyM_createMpillar(cXyz const* i_pos, f32 i_size);
BOOL fopKyM_IsKy(void* i_process);
inline fopKyM_prm_class* fopKyM_GetAppend(void* i_process) {
return (fopKyM_prm_class*)fpcM_GetAppend(i_process);
+4
View File
@@ -6,6 +6,10 @@
void mDoRst_reset(int, u32, int);
void mDoRst_resetCallBack(int, void*);
#if !PLATFORM_GCN
void mDoRst_shutdownCallBack();
#endif
struct mDoRstData {
/* 0x00 */ int mReset;
/* 0x04 */ int mResetPrepare;
+2 -2
View File
@@ -27,13 +27,13 @@ public:
static u8 isResetFlag() { return mResetFlag; }
static void onResetFlag() { mResetFlag = true; }
static void offResetFlag() { mResetFlag = false; }
static bool isBgmSet() { return mBgmSet; }
static u8 isBgmSet() { return mBgmSet; }
static void onBgmSet() { mBgmSet = true; }
static void offBgmSet() { mBgmSet = false; }
static u8 mInitFlag;
static u8 mResetFlag;
static bool mBgmSet;
static u8 mBgmSet;
};
extern JKRSolidHeap* g_mDoAud_audioHeap;
+6
View File
@@ -774,6 +774,12 @@ void mDoExt_restoreCurrentHeap();
JKRExpHeap* mDoExt_getGameHeap();
void mDoExt_setSafeGameHeapSize();
size_t mDoExt_getSafeGameHeapSize();
intptr_t mDoExt_getSafeArchiveHeapSize();
intptr_t mDoExt_getSafeJ2dHeapSize();
intptr_t mDoExt_getSafeCommandHeapSize();
void mDoExt_setSafeCommandHeapSize();
void mDoExt_setSafeArchiveHeapSize();
void mDoExt_setSafeJ2dHeapSize();
void mDoExt_destroySolidHeap(JKRSolidHeap* i_heap);
JKRHeap* mDoExt_setCurrentHeap(JKRHeap* i_heap);
JKRExpHeap* mDoExt_getArchiveHeap();
+2
View File
@@ -187,6 +187,8 @@ public:
static u32 getTrigUp(u32 i_pad) { return getTrig(i_pad) & WPAD_BUTTON_UP; }
static u32 getTrigStart(u32 i_pad) { return getTrig(i_pad) & WPAD_BUTTON_PLUS; }
static f32 getStickX(u32 i_pad) { return getPad(i_pad).field_0x4[0].ex_status.fs.stick.x; }
static WPADInfo m_pad_info[WPAD_MAX_CONTROLLERS];
static Pad m_pad[WPAD_MAX_CONTROLLERS];
static motorWave_t m_motorWave[WPAD_MAX_CONTROLLERS];
+1
View File
@@ -11,6 +11,7 @@ typedef void (*OSResetCallback)(void);
typedef void (*OSPowerCallback)(void);
OSResetCallback OSSetResetCallback(OSResetCallback callback);
OSPowerCallback OSSetPowerCallback(OSPowerCallback callback);
BOOL OSGetResetSwitchState(void);
BOOL OSGetResetButtonState(void);
+1
View File
@@ -184,6 +184,7 @@ u8 SCGetEuRgb60Mode(void);
BOOL SCGetIdleMode(SCIdleModeInfo* data);
u8 SCGetLanguage(void);
u8 SCGetProgressiveMode(void);
void SCSetProgressiveMode(u8 mode);
u8 SCGetScreenSaverMode(void);
u8 SCGetSoundMode(void);
u32 SCGetCounterBias(void);
@@ -2,6 +2,7 @@
#define MSL_CMATH_H_
#include <float.h>
#include <arith.h>
#define NAN (*(float*) __float_nan)
#define HUGE_VALF (*(float*) __float_huge)
@@ -174,6 +175,10 @@ inline float abs(float x) {
return ::fabsf(x);
}
inline long abs(long x) {
return ::labs(x);
}
inline float fmod(float x, float y) {
return ::fmod(x, y);
}
+2 -2
View File
@@ -6,12 +6,12 @@
#include "SSystem/SComponent/c_phase.h"
void cPhs_Reset(request_of_phase_process_class* phase) {
phase->id = cPhs_INIT_e;
phase->id = 0;
}
void cPhs_Set(request_of_phase_process_class* phase, cPhs__Handler* handlerTbl) {
phase->mpHandlerTable = handlerTbl;
phase->id = cPhs_INIT_e;
phase->id = 0;
}
void cPhs_UnCompleate(request_of_phase_process_class* phase) {
+4 -4
View File
@@ -1022,7 +1022,7 @@ int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 i_ProfName) {
(request_of_phase_process_fn)cDylPhs::phase_03
};
if (i_phase->id == cPhs_NEXT_e) {
if (i_phase->id == 2) {
return cPhs_COMPLEATE_e;
}
@@ -1030,11 +1030,11 @@ int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 i_ProfName) {
}
int cDylPhs::Unlink(request_of_phase_process_class* i_phase, s16 i_ProfName) {
JUT_ASSERT(460, i_phase->id != cPhs_LOADING_e);
JUT_ASSERT(460, i_phase->id != 1);
if (i_phase->id == cPhs_NEXT_e) {
if (i_phase->id == 2) {
int ret = cDyl_Unlink(i_ProfName);
i_phase->id = cPhs_INIT_e;
i_phase->id = 0;
return ret;
}
+1 -1
View File
@@ -406,7 +406,7 @@ actor_process_profile_definition g_profile_GRASS = {
fpcPi_CURRENT_e, // mListPrio
PROC_GRASS, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00000570, // mSize
sizeof(daGrass_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+1014 -1024
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1778,7 +1778,7 @@ actor_process_profile_definition g_profile_FSHOP = {
fpcPi_CURRENT_e, // mListPrio
PROC_FSHOP, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00006B80, // mSize
sizeof(fshop_class), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+1 -1
View File
@@ -5226,7 +5226,7 @@ actor_process_profile_definition g_profile_NPC_WRESTLER = {
fpcPi_CURRENT_e, // mListPrio
PROC_NPC_WRESTLER, // mProcName
&g_fpcLf_Method.base, // sub_method
0xEA0, // mSize (fix this)
sizeof(daNpcWrestler_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+1 -1
View File
@@ -618,7 +618,7 @@ actor_process_profile_definition g_profile_Obj_VolcanicBall = {
fpcPi_CURRENT_e, // mListPrio
PROC_Obj_VolcanicBall, // mProcName
&g_fpcLf_Method.base, // sub_method
0x00002928, // mSize
sizeof(daObjVolcBall_c), // mSize
0, // mSizeOther
0, // mParameters
&g_fopAc_Method.base, // sub_method
+2 -2
View File
@@ -11212,7 +11212,7 @@ camera_process_profile_definition g_profile_CAMERA = {
fpcPi_CURRENT_e,
PROC_CAMERA,
&g_fpcLf_Method.base,
sizeof(dCamera_c),
sizeof(camera_class),
0,
0,
&g_fopVw_Method,
@@ -11233,7 +11233,7 @@ camera_process_profile_definition g_profile_CAMERA2 = {
fpcPi_CURRENT_e,
PROC_CAMERA2,
&g_fpcLf_Method.base,
sizeof(dCamera_c),
sizeof(camera_class),
0,
0,
&g_fopVw_Method,
+4 -4
View File
@@ -1287,7 +1287,7 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_arcNa
static int (*l_method[3])(void*) = {(int (*)(void*))phase_1, (int (*)(void*))phase_2,
(int (*)(void*))phase_3};
if (i_phase->id == cPhs_NEXT_e) {
if (i_phase->id == 2) {
return cPhs_COMPLEATE_e;
}
@@ -1335,7 +1335,7 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resNa
static int (*l_method[3])(void*) = {(int (*)(void*))phase_01, (int (*)(void*))phase_02,
(int (*)(void*))phase_03};
if (i_phase->id == cPhs_NEXT_e) {
if (i_phase->id == 2) {
return cPhs_COMPLEATE_e;
}
@@ -1352,12 +1352,12 @@ int dComIfG_resLoad(request_of_phase_process_class* i_phase, char const* i_resNa
*/
int dComIfG_resDelete(request_of_phase_process_class* i_phase, char const* i_resName) {
JUT_ASSERT(1889, i_phase->id != 1);
if (i_phase->id != cPhs_NEXT_e) {
if (i_phase->id != 2) {
return 0;
}
int r30 = dComIfG_deleteObjectResMain(i_resName);
i_phase->id = cPhs_INIT_e;
i_phase->id = 0;
return 1;
}
+19
View File
@@ -111,3 +111,22 @@ u8 dPath_GetPolyRoomPathVec(cBgS_PolyInfo const& poly, cXyz* p_pathVec, int* par
return 1;
}
#if VERSION == VERSION_SHIELD_DEBUG
void dPath_Ct() {
#if DEBUG
#endif
}
void dPath_Dt() {
#if DEBUG
#endif
}
void dPath_Move() {}
void dPath_Draw() {
#if DEBUG
#endif
}
#endif
+776 -116
View File
File diff suppressed because it is too large Load Diff
+944 -92
View File
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1552,7 +1552,7 @@ u8 data_8074C56A_debug;
u8 data_8074C56B_debug;
u8 data_8074C56C_debug;
u32 dStage_roomControl_c::mProcID;
fpc_ProcID dStage_roomControl_c::mProcID;
s8 dStage_roomControl_c::mStayNo;
@@ -2485,7 +2485,7 @@ static void dStage_dt_c_stageInitLoader(void* i_data, dStage_dt_c* i_stage) {
}
#if DEBUG
static void dStage_DebugDisp() {
void dStage_DebugDisp() {
if (data_8074C569_debug) {
JUTReport(30, 270, "envLayerSet: EnvRoom None");
}
+2 -2
View File
@@ -895,7 +895,7 @@ bool fopAcM_checkCullingBox(Mtx m, f32 x1, f32 y1, f32 z1, f32 x2, f32 y2, f32 z
return false;
}
static cull_box l_cullSizeBox[] = {
cull_box l_cullSizeBox[fopAc_CULLBOX_MAX_e] = {
{
{-40.0f, 0.0f, -40.0f},
{40.0f, 125.0f, 40.0f},
@@ -960,7 +960,7 @@ static cull_box l_cullSizeBox[] = {
#endif
};
static cull_sphere l_cullSizeSphere[] = {
cull_sphere l_cullSizeSphere[fopAc_CULLSPHERE_MAX_e] = {
{
{0.0f, 0.0f, 0.0f},
80.0f,
+2 -2
View File
@@ -12,8 +12,8 @@
static int fopKy_KANKYO_TYPE;
void fopKy_IsKankyo(void* i_this) {
fpcM_IsJustType(fopKy_KANKYO_TYPE, ((kankyo_class*)i_this)->type);
BOOL fopKy_IsKankyo(void* i_this) {
return fpcM_IsJustType(fopKy_KANKYO_TYPE, ((kankyo_class*)i_this)->type);
}
static int fopKy_Draw(void* i_this) {
+2 -2
View File
@@ -11,8 +11,8 @@ void dummy(fpcLyIt_JudgeFunc i_createFunc, void* i_this) {
fpcM_Search(i_createFunc, i_this);
}
void fopKyM_IsKy(void* i_this) {
fopKy_IsKankyo((fopKyM_prm_class*)i_this);
BOOL fopKyM_IsKy(void* i_this) {
return fopKy_IsKankyo((fopKyM_prm_class*)i_this);
}
fopKyM_prm_class* fopKyM_CreateAppend() {
+1 -1
View File
@@ -22,7 +22,7 @@ u8 mDoAud_zelAudio_c::mInitFlag;
u8 mDoAud_zelAudio_c::mResetFlag;
bool mDoAud_zelAudio_c::mBgmSet;
u8 mDoAud_zelAudio_c::mBgmSet;
void mDoAud_zelAudio_c::reset() {
mBgmSet = false;