mirror of
https://github.com/zeldaret/tww.git
synced 2026-05-25 07:22:55 -04:00
d_a_player_tact work
This commit is contained in:
@@ -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();
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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
@@ -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 {
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -503,6 +503,8 @@ s32 fopAcM_orderSpeakEvent(fopAc_ac_c* i_actor);
|
||||
s32 fopAcM_orderDoorEvent(fopAc_ac_c*, fopAc_ac_c*);
|
||||
s32 fopAcM_orderCatchEvent(fopAc_ac_c*, fopAc_ac_c*);
|
||||
s32 fopAcM_orderOtherEvent2(fopAc_ac_c* i_this, char* pEventName, u16 flag, u16 hind = -1);
|
||||
s32 fopAcM_orderChangeEvent(fopAc_ac_c* i_this, char* pEventName, u16 flag, u16 hind);
|
||||
s32 fopAcM_orderChangeEvent(fopAc_ac_c* i_this, fopAc_ac_c* i_partner, char* pEventName, u16 flag, u16 hind);
|
||||
s32 fopAcM_orderChangeEventId(fopAc_ac_c* i_this, s16 eventIdx, u16 flag, u16 hind);
|
||||
s32 fopAcM_orderChangeEventId(fopAc_ac_c* i_this, fopAc_ac_c* i_partner, s16 eventIdx, u16 flag, u16 hind);
|
||||
s32 fopAcM_orderOtherEventId(fopAc_ac_c* actor, s16 eventIdx, u8 mapToolID = -1, u16 hind = -1,
|
||||
|
||||
@@ -238,14 +238,23 @@ inline void mDoAud_tact_ambientPlay() {
|
||||
mDoAud_zelAudio_c::getTact().ambientPlay();
|
||||
}
|
||||
|
||||
inline void mDoAud_tact_setStickPos(s32 mainStick, s32 cStick) {
|
||||
mDoAud_zelAudio_c::getTact().setStickPos(mainStick, cStick);
|
||||
}
|
||||
|
||||
inline void mDoAud_tact_playArmSwing(s32 mainStick, s32 cStick) {
|
||||
mDoAud_zelAudio_c::getTact().playArmSwing(mainStick, cStick);
|
||||
}
|
||||
|
||||
inline void mDoAud_tact_stopArmSwing() {
|
||||
mDoAud_zelAudio_c::getTact().stopArmSwing();
|
||||
}
|
||||
|
||||
inline void mDoAud_tact_armSoundPlay(s32) {}
|
||||
inline void mDoAud_tact_judge(s32, s32) {}
|
||||
inline void mDoAud_tact_melodyPlay(s32) {}
|
||||
inline void mDoAud_tact_melodyStop() {}
|
||||
inline void mDoAud_tact_metronomePlay(s32, s32) {}
|
||||
inline void mDoAud_tact_playArmSwing(s32, s32) {}
|
||||
inline void mDoAud_tact_setStickPos(s32, s32) {}
|
||||
inline void mDoAud_tact_stopArmSwing() {}
|
||||
|
||||
inline BOOL mDoAud_checkCbPracticePlay() {
|
||||
return mDoAud_zelAudio_c::getInterface()->checkCbPracticePlay();
|
||||
|
||||
@@ -2260,7 +2260,7 @@ BOOL daPy_lk_c::procCall() {
|
||||
current.angle.y = shape_angle.y;
|
||||
}
|
||||
|
||||
if (mFrameCtrlUnder[0].getRate() < 0.01f) {
|
||||
if (mFrameCtrlUnder[UNDER_MOVE0_e].getRate() < 0.01f) {
|
||||
if (dComIfGp_getCb1Player()) {
|
||||
daPy_py_c* partner = (daPy_py_c*)dComIfGp_getCb1Player();
|
||||
partner->onNpcCallCommand();
|
||||
|
||||
@@ -60,7 +60,7 @@ BOOL daPy_lk_c::checkNpcStatus() {
|
||||
}
|
||||
|
||||
/* 8014D8F4-8014D938 .text getTactPlayRightArmAnm__9daPy_lk_cFl */
|
||||
int daPy_lk_c::getTactPlayRightArmAnm(s32 r4) {
|
||||
u16 daPy_lk_c::getTactPlayRightArmAnm(s32 r4) {
|
||||
if (r4 == 1)
|
||||
return LKANM_BCK_ACTIONTAKTRUP;
|
||||
else if (r4 == 3)
|
||||
@@ -74,7 +74,7 @@ int daPy_lk_c::getTactPlayRightArmAnm(s32 r4) {
|
||||
}
|
||||
|
||||
/* 8014D938-8014D97C .text getTactPlayLeftArmAnm__9daPy_lk_cFl */
|
||||
int daPy_lk_c::getTactPlayLeftArmAnm(s32 r4) {
|
||||
u16 daPy_lk_c::getTactPlayLeftArmAnm(s32 r4) {
|
||||
if (r4 == 1)
|
||||
return LKANM_BCK_WAITTAKTLHANDU;
|
||||
else if (r4 == 3)
|
||||
@@ -363,21 +363,177 @@ BOOL daPy_lk_c::procTactPlay() {
|
||||
}
|
||||
|
||||
/* 8014EFD4-8014F210 .text procTactPlayEnd_init__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::procTactPlayEnd_init(int) {
|
||||
/* Nonmatching */
|
||||
BOOL daPy_lk_c::procTactPlayEnd_init(int r30) {
|
||||
int r28 = checkShipRideUseItem(0);
|
||||
commonProcInit(daPyProc_TACT_PLAY_END_e);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e);
|
||||
initShipRideUseItem(r28, 2);
|
||||
m3570 = r30;
|
||||
mVelocity = 0.0f;
|
||||
setBlendMoveAnime(daPy_HIO_basic_c0::m.field_0xC);
|
||||
|
||||
if (r30 == -1) {
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
fopAcM_orderChangeEvent(this, fopAcM_SearchByID(mTactZevPartnerPID), m3494, 0, -1);
|
||||
mDemo.setDemoType(2);
|
||||
} else if (r30 == 0) {
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
fopAcM_create(PROC_WBIRD, NULL, ¤t.pos, dComIfGp_roomControl_getStayNo());
|
||||
} else if (r30 == 2) {
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
dComIfGp_event_setTalkPartner(dComIfGp_getCb1Player());
|
||||
fopAcM_orderChangeEvent(this, dComIfGp_getCb1Player(), l_tact_event_label, 0, -1);
|
||||
mDoAud_seStart(JA_SE_CTRL_LINK_TO_NPC, 0);
|
||||
} else if (r30 == 5) {
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
fopAcM_orderChangeEvent(this, l_tact_night_event_label, 0, -1);
|
||||
}
|
||||
|
||||
m3574 = 0;
|
||||
m34D6 = shape_angle.y + 0x4000;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8014F210-8014F4DC .text procTactPlayEnd__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procTactPlayEnd() {
|
||||
/* Nonmatching */
|
||||
if (dComIfGp_checkPlayerStatus0(0, daPyStts1_UNK10000_e)) {
|
||||
setShipRidePos(0);
|
||||
if (m3570 == 0 && !dComIfGp_evmng_startCheck(l_tact_wind_change_event_label) && !dComIfGp_evmng_startCheck(l_tact_wind_change_event_label2)) {
|
||||
cLib_addCalcAngleS(&shape_angle.y, m34D6, 5, 0x1000, 0x100);
|
||||
}
|
||||
}
|
||||
|
||||
if (m3570 == 0) {
|
||||
dComIfGp_setAStatus(0x07);
|
||||
} else if (m3570 == 5) {
|
||||
if (dComIfGp_evmng_endCheck(l_tact_night_event_label) && !checkNoResetFlg0(daPyFlg0_UNK4000)) {
|
||||
onNoResetFlg0(daPyFlg0_UNK4000);
|
||||
fopAc_ac_c* ship;
|
||||
BOOL hasShip;
|
||||
if (dComIfGp_getShipActor() != NULL) {
|
||||
ship = dComIfGp_getShipActor();
|
||||
hasShip = TRUE;
|
||||
} else {
|
||||
ship = this; // Use Link's position and angle for the ship if it doesn't exist.
|
||||
hasShip = FALSE;
|
||||
}
|
||||
dComIfGs_setTurnRestart(
|
||||
current.pos, shape_angle.y, fopAcM_GetRoomNo(this), getDayNightParamData(),
|
||||
ship->current.pos, ship->shape_angle.y, hasShip
|
||||
);
|
||||
if (dComIfG_getTimerMode() == 3 && dComIfG_getTimerPtr() != NULL) {
|
||||
dComIfG_getTimerPtr()->deleteRequest();
|
||||
}
|
||||
dStage_turnRestart();
|
||||
mDoAud_taktModeMuteOff();
|
||||
}
|
||||
} else if (m3570 == 2) {
|
||||
if (dComIfGp_evmng_endCheck(l_tact_event_label)) {
|
||||
dComIfGp_event_reset();
|
||||
changePlayer(dComIfGp_getCb1Player());
|
||||
endDemoMode();
|
||||
}
|
||||
} else if (m3570 == 1) {
|
||||
if (m3574 == 0) {
|
||||
if (dComIfGp_getMesgStatus() == 0) {
|
||||
dComIfGp_fmapOpenOn();
|
||||
m3574 = 1;
|
||||
}
|
||||
} else {
|
||||
dCam_getBody()->EndEventCamera(fopAcM_GetID(this));
|
||||
daShip_c* ship = (daShip_c*)dComIfGp_getShipActor();
|
||||
if (ship == NULL || ship->getTactWarpPosNum() < 0) {
|
||||
dComIfGp_event_reset();
|
||||
endDemoMode();
|
||||
if (ship != NULL) {
|
||||
fopAcM_delete(ship->getTactWarpID());
|
||||
ship->setTactWarpID(fpcM_ERROR_PROCESS_ID_e);
|
||||
}
|
||||
} else {
|
||||
if (dComIfG_getTimerMode() == 3 && dComIfG_getTimerPtr() != NULL) {
|
||||
dComIfG_getTimerPtr()->deleteRequest();
|
||||
}
|
||||
procShipPaddle_init();
|
||||
ship->m034D = 0xE; // TODO inline
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8014F4DC-8014F690 .text procTactPlayOriginal_init__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procTactPlayOriginal_init() {
|
||||
/* Nonmatching */
|
||||
if (mCurProc == daPyProc_TACT_PLAY_ORIGINAL_e) {
|
||||
return TRUE;
|
||||
}
|
||||
commonProcInit(daPyProc_TACT_PLAY_ORIGINAL_e);
|
||||
dComIfGp_setPlayerStatus1(0, daPyStts1_WIND_WAKER_CONDUCT_e);
|
||||
m34D0 = 0;
|
||||
daPy_matAnm_c::offMabaFlg();
|
||||
daPy_matAnm_c::setMabaTimer(1);
|
||||
setSingleMoveAnime(ANM_WAITTAKT, daPy_HIO_tact_c0::m.field_0x0, 0.0f, -1, daPy_HIO_tact_c0::m.field_0x4);
|
||||
|
||||
m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayRightArmAnm(m3570), UPPER_MOVE1_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
mAnmRatioUpper[UPPER_MOVE1_e].setRatio(0.0f);
|
||||
|
||||
m3574 = dComIfGp_event_getTactFreeCStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayLeftArmAnm(m3574), UPPER_MOVE2_e, 0.0f, 0.0f, -1, -1.0f);
|
||||
mAnmRatioUpper[UPPER_MOVE2_e].setRatio(0.0f);
|
||||
|
||||
setTextureAnime(0, 0);
|
||||
m3530 = 3;
|
||||
mDoAud_tact_setStickPos(m3570, m3574);
|
||||
mDoAud_tact_playArmSwing(m3570, m3574);
|
||||
setTactModel();
|
||||
m32E4.makeEmitter(0x51, mpHeldItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m34D6 = 0xF;
|
||||
m34DA = 0;
|
||||
mDoAud_taktModeMute();
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* 8014F690-8014F8A0 .text procTactPlayOriginal__9daPy_lk_cFv */
|
||||
BOOL daPy_lk_c::procTactPlayOriginal() {
|
||||
/* Nonmatching */
|
||||
mDoAud_seStart(JA_SE_LK_WTAKT_USING, 0);
|
||||
|
||||
if (m_old_fdata->getOldFrameRate() < 0.01f) {
|
||||
if (m34D6 > 0) {
|
||||
m34D6--;
|
||||
if (m34D6 == 0) {
|
||||
m34D0++;
|
||||
}
|
||||
} else if (m34D0 == 5) {
|
||||
dComIfGp_evmng_cutEnd(mStaffIdx);
|
||||
mDoAud_tact_stopArmSwing();
|
||||
} else {
|
||||
m34D6 = 0xF;
|
||||
|
||||
m3570 = dComIfGp_event_getTactFreeMStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayRightArmAnm(m3570), UPPER_MOVE1_e, daPy_HIO_tact_c0::m.field_0x8, 0.0f, -1, 5.0f);
|
||||
mAnmRatioUpper[UPPER_MOVE1_e].setRatio(0.0f);
|
||||
if (m3570 == 0 || m3570 == 2 || m3570 == 4) {
|
||||
mFrameCtrlUpper[UPPER_MOVE1_e].setRate(daPy_HIO_tact_c0::m.field_0x0);
|
||||
mFrameCtrlUpper[UPPER_MOVE1_e].setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
}
|
||||
|
||||
m3574 = dComIfGp_event_getTactFreeCStick(m34D0);
|
||||
setActAnimeUpper(getTactPlayLeftArmAnm(m3574), UPPER_MOVE2_e, daPy_HIO_tact_c0::m.field_0x0, 0.0f, -1, 5.0f);
|
||||
mAnmRatioUpper[UPPER_MOVE2_e].setRatio(0.0f);
|
||||
mFrameCtrlUpper[UPPER_MOVE2_e].setFrame(mFrameCtrlUnder[UNDER_MOVE0_e].getFrame());
|
||||
|
||||
mDoAud_tact_setStickPos(m3570, m3574);
|
||||
mDoAud_tact_playArmSwing(m3570, m3574);
|
||||
}
|
||||
}
|
||||
|
||||
if (m34D6 != 0 && m34DA != 0) {
|
||||
mDoAud_tact_play();
|
||||
}
|
||||
m34DA = 1;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -100,7 +100,7 @@ void dComIfG_play_c::itemInit() {
|
||||
mRupyCountDisplay = 0;
|
||||
field_0x4928 = 0;
|
||||
field_0x4929 = 0;
|
||||
field_0x492a = 0;
|
||||
mMesgStatus = 0;
|
||||
mbCamOverrideFarPlane = 0;
|
||||
field_0x492c = 0;
|
||||
field_0x492d = 0;
|
||||
@@ -142,7 +142,7 @@ void dComIfG_play_c::itemInit() {
|
||||
}
|
||||
|
||||
mMelodyNum = 0;
|
||||
field_0x4951 = 0;
|
||||
mFmapOpen = false;
|
||||
field_0x4952 = 0;
|
||||
field_0x4953 = 0;
|
||||
field_0x4954 = 0;
|
||||
|
||||
@@ -143,7 +143,7 @@ void dDlst_Gameover_CAPTURE_c::draw() {
|
||||
/* 8018E4B4-8018E77C .text _create__11dGameover_cFv */
|
||||
s32 dGameover_c::_create() {
|
||||
s32 rt = dComIfG_resLoad(&mPhs, "Gover");
|
||||
if (dMenu_flag() || (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 4) || g_dComIfG_gameInfo.play.field_0x492a != 0)
|
||||
if (dMenu_flag() || (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 4) || dComIfGp_getMesgStatus() != 0)
|
||||
return cPhs_INIT_e;
|
||||
|
||||
if (rt == cPhs_COMPLEATE_e) {
|
||||
|
||||
@@ -135,7 +135,7 @@ void dPlace_name_c::draw() {
|
||||
s32 dPn_c::_create() {
|
||||
s32 rt = dComIfG_resLoad(&mPhs, "PName");
|
||||
|
||||
if (dMenu_flag() || (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 10) || g_dComIfG_gameInfo.play.field_0x492a != 0)
|
||||
if (dMenu_flag() || (dComIfGp_isHeapLockFlag() != 0 && dComIfGp_isHeapLockFlag() != 10) || dComIfGp_getMesgStatus() != 0)
|
||||
return cPhs_INIT_e;
|
||||
|
||||
if (mState == 0) {
|
||||
|
||||
+2
-2
@@ -1328,7 +1328,7 @@ void dSv_restart_c::setRestartOption(s8 param_0, cXyz* i_pos, s16 i_angle, s8 i_
|
||||
|
||||
/* 8005D5B4-8005D604 .text set__17dSv_turnRestart_cFRC4cXyzsScUlRC4cXyzsi */
|
||||
void dSv_turnRestart_c::set(const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u32 i_param,
|
||||
const cXyz& i_shipPos, s16 i_shipAngle, int param_6) {
|
||||
const cXyz& i_shipPos, s16 i_shipAngle, BOOL i_hasShip) {
|
||||
mPosition = i_pos;
|
||||
mAngleY = i_angle;
|
||||
mRoomNo = i_roomNo;
|
||||
@@ -1336,7 +1336,7 @@ void dSv_turnRestart_c::set(const cXyz& i_pos, s16 i_angle, s8 i_roomNo, u32 i_p
|
||||
field_0x13 = 0;
|
||||
mShipPos = i_shipPos;
|
||||
mShipAngleY = i_shipAngle;
|
||||
field_0x34 = param_6;
|
||||
mHasShip = i_hasShip;
|
||||
}
|
||||
|
||||
/* 8005D604-8005D660 .text init__10dSv_info_cFv */
|
||||
|
||||
+3
-8
@@ -1842,18 +1842,13 @@ bool dStage_setShipPos(int param_0, int i_roomNo) {
|
||||
dComIfGp_setShipRoomId(0xFF);
|
||||
}
|
||||
|
||||
// g_dComIfG_gameInfo.save.getTurnRestart().field_0x34 probably an inline, idk which though
|
||||
dComIfG_inf_c& gameinfo = g_dComIfG_gameInfo; // fakematch
|
||||
if (dComIfGp_getStartStagePoint() == -3 &&
|
||||
g_dComIfG_gameInfo.save.getTurnRestart().field_0x34 != 0)
|
||||
{
|
||||
if (dComIfGp_getStartStagePoint() == -3 && dComIfGs_getTurnRestartHasShip()) {
|
||||
daShip_c* ship_p = (daShip_c*)fopAcM_SearchByName(PROC_SHIP);
|
||||
if (ship_p != NULL) {
|
||||
ship_p->initStartPos(&gameinfo.save.getTurnRestart().getShipPos(),
|
||||
dComIfGs_getTurnRestartShipAngleY());
|
||||
ship_p->initStartPos(&dComIfGs_getTurnRestartShipPos(), dComIfGs_getTurnRestartShipAngleY());
|
||||
}
|
||||
|
||||
g_dComIfG_gameInfo.save.getTurnRestart().field_0x34 = 0;
|
||||
dComIfGs_setTurnRestartHasShip(FALSE);
|
||||
}
|
||||
|
||||
if (param_0 != 0xFF) {
|
||||
|
||||
Reference in New Issue
Block a user