mirror of
https://github.com/encounter/tp.git
synced 2026-07-11 06:18:46 -07:00
d_a_horse mostly done (#2284)
* checkpoint * d_a_horse mostly done * some horse doc
This commit is contained in:
@@ -3244,7 +3244,7 @@ public:
|
||||
bool checkHorseTiredAnime() const { return checkUpperAnime(0x263); }
|
||||
bool checkHorseSwordUpAnime() const { return checkUpperAnime(0xCC); }
|
||||
bool checkHorseUnderItemAnime() const { return checkUnderAnime(0x19); }
|
||||
bool checkHorseWalkStartAnm() const { return checkUnderMove0BckNoArc(ANM_WSTARTH); }
|
||||
BOOL checkHorseWalkStartAnm() const { return checkUnderMove0BckNoArc(ANM_WSTARTH); }
|
||||
bool checkIronBallPreSwingAnime() const { return checkUpperAnime(0x19A); }
|
||||
bool checkIronBallSwingAnime() const { return checkUpperAnime(0x19B); }
|
||||
bool checkDashDamageAnime() const { return checkUpperAnime(0xAD); }
|
||||
@@ -3382,6 +3382,18 @@ public:
|
||||
return var_r4;
|
||||
}
|
||||
|
||||
BOOL checkSlideMode() {
|
||||
return mProcID == PROC_SLIDE ||
|
||||
mProcID == PROC_SLIDE_LAND ||
|
||||
mProcID == PROC_WOLF_SLIDE_READY ||
|
||||
mProcID == PROC_WOLF_SLIDE_LAND ||
|
||||
mProcID == PROC_WOLF_SLIDE;
|
||||
}
|
||||
|
||||
BOOL checkHorseGetItem() const {
|
||||
return (mProcID == PROC_GET_ITEM && checkHorseRide()) || mProcID == PROC_HORSE_GET_KEY;
|
||||
}
|
||||
|
||||
bool checkFisingRodJewl() const {
|
||||
return (mEquipItem == 0x5C || mEquipItem == 0x5F) || mEquipItem == 0x5E;
|
||||
}
|
||||
@@ -3418,7 +3430,10 @@ public:
|
||||
|
||||
bool checkCopyRodRevive() const { return mProcID == PROC_COPY_ROD_REVIVE; }
|
||||
bool checkHorseGetOffMode() const { return mProcID == PROC_HORSE_GETOFF; }
|
||||
bool checkHorseHangMode() const { return mProcID == PROC_HORSE_HANG; }
|
||||
bool checkHorseBackInput() const { return mProcID == PROC_HORSE_WAIT; }
|
||||
bool checkHorseRideOn() const { return mProcID == PROC_HORSE_RIDE; }
|
||||
bool checkHorseTurnMode() const { return mProcID == PROC_HORSE_TURN; }
|
||||
bool checkGrabUp() const { return mProcID == PROC_GRAB_UP; }
|
||||
bool checkSpinnerRideWait() const {
|
||||
return mProcID == PROC_SPINNER_WAIT && mProcVar2.field_0x300c == 0;
|
||||
@@ -3519,6 +3534,8 @@ public:
|
||||
int getIronBallHandChainNum() const { return mItemMode; }
|
||||
const cXyz& getIronBallChainHandRootPos() const { return mHookshotTopPos; }
|
||||
|
||||
fopAc_ac_c* getAtnActor() { return mTargetedActor; }
|
||||
|
||||
void itemHitSE(u32 param_1, u32 param_2, Z2SoundObjBase* param_3) { mZ2Link.startHitItemSE(param_1, param_2, param_3, -1.0f); }
|
||||
|
||||
BOOL checkStartFall() { return getStartMode() == 3; }
|
||||
@@ -3528,6 +3545,16 @@ public:
|
||||
|
||||
BOOL checkWindSpeedMoveXZ() const { return mWindSpeed.abs2XZ() > 1.0f; }
|
||||
|
||||
BOOL checkHorseRideReady() const { return checkHorseRideOn() || checkHorseGetOffMode(); }
|
||||
|
||||
void getHorseReinCenterLeftPos(cXyz* o_pos) {
|
||||
mDoMtx_multVec(getLeftHandMatrix(), &m_handLeftInSidePos, o_pos);
|
||||
}
|
||||
|
||||
void getHorseReinCenterRightPos(cXyz* o_pos) {
|
||||
mDoMtx_multVec(getRightHandMatrix(), &m_handRightInSidePos, o_pos);
|
||||
}
|
||||
|
||||
inline bool checkWindSpeedOnXZ() const;
|
||||
inline void startRestartRoomFromOut(int, u32, int);
|
||||
inline u16 getReadyItem();
|
||||
@@ -4199,7 +4226,7 @@ struct daAlinkHIO_anm_c {
|
||||
/* 0x04 */ f32 mSpeed;
|
||||
/* 0x08 */ f32 mStartFrame;
|
||||
/* 0x0C */ f32 mInterpolation;
|
||||
/* 0x10 */ f32 mCheckFrame; // name maybe wrong
|
||||
/* 0x10 */ f32 mCancelFrame;
|
||||
}; // size: 0x14
|
||||
|
||||
struct daAlinkHIO_basic_c1 {
|
||||
|
||||
@@ -54,7 +54,7 @@ public:
|
||||
/* 8065C508 */ void setCowInCage();
|
||||
/* 8065C680 */ void setEnterCount();
|
||||
/* 8065C70C */ void action_enter();
|
||||
/* 8065CFBC */ void isAngry();
|
||||
/* 8065CFBC */ bool isAngry();
|
||||
/* 8065D03C */ void isGuardFad();
|
||||
/* 8065D0B8 */ void setAngryHit();
|
||||
/* 8065D17C */ void checkBeforeBgAngry(s16);
|
||||
|
||||
+360
-171
File diff suppressed because it is too large
Load Diff
@@ -59,8 +59,11 @@ public:
|
||||
/* 80848B64 */ void draw();
|
||||
|
||||
MtxP getRightHandMtx() { return mpZeldaModel->getAnmMtx(22); }
|
||||
MtxP getRightFingerMtx() { return mpZeldaModel->getAnmMtx(23); }
|
||||
|
||||
u8 checkBowMode() const { return field_0x6d8; }
|
||||
void setDamageInit() { field_0x6db = 1; }
|
||||
u8 checkSingleRide() const { return field_0x6df; }
|
||||
|
||||
/* 0x568 */ request_of_phase_process_class mPhase;
|
||||
/* 0x570 */ J3DModel* mpZeldaModel;
|
||||
|
||||
@@ -113,8 +113,8 @@ private:
|
||||
|
||||
class daPy_frameCtrl_c : public J3DFrameCtrl {
|
||||
public:
|
||||
/* 80140D24 */ ~daPy_frameCtrl_c();
|
||||
/* 80140D80 */ daPy_frameCtrl_c();
|
||||
/* 80140D24 */ virtual ~daPy_frameCtrl_c() {}
|
||||
/* 80140D80 */ daPy_frameCtrl_c() {}
|
||||
bool checkAnmEnd();
|
||||
void updateFrame();
|
||||
void setFrameCtrl(u8, short, short, f32, f32);
|
||||
@@ -929,6 +929,7 @@ public:
|
||||
BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_UNK_1); }
|
||||
u32 getCutAtFlg() const { return checkNoResetFlg0(FLG0_UNK_40); }
|
||||
u32 checkBoarSingleBattleFirst() const { return checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); }
|
||||
u32 checkBoarSingleBattleSecond() const { return checkNoResetFlg2(FLG2_UNK_1000000); }
|
||||
|
||||
void offWolfEnemyHangBite() { offNoResetFlg2(FLG2_WOLF_ENEMY_HANG_BITE); }
|
||||
bool onWolfEnemyHangBite(fopAc_ac_c* param_0) { return onWolfEnemyBiteAll(param_0, FLG2_WOLF_ENEMY_HANG_BITE); }
|
||||
|
||||
@@ -25,6 +25,16 @@ public:
|
||||
u8 getPathID() { return (fopAcM_GetParam(this) >> 0x10) & 0xFF; }
|
||||
void setSceneChangeOK() { mSceneChangeOK = true; }
|
||||
|
||||
BOOL checkArea(const cXyz* param_0) {
|
||||
cXyz spC;
|
||||
mDoMtx_multVec(mMatrix, param_0, &spC);
|
||||
if (spC.y >= 0.0f && spC.y <= scale.y && fabsf(spC.x) <= scale.x && fabsf(spC.z) <= scale.z) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* 0x568 */ Mtx mMatrix;
|
||||
/* 0x598 */ u8 field_0x598;
|
||||
/* 0x599 */ bool mSceneChangeOK;
|
||||
|
||||
@@ -16,6 +16,12 @@ public:
|
||||
daTagHstop_c* getNext() { return mNext; }
|
||||
bool getActiveFlg() const { return mActive; }
|
||||
|
||||
void onTagStop() {
|
||||
if (field_0x573 == 0) {
|
||||
field_0x573 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
static daTagHstop_c* m_top;
|
||||
static dMsgFlow_c m_msgFlow;
|
||||
|
||||
|
||||
@@ -265,4 +265,13 @@ public:
|
||||
virtual ~dBgS_BombAcch() {}
|
||||
};
|
||||
|
||||
class dBgS_HorseAcch : public dBgS_Acch {
|
||||
public:
|
||||
dBgS_HorseAcch() {
|
||||
SetHorse();
|
||||
}
|
||||
|
||||
/* 80845274 */ virtual ~dBgS_HorseAcch() {}
|
||||
};
|
||||
|
||||
#endif /* D_BG_D_BG_S_ACCH_H */
|
||||
|
||||
@@ -1590,6 +1590,26 @@ inline void dComIfGs_setRestartRoomParam(u32 i_param) {
|
||||
g_dComIfG_gameInfo.info.getRestart().setRoomParam(i_param);
|
||||
}
|
||||
|
||||
inline cXyz& dComIfGs_getHorseRestartPos() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getPos();
|
||||
}
|
||||
|
||||
inline s16 dComIfGs_getHorseRestartAngleY() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getAngleY();
|
||||
}
|
||||
|
||||
inline const char* dComIfGs_getHorseRestartStageName() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getStageName();
|
||||
}
|
||||
|
||||
inline s8 dComIfGs_getHorseRestartRoomNo() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().getRoomNo();
|
||||
}
|
||||
|
||||
inline void dComIfGs_setHorseRestart(const char* i_stageName, cXyz& i_pos, s16 i_angle, s8 i_roomNo) {
|
||||
g_dComIfG_gameInfo.info.getPlayer().getHorsePlace().set(i_stageName, i_pos, i_angle, i_roomNo);
|
||||
}
|
||||
|
||||
inline u8 dComIfGs_getMagic() {
|
||||
return g_dComIfG_gameInfo.info.getPlayer().getPlayerStatusA().getMagic();
|
||||
}
|
||||
@@ -2121,6 +2141,10 @@ inline daHorse_c* dComIfGp_getHorseActor() {
|
||||
return (daHorse_c*)g_dComIfG_gameInfo.play.getPlayerPtr(1);
|
||||
}
|
||||
|
||||
inline void dComIfGp_setHorseActor(fopAc_ac_c* i_horse) {
|
||||
g_dComIfG_gameInfo.play.setPlayerPtr(1, i_horse);
|
||||
}
|
||||
|
||||
inline dMsgObject_c* dComIfGp_getMsgObjectClass() {
|
||||
return g_dComIfG_gameInfo.play.getMsgObjectClass();
|
||||
}
|
||||
|
||||
@@ -192,6 +192,7 @@ public:
|
||||
u8 getTableMapRegionNo() { return mTableMapRegionNo; }
|
||||
u8 getGoldWolfMapType() { return mGoldWolfMapType; }
|
||||
bool isWindowAccept(int param_0) { return mWindowAccept & (1 << param_0); }
|
||||
void setHorseLifeCount(s16 i_count) { mHorseLifeCount = i_count; }
|
||||
|
||||
public:
|
||||
/* 0x04 */ u8 unk4[4];
|
||||
@@ -794,6 +795,10 @@ inline bool dMeter2Info_isWindowAccept(int param_0) {
|
||||
return g_meter2_info.isWindowAccept(param_0);
|
||||
}
|
||||
|
||||
inline void dMeter2Info_setHorseLifeCount(s16 i_count) {
|
||||
g_meter2_info.setHorseLifeCount(i_count);
|
||||
}
|
||||
|
||||
const char* dMeter2Info_getPlusTextureName();
|
||||
const char* dMeter2Info_getNumberTextureName(int pIndex);
|
||||
int dMeter2Info_recieveLetter();
|
||||
|
||||
+8
-2
@@ -211,12 +211,17 @@ public:
|
||||
void init();
|
||||
void set(const char* i_name, const cXyz& i_pos, s16 i_angle, s8 i_roomNo);
|
||||
|
||||
cXyz& getPos() { return mPos; }
|
||||
s16 getAngleY() const { return mAngleY; }
|
||||
const char* getStageName() const { return mName; }
|
||||
s8 getRoomNo() const { return mRoomNo; }
|
||||
|
||||
private:
|
||||
/* 0x00 */ cXyz mPos;
|
||||
/* 0x0C */ u16 mAngleY;
|
||||
/* 0x0C */ s16 mAngleY;
|
||||
/* 0x0E */ char mName[8];
|
||||
/* 0x16 */ u8 mSpawnId;
|
||||
/* 0x17 */ u8 mRoomNo;
|
||||
/* 0x17 */ s8 mRoomNo;
|
||||
}; // Size: 0x18
|
||||
|
||||
class dSv_player_return_place_c {
|
||||
@@ -514,6 +519,7 @@ public:
|
||||
dSv_player_info_c& getPlayerInfo() { return mPlayerInfo; }
|
||||
dSv_player_status_a_c& getPlayerStatusA() { return mPlayerStatusA; }
|
||||
dSv_player_status_b_c& getPlayerStatusB() { return mPlayerStatusB; }
|
||||
dSv_horse_place_c& getHorsePlace() { return mHorsePlace; }
|
||||
dSv_player_item_c& getItem() { return mItem; }
|
||||
dSv_player_collect_c& getCollect() { return mCollect; }
|
||||
dSv_player_item_record_c& getItemRecord() { return mItemRecord; }
|
||||
|
||||
Reference in New Issue
Block a user