Merge branch 'master' into d_a_do

This commit is contained in:
Pheenoh
2023-02-04 16:09:33 -07:00
427 changed files with 8123 additions and 19099 deletions
+7 -1
View File
@@ -21,7 +21,13 @@ enum J2DRotateAxis {
/* 0x7A */ ROTATE_Z = 'z'
};
enum J2DBasePosition {};
enum J2DBasePosition {
J2DBasePosition_0,
J2DBasePosition_1,
J2DBasePosition_2,
J2DBasePosition_3,
J2DBasePosition_4,
};
struct J2DPaneHeader {
/* 0x0 */ u32 mKind;
+19 -3
View File
@@ -55,9 +55,25 @@ struct TVec3<f32> {
void zero() { x = y = z = 0.0f; }
void mul(const TVec3<f32>& a, const TVec3<f32>& b) {
x = a.x * b.x;
y = a.y * b.y;
z = a.z * b.z;
register f32* dst = &x;
const register f32* srca = &a.x;
const register f32* srcb = &b.x;
register f32 a_x_y;
register f32 b_x_y;
register f32 x_y;
register f32 za;
register f32 zb;
register f32 z;
asm {
psq_l a_x_y, 0(srca), 0, 0
psq_l b_x_y, 0(srcb), 0, 0
ps_mul x_y, a_x_y, b_x_y
psq_st x_y, 0(dst), 0, 0
lfs za, 8(srca)
lfs zb, 8(srcb)
fmuls z, za, zb
stfs z, 8(dst)
};
}
inline TVec3<f32>& operator=(const TVec3<f32>& b) {
+4 -4
View File
@@ -53,10 +53,10 @@ public:
f32 get_rndm_zh() {
f32 f = get_rndm_f();
return f - 1.0f;
return f - 0.5f;
}
s16 get_rndm_ss() { return ((s16)get_rndm_u()) >> 16; }
s16 get_rndm_ss() { return (s16)(get_rndm_u() >> 16); }
public:
u32 mSeed;
@@ -161,8 +161,8 @@ struct JPAEmitterWorkData {
/* 0x34 */ f32 mVolumeSize;
/* 0x38 */ f32 mVolumeMinRad;
/* 0x3C */ f32 mVolumeSweep;
/* 0x40 */ u32 mEmitCount;
/* 0x44 */ u32 mVolumeEmitIdx;
/* 0x40 */ s32 mEmitCount;
/* 0x44 */ s32 mVolumeEmitIdx;
/* 0x48 */ Mtx mDirectionMtx;
/* 0x78 */ Mtx mRotationMtx;
/* 0xA8 */ Mtx mGlobalRot;
+32
View File
@@ -52,12 +52,44 @@ public:
cSAngle operator+(short, const cSAngle&);
cSAngle operator-(short, const cSAngle&);
struct cAngle {
static f32 Radian_to_Degree(f32 rad) { return rad * 57.2957763671875f; }
static f32 Degree_to_Radian(f32 deg) { return deg * 0.017453292f; }
static s16 Degree_to_SAngle(f32 deg) { return deg * 182.04444885253906f; }
static f32 SAngle_to_Degree(s16 angle) { return (360.0f / 65536.0f) * angle; }
static f32 SAngle_to_Radian(s16 angle) { return 9.58738E-5f * angle; }
static f32 SAngle_to_Normal(s16 angle) { return 3.0517578E-5f * angle; }
static s16 Radian_to_SAngle(f32 rad) { return rad * 10430.378f; }
/* Converts Radian value into Degree value */
static f32 r2d(f32 r) { return Radian_to_Degree(r); }
/* Converts Degree value to s16 angle */
static s16 d2s(f32 d) { return Degree_to_SAngle(d); }
template <typename T>
static T Adjust(T f1, T f2, T f3);
};
template <typename T>
T cAngle::Adjust(T f1, T f2, T f3) {
while (f1 >= f3) {
f1 -= f3 - f2;
}
while (f1 < f2) {
f1 += f3 - f2;
}
return f1;
}
class cDegree {
private:
float mDegree;
public:
cDegree(float);
~cDegree() {}
cDegree& Formal(void);
void Val(float);
float Radian(void) const;
+7
View File
@@ -311,9 +311,12 @@ public:
ERFLG0_UNK_2000 = 0x2000,
ERFLG0_UNK_1000 = 0x1000,
ERFLG0_UNK_400 = 0x400,
ERFLG0_FORCE_AUTO_JUMP = 0x200,
ERFLG0_UNK_100 = 0x100,
ERFLG0_UNK_80 = 0x80,
ERFLG0_UNK_40 = 0x40,
ERFLG0_NOT_AUTO_JUMP = 0x20,
ERFLG0_NOT_HANG = 0x10,
ERFLG0_UNK_8 = 8,
ERFLG0_UNK_4 = 4,
ERFLG0_UNK_2 = 2,
@@ -695,6 +698,10 @@ public:
bool checkSceneChangeAreaStart() const { return i_checkNoResetFlg2(FLG2_SCN_CHG_START); }
bool checkFrontRollCrash() const { return i_checkResetFlg0(RFLG0_FRONT_ROLL_CRASH); }
void onForceAutoJump() { i_onEndResetFlg0(ERFLG0_FORCE_AUTO_JUMP); }
void onNotAutoJump() { i_onEndResetFlg0(ERFLG0_NOT_AUTO_JUMP); }
void onNotHang() { i_onEndResetFlg0(ERFLG0_NOT_HANG); }
void offGoronSideMove() {
if (i_checkGoronSideMove()) {
mSpecialMode = 0;
+11 -12
View File
@@ -10,25 +10,24 @@ typedef void (*MoveBGActor_SetFunc)(dBgW*, void*, cBgS_PolyInfo const&, bool, cX
csXyz*);
class dBgS_MoveBgActor : public fopAc_ac_c {
private:
public:
/* 0x568 */ dBgW* field_0x568;
/* 0x56C */ Mtx field_0x56c;
public:
/* 80078624 */ dBgS_MoveBgActor();
/* 800786C8 */ int MoveBGCreateHeap();
/* 800787BC */ int MoveBGCreate(char const*, int, MoveBGActor_SetFunc, u32, Mtx*);
/* 800788DC */ bool MoveBGDelete();
/* 80078950 */ bool MoveBGExecute();
/* 800788DC */ int MoveBGDelete();
/* 80078950 */ int MoveBGExecute();
/* 80078688 */ virtual s32 CreateHeap();
/* 80078690 */ virtual bool Create();
/* 80078698 */ virtual bool Execute(f32 (**)[3][4]);
/* 800786A0 */ virtual bool Draw();
/* 800786A8 */ virtual bool Delete();
/* 800786B0 */ virtual bool IsDelete();
/* 800786B8 */ virtual bool ToFore();
/* 800786C0 */ virtual bool ToBack();
/* 80078688 */ virtual int CreateHeap();
/* 80078690 */ virtual int Create();
/* 80078698 */ virtual int Execute(f32 (**)[3][4]);
/* 800786A0 */ virtual int Draw();
/* 800786A8 */ virtual int Delete();
/* 800786B0 */ virtual int IsDelete();
/* 800786B8 */ virtual int ToFore();
/* 800786C0 */ virtual int ToBack();
static const char* m_name;
static int m_dzb_id;
+28 -1
View File
@@ -6,6 +6,7 @@
#include "d/cc/d_cc_s.h"
#include "d/d_attention.h"
#include "d/d_drawlist.h"
#include "d/d_procname.h"
#include "d/d_resorce.h"
#include "d/d_simple_model.h"
#include "d/d_stage.h"
@@ -14,7 +15,6 @@
#include "d/event/d_event_manager.h"
#include "d/particle/d_particle.h"
#include "d/save/d_save.h"
#include "dolphin/types.h"
#include "f_op/f_op_camera_mng.h"
#include "f_op/f_op_scene_mng.h"
@@ -345,6 +345,7 @@ public:
JKRArchive* getCollectResArchive() { return mCollectResArchive; }
JKRArchive* getItemIconArchive() { return mItemIconArchive; }
JKRArchive* getNameResArchive() { return mNameResArchive; }
JKRArchive* getFmapResArchive() { return mFmapResArchive; }
JKRAramArchive* getFieldMapArchive2() { return (JKRAramArchive*)mFieldMapArchive2; }
void setFieldMapArchive2(JKRArchive* arc) { mFieldMapArchive2 = arc; }
@@ -433,7 +434,9 @@ public:
}
char* getLastPlayStageName() { return mLastPlayStageName; }
void setGameoverStatus(u8 status) { mGameoverStatus = status; }
u8 getGameoverStatus() { return mGameoverStatus; }
u8 getMesgStatus() { return mMesgStatus; }
public:
/* 0x00000 */ dBgS mBgs;
@@ -787,6 +790,10 @@ inline u8 dComIfG_getBrightness() {
return g_dComIfG_gameInfo.mFadeBrightness;
}
inline int dComIfG_getObjctResName2Index(const char* i_arcName, const char* i_resName) {
return g_dComIfG_gameInfo.mResControl.getObjectResName2Index(i_arcName, i_resName);
}
u8 dComIfGs_getMixItemIndex(int i_no);
void dComIfGs_setSelectItemIndex(int i_no, u8 item_index);
void dComIfGs_setMixItemIndex(int i_no, u8 item_index);
@@ -1531,6 +1538,10 @@ inline int dComIfGs_createZone(int roomNo) {
return g_dComIfG_gameInfo.info.createZone(roomNo);
}
inline void dComIfGs_addDeathCount() {
g_dComIfG_gameInfo.info.getPlayer().getPlayerInfo().addDeathCount();
}
void dComIfGp_setSelectItem(int index);
s32 dComIfGp_offHeapLockFlag(int flag);
void dComIfGp_createSubExpHeap2D();
@@ -1833,6 +1844,10 @@ inline u8 dComIfGp_getGameoverStatus() {
return g_dComIfG_gameInfo.play.getGameoverStatus();
}
inline void dComIfGp_setGameoverStatus(u8 i_status) {
return g_dComIfG_gameInfo.play.setGameoverStatus(i_status);
}
inline u32 dComIfGp_getNowVibration() {
return g_dComIfG_gameInfo.play.getNowVibration();
}
@@ -2358,6 +2373,14 @@ inline void i_dComIfGp_setHitMark(u16 i_hitmark, fopAc_ac_c* param_1, const cXyz
i_atType);
}
inline JKRArchive* dComIfGp_getFmapResArchive() {
return g_dComIfG_gameInfo.play.getFmapResArchive();
}
inline u8 dComIfGp_getMesgStatus() {
return g_dComIfG_gameInfo.play.getMesgStatus();
}
inline s32 dComIfGp_roomControl_getStayNo() {
return dStage_roomControl_c::getStayNo();
}
@@ -2769,6 +2792,10 @@ inline void dComIfGd_set2DOpaTop(dDlst_base_c* dlst) {
g_dComIfG_gameInfo.drawlist.set2DOpaTop(dlst);
}
inline void dComIfGd_setCopy2D(dDlst_base_c* dlst) {
g_dComIfG_gameInfo.drawlist.setCopy2D(dlst);
}
inline view_class* dComIfGd_getView() {
return g_dComIfG_gameInfo.drawlist.getView();
}
+42 -30
View File
@@ -5,11 +5,11 @@
#include "SSystem/SComponent/c_xyz.h"
struct dCamMath {
/* 8008813C */ void rationalBezierRatio(f32, f32);
/* 80088284 */ void zoomFovy(f32, f32);
/* 8008831C */ void xyzRotateX(cXyz&, cSAngle);
/* 80088384 */ void xyzRotateY(cXyz&, cSAngle);
/* 800883EC */ void xyzHorizontalDistance(cXyz&, cXyz&);
/* 8008813C */ static f32 rationalBezierRatio(f32, f32);
/* 80088284 */ static f32 zoomFovy(f32, f32);
/* 8008831C */ static cXyz xyzRotateX(cXyz&, cSAngle);
/* 80088384 */ static cXyz xyzRotateY(cXyz&, cSAngle);
/* 800883EC */ static f32 xyzHorizontalDistance(cXyz&, cXyz&);
};
class dCstick_c {
@@ -29,31 +29,43 @@ class dCamBGChk_c {
public:
/* 80088464 */ dCamBGChk_c();
/* 0x00 */ f32 field_0x0;
/* 0x04 */ f32 field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1c;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
// name is a guess for now
struct ChkInfo {
/* 0x0 */ f32 mDistance;
/* 0x4 */ f32 mChkAngle;
/* 0x8 */ f32 mWeightH;
/* 0xC */ f32 mWeightL;
}; // Size: 0x10
/* 0x00 */ f32 mFloorMargin;
/* 0x04 */ ChkInfo mChkInfo[2];
/* 0x24 */ f32 mFwdBackMargin;
/* 0x28 */ f32 mFwdCushion;
/* 0x2C */ f32 field_0x2c;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3c;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x30 */ f32 mGazeBackMargin;
/* 0x34 */ f32 mCornerCushion;
/* 0x38 */ f32 mWallCushion;
/* 0x3C */ f32 mWallUpDistance;
/* 0x40 */ f32 mWallBackCushion;
/* 0x44 */ f32 mCornerAngleMax;
};
struct dCamStyleData {
struct StyleData {
/* 0x0 */ u32 field_0x0;
/* 0x4 */ u8 field_0x4[0x78 - 0x4];
}; // Size: 0x78
/* 0x0 */ u8 field_0x0[4];
/* 0x4 */ int mStyleNum;
/* 0x8 */ StyleData* mStyleData;
};
class dCamParam_c {
public:
/* 800884F0 */ dCamParam_c(s32);
/* 800885D4 */ void Change(s32);
/* 80088620 */ void SearchStyle(u32);
/* 800885D4 */ int Change(s32);
/* 80088620 */ int SearchStyle(u32);
/* 80182C60 */ void Arg2(s16);
/* 80182C3C */ void Arg2();
/* 80182C48 */ void Arg1();
@@ -70,9 +82,9 @@ public:
/* 0x01 */ u8 mMapToolArg0;
/* 0x02 */ u8 mMapToolArg1;
/* 0x04 */ int mMapToolArg2;
/* 0x08 */ u8* mCamStyleData;
/* 0x0C */ int field_0xc;
/* 0x10 */ u8* field_0x10;
/* 0x08 */ dCamStyleData::StyleData* mCamStyleData;
/* 0x0C */ s32 mStyleNum;
/* 0x10 */ dCamStyleData::StyleData* mCurrentStyle;
/* 0x14 */ int mStyleID;
/* 0x18 */ u8 field_0x18[4];
@@ -82,8 +94,8 @@ public:
class dCamSetup_c {
public:
/* 80088668 */ dCamSetup_c();
/* 80088918 */ void CheckLatitudeRange(s16*);
/* 80088988 */ void PlayerHideDist();
/* 80088918 */ bool CheckLatitudeRange(s16*);
/* 80088988 */ f32 PlayerHideDist();
/* 80182BB8 */ void CheckFlag2(u16);
/* 80182BD0 */ void CheckFlag(u16);
/* 80182BE8 */ void WaitRollSpeed();
@@ -169,7 +181,7 @@ public:
/* 0x114 */ dCamBGChk_c mBGChk;
/* 0x15C */ f32 field_0x15c;
/* 0x160 */ f32 field_0x160;
/* 0x164 */ f32 mWaitRollTimer;
/* 0x164 */ int mWaitRollTimer;
/* 0x168 */ f32 mWaitRollSpeed;
/* 0x16C */ f32 field_0x16c;
/* 0x170 */ int mScreensaverFirstWaitTimer;
+23 -1
View File
@@ -1,6 +1,28 @@
#ifndef D_D_DOOR_PARAM2_H
#define D_D_DOOR_PARAM2_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class door_param2_c {
public:
/* 8003A188 */ static u8 getKind(fopAc_ac_c* i_actor);
/* 8003A194 */ static u8 getDoorModel(fopAc_ac_c* i_actor);
/* 8003A1A0 */ static u8 getFrontOption(fopAc_ac_c* i_actor);
/* 8003A1AC */ static u8 getBackOption(fopAc_ac_c* i_actor);
/* 8003A1B8 */ static u8 getFRoomNo(fopAc_ac_c* i_actor);
/* 8003A1C4 */ static u8 getBRoomNo(fopAc_ac_c* i_actor);
/* 8003A1D0 */ static u8 getSwbit(fopAc_ac_c* i_actor);
/* 8003A1DC */ static u8 getSwbit2(fopAc_ac_c* i_actor);
/* 8003A1E8 */ static u8 getSwbit3(fopAc_ac_c* i_actor);
/* 8003A1F4 */ static u8 isMsgDoor(fopAc_ac_c* i_actor);
/* 8003A200 */ static u8 getEventNo(fopAc_ac_c* i_actor);
/* 8003A20C */ static u8 getEventNo2(fopAc_ac_c* i_actor);
/* 8003A218 */ static u16 getMsgNo(fopAc_ac_c* i_actor);
/* 8003A224 */ static u8 getExitNo(fopAc_ac_c* i_actor);
/* 8003A230 */ static u8 getFLightInf(fopAc_ac_c* i_actor);
/* 8003A23C */ static u8 getBLightInf(fopAc_ac_c* i_actor);
/* 8003A248 */ static u8 getMFLightInf(fopAc_ac_c* i_actor);
/* 8003A254 */ static u8 getMBLightInf(fopAc_ac_c* i_actor);
};
#endif /* D_D_DOOR_PARAM2_H */
+4 -3
View File
@@ -255,8 +255,8 @@ public:
/* 80056770 */ void drawXluListItem3d();
/* 80056794 */ int set(dDlst_base_c**&, dDlst_base_c**&, dDlst_base_c*);
/* 800567C4 */ void draw(dDlst_base_c**, dDlst_base_c**);
/* 8005681C */ void wipeIn(f32, _GXColor&);
/* 800568D8 */ static void wipeIn(f32);
/* 8005681C */ static void wipeIn(f32 i_wipeSpeed, GXColor& i_wipeColor);
/* 800568D8 */ static void wipeIn(f32 i_wipeSpeed);
/* 80056900 */ void calcWipe();
enum DrawBuffer {
@@ -286,6 +286,7 @@ public:
void set2DOpa(dDlst_base_c* dlst) { set(mp2DOpaSet[0], mp2DOpaSet[1], dlst); }
void set2DOpaTop(dDlst_base_c* dlst) { set(mp2DOpaTopSet[0], mp2DOpaTopSet[1], dlst); }
void set2DXlu(dDlst_base_c* dlst) { set(mp2DXluSet[0], mp2DXluSet[1], dlst); }
void setCopy2D(dDlst_base_c* dlst) { set(mpCopy2DSet[0], mpCopy2DSet[1], dlst); }
view_class* getView() { return mView; }
void setView(view_class* view) { mView = view; }
void setWindow(dDlst_window_c* window) { mWindow = window; }
@@ -336,7 +337,7 @@ public:
static dDlst_2DT2_c mWipeDlst;
static GXColor mWipeColor;
static f32 mWipeRate;
static f32 mWipeSpeed[1 + 1 /* padding */];
static f32 mWipeSpeed;
static u8 mWipe;
private:
+79 -13
View File
@@ -1,13 +1,69 @@
#ifndef D_D_GAMEOVER_H
#define D_D_GAMEOVER_H
#include "SSystem/SComponent/c_phase.h"
#include "d/menu/d_menu_save.h"
#include "d/msg/d_msg_class.h"
#include "dolphin/types.h"
#include "f_op/f_op_msg_mng.h"
struct dGameover_c : msg_class {
/* 8019B044 */ void _create();
/* 8019B2F4 */ void _execute();
class mDoHIO_entry_c {
public:
virtual ~mDoHIO_entry_c() {}
/* 0x4 */ s8 mNo;
/* 0x5 */ u8 mCount;
};
class dGov_HIO_c : public mDoHIO_entry_c {
public:
/* 8019AFE0 */ dGov_HIO_c();
/* 8019C06C */ virtual ~dGov_HIO_c();
/* 0x08 */ f32 mScale;
/* 0x0C */ f32 mAlpha;
/* 0x10 */ f32 mAnimSpeed;
/* 0x14 */ GXColor mBlack;
/* 0x18 */ GXColor mWhite;
}; // Size: 0x1C
class dDlst_Gameover_CAPTURE_c : public dDlst_base_c {
public:
/* 8019ACF8 */ virtual void draw();
/* 8019C2CC */ virtual ~dDlst_Gameover_CAPTURE_c();
};
class dMsgScrnLight_c;
class dDlst_GameOverScrnDraw_c : public dDlst_base_c {
public:
/* 8019B940 */ dDlst_GameOverScrnDraw_c(JKRArchive*);
/* 8019BCB0 */ void setBackAlpha(f32);
/* 8019BCF4 */ virtual void draw();
/* 8019BBFC */ virtual ~dDlst_GameOverScrnDraw_c();
/* 0x04 */ J2DScreen* mpScreen;
/* 0x08 */ J2DPicture* mpBackImg;
/* 0x0C */ dMsgScrnLight_c* mpLight;
/* 0x10 */ f32 field_0x10;
/* 0x14 */ JUtility::TColor mFadeColor;
}; // Size: 0x18
enum dGameover_Proc {
/* 0 */ PROC_PLAYER_ANM_WAIT,
/* 1 */ PROC_DISP_FADE_OUT,
/* 2 */ PROC_DISP_WAIT,
/* 3 */ PROC_DEMO_FADE_IN,
/* 4 */ PROC_DEMO_FADE_OUT,
/* 5 */ PROC_SAVE_OPEN,
/* 6 */ PROC_SAVE_MOVE,
/* 7 */ PROC_SAVE_CLOSE,
/* 8 */ PROC_DELETE_WAIT,
};
class dGameover_c : public msg_class {
public:
/* 8019B044 */ int _create();
/* 8019B2F4 */ int _execute();
/* 8019B384 */ void playerAnmWait_init();
/* 8019B388 */ void playerAnmWait_proc();
/* 8019B3A0 */ void dispFadeOut_init();
@@ -26,27 +82,37 @@ struct dGameover_c : msg_class {
/* 8019B5F4 */ void saveClose_proc();
/* 8019B7BC */ void deleteWait_init();
/* 8019B7C0 */ void deleteWait_proc();
/* 8019B7C4 */ void _draw();
/* 8019B864 */ void _delete();
s32 deleteCheck() { return _0x108 == 8; }
/* 8019B7C4 */ int _draw();
/* 8019B864 */ int _delete();
/* 0x100 */ u8 _0x100[0x118 - 0x100];
/* 0x108 */ u8 _0x108;
}; // size unknown
s32 deleteCheck() { return mProc == 8; }
/* 0x0FC */ dMenu_save_c* dMs_c;
/* 0x100 */ dDlst_GameOverScrnDraw_c* dgo_screen_c;
/* 0x104 */ dDlst_Gameover_CAPTURE_c* dgo_capture_c;
/* 0x108 */ request_of_phase_process_class mPhase;
/* 0x110 */ JKRHeap* mpHeap;
/* 0x114 */ s16 mTimer;
/* 0x116 */ s16 field_0x116;
/* 0x118 */ u8 mProc;
/* 0x119 */ bool mIsDemoSave;
}; // Size: 0x11C
s32 d_GameOver_Create(u8 param_0);
void d_GameOver_Delete(unsigned int& param_0);
bool d_GameOver_Delete(unsigned int& i_id);
inline s32 d_GameOver_CheckDelete(unsigned int& id) {
if (id != UINT32_MAX) {
dGameover_c* gameover = (dGameover_c*)fopMsgM_SearchByID(id);
if (gameover != NULL) {
return gameover->deleteCheck();
} else {
return 0;
}
} else {
return 0;
}
return 0;
}
#endif /* D_D_GAMEOVER_H */
+2
View File
@@ -29,6 +29,8 @@ public:
/* 801AE974 */ virtual ~dKantera_icon_c();
void drawSelf() { mpKanteraIcon->draw(); }
private:
/* 0x04 */ dDlst_KanteraIcon_c* mpKanteraIcon;
/* 0x08 */ CPaneMgr* mpParent;
+1
View File
@@ -18,5 +18,6 @@ struct dPath {
inline int dPath_ChkClose(dPath* i_path) { return (i_path->m_closed & 1); }
dPath* dPath_GetRoomPath(int path_index, int room_no);
dStage_dPnt_c* dPath_GetPnt(dPath const* path, int pnt_index);
#endif /* D_D_PATH_H */
+14
View File
@@ -49,6 +49,18 @@ public:
mPositionY = y;
}
void onUpdateFlag() {
mUpdateFlag = true;
}
void resetUpdateFlag() {
mUpdateFlag = false;
}
bool getUpdateFlag() {
return mUpdateFlag;
}
private:
/* 0x04 */ J2DScreen* mpScreen;
/* 0x08 */ J2DPane* mpPane;
@@ -71,6 +83,8 @@ private:
/* 0xA4 */ f32 field_0xa4[4];
/* 0xB4 */ u8 field_0xb4;
/* 0xB5 */ s8 mNameIdx;
/* 0xB6 */ u8 field_0xb6;
/* 0xB7 */ bool mUpdateFlag;
};
#endif /* D_D_SELECT_CURSOR_H */
+53 -1
View File
@@ -241,8 +241,22 @@ public:
/* 0x4 */ dStage_Mult_info* mInfo;
};
struct stage_sound_data {
/* 0x00 */ char field_0x0[8];
/* 0x08 */ Vec field_0x8;
/* 0x14 */ u8 field_0x14;
/* 0x15 */ u8 field_0x15;
/* 0x16 */ u8 field_0x16;
/* 0x17 */ u8 field_0x17;
/* 0x18 */ u8 field_0x18;
/* 0x19 */ u8 field_0x19;
/* 0x1A */ u8 field_0x1a;
}; // Size: 0x1C
struct dStage_SoundInfo_c {
// SOND
/* 0x0 */ int field_0x0;
/* 0x4 */ stage_sound_data* field_0x4;
};
class dStage_FileList_dt_c {
@@ -854,7 +868,7 @@ struct dStage_objectNameInf {
class dStage_KeepDoorInfo {
public:
/* 80028418 */ ~dStage_KeepDoorInfo() {}
/* 0x000 */ stage_tgsc_class* unk_0x0;
/* 0x000 */ int unk_0x0;
/* 0x004 */ stage_tgsc_data_class unk_0x4[0x40];
}; // Size = 0x904
@@ -939,6 +953,8 @@ struct cBgS_GndChk;
int dStage_RoomCheck(cBgS_GndChk* gndChk);
void dStage_dt_c_roomReLoader(void* i_data, dStage_dt_c* stageDt, int param_2);
void dStage_dt_c_roomLoader(void* i_data, dStage_dt_c* stageDt, int param_2);
dStage_KeepDoorInfo* dStage_GetKeepDoorInfo();
dStage_KeepDoorInfo* dStage_GetRoomKeepDoorInfo();
inline bool dStage_roomRead_dt_c_ChkBg(u8 param_0) {
return param_0 & 0x80;
@@ -1000,6 +1016,18 @@ inline BOOL dStage_staginfo_GetArchiveHeap(stage_stag_info_class* p_info) {
return p_info->field_0x0a & 0x1000;
}
inline int dStage_stagInfo_GetGapLevel(stage_stag_info_class* pstag) {
return pstag->mGapLevel;
}
inline int dStage_stagInfo_GetRangeUp(stage_stag_info_class* pstag) {
return pstag->mRangeUp;
}
inline int dStage_stagInfo_GetRangeDown(stage_stag_info_class* pstag) {
return pstag->mRangeDown;
}
inline u32 dStage_sclsInfo_getSceneLayer(stage_scls_info_class* p_info) {
return p_info->field_0xb & 0xF;
}
@@ -1028,6 +1056,30 @@ inline int dStage_FileList_dt_GetBitSw(dStage_FileList_dt_c* p_fList) {
return p_fList->mBitSw;
}
inline f32 dStage_FileList2_dt_GetLeftRmX(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mLeftRmX;
}
inline f32 dStage_FileList2_dt_GetRightRmX(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mRightRmX;
}
inline f32 dStage_FileList2_dt_GetInnerRmZ(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mInnerRmZ;
}
inline f32 dStage_FileList2_dt_GetFrontRmZ(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mFrontRmZ;
}
inline s8 dStage_FileList2_dt_GetMinFloorNo(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mMinFloorNo;
}
inline s8 dStage_FileList2_dt_GetMaxFloorNo(dStage_FileList2_dt_c* p_fList2) {
return p_fList2->mMaxFloorNo;
}
inline int dStage_MapEvent_dt_c_getEventSCutSW(dStage_MapEvent_dt_c* event) {
return event->field_0x8 & 1;
}
+86 -68
View File
@@ -1,37 +1,28 @@
#ifndef D_D_TIMER_H
#define D_D_TIMER_H
#include "SSystem/SComponent/c_xyz.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "SSystem/SComponent/c_phase.h"
#include "dolphin/types.h"
#include "dolphin/os/OSTime.h"
#include "SSystem/SComponent/c_xyz.h"
#include "d/msg/d_msg_class.h"
#include "d/msg/d_msg_object.h"
#include "JSystem/JKernel/JKRExpHeap.h"
#include "JSystem/J2DGraph/J2DPane.h"
#include "dolphin/os/OSTime.h"
#include "dolphin/types.h"
s32 dTimer_createStockTimer();
class dDlst_TimerScrnDraw_c {
private:
/* 0x000 */ u8 field_0x000[0x3B0];
/* 0x3B0 */ int field_0x3B0;;
/* 0x3B4 */ int field_0x3B4;
/* 0x3B8 */ int field_0x3B8;
/* 0x3BC */ int field_0x3BC;
/* 0x3C0 */ u8 field_0x3C0[12];
/* 0x3CC */ int field_0x3CC;
/* 0x3D0 */ int field_0x3D0;
/* 0x3D4 */ int field_0x3D4;
/* 0x3D8 */ int field_0x3D8;
/* 0x3DC */ u8 field_0x3DC;
// /* 0x3DC */ u8 field_0x3DD;
/* 0x3DE */ u8 field_0x3DE;
/* 0x3DF */ u8 field_0x3DF;
/* 0x3E0 */ u8 field_0x3E0;
/* 0x3E1 */ u8 field_0x3E1;
/* 0x3E2 */ u8 mTimerVisible;
class dDlst_TimerScrnDraw_c : public dDlst_base_c {
public:
struct dDlst_TimerScrnDraw_UnkData {
/* 0x0 */ f32 field_0x0;
/* 0x4 */ f32 field_0x4;
/* 0x8 */ u16 field_0x8;
/* 0xA */ u16 field_0xa;
/* 0xC */ u8 field_0xc;
/* 0xD */ u8 field_0xd;
}; // Size: 0x10
/* 8025DB38 */ dDlst_TimerScrnDraw_c();
/* 8025DBE0 */ void setHIO();
/* 8025DFBC */ void setScreen(s32, JKRArchive*);
@@ -53,23 +44,86 @@ public:
/* 8025FF98 */ void closeAnime();
/* 802601E4 */ void createGetIn(cXyz);
/* 80260574 */ s32 createStart(u16);
/* 80260690 */ void draw();
/* 80260AA8 */ void checkStartAnimeEnd();
/* 80260AD4 */ void playBckAnimation(f32);
/* 80260B54 */ void drawPikari(int);
/* 80261394 */ ~dDlst_TimerScrnDraw_c();
void show() {
mTimerVisible = 1;
}
/* 80260690 */ virtual void draw();
/* 80261394 */ virtual ~dDlst_TimerScrnDraw_c();
void hide() {
mTimerVisible = 0;
}
void show() { mTimerVisible = 1; }
void hide() { mTimerVisible = 0; }
private:
/* 0x004 */ J2DScreen* mpScreen;
/* 0x008 */ J2DScreen* mpGetInScreen;
/* 0x00C */ void* mpGetInBck;
/* 0x010 */ CPaneMgr* mpParent;
/* 0x014 */ CPaneMgr* mpCowParent;
/* 0x018 */ CPaneMgr* mpTimeParent;
/* 0x01C */ CPaneMgr* mpImageParent;
/* 0x020 */ CPaneMgr* mpGetInParent;
/* 0x024 */ CPaneMgr* mpGetInRoot;
/* 0x028 */ CPaneMgr* mpGetInText;
/* 0x02C */ J2DPane* mTimerText[6][2];
/* 0x05C */ J2DPane* field_0x5c[2][2];
/* 0x06C */ J2DPane* field_0x6c;
/* 0x070 */ J2DPane* field_0x70;
/* 0x074 */ J2DPane* field_0x74;
/* 0x078 */ J2DPane* field_0x78;
/* 0x07C */ JKRArchive* mpArchive;
/* 0x080 */ dDlst_TimerScrnDraw_UnkData field_0x80[51];
/* 0x3B0 */ f32 field_0x3B0;
/* 0x3B4 */ f32 field_0x3B4;
/* 0x3B8 */ f32 field_0x3B8;
/* 0x3BC */ f32 field_0x3BC;
/* 0x3C0 */ f32 mTimerTransX;
/* 0x3C4 */ f32 mTimerTransY;
/* 0x3C8 */ s32 field_0x3C8;
/* 0x3CC */ int field_0x3CC;
/* 0x3D0 */ int field_0x3D0;
/* 0x3D4 */ int field_0x3D4;
/* 0x3D8 */ int field_0x3D8;
/* 0x3DC */ u8 mCowID;
/* 0x3DD */ u8 field_0x3DD;
/* 0x3DE */ u8 field_0x3DE;
/* 0x3DF */ u8 field_0x3DF;
/* 0x3E0 */ u8 field_0x3E0;
/* 0x3E1 */ u8 mTimerVisible;
/* 0x3E2 */ u8 mHIOType;
};
class dTimer_c : public msg_class {
public:
/* 8025CA0C */ void _create();
/* 8025CF04 */ void _execute();
/* 8025D33C */ int _draw();
/* 8025D3BC */ void _delete();
/* 8025D524 */ int deleteCheck();
/* 8025D618 */ void start(int, s16);
/* 8025D538 */ void start(int);
/* 8025D7C0 */ int stock_start(s16);
/* 8025D708 */ bool stock_start();
/* 8025D7E8 */ int stop(u8);
/* 8025D86C */ int restart(u8);
/* 8025D920 */ int end(int);
/* 8025D9E0 */ int deleteRequest();
/* 8025D9F0 */ int getTimeMs();
/* 8025DA54 */ int getLimitTimeMs();
/* 8025DA9C */ int getRestTimeMs();
/* 8025DB10 */ int isStart();
/* 802613DC */ int createGetIn(cXyz);
s32 createStart(u16 param_0) { return mp_tm_scrn->createStart(param_0); }
void show() { mp_tm_scrn->show(); }
void hide() { mp_tm_scrn->hide(); }
u8 isReadyFlag() { return mIsReady; }
private:
/* 0x0FC */ dDlst_TimerScrnDraw_c* mp_tm_scrn;
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ u8 field_0x104[4];
/* 0x108 */ request_of_phase_process_class mPhase;
@@ -92,42 +146,6 @@ private:
/* 0x16C */ u8 mDeleteCheck;
/* 0x16C */ u8 field_0x16D;
/* 0x16E */ u8 mIsReady;
public:
/* 8025CA0C */ void _create();
/* 8025CF04 */ void _execute();
/* 8025D33C */ int _draw();
/* 8025D3BC */ void _delete();
/* 8025D524 */ int deleteCheck();
/* 8025D618 */ void start(int, s16);
/* 8025D538 */ void start(int);
/* 8025D7C0 */ int stock_start(s16);
/* 8025D708 */ bool stock_start();
/* 8025D7E8 */ int stop(u8);
/* 8025D86C */ int restart(u8);
/* 8025D920 */ int end(int);
/* 8025D9E0 */ int deleteRequest();
/* 8025D9F0 */ int getTimeMs();
/* 8025DA54 */ int getLimitTimeMs();
/* 8025DA9C */ int getRestTimeMs();
/* 8025DB10 */ int isStart();
/* 802613DC */ int createGetIn(cXyz);
s32 createStart(u16 param_0) {
return ((dDlst_TimerScrnDraw_c*)field_0xfc)->createStart(param_0);
}
void show() {
((dDlst_TimerScrnDraw_c*)field_0xfc)->show();
}
void hide() {
((dDlst_TimerScrnDraw_c*)field_0xfc)->hide();
}
u8 isReadyFlag() {
return mIsReady;
}
};
#endif /* D_D_TIMER_H */
+6 -4
View File
@@ -15,12 +15,13 @@ public:
/* 0x10 */ u8 mSwBit;
/* 0x11 */ u8 mType;
/* 0x12 */ u8 mArg2;
/* 0x13 */ u8 mAngleY;
/* 0x13 */ s8 mAngleY;
};
class typeGroupData_c {
public:
data_s* getDataPointer() { return &mData; }
const data_s* getConstDataPointer() const { return &mData; }
typeGroupData_c* getNextDataPointer() const { return mNextData; }
void setNextDataPointer(typeGroupData_c* data) { mNextData = data; }
void setTypeGroupNo(u8 no) { mTypeGroupNo = no; }
@@ -32,6 +33,7 @@ public:
void setPos(const Vec& pos) { mData.mPos = pos; }
u8 getSwBit() const { return mData.mSwBit; }
const Vec* getPos() const { return &mData.mPos; }
int getAngleY() const { return mData.mAngleY; }
/* 0x00 */ data_s mData;
/* 0x14 */ typeGroupData_c* mNextData;
@@ -39,8 +41,8 @@ public:
}; // Size: 0x1C
struct list_class {
/* 0x0 */ typeGroupData_c* field_0x0;
/* 0x4 */ typeGroupData_c* field_0x4;
/* 0x0 */ int field_0x0;
/* 0x4 */ data_s* field_0x4;
/* 0x8 */ u8 mNumber;
};
@@ -58,7 +60,7 @@ public:
/* 8009C3B4 */ static typeGroupData_c* getNextData(dTres_c::typeGroupData_c const*);
/* 8009C3CC */ static void setPosition(int, u8, Vec const*, int);
/* 8009C49C */ static int getTypeGroupNoToType(u8);
/* 8009C4B0 */ static int getTypeToTypeGroupNo(u8);
/* 8009C4B0 */ static u8 getTypeToTypeGroupNo(u8);
static int getTypeGroupNumber(int index) {
return mTypeGroupListAll[index].mNumber;
+23 -2
View File
@@ -84,6 +84,19 @@ public:
class dRenderingFDAmap_c : public dRenderingMap_c {
public:
dRenderingFDAmap_c() {
field_0x4 = NULL;
field_0x8 = 0.0f;
field_0xc = 0.0f;
field_0x10 = 0.0f;
field_0x14 = 0.0f;
mCmPerTexel = 0.0f;
field_0x1c = 0;
field_0x1e = 0;
field_0x20 = 0;
field_0x22 = 0;
}
/* 8003CE78 */ void setTevSettingNonTextureDirectColor() const;
/* 8003CF40 */ void setTevSettingIntensityTextureToCI() const;
/* 8003D0AC */ void drawBack() const;
@@ -95,8 +108,14 @@ public:
/* 8003D68C */ virtual GXColor* getDecoLineColor(int, int);
/* 8003D6B8 */ virtual s32 getDecorationLineWidth(int);
private:
/* 0x04 */ void* field_0x4;
bool isDrawAreaCheck(const Vec& param_0) {
return (param_0.x >= field_0x10 - field_0x8 * 2.0f &&
param_0.x <= field_0x10 + field_0x8 * 2.0f) &&
(param_0.z >= field_0x14 - field_0xc * 2.0f &&
param_0.z <= field_0x14 + field_0xc * 2.0f);
}
/* 0x04 */ u8* field_0x4;
/* 0x08 */ f32 field_0x8;
/* 0x0C */ f32 field_0xc;
/* 0x10 */ f32 field_0x10;
@@ -115,6 +134,8 @@ struct dMpath_n {
/* 8003C8F4 */ void remove();
/* 8003D740 */ ~dTexObjAggregate_c() { remove(); };
GXTexObj* getTexObjPointer(int i_no) { return mp_texObj[i_no]; }
dTexObjAggregate_c() {
for (int i = 0; i < 7; i++) {
mp_texObj[i] = NULL;
+66 -40
View File
@@ -8,16 +8,16 @@
class dMpath_c {
public:
/* 8003F758 */ static u8 isExistMapPathData();
/* 8003F760 */ void getTopBottomFloorNo(s8*, s8*);
/* 8003F758 */ static bool isExistMapPathData();
/* 8003F760 */ static int getTopBottomFloorNo(s8*, s8*);
/* 8003F7E8 */ static void createWork();
/* 8003FA40 */ void setPointer(s8, void*, int);
/* 8003F810 */ void setPointer(dDrawPath_c::room_class*, s8*, s8*);
/* 8003FA40 */ static void setPointer(s8, void*, int);
/* 8003F810 */ static void setPointer(dDrawPath_c::room_class*, s8*, s8*);
/* 8003FB70 */ static void create();
/* 8003FBD0 */ void reset();
/* 8003FC70 */ void remove();
/* 8003FBD0 */ static void reset();
/* 8003FC70 */ static void remove();
static u8 mLayerList[4];
static dDrawPath_c::room_class** mLayerList; // this doesn't seem right, but can't figure it out atm
static f32 mMinX;
static f32 mMaxX;
static f32 mMinZ;
@@ -26,33 +26,59 @@ public:
static f32 mAllCenterZ;
static f32 mAllSizeX;
static f32 mAllSizeZ;
static s8 mBottomFloorNo;
static s8 mTopFloorNo;
};
struct dMapInfo_n {
/* 8003ECA0 */ bool chkGetCompass();
/* 8003ECD8 */ bool chkGetMap();
/* 8003ECA0 */ static bool chkGetCompass();
/* 8003ECD8 */ static bool chkGetMap();
/* 8003ED10 */ static bool isVisitedRoom(int);
/* 8003ED60 */ static void correctionOriginPos(s8, Vec*);
/* 8003EDC0 */ static void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
/* 8003EDEC */ static void rotAngle(dStage_FileList2_dt_c const*, Vec*);
/* 8003EE5C */ static Vec getMapPlayerPos();
/* 8003EF20 */ void getMapPlayerAngleY();
/* 8003EF70 */ void getConstRestartIconPointer();
/* 8003F02C */ void getMapRestartPos();
/* 8003F0F8 */ void getMapRestartAngleY();
/* 8003F19C */ void getRoomCenter(int, f32*, f32*);
/* 8003F1F4 */ void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
/* 8003F24C */ void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
/* 8003EF20 */ static s16 getMapPlayerAngleY();
/* 8003EF70 */ static const dTres_c::typeGroupData_c* getConstRestartIconPointer();
/* 8003F02C */ static Vec getMapRestartPos();
/* 8003F0F8 */ static s16 getMapRestartAngleY();
/* 8003F19C */ static void getRoomCenter(int, f32*, f32*);
/* 8003F1F4 */ static void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
/* 8003F24C */ static void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
};
class dMapInfo_c {
public:
/* 8003F40C */ static s8 calcFloorNo(f32, bool, int);
/* 8003F570 */ static s8 calcNowStayFloorNo(f32, bool);
/* 8003F6C8 */ static void move(int, f32);
/* 8003F6FC */ static void init();
/* 8003F714 */ static void reset();
/* 8003F734 */ static void create();
/* 8003F754 */ static void remove();
static int mNextRoomNo;
static int mNowStayRoomNo;
static s8 mNowStayFloorNo;
static u8 mNowStayFloorNoDecisionFlg;
};
class renderingDAmap_c : public dRenderingFDAmap_c {
public:
/* 8003FCA4 */ void calcFloorNoForObjectByMapPathRend(f32, int) const;
renderingDAmap_c() {
mRoomNo = 0;
field_0x28 = 0;
mRoomNoSingle = 0;
mRenderedFloor = 0;
mIsDraw = false;
}
/* 8003FCA4 */ s8 calcFloorNoForObjectByMapPathRend(f32, int) const;
/* 8003FCC8 */ void init(u8*, u16, u16, u16, u16);
/* 8003FD08 */ void entry(f32, f32, f32, int, s8);
/* 8003FE6C */ void setSingleRoomSetting();
/* 8003FFF4 */ void getFirstDrawRoomNo();
/* 80040094 */ void getNextDrawRoomNo(int);
/* 8003FFF4 */ int getFirstDrawRoomNo();
/* 80040094 */ int getNextDrawRoomNo(int);
/* 8003FE18 */ virtual void draw();
/* 8002B150 */ virtual ~renderingDAmap_c();
@@ -65,27 +91,26 @@ public:
/* 800402C0 */ virtual bool isDrawPath();
/* 8003FE4C */ virtual GXColor* getBackColor() const;
/* 800402E0 */ virtual bool getFirstDrawLayerNo();
/* 800402E8 */ virtual void getNextDrawLayerNo(int);
/* 800409E0 */ virtual void isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
/* 800402E8 */ virtual int getNextDrawLayerNo(int);
/* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
Vec const*) const;
/* 80040AE4 */ virtual void getIconGroupNumber(u8) const;
virtual void hasMap() const = 0;
virtual void isRendAllRoom() const = 0;
virtual void isRendDoor() const = 0;
/* 80040AE4 */ virtual int getIconGroupNumber(u8) const;
virtual bool hasMap() const = 0;
virtual bool isRendAllRoom() const = 0;
virtual bool isRendDoor() const = 0;
virtual bool isCheckFloor() const = 0;
virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0;
/* 8003FFEC */ virtual void getRoomNoSingle();
/* 8003FE70 */ virtual void isDrawRoom(int, int) const;
/* 800409B4 */ virtual void isDrawRoomIcon(int, int) const;
virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0;
/* 8003FFEC */ virtual int getRoomNoSingle();
/* 8003FE70 */ virtual bool isDrawRoom(int, int) const;
/* 800409B4 */ virtual bool isDrawRoomIcon(int, int) const;
bool isDraw() const { return mDraw; }
bool isDraw() const { return mIsDraw; }
private:
/* 0x24 */ int field_0x24;
/* 0x24 */ int mRoomNo;
/* 0x28 */ int field_0x28;
/* 0x2C */ int mRoomNoSingle;
/* 0x30 */ u8 field_0x30;
/* 0x31 */ bool mDraw;
/* 0x30 */ s8 mRenderedFloor;
/* 0x31 */ bool mIsDraw;
}; // Size: 0x34
class stage_tgsc_data_class;
@@ -95,7 +120,7 @@ public:
/* 80040574 */ void drawDoor1();
/* 800405B8 */ void drawDoor2();
/* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool);
/* 80040710 */ void checkDispDoorS(int, int, f32);
/* 80040710 */ bool checkDispDoorS(int, int, f32);
/* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool);
/* 8002B0B4 */ virtual ~renderingPlusDoor_c();
@@ -115,11 +140,12 @@ public:
/* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c();
/* 800402FC */ virtual void afterDrawPath();
/* 80040ADC */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const;
/* 80040A94 */ virtual void getFirstData(u8);
/* 80040AB8 */ virtual void getNextData(dTres_c::typeGroupData_c*);
virtual void getPlayerCursorSize() = 0;
virtual void getRestartCursorSize() = 0;
virtual f32 getIconSize(u8) const = 0;
/* 80040ADC */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
/* 80040A94 */ virtual dTres_c::typeGroupData_c* getFirstData(u8);
/* 80040AB8 */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
virtual f32 getPlayerCursorSize() = 0;
virtual f32 getRestartCursorSize() = 0;
};
#endif /* D_MAP_D_MAP_PATH_DMAP_H */
+1
View File
@@ -262,6 +262,7 @@ public:
/* 802844D0 */ virtual ~dMenu_save_c();
u8 getSaveStatus() { return mSaveStatus; }
u8 getEndStatus() { return mEndStatus; }
void setUseType(u8 type) { mUseType = type; }
private:
+1
View File
@@ -249,6 +249,7 @@ public:
bool isFadeNowCheck() { return mDoGph_gInf_c::getFader()->getStatus() == 1; }
private:
/* 0x0FC */ int field_0xfc;
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ STControl* mpStick;
/* 0x108 */ CSTControl* mpCStick;
+1
View File
@@ -229,6 +229,7 @@ public:
u16 getSubContentsStringType() { return mSubContentsStringType; }
private:
/* 0x0FC */ int field_0xfc;
/* 0x100 */ JKRExpHeap* mpHeap;
/* 0x104 */ JKRExpHeap* mpSubHeap;
/* 0x108 */ void* field_0x108;
+13 -32
View File
@@ -351,7 +351,7 @@ private:
/* 0x524 */ int field_0x524[2][2];
/* 0x534 */ J2DAnmTransformKey* mPikariBck;
/* 0x538 */ J2DAnmColorKey* mPikariBpk;
/* 0x53C */ J2DAnmColorKey* field_0x53c[3];
/* 0x53C */ J2DAnmColorKey* mpOxygenBpk[3];
/* 0x548 */ JUtility::TColor field_0x548;
/* 0x54C */ JUtility::TColor field_0x54c;
/* 0x550 */ f32 field_0x550;
@@ -367,36 +367,17 @@ private:
/* 0x578 */ f32 field_0x578;
/* 0x57C */ f32 field_0x57c;
/* 0x580 */ f32 field_0x580;
/* 0x584 */ f32 field_0x584;
/* 0x588 */ f32 field_0x588;
/* 0x58C */ f32 field_0x58c;
/* 0x590 */ f32 field_0x590;
/* 0x594 */ f32 field_0x594;
/* 0x598 */ f32 field_0x598;
/* 0x59C */ f32 field_0x59c;
/* 0x5A0 */ f32 field_0x5a0;
/* 0x5A4 */ f32 field_0x5a4;
/* 0x5A8 */ f32 field_0x5a8;
/* 0x5AC */ f32 field_0x5ac;
/* 0x5B0 */ f32 field_0x5b0;
/* 0x5B4 */ f32 field_0x5b4;
/* 0x5B8 */ f32 field_0x5b8;
/* 0x5BC */ f32 field_0x5bc;
/* 0x5C0 */ f32 field_0x5c0;
/* 0x5C4 */ f32 field_0x5c4;
/* 0x5C8 */ f32 field_0x5c8;
/* 0x5CC */ f32 field_0x5cc;
/* 0x5D0 */ f32 field_0x5d0;
/* 0x5D4 */ f32 field_0x5d4;
/* 0x5D8 */ f32 field_0x5d8;
/* 0x5DC */ f32 field_0x5dc;
/* 0x5E0 */ f32 field_0x5e0;
/* 0x5E4 */ f32 field_0x5e4;
/* 0x5E8 */ f32 field_0x5e8;
/* 0x5EC */ f32 field_0x5ec;
/* 0x5F0 */ f32 field_0x5f0;
/* 0x5F4 */ u8 field_0x5f4[0x8];
/* 0x5FC */ f32 field_0x5fc[3];
/* 0x584 */ f32 field_0x584[3];
/* 0x590 */ f32 field_0x590[3];
/* 0x59C */ f32 field_0x59c[3];
/* 0x5A8 */ f32 field_0x5a8[3];
/* 0x5B4 */ f32 field_0x5b4[3];
/* 0x5C0 */ f32 field_0x5c0[3];
/* 0x5CC */ f32 field_0x5cc[3];
/* 0x5D8 */ f32 field_0x5d8[3];
/* 0x5E4 */ f32 field_0x5e4[3];
/* 0x5F0 */ f32 field_0x5f0[3];
/* 0x5FC */ f32 mMeterAlphaRate[3];
/* 0x608 */ f32 field_0x608;
/* 0x60C */ f32 field_0x60c;
/* 0x610 */ f32 field_0x610[3];
@@ -429,7 +410,7 @@ private:
/* 0x738 */ f32 field_0x738;
/* 0x73C */ f32 field_0x73c;
/* 0x740 */ u16 field_0x740;
/* 0x742 */ u16 field_0x742[3];
/* 0x742 */ s16 field_0x742[3];
/* 0x748 */ u8 field_0x748[0xC];
/* 0x756 */ u16 field_0x754;
/* 0x756 */ s16 field_0x756;
+10
View File
@@ -159,6 +159,8 @@ public:
dMeter2_c* getMeterClass() { return mMeterClass; }
u8 getMiniGameItemSetFlag() { return mMiniGameItemSetFlag; }
s16 getMsgKeyWaitTimer() { return mMsgKeyWaitTimer; }
u8 getGameOverType() { return mGameOverType; }
void setGameOverType(u8 i_gameoverType) { mGameOverType = i_gameoverType; }
public:
/* 0x04 */ u8 unk4[4];
@@ -505,6 +507,14 @@ inline void dMeter2Info_setFloatingFlow(u16 param_0, s16 param_1, bool param_2)
g_meter2_info.setFloatingFlow(param_0, param_1, param_2);
}
inline u8 dMeter2Info_getGameOverType() {
return g_meter2_info.getGameOverType();
}
inline void dMeter2Info_setGameOverType(u8 i_gameoverType) {
g_meter2_info.setGameOverType(i_gameoverType);
}
char* dMeter2Info_getNumberTextureName(int pIndex);
void dMeter2Info_recieveLetter();
u8 dMeter2Info_getNewLetterNum();
+17 -17
View File
@@ -27,20 +27,20 @@ public:
/* 800289F0 */ virtual void rendering(dDrawPath_c::room_class const*);
/* 80028960 */ virtual void beforeDrawPath();
/* 800289D0 */ virtual void afterDrawPath();
/* 80028FB4 */ virtual void getDecoLineColor(int, int);
/* 80028CF4 */ virtual void getDecorationLineWidth(int);
/* 80029058 */ virtual void getIconGroupNumber(u8) const;
/* 80029078 */ virtual void hasMap() const;
/* 8002911C */ virtual void isRendAllRoom() const;
/* 800290C0 */ virtual void isRendDoor() const;
/* 80028FB4 */ virtual GXColor* getDecoLineColor(int, int);
/* 80028CF4 */ virtual s32 getDecorationLineWidth(int);
/* 80029058 */ virtual int getIconGroupNumber(u8) const;
/* 80029078 */ virtual bool hasMap() const;
/* 8002911C */ virtual bool isRendAllRoom() const;
/* 800290C0 */ virtual bool isRendDoor() const;
/* 80029104 */ virtual bool isCheckFloor() const;
/* 80029190 */ virtual void isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const;
/* 80029190 */ virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const;
/* 8002910C */ virtual bool isRendRestart() const;
/* 80029114 */ virtual bool isRendCursor() const;
/* 8002B000 */ virtual bool isRendIcon() const;
/* 800284BC */ virtual void getIconSize(u8) const;
/* 80028B04 */ virtual void getPlayerCursorSize();
/* 80028B10 */ virtual void getRestartCursorSize();
/* 800284BC */ virtual f32 getIconSize(u8) const;
/* 80028B04 */ virtual f32 getPlayerCursorSize();
/* 80028B10 */ virtual f32 getRestartCursorSize();
virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0;
virtual bool isSpecialOutline() = 0;
@@ -70,13 +70,13 @@ public:
/* 8002AF20 */ virtual ~dMap_c();
/* 800296EC */ virtual bool isDrawType(int);
/* 80028DF4 */ virtual GXColor* getColor(int);
/* 800296F8 */ virtual void isRendAllRoom() const;
/* 8002A254 */ virtual void getRoomNoSingle();
/* 8002A1DC */ virtual void isDrawRoom(int, int) const;
/* 8002A294 */ virtual void isDrawRoomIcon(int, int) const;
/* 80029038 */ virtual void getIconPosition(dTres_c::typeGroupData_c*) const;
/* 8002ABAC */ virtual void getFirstData(u8);
/* 8002ABCC */ virtual void getNextData(dTres_c::typeGroupData_c*);
/* 800296F8 */ virtual bool isRendAllRoom() const;
/* 8002A254 */ virtual int getRoomNoSingle();
/* 8002A1DC */ virtual bool isDrawRoom(int, int) const;
/* 8002A294 */ virtual bool isDrawRoomIcon(int, int) const;
/* 80029038 */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
/* 8002ABAC */ virtual dTres_c::typeGroupData_c* getFirstData(u8);
/* 8002ABCC */ virtual dTres_c::typeGroupData_c* getNextData(dTres_c::typeGroupData_c*);
/* 8002A148 */ virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
/* 80029744 */ virtual bool isSpecialOutline();
+1 -2
View File
@@ -17,7 +17,6 @@ public:
/* 0xF4 */ u32 field_0xf4;
/* 0xF8 */ u16 mMode;
/* 0xFA */ u8 mSelectedChoiceIdx;
/* 0xFC */ int field_0xfc;
}; // Size: 0x100
}; // Size: 0xFC
#endif /* D_MSG_D_MSG_CLASS_H */
+1
View File
@@ -162,6 +162,7 @@ public:
u8 getSelectPushFlag() { return mSelectPushFlag; }
u8 getSelectCancelPos() { return mSelectCancelPos; }
/* 0x0FC */ int field_0xfc;
/* 0x100 */ msg_class* field_0x100;
/* 0x104 */ dMsgScrnBase_c* mpScrnDraw;
/* 0x108 */ dMsgString_c* mpMsgString;
+4 -1
View File
@@ -36,8 +36,10 @@ public:
}
void translate(f32 x, f32 y) { getPanePtr()->translate(x, y); }
void scale(f32 h, f32 v) { getPanePtr()->scale(h, v); }
void resize(f32 x, f32 y) { getPanePtr()->resize(x, y); }
void move(f32 x, f32 y) { getPanePtr()->move(x, y); }
void scaleAnimeStart(s16 v) { mScaleAnime = v; }
void colorAnimeStart(s16 start) { mColorAnime = start; }
@@ -60,6 +62,7 @@ public:
f32 getInitPosY() { return mInitPos.y; }
JUtility::TColor getInitBlack() { return mInitBlack; }
JUtility::TColor getInitWhite() { return mInitWhite; }
private:
/* 0x1C */ void* mpFirstStackSize;
+6
View File
@@ -683,6 +683,12 @@ public:
void setTotalTime(s64 i_time) { mTotalTime = i_time; }
s64 getTotalTime() const { return mTotalTime; }
void addDeathCount() {
if (mDeathCount < 0xFFFF) {
mDeathCount++;
}
}
private:
/* 0x00 */ u32 unk0;
/* 0x04 */ u32 unk4;
+12 -3
View File
@@ -45,9 +45,14 @@ volatile PPCWGPipe GXFIFO : 0xCC008000;
#define GFX_FIFO(T) (*(volatile T*)0xCC008000)
inline void GXPosition3f32(f32 x, f32 y, f32 z) {
GFX_FIFO(f32) = x;
GFX_FIFO(f32) = y;
GFX_FIFO(f32) = z;
GXFIFO.f32 = x;
GXFIFO.f32 = y;
GXFIFO.f32 = z;
}
inline void GXPosition2f32(f32 x, f32 z) {
GXFIFO.f32 = x;
GXFIFO.f32 = z;
}
inline void GXColor1u32(u32 c) {
@@ -64,6 +69,10 @@ inline void GXTexCoord2u8(u8 s, u8 t) {
GFX_FIFO(u8) = t;
}
inline void GXTexCoord1x8(u8 s) {
GFX_FIFO(u8) = s;
}
inline void GXPosition2u16(u16 x, u16 y) {
GFX_FIFO(u16) = x;
GFX_FIFO(u16) = y;
+2 -2
View File
@@ -10,8 +10,8 @@ extern "C" {
void GXSetDispCopySrc(u16 left, u16 top, u16 width, u16 height);
void GXSetTexCopySrc(u16 left, u16 top, u16 width, u16 height);
void GXSetDispCopyDst(u16 width, u16 height);
void GXSetTexCopyDst(u16 width, u16 height, GXTexFmt fmt, GXBool mipmap);
void GXSetDispCopyDst(u16 arg0, u16 arg1);
void GXSetTexCopyDst(u16 width, u16 height, s32 fmt, GXBool mipmap);
void GXSetDispCopyFrame2Field(GXCopyMode mode);
void GXSetCopyClamp(GXFBClamp clamp);
u16 GXGetNumXfbLines(u32 efb_height, f32 y_scale);
+6 -1
View File
@@ -87,7 +87,7 @@ typedef struct _GXData {
STATIC_ASSERT(sizeof(GXData) == 0x5B0);
extern GXData* __GXData;
extern GXData* const __GXData;
extern u32* __piReg;
extern u16* __cpReg;
@@ -100,6 +100,11 @@ inline void GXSetWasteFlags() {
data->field_0x2 = 0;
}
static inline void set_x2(u16 value)
{
__GXData->field_0x2 = value;
}
#ifdef __cplusplus
extern "C" {
#endif
+1 -1
View File
@@ -10,7 +10,7 @@ extern "C" {
#endif
u32 GXGetTexBufferSize(u16 width, u16 height, u32 format, GXBool mipmap, u8 max_lod);
void __GetImageTileCount();
void __GetImageTileCount(u32 arg0, s16 arg1, s16 arg2, s32* arg3, s32* arg4, s32* arg5);
void GXInitTexObj(GXTexObj* obj, void* image, u16 width, u16 height, GXTexFmt fmt,
GXTexWrapMode wrapS, GXTexWrapMode wrapT, GXBool mipmap);
void GXInitTexObjCI(GXTexObj* obj, void* image, u16 width, u16 height, GXCITexFmt format,
-15
View File
@@ -38,21 +38,6 @@ extern "C" {
#define OS_BASE_CACHED (OS_CACHED_REGION_PREFIX << 16)
#define OS_BASE_UNCACHED (OS_UNCACHED_REGION_PREFIX << 16)
#define OS_BUS_CLOCK (*(u32*)0x800000F8)
#define OS_CORE_CLOCK (*(u32*)0x800000FC)
#define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4)
#define OS_TIMER_CLOCK_MS (OS_TIMER_CLOCK / 1000)
#define OSTicksToCycles(ticks) (((ticks) * ((OS_CORE_CLOCK * 2) / OS_TIMER_CLOCK)) / 2)
#define OSTicksToSeconds(ticks) ((ticks) / OS_TIMER_CLOCK)
#define OSTicksToMilliseconds(ticks) ((ticks) / (OS_TIMER_CLOCK / 1000))
#define OSTicksToMicroseconds(ticks) (((ticks)*8) / (OS_TIMER_CLOCK / 125000))
#define OSTicksToNanoseconds(ticks) (((ticks)*8000) / (OS_TIMER_CLOCK / 125000))
#define OSSecondsToTicks(sec) ((sec)*OS_TIMER_CLOCK)
#define OSMillisecondsToTicks(msec) ((msec) * (OS_TIMER_CLOCK / 1000))
#define OSMicrosecondsToTicks(usec) (((usec) * (OS_TIMER_CLOCK / 125000)) / 8)
#define OSNanosecondsToTicks(nsec) (((nsec) * (OS_TIMER_CLOCK / 125000)) / 8000)
#define OS_MESSAGE_NON_BLOCKING 0
#define OS_MESSAGE_BLOCKING 1
+2
View File
@@ -51,6 +51,8 @@ typedef enum {
typedef u8 __OSException;
typedef void (*OSErrorHandler)(OSError error, OSContext* context, u32, u32);
// Using this type for the C++ handlers makes stuff not match
typedef void (*OSErrorHandlerEx)(OSError error, OSContext* context, u32, u32, ...);
OSErrorHandler OSSetErrorHandler(OSError error, OSErrorHandler handler);
void __OSUnhandledException(__OSException exception, OSContext* context, u32 dsisr, u32 dar);
+2 -2
View File
@@ -21,13 +21,13 @@ typedef struct OSCond {
void OSInitMutex(OSMutex* mutex);
void OSLockMutex(OSMutex* mutex);
void OSUnlockMutex(OSMutex* mutex);
s32 OSTryLockMutex(OSMutex* mutex);
BOOL OSTryLockMutex(OSMutex* mutex);
void OSInitCond(OSCond* cond);
void OSWaitCond(OSCond* cond, OSMutex* mutex);
void OSSignalCond(OSCond* cond);
void __OSUnlockAllMutex(OSThread* thread);
s32 __OSCheckMutex(OSThread* thread);
BOOL __OSCheckMutex(OSMutex* thread);
BOOL __OSCheckDeadLock(OSThread* thread);
BOOL __OSCheckMutexes(OSThread* thread);
+2
View File
@@ -7,6 +7,8 @@
extern "C" {
#endif
vu32 __PIRegs[12] : 0xCC003000;
#define OS_RESETCODE_RESTART 0x80000000
#define OS_RESETCODE_SYSTEM 0x40000000
+3 -3
View File
@@ -44,8 +44,8 @@ struct OSThreadQueue {
};
struct OSMutexLink {
OSMutex* prev;
OSMutex* next;
OSMutex* prev;
};
struct OSMutexQueue {
@@ -104,9 +104,9 @@ void OSSleepThread(OSThreadQueue* queue);
void OSWakeupThread(OSThreadQueue* queue);
s32 OSSetThreadPriority(OSThread* thread, s32 priority);
s32 OSGetThreadPriority(OSThread* thread);
static s32 CheckThreadQueue(OSThread* thread);
static s32 CheckThreadQueue(OSThreadQueue* thread);
s32 OSCheckActiveThreads(void);
static void OSClearStack(u32 value);
static void OSClearStack(u8 value);
extern u8 data_804516D0[8];
#ifdef __cplusplus
+17
View File
@@ -32,6 +32,23 @@ OSTime __OSTimeToSystemTime(OSTime time);
void GetDates(s32 days, OSCalendarTime* ct);
void OSTicksToCalendarTime(OSTime ticks, OSCalendarTime* ct);
extern u32 __OSBusClock : 0x800000F8;
#define OS_BUS_CLOCK (__OSBusClock)
#define OS_CORE_CLOCK (*(u32*)0x800000FC)
#define OS_TIMER_CLOCK (OS_BUS_CLOCK / 4)
#define OS_TIMER_CLOCK_MS (OS_TIMER_CLOCK / 1000)
#define OSTicksToCycles(ticks) (((ticks) * ((OS_CORE_CLOCK * 2) / OS_TIMER_CLOCK)) / 2)
#define OSTicksToSeconds(ticks) ((ticks) / OS_TIMER_CLOCK)
#define OSTicksToMilliseconds(ticks) ((ticks) / (OS_TIMER_CLOCK / 1000))
#define OSTicksToMicroseconds(ticks) (((ticks)*8) / (OS_TIMER_CLOCK / 125000))
#define OSTicksToNanoseconds(ticks) (((ticks)*8000) / (OS_TIMER_CLOCK / 125000))
#define OSSecondsToTicks(sec) ((sec)*OS_TIMER_CLOCK)
#define OSMillisecondsToTicks(msec) ((msec) * (OS_TIMER_CLOCK / 1000))
#define OSMicrosecondsToTicks(usec) (((usec) * (OS_TIMER_CLOCK / 125000)) / 8)
#define OSNanosecondsToTicks(nsec) (((nsec) * (OS_TIMER_CLOCK / 125000)) / 8000)
#ifdef __cplusplus
};
#endif
+11 -10
View File
@@ -8,17 +8,16 @@
#include "f_pc/f_pc_leaf.h"
struct actor_method_class {
/* 0x00 */ process_method_class mBase;
/* 0x10 */ process_method_func mpDrawFunc;
/* 0x00 */ leafdraw_method_class base;
/* 0x14 */ u8 field_0x14[0xC]; // Likely padding
};
struct actor_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ actor_method_class* mSubMtd;
/* 0x28 */ int field_0x28; // mStatus
/* 0x2C */ u8 field_0x2c; // mActorType
/* 0x2D */ u8 field_0x2d; // mCullType
/* 0x28 */ u32 mStatus;
/* 0x2C */ u8 mActorType;
/* 0x2D */ u8 mCullType;
/* 0x2E */ u8 field_0x2e[2]; // Likely padding
};
@@ -77,7 +76,7 @@ struct actor_place {
/* 0x00 */ cXyz pos;
/* 0x0C */ csXyz angle;
/* 0x12 */ s8 mRoomNo;
/* 0x12 */ s8 roomNo;
/* 0x13 */ u8 field_0x13;
};
@@ -117,7 +116,7 @@ public:
/* 0x4D0 */ actor_place current;
/* 0x4E4 */ csXyz shape_angle;
/* 0x4EC */ cXyz mScale;
/* 0x4F8 */ cXyz mSpeed;
/* 0x4F8 */ cXyz speed;
/* 0x504 */ MtxP mCullMtx;
union {
struct {
@@ -132,7 +131,7 @@ public:
/* 0x520 */ f32 mCullSizeFar;
/* 0x524 */ J3DModel* field_0x524;
/* 0x528 */ dJntCol_c* mJntCol;
/* 0x52C */ f32 mSpeedF;
/* 0x52C */ f32 speedF;
/* 0x530 */ f32 mGravity;
/* 0x534 */ f32 mMaxFallSpeed;
/* 0x538 */ cXyz mEyePos;
@@ -148,7 +147,7 @@ public:
const cXyz& getPosition() const { return current.pos; }
const csXyz& getAngle() const { return current.angle; }
s8 getRoomNo() const { return current.mRoomNo; }
s8 getRoomNo() const { return current.roomNo; }
}; // Size: 0x568
STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568);
@@ -156,7 +155,7 @@ STATIC_ASSERT(sizeof(fopAc_ac_c) == 0x568);
class fopEn_enemy_c : public fopAc_ac_c {
public:
/* 80019404 */ bool initBallModel();
/* 800194FC */ int checkBallModelDraw();
/* 800194FC */ bool checkBallModelDraw();
/* 80019520 */ void setBallModelEffect(dKy_tevstr_c*);
/* 800196A0 */ void drawBallModel(dKy_tevstr_c*);
@@ -182,4 +181,6 @@ public:
s32 fopAc_IsActor(void* actor);
extern actor_method_class g_fopAc_Method;
#endif
+8 -8
View File
@@ -105,7 +105,7 @@ struct DOUBLE_POS {
};
inline s32 fopAcM_GetRoomNo(const fopAc_ac_c* pActor) {
return (s8)pActor->current.mRoomNo;
return (s8)pActor->current.roomNo;
}
inline u32 fopAcM_GetID(const void* pActor) {
@@ -195,7 +195,7 @@ inline cXyz& fopAcM_GetOldPosition_p(fopAc_ac_c* pActor) {
}
inline cXyz& fopAcM_GetSpeed_p(fopAc_ac_c* pActor) {
return pActor->mSpeed;
return pActor->speed;
}
inline csXyz& fopAcM_GetAngle_p(fopAc_ac_c* pActor) {
@@ -223,7 +223,7 @@ inline BOOL fopAcM_IsActor(void* actor) {
}
inline void fopAcM_SetRoomNo(fopAc_ac_c* actor, s8 roomNo) {
actor->current.mRoomNo = roomNo;
actor->current.roomNo = roomNo;
}
inline void fopAcM_setHookCarryNow(fopAc_ac_c* actor) {
@@ -235,7 +235,7 @@ inline void fopAcM_cancelHookCarryNow(fopAc_ac_c* actor) {
}
inline s8 fopAcM_GetHomeRoomNo(const fopAc_ac_c* pActor) {
return pActor->orig.mRoomNo;
return pActor->orig.roomNo;
}
inline void fopAcM_SetGravity(fopAc_ac_c* actor, f32 gravity) {
@@ -247,11 +247,11 @@ inline void fopAcM_SetMtx(fopAc_ac_c* actor, MtxP m) {
}
inline void fopAcM_SetSpeed(fopAc_ac_c* actor, f32 x, f32 y, f32 z) {
actor->mSpeed.set(x, y, z);
actor->speed.set(x, y, z);
}
inline void fopAcM_SetSpeedF(fopAc_ac_c* actor, f32 f) {
actor->mSpeedF = f;
actor->speedF = f;
}
inline void fopAcM_SetStatus(fopAc_ac_c* actor, u32 status) {
@@ -267,7 +267,7 @@ inline BOOL fopAcM_IsExecuting(unsigned int id) {
}
inline f32 fopAcM_GetSpeedF(const fopAc_ac_c* p_actor) {
return p_actor->mSpeedF;
return p_actor->speedF;
}
inline f32 fopAcM_GetGravity(const fopAc_ac_c* p_actor) {
@@ -279,7 +279,7 @@ inline f32 fopAcM_GetMaxFallSpeed(const fopAc_ac_c* p_actor) {
}
inline const cXyz& fopAcM_GetSpeed_p(const fopAc_ac_c* p_actor) {
return p_actor->mSpeed;
return p_actor->speed;
}
inline const cXyz& fopAcM_GetPosition_p(const fopAc_ac_c* p_actor) {
+9 -4
View File
@@ -7,7 +7,7 @@
struct msg_process_profile_definition {
/* 0x00 */ leaf_process_profile_definition mBase;
/* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods
/* 0x24 */ leafdraw_method_class* mSubMtd; // Subclass methods
};
struct fopMsg_prm_class {
@@ -38,6 +38,9 @@ typedef int (*fopMsgCreateFunc)(void*);
JKRExpHeap* fopMsgM_createExpHeap(u32, JKRHeap*);
u32 fopMsgM_Create(s16, fopMsgCreateFunc, void*);
s32 fopMsgM_create(s16 param_0, fopAc_ac_c* param_1, cXyz* param_2, u32* param_3, u32* param_4,
fopMsgCreateFunc createFunc);
void fopMsgM_Delete(void* process);
fopMsg_prm_class* fopMsgM_GetAppend(void* msg);
void fopMsgM_setMessageID(unsigned int);
void fopMsgM_destroyExpHeap(JKRExpHeap*);
@@ -48,9 +51,11 @@ msg_class* fopMsgM_SearchByID(unsigned int param_0);
char* fopMsgM_messageGet(char* msg, u32 string_id);
s32 fop_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc);
inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4, f32 param_5,
f32 param_6, f32 param_7, f32 param_8, fopMsgCreateFunc createFunc) {
return fop_Timer_create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8, createFunc);
inline s32 fopMsgM_Timer_create(s16 param_0, u8 param_1, u32 param_2, u8 param_3, u8 param_4,
f32 param_5, f32 param_6, f32 param_7, f32 param_8,
fopMsgCreateFunc createFunc) {
return fop_Timer_create(param_0, param_1, param_2, param_3, param_4, param_5, param_6, param_7,
param_8, createFunc);
}
#endif
+3
View File
@@ -55,6 +55,8 @@ public:
static void waitBlanking(int wait) { JFWDisplay::getManager()->waitBlanking(wait); }
static f32 getWidthF() { return 608.0f; }
static f32 getHeightF() { return 448.0f; }
static f32 getWidth() { return 608.0f; }
static f32 getHeight() { return 448.0f; }
static f32 getMinYF() { return 0.0f; }
static f32 getMinXF() { return 0.0f; }
static int getMinY() { return 0; }
@@ -66,6 +68,7 @@ public:
static void setFadeRate(f32 rate) { mFadeRate = rate; }
static f32 getFadeRate() { return mFadeRate; }
static bloom_c* getBloom() { return &m_bloom; }
static GXColor& getFadeColor() { return mFadeColor; }
static GXTexObj mFrameBufferTexObj;
static GXTexObj mZbufferTexObj;
+5 -2
View File
@@ -20,6 +20,8 @@ void mDoMtx_YrotM(Mtx, s16);
void mDoMtx_ZrotM(Mtx, s16);
void mDoMtx_MtxToRot(CMtxP, csXyz*);
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, s16 param_3);
void mDoMtx_lookAt(f32 (*param_0)[4], Vec const* param_1, Vec const* param_2, Vec const* param_3,
s16 param_4);
void mDoMtx_concatProjView(f32 const (*param_0)[4], f32 const (*param_1)[4], f32 (*param_2)[4]);
void mDoMtx_ZrotM(Mtx mtx, s16 z);
@@ -36,7 +38,7 @@ inline void mDoMtx_copy(const Mtx src, Mtx dst) {
}
inline void mDoMtx_trans(Mtx m, f32 x, f32 y, f32 z) {
PSMTXTrans(m,x,y,z);
PSMTXTrans(m, x, y, z);
}
inline void cMtx_XrotM(Mtx mtx, s16 x) {
@@ -80,7 +82,8 @@ public:
static void scaleS(f32 x, f32 y, f32 z) { PSMTXScale(now, x, y, z); }
static void multVec(const Vec* a, Vec* b) { PSMTXMultVec(now, a, b); }
static void multVecSR(const Vec* a, Vec* b) { PSMTXMultVecSR(now, a, b); }
static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); }
static void multVecZero(Vec* v) { mDoMtx_multVecZero(now, v); }
static void multVecArray(const Vec* src, Vec* dst, u32 count) { PSMTXMultVecArray(now, src, dst, count); }
static void XYZrotS(s16 x, s16 y, s16 z) { mDoMtx_XYZrotS(now, x, y, z); }
static void XYZrotM(s16 x, s16 y, s16 z) { mDoMtx_XYZrotM(now, x, y, z); }
static void ZXYrotS(s16 x, s16 y, s16 z) { mDoMtx_ZXYrotS(now, x, y, z); }
+1 -1
View File
@@ -43,7 +43,7 @@ public:
void setMove(f32 speedF, s16 param_1) {
fopAcM_SetParam(this, 1);
mSpeedF = speedF;
speedF = speedF;
field_0xa7a = param_1;
mCyl.OnAtSetBit();
}
@@ -1,6 +1,28 @@
#ifndef D_A_OBJ_CBOARD_H
#define D_A_OBJ_CBOARD_H
#include "dolphin/types.h"
#include "d/bg/d_bg_s_movebg_actor.h"
#include "d/com/d_com_inf_game.h"
class daObjBoard_c : public dBgS_MoveBgActor {
public:
/* 8057B958 */ void initBaseMtx();
/* 8057B978 */ void setBaseMtx();
/* 8057BA78 */ int create1st();
/* 8057BA70 */ virtual int CreateHeap();
/* 8057B9C8 */ virtual int Create();
/* 8057BB74 */ virtual int Execute(Mtx**);
/* 8057BCC0 */ virtual int Draw();
/* 8057BCC8 */ virtual int Delete();
u8 getNameArg() { return fopAcM_GetParamBit(this, 0, 4); }
u8 getArg0() { return fopAcM_GetParamBit(this, 4, 4); }
u8 getSwNo() { return fopAcM_GetParamBit(this, 8, 8); }
private:
/* 0x5A0 */ request_of_phase_process_class mPhase;
/* 0x5A8 */ Mtx field_0x5a8;
}; // Size: 0x5D8
#endif /* D_A_OBJ_CBOARD_H */
@@ -1,6 +1,15 @@
#ifndef D_A_TAG_AJNOT_H
#define D_A_TAG_AJNOT_H
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
class daTagAJnot_c : public fopAc_ac_c {
public:
/* 805A2658 */ int create();
/* 805A26C8 */ ~daTagAJnot_c();
/* 805A2744 */ int execute();
};
#endif /* D_A_TAG_AJNOT_H */
@@ -1,6 +1,19 @@
#ifndef D_A_TAG_GUARD_H
#define D_A_TAG_GUARD_H
#include "dolphin/types.h"
#include "f_op/f_op_actor_mng.h"
#include "d/d_path.h"
class daTagGuard_c : public fopAc_ac_c {
public:
/* 80D597F8 */ int getAppearPoint(Vec*);
/* 80D5985C */ void createGuard(u32);
u8 getPathID() { return fopAcM_GetParam(this) >> 8; }
inline int create();
inline void create_init();
/* 0x568 */ dPath* mPath;
}; // Size: 0x56C
#endif /* D_A_TAG_GUARD_H */