d_a_player_tact work

This commit is contained in:
LagoLunatic
2024-05-08 19:11:20 -04:00
parent 86465eb2d1
commit af61ba5f0a
14 changed files with 236 additions and 37 deletions
+2 -2
View File
@@ -1495,8 +1495,8 @@ public:
u32 getDayNightParamData();
void setTactModel();
BOOL checkNpcStatus();
int getTactPlayRightArmAnm(s32);
int getTactPlayLeftArmAnm(s32);
u16 getTactPlayRightArmAnm(s32);
u16 getTactPlayLeftArmAnm(s32);
BOOL checkEndTactMusic() const;
f32 getTactMetronomeRate();
BOOL checkTactLastInput();
+8 -6
View File
@@ -18,6 +18,11 @@ public:
bool checkStateFlg(daSHIP_SFLG flag) const { return m0358 & flag; }
bool checkHeadNoDraw() const { return checkStateFlg(daSFLG_HEAD_NO_DRAW_e); }
int getTactWarpPosNum() const { return mTactWarpPosNum; }
void setTactWarpPosNum(int num) { mTactWarpPosNum = num; }
u32 getTactWarpID() { return mTactWarpID; }
void setTactWarpID(u32 warpID) { mTactWarpID = warpID; }
bool unknown_inline_TODO() const { return m041C || m0424; }
void checkCraneMode() const {}
@@ -51,8 +56,6 @@ public:
void getSailAngle() {}
void getSailOn() {}
void getTactJntMtx() {}
void getTactWarpID() {}
void getTactWarpPosNum() const {}
void getTillerAngleRate() {}
void getTillerTopPosP() {}
void getTornadoActor() {}
@@ -86,8 +89,6 @@ public:
void setStartModeWarp() {}
void setSteerMove() {}
void setTactWarp() {}
void setTactWarpID(u32 warpID) { m042C = warpID; }
void setTactWarpPosNum(int) {}
void bodyJointCallBack(int);
void cannonJointCallBack(int);
@@ -219,7 +220,8 @@ public:
/* 0x03B4 */ s16 m03B4;
/* 0x03B6 */ u8 m03B6[0x03B8 - 0x03B6];
/* 0x03B8 */ s16 m03B8;
/* 0x03BA */ u8 m03BA[0x03CC - 0x03BA];
/* 0x03BA */ u8 m03BA[0x03C8 - 0x03BA];
/* 0x03C8 */ int mTactWarpPosNum;
/* 0x03CC */ int m03CC;
/* 0x03D0 */ u8 m03D0[0x03D8 - 0x03D0];
/* 0x03D8 */ f32 m03D8;
@@ -241,7 +243,7 @@ public:
/* 0x0420 */ u32 m0420;
/* 0x0424 */ fopAc_ac_c* m0424;
/* 0x0428 */ u8 m0428[0x042C - 0x0428];
/* 0x042C */ u32 m042C;
/* 0x042C */ u32 mTactWarpID;
/* 0x0430 */ u8 m0430[0x0434 - 0x0430];
/* 0x0434 */ cXyz* m0434;
/* 0x0438 */ cXyz m0438;
+34 -3
View File
@@ -60,6 +60,7 @@ enum daPy__PlayerStatus1 {
daPyStts1_DEKU_LEAF_FAN_e = 0x00000040,
daPyStts1_SAIL_e = 0x00000400,
daPyStts1_UNK8000_e = 0x00008000,
daPyStts1_UNK10000_e = 0x00010000,
daPyStts1_UNK40000_e = 0x00040000,
};
@@ -335,6 +336,7 @@ public:
int getTimerLimitTimeMs() { return mTimerInfo.mTimerLimitTimeMs; }
void setWaveFrame(u16 frame) { mTimerInfo.mWaveFrame = frame; }
u16 getWaveFrame() { return mTimerInfo.mWaveFrame; }
void fmapOpenOn() { mFmapOpen = true; }
s16 getItemMagicCount() { return mItemMagicCount; }
void setItemMagicCount(s16 magic) { mItemMagicCount += magic; }
@@ -496,6 +498,7 @@ public:
void clearBaseAnimeID() { mMesgAnime = 0xFF; }
u8 getNowAnimeID() { return mMesgAnimeTagInfo; }
void clearNowAnimeID() { mMesgAnimeTagInfo = 0xFF; }
u8 getMesgStatus() { return mMesgStatus; }
u8 getButtonMode() { return mButtonMode; }
void setButtonMode(u8 mode) { mButtonMode = mode; }
@@ -598,7 +601,7 @@ public:
/* 0x4926 */ s16 mRupyCountDisplay;
/* 0x4928 */ u8 field_0x4928;
/* 0x4929 */ u8 field_0x4929;
/* 0x492A */ u8 field_0x492a;
/* 0x492A */ u8 mMesgStatus;
/* 0x492B */ u8 mbCamOverrideFarPlane;
/* 0x492C */ u8 field_0x492c;
/* 0x492D */ u8 field_0x492d;
@@ -626,7 +629,7 @@ public:
/* 0x4949 */ u8 mMesgCancelButton;
/* 0x494A */ u8 field_0x494a[6];
/* 0x4950 */ u8 mMelodyNum;
/* 0x4951 */ u8 field_0x4951;
/* 0x4951 */ bool mFmapOpen;
/* 0x4952 */ u8 field_0x4952;
/* 0x4953 */ u8 field_0x4953;
/* 0x4954 */ u8 field_0x4954;
@@ -1100,8 +1103,22 @@ inline s16 dComIfGs_getTurnRestartShipAngleY() {
return g_dComIfG_gameInfo.save.getTurnRestart().getShipAngleY();
}
// The "HasShip" name is fake. These inlines don't exist in the demo, but must exist in the final release.
inline BOOL dComIfGs_getTurnRestartHasShip() {
return g_dComIfG_gameInfo.save.getTurnRestart().getHasShip();
}
inline void dComIfGs_setTurnRestartHasShip(BOOL hasShip) {
g_dComIfG_gameInfo.save.getTurnRestart().setHasShip(hasShip);
}
inline void dComIfGs_setTurnRestart(const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u32 i_param) {
g_dComIfG_gameInfo.save.getTurnRestart().set(i_pos, i_angle, i_roomNo, i_param, i_pos, i_angle, 0);
g_dComIfG_gameInfo.save.getTurnRestart().set(i_pos, i_angle, i_roomNo, i_param, i_pos, i_angle, FALSE);
}
// Note: The "BOOL i_hasShip" parameter doesn't exist in the demo, but was added for the final release.
inline void dComIfGs_setTurnRestart(const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u32 i_param, const cXyz& i_shipPos, s16 i_shipAngle, BOOL i_hasShip) {
g_dComIfG_gameInfo.save.getTurnRestart().set(i_pos, i_angle, i_roomNo, i_param, i_shipPos, i_shipAngle, i_hasShip);
}
inline u8 dComIfGs_getPlayerPriestFlag() {
@@ -2434,6 +2451,10 @@ inline void dComIfGp_clearMesgAnimeTagInfo() {
g_dComIfG_gameInfo.play.clearNowAnimeID();
}
inline u8 dComIfGp_getMesgStatus() {
return g_dComIfG_gameInfo.play.getMesgStatus();
}
inline void dComIfGp_setPictureBoxData(JKRAramBlock* aramHeap, int i) {
g_dComIfG_gameInfo.play.setPictureBoxData(aramHeap, i);
}
@@ -2571,6 +2592,14 @@ inline u8 dComIfGp_event_getMode() {
return g_dComIfG_gameInfo.play.getEvent().getMode();
}
inline u8 dComIfGp_event_getTactFreeMStick(int which) {
return g_dComIfG_gameInfo.play.getEvent().getTactFreeMStick(which);
}
inline u8 dComIfGp_event_getTactFreeCStick(int which) {
return g_dComIfG_gameInfo.play.getEvent().getTactFreeCStick(which);
}
// Note: Some of the below functions call g_dComIfG_gameInfo.play.getEvtManager(), while others use
// dComIfGp_getPEvtManager(), without a clear pattern for which was chosen.
@@ -3216,6 +3245,8 @@ inline int dComIfG_getTimerNowTimeMs() { return g_dComIfG_gameInfo.play.getTimer
inline void dComIfGp_setWaveFrame(u16 frame) { g_dComIfG_gameInfo.play.setWaveFrame(frame); }
inline u16 dComIfGp_getWaveFrame() { return g_dComIfG_gameInfo.play.getWaveFrame(); }
inline void dComIfGp_fmapOpenOn() { g_dComIfG_gameInfo.play.fmapOpenOn(); }
inline int dComIfG_getTimerRestTimeMs() {
int limit = g_dComIfG_gameInfo.play.getTimerLimitTimeMs();
int now = g_dComIfG_gameInfo.play.getTimerNowTimeMs();
+4 -1
View File
@@ -708,6 +708,9 @@ public:
s8 getRoomNo() { return mRoomNo; }
cXyz& getShipPos() { return mShipPos; }
s16 getShipAngleY() { return mShipAngleY; }
// The "HasShip" name is fake. These inlines don't exist in the demo, but probably do in the final release.
BOOL getHasShip() { return mHasShip; }
void setHasShip(BOOL hasShip) { mHasShip = hasShip; }
/* 0x00 */ cXyz mPosition;
/* 0x0C */ u32 mParam;
@@ -717,7 +720,7 @@ public:
/* 0x14 */ u8 field_0x14[0x24 - 0x14];
/* 0x24 */ cXyz mShipPos;
/* 0x30 */ s16 mShipAngleY;
/* 0x34 */ int field_0x34;
/* 0x34 */ BOOL mHasShip;
}; // Size: 0x38
class dSv_save_c {
+1
View File
@@ -1080,6 +1080,7 @@ inline u32 dStage_FileList_dt_GetParticleNo(dStage_FileList_dt_c* i_fili) {
bool dStage_chkPlayerId(int playerId, int room_no);
int dStage_changeScene(int i_exitId, f32 speed, u32 mode, s8 room_no);
void dStage_restartRoom(u32 roomParam, u32 mode);
void dStage_turnRestart();
bool dStage_setShipPos(int param_0, int i_roomNo);
BOOL dStage_checkRestart();
void dStage_Create();