d_a_horse mostly done (#2284)

* checkpoint

* d_a_horse mostly done

* some horse doc
This commit is contained in:
TakaRikka 2025-01-09 05:45:46 -08:00 committed by GitHub
parent 0cdacf4bff
commit 36daa25884
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
37 changed files with 5151 additions and 3078 deletions

View File

@ -168,6 +168,9 @@ public:
JPASetRMtxSTVecfromMtx(matrix, mGlobalRot, &mGlobalScl, &mGlobalTrs);
mGlobalPScl.set(mGlobalScl.x, mGlobalScl.y);
}
void setDirection(const JGeometry::TVec3<f32>& direction) {
mLocalDir.set(direction);
}
void setLocalScale(const JGeometry::TVec3<f32>& scale) {
mLocalScl.set(scale);

View File

@ -496,6 +496,7 @@ public:
u32 ChkCoNoCrr() const { return mObjCo.ChkNoCrr(); }
void OnCoNoCrrBit() { mObjCo.OnNoCrrBit(); }
u32 ChkCoSph3DCrr() const { return mObjCo.ChkSph3DCrr(); }
void OnCoNoCoHitInfSet() { mObjCo.OnSPrmBit(0x200); }
void OnAtSPrmBit(u32 flag) { mObjAt.OnSPrmBit(flag); }
void OffAtSPrmBit(u32 flag) { mObjAt.OffSPrmBit(flag); }
void OffTgSPrmBit(u32 flag) { mObjTg.OffSPrmBit(flag); }
@ -518,6 +519,7 @@ public:
void OnCoSPrmBit(u32 flag) { mObjCo.OnSPrmBit(flag); }
void SetCoVsGrp(u32 grp) { mObjCo.SetVsGrp(grp); }
void SetCoIGrp(u32 grp) { mObjCo.SetIGrp(grp); }
void SetTgGrp(u32 grp) { mObjTg.SetGrp(grp); }
void SetAtSPrm(u32 prm) { mObjAt.SetSPrm(prm); }
void SetTgSPrm(u32 prm) { mObjTg.SetSPrm(prm); }
void SetCoSPrm(u32 prm) { mObjCo.SetSPrm(prm); }

View File

@ -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 {

View File

@ -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);

View File

@ -3,20 +3,20 @@
#include "Z2AudioLib/Z2Creature.h"
#include "d/actor/d_a_player.h"
#include "d/actor/d_a_scene_exit.h"
#include "d/d_bg_s_acch.h"
#include "d/d_bg_s_lin_chk.h"
#include "d/d_cc_d.h"
#include "d/d_msg_flow.h"
#include "m_Do/m_Do_audio.h"
#include "d/d_path.h"
#include "d/d_particle_copoly.h"
class daHorseRein_c {
public:
/* 80837F2C */ void setReinPos(int);
/* 808383A8 */ void setReinPosPart(int);
/* 80844FB0 */ ~daHorseRein_c();
/* 80844FEC */ daHorseRein_c();
private:
/* 0x00 */ cXyz* field_0x0[2];
/* 0x08 */ int field_0x8[2];
/* 0x10 */ f32 field_0x10;
@ -27,14 +27,17 @@ private:
class daHorseFootData_c {
public:
/* 80844F70 */ ~daHorseFootData_c();
/* 80844FAC */ daHorseFootData_c();
private:
/* 0x0 */ u8 field_0x0[0xE4];
/* 0x00 */ u8 field_0x0;
/* 0x00 */ u8 field_0x1;
/* 0x02 */ u8 field_0x2[0x4 - 0x2];
/* 0x04 */ s16 field_0x4[4];
/* 0x0C */ cXyz field_0xc;
/* 0x18 */ cXyz field_0x18;
/* 0x24 */ Mtx field_0x24[4];
}; // Size: 0xE4
class daHoZelda_c;
class daHorse_hio_c;
/**
* @ingroup actors-unsorted
@ -48,35 +51,90 @@ class daHorse_c : public fopAc_ac_c {
public:
enum daHorse_ERFLG0 {
/* 0x001 */ ERFLG0_UNK_1 = 0x1,
/* 0x002 */ ERFLG0_UNK_2 = 0x2,
/* 0x004 */ ERFLG0_UNK_4 = 0x4,
/* 0x008 */ ERFLG0_UNK_8 = 0x8,
/* 0x010 */ ERFLG0_MOVE_ACCEPT = 0x10,
/* 0x020 */ ERFLG0_UNK_20 = 0x20,
/* 0x040 */ ERFLG0_UNK_40 = 0x40,
/* 0x080 */ ERFLG0_RIDE_RUN_FLG = 0x80,
/* 0x100 */ ERFLG0_CUT_TURN_CANCEL = 0x100,
/* 0x200 */ ERFLG0_UNK_200 = 0x200,
/* 0x400 */ ERFLG0_UNK_400 = 0x400,
/* 0x800 */ ERFLG0_UNK_800 = 0x800,
ERFLG0_UNK_18 = 0x18,
};
enum daHorse_RFLG0 {
/* 0x02 */ RFLG0_ENEMY_SEARCH = 2,
/* 0x08 */ RFLG0_LASH_DASH_START = 8,
/* 0x10 */ RFLG0_TURN_STAND = 0x10,
/* 0x40 */ RFLG0_TURN_STAND_CAMERA = 0x40,
/* 0x001 */ RFLG0_UNK_1 = 1,
/* 0x002 */ RFLG0_ENEMY_SEARCH = 2,
/* 0x004 */ RFLG0_UNK_4 = 4,
/* 0x008 */ RFLG0_LASH_DASH_START = 8,
/* 0x010 */ RFLG0_TURN_STAND = 0x10,
/* 0x020 */ RFLG0_UNK_20 = 0x20,
/* 0x040 */ RFLG0_TURN_STAND_CAMERA = 0x40,
/* 0x080 */ RFLG0_UNK_80 = 0x80,
/* 0x100 */ RFLG0_UNK_100 = 0x100,
/* 0x200 */ RFLG0_UNK_200 = 0x200,
};
enum daHorse_FLG0 {
/* 0x00000001 */ FLG0_UNK_1 = 0x1,
/* 0x00000002 */ FLG0_UNK_2 = 0x2,
/* 0x00000004 */ FLG0_UNK_4 = 0x4,
/* 0x00000008 */ FLG0_UNK_8 = 0x8,
/* 0x00000010 */ FLG0_UNK_10 = 0x10,
/* 0x00000020 */ FLG0_RODEO_LEFT = 0x20,
/* 0x00000040 */ FLG0_RIDE_START_FLG = 0x40,
/* 0x00000080 */ FLG0_NO_DRAW_WAIT = 0x80,
/* 0x00000100 */ FLG0_UNK_100 = 0x100,
/* 0x00000200 */ FLG0_UNK_200 = 0x200,
/* 0x00000400 */ FLG0_UNK_400 = 0x400,
/* 0x00000800 */ FLG0_UNK_800 = 0x800,
/* 0x00001000 */ FLG0_UNK_1000 = 0x1000,
/* 0x00002000 */ FLG0_UNK_2000 = 0x2000,
/* 0x00004000 */ FLG0_UNK_4000 = 0x4000,
/* 0x00008000 */ FLG0_UNK_8000 = 0x8000,
/* 0x00010000 */ FLG0_PLAYER_BACK_RIDE_LASH = 0x10000,
/* 0x00020000 */ FLG0_UNK_20000 = 0x20000,
/* 0x00040000 */ FLG0_UNK_40000 = 0x40000,
/* 0x00080000 */ FLG0_UNK_80000 = 0x80000,
/* 0x00100000 */ FLG0_UNK_100000 = 0x100000,
/* 0x00200000 */ FLG0_UNK_200000 = 0x200000,
/* 0x00400000 */ FLG0_UNK_400000 = 0x400000,
/* 0x02000000 */ FLG0_UNK_2000000 = 0x2000000,
/* 0x04000000 */ FLG0_UNK_4000000 = 0x4000000,
/* 0x08000000 */ FLG0_CALL_HORSE = 0x8000000,
/* 0x10000000 */ FLG0_UNK_10000000 = 0x10000000,
/* 0x20000000 */ FLG0_TURN_CANCEL_KEEP = 0x20000000,
/* 0x40000000 */ FLG0_UNK_40000000 = 0x40000000,
/* 0x80000000 */ FLG0_RODEO_MODE = 0x80000000
};
enum daHorse_DEMOMODE {
DEMO_LAST_e = 0x11,
DEMO_NEW_ANM0_e = 0x200,
};
enum daHorse_PROC {
PROC_WAIT_e,
PROC_MOVE_e,
PROC_STOP_e,
PROC_TURN_e,
PROC_JUMP_e,
PROC_LAND_e,
PROC_LARGE_DAMAGE_e,
PROC_TOOL_DEMO_e,
PROC_NONE_e = 8,
};
fopAc_ac_c* getZeldaActor();
void cancelOriginalDemo() {
field_0x16b8 = 2;
field_0x1740 = 1;
m_demoMode = 1;
}
/* 807E27F8 */ void onDemoJumpDistance(f32, f32);
@ -85,16 +143,16 @@ public:
/* 80838498 */ void coHitCallbackBoarJump(fopAc_ac_c*);
/* 80838798 */ void coHitCallbackBoarHit(fopAc_ac_c*, dCcD_GObjInf*);
/* 80838904 */ void coHitCallbackCowHit(fopAc_ac_c*);
/* 80838B78 */ void modelCallBack(int);
/* 80838F98 */ void createHeap();
/* 8083940C */ void checkEnding();
/* 80839498 */ void create();
/* 80838B78 */ int modelCallBack(int);
/* 80838F98 */ int createHeap();
/* 8083940C */ static BOOL checkEnding();
/* 80839498 */ int create();
/* 80839D1C */ void setBasAnime(int);
/* 80839EBC */ void resetBasAnime();
/* 80839ED4 */ void setDoubleAnime(f32, f32, f32, u16, u16, f32);
/* 8083A20C */ void setSingleAnime(u16, f32, f32, s16, f32, int);
/* 80839ED4 */ int setDoubleAnime(f32, f32, f32, u16, u16, f32);
/* 8083A20C */ int setSingleAnime(u16, f32, f32, s16, f32, int);
/* 8083A3C4 */ void animePlay();
/* 8083A5AC */ void checkDemoAction();
/* 8083A5AC */ int checkDemoAction();
/* 8083A890 */ void setStickRodeoMove();
/* 8083AC7C */ void setStickCallMove();
/* 8083ACEC */ void setDemoMoveData(u32*, cXyz const*);
@ -104,10 +162,10 @@ public:
/* 8083B828 */ void setTurnStartVibration();
/* 8083B82C */ void setTurnVibration();
/* 8083B830 */ void setMoveAnime(f32);
/* 8083BF48 */ void checkHorseNoMove(int);
/* 8083CA80 */ void checkTurnPlayerState();
/* 8083CB38 */ void setSpeedAndAngle();
/* 8083D748 */ void checkWaitTurn() const;
/* 8083BF48 */ int checkHorseNoMove(int);
/* 8083CA80 */ BOOL checkTurnPlayerState();
/* 8083CB38 */ int setSpeedAndAngle();
/* 8083D748 */ BOOL checkWaitTurn() const;
/* 8083D774 */ void setRoomInfo(int);
/* 8083D918 */ void setBodyPart();
/* 8083D9D8 */ void setMatrix();
@ -118,20 +176,20 @@ public:
/* 8083E760 */ void setTailAngle();
/* 8083E8A4 */ void setNeckAngle();
/* 8083EA78 */ void copyFootMatrix();
/* 8083EB10 */ void setFootMatrix();
/* 8083ED88 */ void setLegAngle(f32, int, int, s16*);
/* 8083EB10 */ int setFootMatrix();
/* 8083ED88 */ int setLegAngle(f32, int, int, s16*);
/* 8083F3B0 */ void footBgCheck();
/* 8083F9AC */ void setReinPosMoveInit(int);
/* 8083FDAC */ void copyReinPos();
/* 8083FEB4 */ void setReinPosHandSubstance(int);
/* 8084010C */ void setReinPosNormalSubstance();
/* 808402F8 */ void bgCheck();
/* 80840714 */ void checkSpecialWallHitSubstance(cXyz const&) const;
/* 80840714 */ bool checkSpecialWallHitSubstance(cXyz const&) const;
/* 808407B0 */ void setServiceWaitTimer();
/* 80840800 */ void checkServiceWaitAnime();
/* 80840844 */ void checkTurnInput();
/* 808408F0 */ void checkTgHitTurn();
/* 808409C0 */ void checkTurnAfterFastMove(f32);
/* 80840800 */ BOOL checkServiceWaitAnime();
/* 80840844 */ BOOL checkTurnInput();
/* 808408F0 */ BOOL checkTgHitTurn();
/* 808409C0 */ BOOL checkTurnAfterFastMove(f32);
/* 80840B28 */ void setNeckAnimeMorf();
/* 80840B88 */ void setNeckAnime(u16, f32, f32, s16);
/* 80840CA4 */ void resetNeckAnime();
@ -139,67 +197,67 @@ public:
/* 80840FE0 */ void setTalkModeWolf();
/* 80841084 */ void setBoarHit(fopAc_ac_c*, int);
/* 8084116C */ void savePos();
/* 808411D0 */ void callHorseSubstance(cXyz const*);
/* 80841468 */ void setHorsePosAndAngleSubstance(cXyz const*, s16);
/* 808415B4 */ void checkPlayerHeavy();
/* 808411D0 */ int callHorseSubstance(cXyz const*);
/* 80841468 */ int setHorsePosAndAngleSubstance(cXyz const*, s16);
/* 808415B4 */ BOOL checkPlayerHeavy();
/* 80841628 */ void setTgCoGrp(u32, u32);
/* 80841698 */ void onRideFlgSubstance();
/* 808416D4 */ void offRideFlgSubstance();
/* 80841708 */ void procWaitInit();
/* 808417B8 */ void procWait();
/* 80841F04 */ void procMoveInit();
/* 80841F80 */ void procMove();
/* 808423DC */ void procStopInit();
/* 808425BC */ void procStop();
/* 80842878 */ void procTurnInit(int);
/* 80842AB0 */ void procTurn();
/* 80843008 */ void procJumpInit(int);
/* 808432E0 */ void procJump();
/* 80843604 */ void procLandInit(f32, int);
/* 80843770 */ void procLand();
/* 808438AC */ void procLargeDamageInit();
/* 8084396C */ void procLargeDamage();
/* 808439C8 */ void procToolDemoInit();
/* 80843A44 */ void procToolDemo();
/* 80841708 */ int procWaitInit();
/* 808417B8 */ int procWait();
/* 80841F04 */ int procMoveInit();
/* 80841F80 */ int procMove();
/* 808423DC */ int procStopInit();
/* 808425BC */ int procStop();
/* 80842878 */ int procTurnInit(int);
/* 80842AB0 */ int procTurn();
/* 80843008 */ int procJumpInit(int);
/* 808432E0 */ int procJump();
/* 80843604 */ int procLandInit(f32, int);
/* 80843770 */ int procLand();
/* 808438AC */ int procLargeDamageInit();
/* 8084396C */ int procLargeDamage();
/* 808439C8 */ int procToolDemoInit();
/* 80843A44 */ int procToolDemo();
/* 80843BFC */ void searchSceneChangeArea(fopAc_ac_c*);
/* 80843C74 */ void execute();
/* 80844590 */ void draw();
/* 80843C74 */ int execute();
/* 80844590 */ int draw();
/* 8084478C */ ~daHorse_c();
/* 80844CB0 */ daHorse_c();
/* 80182D04 */ void getLashDashStart() const;
bool checkNoBombProc() const { return field_0x16b4 == 0 || field_0x16b4 == 1; }
bool checkResetStateFlg0(daHorse_RFLG0 flag) const { return mResetStateFlg0 & flag; }
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) const { return mEndResetStateFlg0 & flag; }
u32 checkStateFlg0(daHorse_FLG0 flag) const { return mStateFlg0 & flag; }
f32 getNormalMaxSpeedF() { return mNormalMaxSpeedF; }
f32 getLashMaxSpeedF() { return mLashMaxSpeedF; }
void changeDemoMoveAngle(s16 angle) { mDemoMoveAngle = angle; }
void setDemoStickR(f32 stick) { mDemoStickR = stick; }
void changeDemoMode(u32 param_0, int param_1) { field_0x1740 = param_0; field_0x1728 = param_1; }
bool checkNoBombProc() const { return m_procID == PROC_WAIT_e || m_procID == PROC_MOVE_e; }
bool checkResetStateFlg0(daHorse_RFLG0 flag) const { return m_resetStateFlg0 & flag; }
bool checkEndResetStateFlg0(daHorse_ERFLG0 flag) const { return m_endResetStateFlg0 & flag; }
u32 checkStateFlg0(daHorse_FLG0 flag) const { return m_stateFlg0 & flag; }
f32 getNormalMaxSpeedF() { return m_normalMaxSpeedF; }
f32 getLashMaxSpeedF() { return m_lashMaxSpeedF; }
void changeDemoMoveAngle(s16 angle) { m_demoMoveAngle = angle; }
void setDemoStickR(f32 stick) { m_demoStickR = stick; }
void changeDemoMode(u32 param_0, int param_1) { m_demoMode = param_0; field_0x1728 = param_1; }
void changeOriginalDemo() { field_0x16b8 = 3; field_0x1728 = 0; }
void i_setHorsePosAndAngle(cXyz const* i_pos, s16 i_angle) { (this->*mpSetHorsePosAngleFn)(i_pos, i_angle); }
void onRideFlg() { (this->*mpOnRideFlgFn)(); }
void offRideFlg() { (this->*mpOffRideFlgFn)(); }
void onStateFlg0(daHorse_FLG0 flag) { mStateFlg0 |= flag; }
void offStateFlg0(daHorse_FLG0 flag) { mStateFlg0 &= ~flag; }
void onEndResetStateFlg0(daHorse_ERFLG0 i_flag) { mEndResetStateFlg0 |= i_flag;}
void offEndResetStateFlg0(daHorse_ERFLG0 i_flag) { mEndResetStateFlg0 &= ~i_flag;}
void i_setHorsePosAndAngle(cXyz const* i_pos, s16 i_angle) { (this->*m_setHorsePosAngle)(i_pos, i_angle); }
void onRideFlg() { (this->*m_onRideFlg)(); }
void offRideFlg() { (this->*m_offRideFlg)(); }
void onStateFlg0(daHorse_FLG0 flag) { m_stateFlg0 |= flag; }
void offStateFlg0(daHorse_FLG0 flag) { m_stateFlg0 &= ~flag; }
void onEndResetStateFlg0(daHorse_ERFLG0 i_flag) { m_endResetStateFlg0 |= i_flag;}
void offEndResetStateFlg0(daHorse_ERFLG0 i_flag) { m_endResetStateFlg0 &= ~i_flag;}
void onResetStateFlg0(daHorse_RFLG0 i_flag) { m_resetStateFlg0 |= i_flag;}
void offNoDrawWait() { offStateFlg0(FLG0_NO_DRAW_WAIT); }
bool checkSpecialWallHit(const cXyz& param_0) { return (this->*mpCheckSpecialWallHitFn)(param_0); }
MtxP getSaddleMtx() { return field_0x570->getAnmMtx(21); }
MtxP getRootMtx() { return field_0x570->getAnmMtx(0); }
f32 getAnmFrameMax(int i_idx) const { return field_0x5b0[i_idx].getEnd(); }
f32 getAnmFrame(int i_idx) const { return field_0x5b0[i_idx].getFrame(); }
s16 getAimNeckAngleY() const { return mAimNeckAngleY; }
f32 getMorfFrame() const { return mMorfFrame; }
f32 getBlendRate() { return field_0x594[1].getRatio(); }
u16 getAnmIdx(int i_idx) const { return mAnmIdx[i_idx]; }
int callHorse(const cXyz* param_0) { return (this->*mpCallHorseFn)(param_0); }
bool checkSpecialWallHit(const cXyz& param_0) { return (this->*m_checkSpecialWallHit)(param_0); }
MtxP getSaddleMtx() { return m_model->getAnmMtx(21); }
MtxP getRootMtx() { return m_model->getAnmMtx(0); }
f32 getAnmFrameMax(int i_idx) const { return m_frameCtrl[i_idx].getEnd(); }
f32 getAnmFrame(int i_idx) const { return m_frameCtrl[i_idx].getFrame(); }
s16 getAimNeckAngleY() const { return m_aimNeckAngleY; }
f32 getMorfFrame() const { return m_morf_frame; }
f32 getBlendRate() { return m_anmRatio[1].getRatio(); }
u16 getAnmIdx(int i_idx) const { return m_anmIdx[i_idx]; }
int callHorse(const cXyz* param_0) { return (this->*m_callHorse)(param_0); }
daHoZelda_c* i_getZeldaActor() { return (daHoZelda_c*)mZeldaActorKeep.getActor(); }
daHoZelda_c* i_getZeldaActor() { return (daHoZelda_c*)m_zeldaActorKeep.getActor(); }
bool checkTurnStandCamera() const { return checkResetStateFlg0(RFLG0_TURN_STAND_CAMERA); }
bool checkTurnStand() const { return checkResetStateFlg0(RFLG0_TURN_STAND); }
@ -207,17 +265,18 @@ public:
bool checkCutTurnCancel() const { return checkEndResetStateFlg0(ERFLG0_CUT_TURN_CANCEL); }
bool checkTurnCancelKeep() const { return checkStateFlg0(FLG0_TURN_CANCEL_KEEP); }
BOOL checkRodeoLeft() const { return checkStateFlg0(FLG0_RODEO_LEFT); }
BOOL checkTurn() const { return field_0x16b4 == 3 && field_0x1720 == 0; }
BOOL checkStop() const { return field_0x16b4 == 2; }
bool checkJump() const { return field_0x16b4 == 4; }
bool checkWait() const { return field_0x16b4 == 0; }
bool checkLand() const { return field_0x16b4 == 5 && field_0x171a == 0; }
BOOL checkTurn() const { return m_procID == PROC_TURN_e && field_0x1720 == 0; }
BOOL checkStop() const { return m_procID == PROC_STOP_e; }
bool checkJump() const { return m_procID == PROC_JUMP_e; }
bool checkWait() const { return m_procID == PROC_WAIT_e; }
bool checkLand() const { return m_procID == PROC_LAND_e && field_0x171a == 0; }
bool checkGetOff() const { return fabsf(speedF) < 3.0f; }
bool checkEnemySearch() { return checkResetStateFlg0(RFLG0_ENEMY_SEARCH); }
bool checkOriginalDemo() const { return field_0x16b8 == 3; }
s16 checkCowHit() const { return mCowHit; }
s16 getCowHitAngle() const { return mCowHitAngle; }
u8 getRodeoPointCnt() const { return mRodeoPointCnt; }
bool checkHorseDemoMode() { return field_0x16b8 != 0; }
s16 checkCowHit() const { return m_cowHit; }
s16 getCowHitAngle() const { return m_cowHitAngle; }
u8 getRodeoPointCnt() const { return m_rodeoPointCnt; }
void onTagJump(f32 param_0, f32 param_1, f32 param_2) {
field_0x1768 = param_0;
@ -238,14 +297,14 @@ public:
void onTurnCancelKeep() { onStateFlg0(FLG0_TURN_CANCEL_KEEP); }
void offTurnCancelKeep() { offStateFlg0(FLG0_TURN_CANCEL_KEEP); }
BOOL checkTurnCancelFrame() const { return checkTurn() && field_0x177C < field_0x5b0[0].getFrame(); }
BOOL checkStopCancelFrame() const { return checkStop() && field_0x177C < field_0x5b0[0].getFrame(); }
BOOL checkTurnCancelFrame() const { return checkTurn() && field_0x177C < m_frameCtrl[0].getFrame(); }
BOOL checkStopCancelFrame() const { return checkStop() && field_0x177C < m_frameCtrl[0].getFrame(); }
void initHorseMtx() {
mDoMtx_stack_c::transS(current.pos);
mDoMtx_stack_c::ZXYrotM(shape_angle);
field_0x570->setBaseTRMtx(mDoMtx_stack_c::get());
field_0x570->calc();
m_model->setBaseTRMtx(mDoMtx_stack_c::get());
m_model->calc();
}
void offRodeoMode() {
@ -257,108 +316,238 @@ public:
void setSpeedF(f32 i_speed) { speedF = i_speed; }
void setWalkSpeedF() { speedF = field_0x1764; }
MtxP getLeftStirrupMtx() { return field_0x570->getAnmMtx(0x17); }
MtxP getRightStirrupMtx() { return field_0x570->getAnmMtx(0x19); }
void calcWeightEnvMtx() { field_0x570->calcWeightEnvelopeMtx(); }
MtxP getLeftStirrupMtx() { return m_model->getAnmMtx(0x17); }
MtxP getRightStirrupMtx() { return m_model->getAnmMtx(0x19); }
void calcWeightEnvMtx() { m_model->calcWeightEnvelopeMtx(); }
void setReinPosNormal() { (this->*mpSetReinPosNormalFn)(); }
void setReinPosHand(int param_0) { (this->*mpSetReinPosHandFn)(param_0); }
void setReinPosNormal() { (this->*m_setReinPosNormal)(); }
void setReinPosHand(int param_0) { (this->*m_setReinPosHand)(param_0); }
u32 getShadowID() const { return mShadowID; }
u32 getShadowID() const { return m_shadowID; }
static u8 const m_footJointTable[8];
bool checkInputOnR() const { return m_padStickValue > 0.05f; }
static u16 const m_footJointTable[];
static f32 const m_callLimitDistance2;
//private:
/* 0x0568 */ u8 field_0x568[8];
/* 0x0570 */ J3DModel* field_0x570;
/* 0x0574 */ void* field_0x574;
/* 0x0578 */ J3DFrameCtrl field_0x578;
/* 0x058C */ int field_0x58c;
/* 0x0590 */ u8 field_0x590[4];
/* 0x0594 */ mDoExt_AnmRatioPack field_0x594[3];
/* 0x05AC */ void* field_0x5ac;
/* 0x05B0 */ daPy_frameCtrl_c field_0x5b0[3];
/* 0x05F8 */ u8 field_0x5f8[4];
/* 0x05FC */ dBgS_AcchCir field_0x5fc[3];
/* 0x06BC */ dBgS_Acch field_0x6bc;
/* 0x0894 */ dCcD_Stts field_0x894;
/* 0x08D0 */ dBgS_HorseLinChk field_0x8d0;
/* 0x0940 */ dCcD_Cyl field_0x940[3];
/* 0x0CF4 */ dCcD_Cyl field_0xcf4;
/* 0x0E30 */ dCcD_Cyl field_0xe30;
/* 0x0F6C */ dCcD_Sph field_0xf6c;
/* 0x10A4 */ Z2CreatureRide field_0x10a4;
/* 0x1140 */ u8 field_0x1140[0x10];
/* 0x1150 */ daHorseRein_c field_0x1150[3];
/* 0x11C8 */ u8 field_0x11c8[0x40];
/* 0x1208 */ dMsgFlow_c field_0x1208;
/* 0x1254 */ daPy_actorKeep_c mZeldaActorKeep;
/* 0x125C */ u8 field_0x125c[0xC8];
/* 0x1324 */ daHorseFootData_c mFootData[4];
/* 0x16B4 */ u8 field_0x16b4;
/* 0x16B5 */ u8 field_0x16b5[3];
/* 0x0568 */ request_of_phase_process_class m_phase;
/* 0x0570 */ J3DModel* m_model;
/* 0x0574 */ J3DModelData* m_modelData;
/* 0x0578 */ mDoExt_btpAnm m_btp;
/* 0x0590 */ mDoExt_MtxCalcAnmBlendTblOld* m_mtxcalc;
/* 0x0594 */ mDoExt_AnmRatioPack m_anmRatio[3];
/* 0x05AC */ mDoExt_MtxCalcOldFrame* m_oldFrame;
/* 0x05B0 */ daPy_frameCtrl_c m_frameCtrl[3];
/* 0x05F8 */ daHorse_hio_c* m_hio;
/* 0x05FC */ dBgS_AcchCir m_acchcir[3];
/* 0x06BC */ dBgS_HorseAcch m_acch;
/* 0x0894 */ dCcD_Stts m_cc_stts;
/* 0x08D0 */ dBgS_HorseLinChk m_linechk;
/* 0x0940 */ dCcD_Cyl m_tgco_cyl[3];
/* 0x0CF4 */ dCcD_Cyl m_boar_cyl;
/* 0x0E30 */ dCcD_Cyl m_at_cyl;
/* 0x0F6C */ dCcD_Sph m_head_sph;
/* 0x10A4 */ Z2CreatureRide m_sound;
/* 0x1140 */ void* field_0x1140;
/* 0x1144 */ daPy_frameCtrl_c* field_0x1144;
/* 0x1148 */ dPath* m_path;
/* 0x114C */ dPath* m_rodeoPath;
/* 0x1150 */ daHorseRein_c m_rein[3];
/* 0x11C8 */ mDoExt_3DlineMat1_c m_reinLine;
/* 0x1204 */ int field_0x1204;
/* 0x1208 */ dMsgFlow_c m_msgflow;
/* 0x1254 */ daPy_actorKeep_c m_zeldaActorKeep;
/* 0x125C */ daScex_c* m_scnChg_buffer[50];
/* 0x1324 */ daHorseFootData_c m_footData[4];
/* 0x16B4 */ u8 m_procID;
/* 0x16B5 */ s8 m_reverb;
/* 0x16B6 */ u8 field_0x16b6;
/* 0x16B7 */ u8 field_0x16b7;
/* 0x16B8 */ u8 field_0x16b8;
/* 0x16B9 */ u8 field_0x16b9[2];
/* 0x16BB */ u8 mRodeoPointCnt;
/* 0x16B9 */ u8 m_poly_sound;
/* 0x16BA */ u8 m_rodeoPoint;
/* 0x16BB */ u8 m_rodeoPointCnt;
/* 0x16BC */ u8 field_0x16bc;
/* 0x16BD */ u8 field_0x16bd[0x16C4 - 0x16BD];
/* 0x16C4 */ u16 mAnmIdx[3];
/* 0x16CA */ u8 field_0x16ca[0x16F2 - 0x16CA];
/* 0x16F2 */ s16 mAimNeckAngleY;
/* 0x16F4 */ u8 field_0x16f4[0x8];
/* 0x16FC */ s16 mDemoMoveAngle;
/* 0x16FE */ u8 field_0x16fe[4];
/* 0x16BD */ u8 field_0x16bd;
/* 0x16BE */ s8 m_scnChg_num;
/* 0x16C0 */ u16 m_flowID;
/* 0x16C2 */ s16 field_0x16c2;
/* 0x16C4 */ u16 m_anmIdx[3];
/* 0x16CA */ u8 field_0x16ca[0x16CE - 0x16CA];
/* 0x16CE */ s16 field_0x16ce;
/* 0x16CE */ s16 field_0x16d0;
/* 0x16D2 */ u8 field_0x16d2[0x16D4 - 0x16D2];
/* 0x16D4 */ s16 field_0x16d4[3];
/* 0x16DA */ u8 field_0x16da[0x16E0 - 0x16DA];
/* 0x16E0 */ s16 field_0x16e0[3];
/* 0x16E6 */ u8 field_0x16e6[0x16E8 - 0x16E6];
/* 0x16E8 */ s16 field_0x16e8;
/* 0x16EA */ s16 field_0x16ea;
/* 0x16EC */ s16 m_padStickAngleY;
/* 0x16EE */ s16 m_serviceWaitTimer;
/* 0x16F0 */ s16 field_0x16f0;
/* 0x16F2 */ s16 m_aimNeckAngleY;
/* 0x16F4 */ s16 m_btpFrame;
/* 0x16F6 */ u16 field_0x16f6;
/* 0x16F8 */ s16 m_lashAccelerationTime;
/* 0x16FA */ s16 field_0x16fa;
/* 0x16FC */ s16 m_demoMoveAngle;
/* 0x16FE */ s16 m_lashRecoverTime;
/* 0x1700 */ s16 m_lashCnt;
/* 0x1702 */ s16 field_0x1702;
/* 0x1704 */ u8 field_0x1704[2];
/* 0x1706 */ s16 mCowHitAngle;
/* 0x1708 */ s16 mCowHit;
/* 0x170A */ u8 field_0x170a[0x171A - 0x170A];
/* 0x1704 */ s16 field_0x1704;
/* 0x1706 */ s16 m_cowHitAngle;
/* 0x1708 */ s16 m_cowHit;
/* 0x170A */ s16 field_0x170a;
/* 0x170C */ s16 field_0x170c;
/* 0x170E */ s16 field_0x170e;
/* 0x1710 */ s16 field_0x1710;
/* 0x1712 */ s16 field_0x1712;
/* 0x1714 */ s16 field_0x1714;
/* 0x1716 */ s16 m_callMoveTimer;
/* 0x1718 */ s16 field_0x1718;
/* 0x171A */ s16 field_0x171a;
/* 0x171C */ u8 field_0x171c[0x1720 - 0x171C];
/* 0x171C */ s16 field_0x171c;
/* 0x171E */ s16 field_0x171e;
/* 0x1720 */ s16 field_0x1720;
/* 0x1722 */ u8 field_0x1722[0x1728 - 0x1722];
/* 0x1722 */ s16 field_0x1722;
/* 0x1724 */ u8 field_0x1724[0x1728 - 0x1724];
/* 0x1728 */ int field_0x1728;
/* 0x172C */ u8 field_0x172c[0x1734 - 0x172C];
/* 0x1734 */ u32 mShadowID;
/* 0x1738 */ u8 field_0x1738[0x1740 - 0x1738];
/* 0x1740 */ u32 field_0x1740;
/* 0x1744 */ u32 mStateFlg0;
/* 0x1748 */ u32 mResetStateFlg0;
/* 0x174C */ u32 mEndResetStateFlg0;
/* 0x1750 */ f32 mMorfFrame;
/* 0x1754 */ u8 field_0x1754[0x1764 - 0x1754];
/* 0x172C */ int m_demoStaffId;
/* 0x1730 */ int field_0x1730;
/* 0x1734 */ u32 m_shadowID;
/* 0x1738 */ u32 field_0x1738[2];
/* 0x1740 */ u32 m_demoMode;
/* 0x1744 */ u32 m_stateFlg0;
/* 0x1748 */ u32 m_resetStateFlg0;
/* 0x174C */ u32 m_endResetStateFlg0;
/* 0x1750 */ f32 m_morf_frame;
/* 0x1754 */ f32 field_0x1754;
/* 0x1758 */ f32 m_padStickValue;
/* 0x175C */ f32 field_0x175c;
/* 0x1760 */ f32 field_0x1760;
/* 0x1764 */ f32 field_0x1764;
/* 0x1768 */ f32 field_0x1768;
/* 0x176C */ f32 field_0x176c;
/* 0x1770 */ f32 field_0x1770;
/* 0x1774 */ u8 field_0x1774[0x177C - 0x1774];
/* 0x1774 */ f32 field_0x1774;
/* 0x1778 */ f32 field_0x1778;
/* 0x177C */ f32 field_0x177C;
/* 0x1780 */ u8 field_0x1780[0x1788 - 0x1780];
/* 0x1788 */ f32 mDemoStickR;
/* 0x178C */ f32 mNormalMaxSpeedF;
/* 0x1790 */ f32 mLashMaxSpeedF;
/* 0x1794 */ u8 field_0x1794[0x30];
/* 0x17C4 */ cXyz mDemoPos0;
/* 0x17D0 */ u8 field_0x17d0[0x18A4 - 0x17D0];
/* 0x18A4 */ int (daHorse_c::*mpProcFn)();
/* 0x18B0 */ bool (daHorse_c::*mpCheckSpecialWallHitFn)(const cXyz&);
/* 0x18BC */ void (daHorse_c::*mpSetReinPosHandFn)(int);
/* 0x18C8 */ void (daHorse_c::*mpSetReinPosNormalFn)();
/* 0x18D4 */ int (daHorse_c::*mpCallHorseFn)(const cXyz*);
/* 0x18E0 */ int (daHorse_c::*mpSetHorsePosAngleFn)(const cXyz* i_pos, s16 i_angle);
/* 0x18EC */ void (daHorse_c::*mpOnRideFlgFn)();
/* 0x18F8 */ void (daHorse_c::*mpOffRideFlgFn)();
/* 0x1780 */ f32 field_0x1780;
/* 0x1784 */ f32 field_0x1784;
/* 0x1788 */ f32 m_demoStickR;
/* 0x178C */ f32 m_normalMaxSpeedF;
/* 0x1790 */ f32 m_lashMaxSpeedF;
/* 0x1794 */ f32 field_0x1794;
/* 0x1798 */ f32 field_0x1798;
/* 0x179C */ f32 m_lashAddSpeed;
/* 0x17A0 */ cXyz field_0x17a0;
/* 0x17AC */ cXyz m_bodyEyePos;
/* 0x17B8 */ cXyz field_0x17b8;
/* 0x17C4 */ cXyz m_demoPos0;
/* 0x17D0 */ cXyz field_0x17d0;
/* 0x17DC */ dPaPoF_c field_0x17dc;
/* 0x18A4 */ int (daHorse_c::*m_proc)();
/* 0x18B0 */ bool (daHorse_c::*m_checkSpecialWallHit)(const cXyz&) const;
/* 0x18BC */ void (daHorse_c::*m_setReinPosHand)(int);
/* 0x18C8 */ void (daHorse_c::*m_setReinPosNormal)();
/* 0x18D4 */ int (daHorse_c::*m_callHorse)(const cXyz*);
/* 0x18E0 */ int (daHorse_c::*m_setHorsePosAngle)(const cXyz* i_pos, s16 i_angle);
/* 0x18EC */ void (daHorse_c::*m_onRideFlg)();
/* 0x18F8 */ void (daHorse_c::*m_offRideFlg)();
};
class daHorse_hio_c1 {
public:
/* 0x000 */ s16 max_turn;
/* 0x002 */ s16 min_turn;
/* 0x004 */ s16 lash_acceleration_time;
/* 0x006 */ s16 jump_end_frame;
/* 0x008 */ s16 air_end_frame;
/* 0x00A */ s16 land_end_frame;
/* 0x00C */ s16 spur_recovery_time;
/* 0x00E */ s16 full_spur_recovery_time;
/* 0x010 */ s16 continuous_spur_recovery_time;
/* 0x012 */ s16 cliff_jump_end_frame;
/* 0x014 */ s16 cliff_air_end_frame;
/* 0x016 */ s16 cliff_land_end_frame;
/* 0x018 */ s16 min_jump_time;
/* 0x01A */ s16 kakariko_lash_acceleration_time;
/* 0x01C */ f32 max_speed;
/* 0x020 */ f32 wait_anm_speed;
/* 0x024 */ f32 walk_anm_speed;
/* 0x028 */ f32 fast_walk_anm_speed;
/* 0x02C */ f32 run_anm_speed;
/* 0x030 */ f32 fast_run_anm_speed;
/* 0x034 */ f32 backwalk_anm_speed;
/* 0x038 */ f32 wait_to_walk_rate;
/* 0x03C */ f32 walk_to_fastwalk_rate;
/* 0x040 */ f32 fastwalk_to_run_rate;
/* 0x044 */ f32 run_to_fastrun_rate;
/* 0x048 */ f32 walk_run_interpolation;
/* 0x04C */ f32 acceleration;
/* 0x050 */ f32 deceleration;
/* 0x054 */ f32 stopping_deceleration;
/* 0x058 */ f32 max_backward_speed;
/* 0x05C */ f32 max_backward_acceleration;
/* 0x060 */ f32 backward_idle_to_walk_rate;
/* 0x064 */ f32 faststop_anm_speed;
/* 0x068 */ f32 faststop_stand_anm_speed;
/* 0x06C */ f32 faststop_interpolation;
/* 0x070 */ f32 fast_stop_cancel_frame;
/* 0x074 */ f32 faststop_deceleration_slow;
/* 0x078 */ f32 faststop_deceleration;
/* 0x07C */ f32 stand_anm_speed;
/* 0x080 */ f32 stand_interpolation;
/* 0x084 */ f32 faststop_stand_cancel_frame;
/* 0x088 */ f32 stand_cancel_frame;
/* 0x08C */ f32 add_lash_speed;
/* 0x090 */ f32 lash_acceleration;
/* 0x094 */ f32 min_lash_speed;
/* 0x098 */ f32 jump_anm_speed;
/* 0x09C */ f32 jump_start_frame;
/* 0x0A0 */ f32 jump_interpolation;
/* 0x0A4 */ f32 air_start_frame;
/* 0x0A8 */ f32 air_interpolation;
/* 0x0AC */ f32 land_anm_speed;
/* 0x0B0 */ f32 land_start_frame;
/* 0x0B4 */ f32 land_interpolation;
/* 0x0B8 */ f32 land_cancel_frame;
/* 0x0BC */ f32 cliff_rise_rate;
/* 0x0C0 */ f32 boar_jump_horizontal;
/* 0x0C4 */ f32 boar_jump_height;
/* 0x0C8 */ f32 water_depth_limit;
/* 0x0CC */ f32 enemy_search_range;
/* 0x0D0 */ f32 m0D0;
/* 0x0D4 */ f32 floor_angle_limit;
/* 0x0D8 */ f32 dash_anm_speed;
/* 0x0DC */ f32 field_0xdc;
/* 0x0E0 */ f32 walk_min_speed;
/* 0x0E4 */ f32 cliff_jump_anm_speed;
/* 0x0E8 */ f32 cliff_jump_start_frame;
/* 0x0EC */ f32 cliff_jump_interpolation;
/* 0x0F0 */ f32 cliff_air_anm_speed;
/* 0x0F4 */ f32 cliff_air_start_frame;
/* 0x0F8 */ f32 cliff_air_interpolation;
/* 0x0FC */ f32 cliff_land_anm_speed;
/* 0x100 */ f32 cliff_land_start_frame;
/* 0x104 */ f32 cliff_land_interpolation;
/* 0x108 */ f32 cliff_land_cancel_frame;
/* 0x10C */ f32 cliff_jump_horizontal;
/* 0x110 */ f32 cliff_jump_vertical;
/* 0x114 */ f32 kakariko_max_speed;
/* 0x118 */ f32 kakariko_run_anm_speed;
/* 0x11C */ f32 kakariko_fastrun_anm_speed;
/* 0x120 */ f32 kakariko_add_lash_speed;
};
class daHorse_hio_c0 {
public:
static u8 const m[292];
static const daHorse_hio_c1 m;
};
class dBgS_HorseAcch {
class daHorse_hio_c {
public:
/* 80845274 */ ~dBgS_HorseAcch();
};
#endif /* D_A_HORSE_H */

View File

@ -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;

View File

@ -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); }

View File

@ -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;

View File

@ -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;

View File

@ -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 */

View File

@ -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();
}

View File

@ -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();

View File

@ -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; }

View File

@ -86,63 +86,6 @@ public:
dBgS& dComIfG_Bgsp();
class fopAcM_lc_c {
public:
fopAcM_lc_c() { mLineCheck.ClrSttsRoofOff(); }
static dBgS_ObjLinChk* getLineCheck() { return &mLineCheck; }
static bool checkMoveBG() { return dComIfG_Bgsp().ChkMoveBG(mLineCheck); }
static cXyz* getCrossP() { return mLineCheck.GetCrossP(); }
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
static bool getTriPla(cM3dGPla* o_tri) { return dComIfG_Bgsp().GetTriPla(mLineCheck, o_tri); }
static bool checkWallHit() {
cM3dGPla poly;
getTriPla(&poly);
return cBgW_CheckBWall(poly.mNormal.y);
}
static dBgS_ObjLinChk mLineCheck;
};
class dBgS_RoofChk;
class fopAcM_rc_c {
public:
static dBgS_ObjRoofChk* getRoofCheck() { return &mRoofCheck; }
static f32 getRoofY() { return mRoofY; }
static bool roofCheck(const cXyz*);
static dBgS_ObjRoofChk mRoofCheck;
static f32 mRoofY;
};
class dBgS_GndChk;
class fopAcM_gc_c {
public:
static bool gndCheck(const cXyz*);
static dBgS_ObjGndChk mGndCheck;
static f32 mGroundY;
static bool getTriPla(cM3dGPla* i_plane) {
return dComIfG_Bgsp().GetTriPla(mGndCheck, i_plane);
}
static int getRoomId() { return dComIfG_Bgsp().GetRoomId(mGndCheck); }
static int getPolyColor() { return dComIfG_Bgsp().GetPolyColor(mGndCheck); }
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(mGndCheck); }
static dBgS_ObjGndChk* getGroundCheck() { return &mGndCheck; }
static f32 getGroundY() { return mGroundY; }
};
class fopAcM_wt_c {
public:
static dBgS_WtrChk* getWaterCheck() { return &mWaterCheck; }
static f32 getWaterY() { return mWaterY; }
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(mWaterCheck); }
static bool waterCheck(const cXyz*);
static dBgS_WtrChk mWaterCheck;
static f32 mWaterY;
};
class dKy_tevstr_c;
class cBgS_PolyInfo;
typedef int (*heapCallbackFunc)(fopAc_ac_c*);
@ -796,4 +739,69 @@ inline void fopAcM_setWarningMessage_f(const fopAc_ac_c* i_actor, const char* i_
#define fopAcM_setWarningMessage(...)
#endif
class fopAcM_lc_c {
public:
fopAcM_lc_c() { mLineCheck.ClrSttsRoofOff(); }
static dBgS_ObjLinChk* getLineCheck() { return &mLineCheck; }
static bool checkMoveBG() { return dComIfG_Bgsp().ChkMoveBG(mLineCheck); }
static cXyz* getCrossP() { return mLineCheck.GetCrossP(); }
static bool lineCheck(const cXyz*, const cXyz*, const fopAc_ac_c*);
static bool getTriPla(cM3dGPla* o_tri) { return dComIfG_Bgsp().GetTriPla(mLineCheck, o_tri); }
static bool checkWallHit() {
cM3dGPla poly;
getTriPla(&poly);
return cBgW_CheckBWall(poly.mNormal.y);
}
static dBgS_ObjLinChk mLineCheck;
};
class dBgS_RoofChk;
class fopAcM_rc_c {
public:
static dBgS_ObjRoofChk* getRoofCheck() { return &mRoofCheck; }
static f32 getRoofY() { return mRoofY; }
static bool roofCheck(const cXyz*);
static dBgS_ObjRoofChk mRoofCheck;
static f32 mRoofY;
};
class dBgS_GndChk;
class fopAcM_gc_c {
public:
static bool gndCheck(const cXyz*);
static dBgS_ObjGndChk mGndCheck;
static f32 mGroundY;
static bool getTriPla(cM3dGPla* i_plane) {
return dComIfG_Bgsp().GetTriPla(mGndCheck, i_plane);
}
static s16 getGroundAngleDirection(s16 param_0) {
cM3dGPla spC;
getTriPla(&spC);
return fopAcM_getPolygonAngle(&spC, param_0);
}
static int getRoomId() { return dComIfG_Bgsp().GetRoomId(mGndCheck); }
static int getPolyColor() { return dComIfG_Bgsp().GetPolyColor(mGndCheck); }
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(mGndCheck); }
static int getHorseNoEntry() { return dComIfG_Bgsp().GetHorseNoEntry(mGndCheck); }
static dBgS_ObjGndChk* getGroundCheck() { return &mGndCheck; }
static f32 getGroundY() { return mGroundY; }
};
class fopAcM_wt_c {
public:
static dBgS_WtrChk* getWaterCheck() { return &mWaterCheck; }
static f32 getWaterY() { return mWaterY; }
static int getPolyAtt0() { return dComIfG_Bgsp().GetPolyAtt0(mWaterCheck); }
static bool waterCheck(const cXyz*);
static dBgS_WtrChk mWaterCheck;
static f32 mWaterY;
};
#endif

View File

@ -40,6 +40,8 @@ inline BOOL checkEqual(s32 a, s32 b) {
#define FAST_DIV(x, n) (x >> (n / 2))
#define SQUARE(x) ((x) * (x))
// hack to make strings with no references compile properly
#define DEAD_STRING(s) OSReport(s)

View File

@ -187,6 +187,8 @@ public:
int remove(J3DModelData* i_modelData) { return i_modelData->removeTexNoAnimator(mpAnm); }
J3DAnmTexPattern* getBtpAnm() const { return mpAnm; }
private:
/* 0x14 */ J3DAnmTexPattern* mpAnm;
};
@ -210,8 +212,11 @@ class J3DTransformInfo;
class mDoExt_AnmRatioPack {
public:
/* 80140DF0 */ ~mDoExt_AnmRatioPack();
/* 80140E2C */ mDoExt_AnmRatioPack();
~mDoExt_AnmRatioPack() {}
mDoExt_AnmRatioPack() {
mRatio = 0.0f;
mAnmTransform = NULL;
}
void setRatio(f32 ratio) { mRatio = ratio; }
f32 getRatio() { return mRatio; }

View File

@ -13046,9 +13046,9 @@ BOOL daAlink_c::checkItemAction() {
if (mEquipItem == 0x103) {
daPy_frameCtrl_c* frame_ctrl = &mUpperFrameCtrl[2];
if ((checkUpperAnime(0x80) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaL_c0::m.mCutAnm.mCheckFrame) ||
(checkUpperAnime(0x81) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaR_c0::m.mCutAnm.mCheckFrame) ||
(checkUpperAnime(0x82) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaCharge_c0::m.mCutAnm.mCheckFrame) ||
if ((checkUpperAnime(0x80) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaL_c0::m.mCutAnm.mCancelFrame) ||
(checkUpperAnime(0x81) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaR_c0::m.mCutAnm.mCancelFrame) ||
(checkUpperAnime(0x82) && frame_ctrl->getFrame() <= daAlinkHIO_cutDaCharge_c0::m.mCutAnm.mCancelFrame) ||
checkModeFlg(0x40000))
{
return false;
@ -13791,25 +13791,25 @@ void daAlink_c::setItemAction() {
setCopyRodControllUpperSpeedRate();
}
} else if (checkBoomerangCatchAnime()) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame)) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame)) {
resetUpperAnime(UPPER_2, 3.0f);
} else if (frame_ctrl->getFrame() >= 20.0f) {
field_0x2f97 = 6;
}
} else if (checkBoomerangThrowAnime()) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mThrowAnm.mCheckFrame)) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mThrowAnm.mCancelFrame)) {
resetUpperAnime(UPPER_2, 3.0f);
} else if (frame_ctrl->checkPass(5.5f)) {
throwBoomerang();
}
} else if (checkCopyRodThrowAnime()) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mThrowAnm.mCheckFrame)) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_boom_c0::m.mThrowAnm.mCancelFrame)) {
resetUpperAnime(UPPER_2, 3.0f);
} else if (frame_ctrl->checkPass(6.5f)) {
throwCopyRod();
}
} else if (checkKandelaarSwingAnime()) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_kandelaar_c0::m.mShakeAnm.mCheckFrame)) {
if (checkAnmEnd(frame_ctrl) || (checkInputOnR() && frame_ctrl->getFrame() > daAlinkHIO_kandelaar_c0::m.mShakeAnm.mCancelFrame)) {
resetUpperAnime(UPPER_2, 3.0f);
}
} else if (checkEquipAnime()) {

View File

@ -313,7 +313,7 @@ void daAlink_c::checkUpperItemActionBoomerangFly() {
/* 800E0BE4-800E0D8C 0DB524 01A8+00 4/4 0/0 0/0 .text checkNextActionBoomerang__9daAlink_cFv */
int daAlink_c::checkNextActionBoomerang() {
if ((checkBoomerangCatchAnime() &&
mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) ||
mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame) ||
checkNoResetFlg1(FLG1_UNK_2)) {
return 0;
}
@ -495,7 +495,7 @@ int daAlink_c::procBoomerangCatch() {
daPy_frameCtrl_c* frameCtrl = mUnderFrameCtrl;
onEndResetFlg0(ERFLG0_UNK_8000000);
if (frameCtrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) {
if (frameCtrl->getFrame() > daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame) {
onModeFlg(4);
}

View File

@ -604,7 +604,7 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) {
}
}
field_0x3478 = daAlinkHIO_bottle_c0::m.mScoopAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_bottle_c0::m.mScoopAnm.mCancelFrame;
field_0x347c = 14.0f;
if (var_r31 != NULL) {
@ -620,11 +620,11 @@ int daAlink_c::procBottleSwingInit(fopAc_ac_c* param_0, int param_1) {
}
} else if (temp_r3) {
setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm);
field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingDownAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingDownAnm.mCancelFrame;
field_0x347c = 8.0f;
} else {
setSingleAnimeParam(ANM_BOTTLE_SWING, &daAlinkHIO_bottle_c0::m.mSwingSideAnm);
field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingSideAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingSideAnm.mCancelFrame;
field_0x347c = 4.0f;
}

View File

@ -424,7 +424,7 @@ BOOL daAlink_c::checkUpperItemActionBow() {
}
if (checkAnmEnd(&mUpperFrameCtrl[2]) ||
(mUpperFrameCtrl[2].getFrame() > daAlinkHIO_bow_c0::m.mShootAnm.mCheckFrame &&
(mUpperFrameCtrl[2].getFrame() > daAlinkHIO_bow_c0::m.mShootAnm.mCancelFrame &&
itemButton()))
{
setBowReadyAnime();

View File

@ -251,7 +251,7 @@ void daAlink_c::checkUpperItemActionCopyRodFly() {
/* 800E1C44-800E1D6C 0DC584 0128+00 2/2 0/0 0/0 .text checkNextActionCopyRod__9daAlink_cFv */
int daAlink_c::checkNextActionCopyRod() {
if ((checkBoomerangCatchAnime() &&
mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCheckFrame) ||
mUpperFrameCtrl[2].getFrame() <= daAlinkHIO_boom_c0::m.mCatchAnm.mCancelFrame) ||
checkNoResetFlg1(FLG1_UNK_10000)) {
return 0;
}
@ -386,13 +386,13 @@ int daAlink_c::procCopyRodSwingInit() {
setSingleAnimeParam(ANM_COPYROD_SWING_LARGE, &daAlinkHIO_copyRod_c0::m.mBigSwingAnm);
field_0x3478 = 13.0f;
field_0x347c = 21.0f;
field_0x3480 = daAlinkHIO_copyRod_c0::m.mBigSwingAnm.mCheckFrame;
field_0x3480 = daAlinkHIO_copyRod_c0::m.mBigSwingAnm.mCancelFrame;
field_0x3484 = 27.0f;
} else {
setSingleAnimeParam(ANM_COPYROD_SWING, &daAlinkHIO_copyRod_c0::m.mSwingAnm);
field_0x3478 = 4.0f;
field_0x347c = 8.0f;
field_0x3480 = daAlinkHIO_copyRod_c0::m.mSwingAnm.mCheckFrame;
field_0x3480 = daAlinkHIO_copyRod_c0::m.mSwingAnm.mCancelFrame;
field_0x3484 = 14.0f;
}

View File

@ -482,10 +482,10 @@ int daAlink_c::procCrawlStartInit() {
current.pos.x = field_0x34ec.x + (35.0f * cM_ssin(field_0x306e));
current.pos.z = field_0x34ec.z + (35.0f * cM_scos(field_0x306e));
if (daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mCheckFrame > daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mEndFrame) {
if (daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mCancelFrame > daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mEndFrame) {
field_0x347c = daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mEndFrame;
} else {
field_0x347c = daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mCheckFrame;
field_0x347c = daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mCancelFrame;
}
field_0x3478 = 1.0f / (field_0x347c - daAlinkHIO_crouch_c0::m.mCrawlStartAnm.mStartFrame);
@ -819,8 +819,8 @@ int daAlink_c::procCrawlEndInit(int param_0, s16 param_1, s16 param_2) {
shape_angle.x = param_1;
shape_angle.z = param_2;
if (temp_r30->mCheckFrame > temp_r30->mStartFrame) {
field_0x347c = temp_r30->mCheckFrame;
if (temp_r30->mCancelFrame > temp_r30->mStartFrame) {
field_0x347c = temp_r30->mCancelFrame;
} else {
field_0x347c = temp_r30->mStartFrame;
}
@ -841,7 +841,7 @@ int daAlink_c::procCrawlEnd() {
if (!checkNextActionFromCrouch(0)) {
procWaitInit();
}
} else if (frame_ctrl->getFrame() < daAlinkHIO_crouch_c0::m.mCrawlEndAnm.mCheckFrame) {
} else if (frame_ctrl->getFrame() < daAlinkHIO_crouch_c0::m.mCrawlEndAnm.mCancelFrame) {
checkNextActionFromCrouch(1);
}

View File

@ -846,7 +846,7 @@ int daAlink_c::procCutNormalInit(int i_type) {
field_0x3480 *= mHeavySpeedMultiplier;
}
field_0x3484 = cutData->mCutAnm.mCheckFrame;
field_0x3484 = cutData->mCutAnm.mCancelFrame;
f32 morf;
if (!checkZoraWearAbility() && checkNoResetFlg0(FLG0_UNDERWATER)) {
@ -1045,7 +1045,7 @@ int daAlink_c::procCutFinishInit(int i_type) {
daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius);
field_0x32d0 = Z2SE_AL_SWORD_SWING_S;
} else {
field_0x3484 = cutData->mCutAnm.mCheckFrame;
field_0x3484 = cutData->mCutAnm.mCancelFrame;
mProcVar0.field_0x3008 = cutData->mStopTime;
setSwordAtParam(dCcG_At_Spl_UNK_1, 3, cutParams->m_atSe, (var_r30 ? TRUE : FALSE) + 3,
daAlinkHIO_cut_c0::m.mSwordLength, daAlinkHIO_cut_c0::m.mSwordRadius);
@ -1267,7 +1267,7 @@ int daAlink_c::procCutFinishJumpUpLandInit() {
field_0x3484 = daAlinkHIO_cutFnJU_c0::m.mComboCheckFrame;
mProcVar0.field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mComboStopTime;
} else {
field_0x3484 = daAlinkHIO_cutFnJU_c0::m.mLandAnm.mCheckFrame;
field_0x3484 = daAlinkHIO_cutFnJU_c0::m.mLandAnm.mCancelFrame;
mProcVar0.field_0x3008 = daAlinkHIO_cutFnJU_c0::m.mStopTime;
}
@ -1338,13 +1338,13 @@ int daAlink_c::procCutReverseInit(daAlink_c::daAlink_ANM i_anmID) {
if (i_anmID == ANM_SHIELD_ATTACK_RECOIL) {
setSingleAnimeParam(i_anmID, &daAlinkHIO_guard_c0::m.mRecoilAnm);
mProcVar2.field_0x300c = 1;
field_0x3478 = daAlinkHIO_guard_c0::m.mRecoilAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_guard_c0::m.mRecoilAnm.mCancelFrame;
field_0x2f98 = 2;
setUpperGuardAnime(-1.0f);
} else {
setSingleAnimeParam(i_anmID, &daAlinkHIO_cut_c0::m.mRecoilAnm);
mProcVar2.field_0x300c = 0;
field_0x3478 = daAlinkHIO_cut_c0::m.mRecoilAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_cut_c0::m.mRecoilAnm.mCancelFrame;
field_0x2f98 = 4;
}
@ -1509,7 +1509,7 @@ int daAlink_c::procCutJumpLand() {
{
procCutTurnInit(1, field_0x3198);
} else {
if (frameCtrl->getFrame() > daAlinkHIO_cutJump_c0::m.mLandAnm.mCheckFrame) {
if (frameCtrl->getFrame() > daAlinkHIO_cutJump_c0::m.mLandAnm.mCancelFrame) {
onModeFlg(4);
if (checkNextAction(1)) {
@ -1569,7 +1569,7 @@ int daAlink_c::procCutTurnInit(int param_0, int param_1) {
mProcVar1.field_0x300a = 8;
}
field_0x3480 = anm_data->mCheckFrame;
field_0x3480 = anm_data->mCancelFrame;
resetCombo(1);
f32 morf;
@ -2065,7 +2065,7 @@ int daAlink_c::procCutDownLand() {
seStartSwordCut(Z2SE_SWORD_STICK_PULLOUT);
}
if (frameCtrl_p->getFrame() > daAlinkHIO_cutDown_c0::m.mMissAnm.mCheckFrame) {
if (frameCtrl_p->getFrame() > daAlinkHIO_cutDown_c0::m.mMissAnm.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
}
@ -2186,7 +2186,7 @@ int daAlink_c::procCutHeadLand() {
} else {
checkNextAction(0);
}
} else if (frameCtrl->getFrame() > daAlinkHIO_cutHead_c0::m.mLandAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_cutHead_c0::m.mLandAnm.mCancelFrame) {
checkNextAction(1);
}
@ -2366,7 +2366,7 @@ int daAlink_c::procCutLargeJumpLand() {
field_0x3198 != 2)
{
procCutTurnInit(1, field_0x3198);
} else if (frameCtrl->getFrame() > daAlinkHIO_cutLargeJump_c0::m.mLandAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_cutLargeJump_c0::m.mLandAnm.mCancelFrame) {
checkNextAction(1);
} else if (frameCtrl->getFrame() < daAlinkHIO_cutLargeJump_c0::m.mLandAttackEndFrame) {
onResetFlg0(RFLG0_UNK_2);

View File

@ -852,16 +852,16 @@ int daAlink_c::procDamageInit(dCcD_GObjInf* param_0, int param_1) {
int direction = getDirectionFromAngle(cM_atan2s(-sp88.x, -sp88.z));
if (direction == DIR_FORWARD) {
setSingleAnimeParam(ANM_DMG_SMALL_A, &daAlinkHIO_damNormal_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x0.mCancelFrame;
} else if (direction == DIR_BACKWARD) {
setSingleAnimeParam(ANM_DMG_SMALL_B, &daAlinkHIO_damNormal_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x14.mCancelFrame;
} else if (direction == DIR_LEFT) {
setSingleAnimeParam(ANM_DMG_SMALL_LEFT, &daAlinkHIO_damNormal_c0::m.field_0x28);
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x28.mCheckFrame;
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x28.mCancelFrame;
} else {
setSingleAnimeParam(ANM_DMG_SMALL_RIGHT, &daAlinkHIO_damNormal_c0::m.field_0x3C);
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x3C.mCheckFrame;
field_0x3478 = daAlinkHIO_damNormal_c0::m.field_0x3C.mCancelFrame;
}
current.angle.y = var_r29->atan2sX_Z();
@ -1271,7 +1271,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
setSingleAnimeBase(ANM_DMG_FBW);
field_0x32cc = 0x88;
field_0x3478 = var_r30->field_0x14.mCheckFrame;
field_0x3478 = var_r30->field_0x14.mCancelFrame;
field_0x3480 = 39.0f;
field_0x3484 = 1000.0f;
} else if (param_0 < 0) {
@ -1289,7 +1289,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
var_f31 = 1.0f;
mProcVar0.field_0x3008 = -1;
field_0x3478 = var_r30->field_0x0.mCheckFrame;
field_0x3478 = var_r30->field_0x0.mCancelFrame;
field_0x3480 = 39.0f;
field_0x2f9d = 4;
field_0x3484 = 18.0f;
@ -1304,7 +1304,7 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
var_r28 = ANM_DMG_LARGE_LAND;
var_f29 = 9.0f;
var_r27 = -1;
field_0x3478 = var_r30->field_0x14.mCheckFrame;
field_0x3478 = var_r30->field_0x14.mCancelFrame;
if (param_0 == -5 && mDemo.getParam1() > 0) {
mProcVar0.field_0x3008 = mDemo.getParam1();
@ -1333,26 +1333,26 @@ int daAlink_c::procLargeDamageUpInit(int param_0, int param_1, s16 param_2, s16
if (param_0 == 0x84) {
setSingleAnimeParam(ANM_DMG_LARGE_LAND, &var_r30->field_0x14);
field_0x3478 = var_r30->field_0x14.mCheckFrame;
field_0x3478 = var_r30->field_0x14.mCancelFrame;
mProcVar1.field_0x300a = 1;
field_0x3480 = 39.0f;
field_0x32cc = 0x88;
field_0x3484 = 9.0f;
} else if (param_0 == 0x85) {
setSingleAnimeParam(ANM_DMG_AIR_LEFT_LAND, &var_r30->field_0x28);
field_0x3478 = var_r30->field_0x28.mCheckFrame;
field_0x3478 = var_r30->field_0x28.mCancelFrame;
field_0x3480 = 29.0f;
field_0x32cc = 0x89;
field_0x3484 = 6.0f;
} else if (param_0 == 0x86) {
setSingleAnimeParam(ANM_DMG_AIR_RIGHT_LAND, &var_r30->field_0x3C);
field_0x3478 = var_r30->field_0x3C.mCheckFrame;
field_0x3478 = var_r30->field_0x3C.mCancelFrame;
field_0x3480 = 29.0f;
field_0x32cc = 0x8A;
field_0x3484 = 6.0f;
} else {
setSingleAnimeParam(ANM_DMG_AIR_LAND, &var_r30->field_0x0);
field_0x3478 = var_r30->field_0x0.mCheckFrame;
field_0x3478 = var_r30->field_0x0.mCancelFrame;
field_0x3480 = 39.0f;
field_0x32cc = 0x87;
field_0x3484 = 18.0f;
@ -1547,10 +1547,10 @@ int daAlink_c::procCoPolyDamageInit() {
if (checkWolf()) {
setSingleAnimeWolfParam(WANM_DMG_SMALL, &daAlinkHIO_wlDamage_c0::m.field_0x14);
voiceStart(Z2SE_WL_V_DAMAGE);
field_0x3478 = daAlinkHIO_wlDamage_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_wlDamage_c0::m.field_0x14.mCancelFrame;
} else {
setSingleAnimeParam(ANM_DMG, &daAlinkHIO_damage_c0::m.mFloorDmgAnm);
field_0x3478 = daAlinkHIO_damage_c0::m.mFloorDmgAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_damage_c0::m.mFloorDmgAnm.mCancelFrame;
}
mNormalSpeed = 0.0f;
@ -1627,7 +1627,7 @@ int daAlink_c::procLandDamage() {
if (field_0x3198 != 0) {
if (frameCtrl->checkAnmEnd()) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_damFall_c0::m.mStandAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_damFall_c0::m.mStandAnm.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
}
@ -1786,7 +1786,7 @@ int daAlink_c::procStEscape() {
if (frameCtrl->checkAnmEnd()) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_damCaught_c0::m.field_0x0.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_damCaught_c0::m.field_0x0.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
}

View File

@ -780,7 +780,7 @@ int daAlink_c::procGrabReady() {
if (checkAnmEnd(&mUnderFrameCtrl[0])) {
if (field_0x3198 != 0) {
setSingleAnime(ANM_PICK_UP_LARGE_START, daAlinkHIO_grab_c0::m.field_0x78.mSpeed, daAlinkHIO_grab_c0::m.field_0x78.mStartFrame, daAlinkHIO_grab_c0::m.field_0x78.mCheckFrame, daAlinkHIO_grab_c0::m.field_0x78.mInterpolation);
setSingleAnime(ANM_PICK_UP_LARGE_START, daAlinkHIO_grab_c0::m.field_0x78.mSpeed, daAlinkHIO_grab_c0::m.field_0x78.mStartFrame, daAlinkHIO_grab_c0::m.field_0x78.mCancelFrame, daAlinkHIO_grab_c0::m.field_0x78.mInterpolation);
field_0x3198 = 0;
} else {
procGrabUpInit();
@ -833,7 +833,7 @@ int daAlink_c::procGrabUp() {
return checkNextAction(0);
}
if (checkAnmEnd(temp_r29) || (checkInputOnR() && (temp_r29->getFrame() > daAlinkHIO_grab_c0::m.field_0x14.mCheckFrame))) {
if (checkAnmEnd(temp_r29) || (checkInputOnR() && (temp_r29->getFrame() > daAlinkHIO_grab_c0::m.field_0x14.mCancelFrame))) {
onResetFlg0(RFLG0_GRAB_UP_END);
if (fopAcM_CheckCarryType(temp_r3, fopAcM_CARRY(fopAcM_CARRY_UNK_40 | fopAcM_CARRY_HEAVY | fopAcM_CARRY_TYPE_1))) {
@ -895,7 +895,7 @@ int daAlink_c::procGrabThrowInit(int param_0) {
if (checkGrabHeavyActor()) {
setSingleAnimeParam(ANM_THROW_HEAVY, &daAlinkHIO_grab_c0::m.field_0xC8);
field_0x343c = 14.0f;
field_0x347c = daAlinkHIO_grab_c0::m.field_0xC8.mCheckFrame;
field_0x347c = daAlinkHIO_grab_c0::m.field_0xC8.mCancelFrame;
mProcVar2.field_0x300c = 2;
} else if (checkGrabSideActor()) {
f32 var_f31;
@ -908,12 +908,12 @@ int daAlink_c::procGrabThrowInit(int param_0) {
setSingleAnimeBaseSpeed(ANM_ATN_WAIT_RIGHT, var_f31, daAlinkHIO_basic_c0::m.mAnmBlendFactor);
setUpperAnimeParam(0x51, UPPER_0, &daAlinkHIO_grab_c0::m.field_0xB4);
field_0x343c = 4.0f;
field_0x347c = daAlinkHIO_grab_c0::m.field_0xB4.mCheckFrame;
field_0x347c = daAlinkHIO_grab_c0::m.field_0xB4.mCancelFrame;
mProcVar2.field_0x300c = 1;
} else {
setSingleAnimeParam(ANM_THROW, &daAlinkHIO_grab_c0::m.field_0x3C);
field_0x343c = 5.0f;
field_0x347c = daAlinkHIO_grab_c0::m.field_0x3C.mCheckFrame;
field_0x347c = daAlinkHIO_grab_c0::m.field_0x3C.mCancelFrame;
mProcVar2.field_0x300c = 0;
}
@ -1143,7 +1143,7 @@ int daAlink_c::procGrabRebound() {
setWaterInAnmRate(temp_r30, daAlinkHIO_grab_c0::m.field_0x64.mSpeed);
field_0x3198 = 0;
}
} else if (checkAnmEnd(temp_r30) || (checkInputOnR() && (temp_r30->getFrame() > daAlinkHIO_grab_c0::m.field_0x64.mCheckFrame))) {
} else if (checkAnmEnd(temp_r30) || (checkInputOnR() && (temp_r30->getFrame() > daAlinkHIO_grab_c0::m.field_0x64.mCancelFrame))) {
initGrabNextMode();
}
@ -1156,13 +1156,13 @@ int daAlink_c::procGrabStandInit() {
if (checkUnderMove0BckNoArc(ANM_CARRY)) {
setSingleAnime(ANM_CARRY, daAlinkHIO_grab_c0::m.field_0xA0.mSpeed, daAlinkHIO_grab_c0::m.field_0xA0.mStartFrame, (9.0f + daAlinkHIO_grab_c0::m.field_0xA0.mSpeed), 0.0f);
field_0x3478 = daAlinkHIO_grab_c0::m.field_0xA0.mCheckFrame;
field_0x3478 = daAlinkHIO_grab_c0::m.field_0xA0.mCancelFrame;
field_0x347c = 1.0f / (9.0f - daAlinkHIO_grab_c0::m.field_0xA0.mStartFrame);
mProcVar3.field_0x300e = 1;
setCarryArmAngle(1.0f, 0.0f);
} else {
setSingleAnimeParam(ANM_GRAB_UP_START, &daAlinkHIO_grab_c0::m.field_0x28);
field_0x3478 = daAlinkHIO_grab_c0::m.field_0x28.mCheckFrame;
field_0x3478 = daAlinkHIO_grab_c0::m.field_0x28.mCancelFrame;
mProcVar3.field_0x300e = 0;
}
@ -1329,7 +1329,7 @@ int daAlink_c::procPickUp() {
}
} else if (checkAnmEnd(temp_r30)) {
checkNextAction(0);
} else if (temp_r30->getFrame() > daAlinkHIO_pickUp_c0::m.field_0x0.mCheckFrame) {
} else if (temp_r30->getFrame() > daAlinkHIO_pickUp_c0::m.field_0x0.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
} else if (temp_r30->checkPass(9.0f)) {
@ -1388,7 +1388,7 @@ int daAlink_c::procPickPut() {
if (checkAnmEnd(temp_r28)) {
checkNextAction(0);
} else if (temp_r28->getFrame() < daAlinkHIO_pickUp_c0::m.field_0x14.mCheckFrame) {
} else if (temp_r28->getFrame() < daAlinkHIO_pickUp_c0::m.field_0x14.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
} else if (temp_r28->checkPass(9.0f)) {
@ -1513,7 +1513,7 @@ int daAlink_c::procFmChainUp() {
setGrabStatus(0x96, 2);
setShapeAngleToAtnActor(0);
if (checkAnmEnd(temp_r29) || (checkInputOnR() && temp_r29->getFrame() > daAlinkHIO_fmChain_c0::m.field_0x0.mCheckFrame)) {
if (checkAnmEnd(temp_r29) || (checkInputOnR() && temp_r29->getFrame() > daAlinkHIO_fmChain_c0::m.field_0x0.mCancelFrame)) {
u8 temp_r27 = field_0x2fa3;
fopAc_ac_c* temp_r28 = field_0x2844.getActor();

View File

@ -412,7 +412,7 @@ int daAlink_c::procGuardAttackInit() {
field_0x3484 = 1000.0f;
field_0x3488 = 1000.0f;
} else {
field_0x3484 = temp_r30->mAttackAnm.mCheckFrame;
field_0x3484 = temp_r30->mAttackAnm.mCancelFrame;
field_0x3488 = temp_r30->mSlashCheckFrame;
}
@ -537,7 +537,7 @@ int daAlink_c::procGuardBreak() {
onEndResetFlg1(ERFLG1_UNK_20);
}
checkNextAction(0);
} else if (temp_r30->getFrame() > daAlinkHIO_guard_c0::m.mGuardBreakAnm.mCheckFrame) {
} else if (temp_r30->getFrame() > daAlinkHIO_guard_c0::m.mGuardBreakAnm.mCancelFrame) {
if (!checkGuardActionChange()) {
onEndResetFlg1(ERFLG1_UNK_20);
}
@ -660,7 +660,7 @@ int daAlink_c::procTurnMove() {
procCutFinishJumpUpInit();
dComIfGp_setPlayerStatus0(0, 4);
} else {
if (temp_r30->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCheckFrame) {
if (temp_r30->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCancelFrame) {
onModeFlg(4);
if (checkNextAction(1)) {

View File

@ -291,11 +291,11 @@ int daAlink_c::procHangStartInit() {
if (checkHangFootWall()) {
if (!hang_ready && cM_rnd() < 0.7f) {
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCancelFrame;
voiceStart(Z2SE_AL_V_FOOT_MISS);
} else {
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCancelFrame;
voiceStart(Z2SE_AL_V_JUMP_HANG);
}
@ -303,7 +303,7 @@ int daAlink_c::procHangStartInit() {
field_0x2f93 = 0xFE;
} else {
setSingleAnimeParam(ANM_HANG_READY, &daAlinkHIO_wallCatch_c0::m.mGrabAAnm);
field_0x3478 = daAlinkHIO_wallCatch_c0::m.mGrabAAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_wallCatch_c0::m.mGrabAAnm.mCancelFrame;
voiceStart(Z2SE_AL_V_JUMP_HANG);
}
@ -417,7 +417,7 @@ int daAlink_c::procHangFallStart() {
BOOL bvar;
if (checkAnmEnd(frame_ctrl) ||
frame_ctrl->getFrame() > daAlinkHIO_wallFall_c0::m.mOneHandGrabAnm.mCheckFrame)
frame_ctrl->getFrame() > daAlinkHIO_wallFall_c0::m.mOneHandGrabAnm.mCancelFrame)
{
bvar = true;
} else {
@ -467,7 +467,7 @@ int daAlink_c::procHangUp() {
}
return 1;
} else if (checkAnmEnd(frame_ctrl) ||
frame_ctrl->getFrame() > daAlinkHIO_wallFall_c0::m.mTwoHandGrabAnm.mCheckFrame)
frame_ctrl->getFrame() > daAlinkHIO_wallFall_c0::m.mTwoHandGrabAnm.mCancelFrame)
{
if (field_0x3198 == 0) {
procHangClimbInit(daAlinkHIO_wallCatch_c0::m.mClimbAnm.mStartFrame);
@ -752,7 +752,7 @@ int daAlink_c::procHangClimb() {
if (checkAnmEnd(frameCtrl)) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wallCatch_c0::m.mClimbAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wallCatch_c0::m.mClimbAnm.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
}
@ -1134,7 +1134,7 @@ int daAlink_c::procBossBodyHang() {
}
field_0x3198 = 0x16C;
field_0x3478 = daAlinkHIO_cut_c0::m.mStabAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_cut_c0::m.mStabAnm.mCancelFrame;
field_0x347c = 10.0f;
mProcVar4.field_0x3010 = 0;
mProcVar1.field_0x300a = 1;
@ -2145,11 +2145,11 @@ int daAlink_c::procClimbUpStartInit(int param_0) {
if (param_0 || var_r29 || cM_rnd() < 0.3f) {
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCancelFrame;
voiceStart(Z2SE_AL_V_JUMP_HANG);
} else {
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCancelFrame;
voiceStart(Z2SE_AL_V_FOOT_MISS);
}
@ -2226,11 +2226,11 @@ int daAlink_c::procClimbDownStartInit(s16 param_0) {
if (cM_rnd() < 0.7f) {
setSingleAnimeParam(ANM_CLIMB_HANG, &daAlinkHIO_ladder_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x0.mCancelFrame;
mProcVar0.field_0x3008 = 0;
} else {
setSingleAnimeParam(ANM_CLIMB_HANG_MISS, &daAlinkHIO_ladder_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_ladder_c0::m.field_0x14.mCancelFrame;
mProcVar0.field_0x3008 = 1;
voiceStart(Z2SE_AL_V_FOOT_MISS);
}
@ -2758,7 +2758,7 @@ int daAlink_c::procRoofHangStart() {
if (mProcVar0.field_0x3008 == 0 &&
(checkAnmEnd(frame_ctrl) ||
(checkInputOnR() &&
frame_ctrl->getFrame() > daAlinkHIO_roofHang_c0::m.field_0x0.mCheckFrame)))
frame_ctrl->getFrame() > daAlinkHIO_roofHang_c0::m.field_0x0.mCancelFrame)))
{
checkNextActionRoofHang();
} else if (checkAnmEnd(frame_ctrl)) {

View File

@ -1813,7 +1813,7 @@ int daAlink_c::procHookshotRoofWait() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
if (frameCtrl_p->checkAnmEnd() ||
((checkInputOnR() || mProcVar5.field_0x3012 != 0 || checkHookshotRoofLv7Boss()) &&
frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mRoofHangAnm.mCheckFrame))
frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mRoofHangAnm.mCancelFrame))
{
setHookshotRoofWaitAnime();
mProcVar2.field_0x300c = 1;
@ -2090,7 +2090,7 @@ int daAlink_c::procHookshotWallWait() {
daPy_frameCtrl_c* frameCtrl_p = mUnderFrameCtrl;
if (frameCtrl_p->checkAnmEnd() ||
((checkInputOnR() || mProcVar5.field_0x3012 != 0) &&
frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mWallHangAnm.mCheckFrame))
frameCtrl_p->getFrame() > daAlinkHIO_hookshot_c0::m.mWallHangAnm.mCancelFrame))
{
setHookshotWallWaitAnime();
mProcVar2.field_0x300c = 1;

View File

@ -2001,7 +2001,7 @@ int daAlink_c::procHorseCutInit() {
field_0x3478 = var_r29->mAttackStartFrame;
field_0x347c = var_r29->mAttackEndFrame;
field_0x3480 = var_r29->mAfterCutMorf;
field_0x3484 = var_r29->mCutAnm.mCheckFrame;
field_0x3484 = var_r29->mCutAnm.mCancelFrame;
if (checkBoarSingleBattle()) {
setSwordAtParam(dCcG_At_Spl_UNK_0, 1, 1, 2, daAlinkHIO_cut_c0::m.mSwordLengthHorsebackFight, daAlinkHIO_cut_c0::m.mSwordRadiusHorsebackFight);
@ -2167,7 +2167,7 @@ int daAlink_c::procHorseCutTurn() {
procHorseWaitInit();
field_0x2060->initOldFrameMorf(4.0f, 0, 0x23);
} else {
if (temp_r30->getFrame() > daAlinkHIO_hoCutCharge_c0::m.field_0x28.mCheckFrame) {
if (temp_r30->getFrame() > daAlinkHIO_hoCutCharge_c0::m.field_0x28.mCancelFrame) {
if (orderTalk(1)) {
return 1;
}

View File

@ -303,7 +303,7 @@ int daAlink_c::procBootsEquip() {
}
offModeFlg(2);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_magneBoots_c0::m.mEquipAnm.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_magneBoots_c0::m.mEquipAnm.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
} else if (frameCtrl_p->getFrame() >= 5.0f) {

View File

@ -1112,7 +1112,7 @@ int daAlink_c::procIronBallReturn() {
setIronBallWaitUpperAnime(1);
checkNextAction(0);
}
} else if (mItemVar0.field_0x3018 == 8 && frameCtrl->getFrame() > daAlinkHIO_ironBall_c0::m.mCatchAnm.mCheckFrame) {
} else if (mItemVar0.field_0x3018 == 8 && frameCtrl->getFrame() > daAlinkHIO_ironBall_c0::m.mCatchAnm.mCancelFrame) {
mItemVar0.field_0x3018 = 0;
setIronBallWaitUpperAnime(1);

View File

@ -398,12 +398,12 @@ int daAlink_c::procKandelaarSwingInit() {
fopAcIt_Judge((fopAcIt_JudgeFunc)daAlink_searchTagKtOnFire, NULL) != NULL))
{
setSingleAnimeParam(ANM_BOTTLE_SWING_DOWN, &daAlinkHIO_bottle_c0::m.mSwingDownAnm);
field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingDownAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_bottle_c0::m.mSwingDownAnm.mCancelFrame;
field_0x347c = 5.0f;
field_0x3480 = 12.0f;
} else {
setSingleAnimeParam(ANM_LANTERN_SWING, &daAlinkHIO_kandelaar_c0::m.mShakeAnm);
field_0x3478 = daAlinkHIO_kandelaar_c0::m.mShakeAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_kandelaar_c0::m.mShakeAnm.mCancelFrame;
field_0x347c = 4.0f;
field_0x3480 = 11.0f;
}

View File

@ -537,7 +537,7 @@ int daAlink_c::procSideStepLandInit() {
if (field_0x2f98 == 1) {
field_0x2f9d = 4;
setSingleAnimeParam(ANM_BACK_JUMP_LAND, &daAlinkHIO_sideStep_c0::m.mBackLandAnm);
field_0x3478 = daAlinkHIO_sideStep_c0::m.mBackLandAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_sideStep_c0::m.mBackLandAnm.mCancelFrame;
field_0x2f98 = 2;
mProcVar1.field_0x300a = 0;
field_0x2fb0 = 0;
@ -554,7 +554,7 @@ int daAlink_c::procSideStepLandInit() {
}
setSingleAnimeParam(anm_id, &daAlinkHIO_sideStep_c0::m.mSideLandAnm);
field_0x3478 = daAlinkHIO_sideStep_c0::m.mSideLandAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_sideStep_c0::m.mSideLandAnm.mCancelFrame;
mProcVar1.field_0x300a = 1;
field_0x2fb0 = 8;
field_0x2fcc = 0;
@ -713,13 +713,13 @@ int daAlink_c::procSlideLandInit(int param_0) {
if (param_0 != 0) {
setSingleAnimeParam(ANM_SLIDE_FORWARD_END, &daAlinkHIO_slide_c0::m.mForwardLandAnm);
field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_slide_c0::m.mForwardLandAnm.mCancelFrame;
field_0x3198 = 1;
field_0x2f99 = 4;
field_0x3588 = l_waitBaseAnime;
} else {
setSingleAnimeParam(ANM_SLIDE_BACKWARD_END, &daAlinkHIO_slide_c0::m.mBackwardLandAnm);
field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.mCheckFrame;
field_0x3478 = daAlinkHIO_slide_c0::m.mBackwardLandAnm.mCancelFrame;
field_0x3198 = 0;
}
@ -844,7 +844,7 @@ int daAlink_c::procFrontRoll() {
checkNextAction(0);
}
} else if (frameCtrl_p->getFrame() > daAlinkHIO_frontRoll_c0::m.mRollAnm.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_frontRoll_c0::m.mRollAnm.mCancelFrame) {
onModeFlg(4);
cLib_chaseF(&mNormalSpeed, 0.0f, 2.5f);
@ -937,7 +937,7 @@ int daAlink_c::procFrontRollCrash() {
if (!checkModeFlg(2)) {
if (frameCtrl->checkAnmEnd()) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashAnm.mCancelFrame) {
onModeFlg(4);
checkNextAction(1);
} else if (frameCtrl->getFrame() >= 18.0f) {
@ -997,7 +997,7 @@ int daAlink_c::procFrontRollSuccess() {
if (frameCtrl->checkAnmEnd()) {
current.angle.y = shape_angle.y;
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_frontRoll_c0::m.mCrashHitAnm.mCancelFrame) {
onModeFlg(4);
current.angle.y = shape_angle.y;
checkNextAction(1);
@ -1092,10 +1092,10 @@ int daAlink_c::procSideRoll() {
checkNextAction(0);
}
} else if (mProcVar2.field_0x300c != 0 && !checkNotJumpSinkLimit() &&
frameCtrl_p->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCheckFrame)
frameCtrl_p->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCancelFrame)
{
procCutFinishJumpUpInit();
} else if (frameCtrl_p->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_turnMove_c0::m.mTurnAnm.mCancelFrame) {
onModeFlg(4);
if (!checkNextAction(1)) {
cLib_chaseF(&mNormalSpeed, 0.0f, 7.5f);
@ -1246,7 +1246,7 @@ int daAlink_c::procBackJumpLand() {
}
checkNextAction(0);
}
} else if (frameCtrl->getFrame() > daAlinkHIO_backJump_c0::m.mLandAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_backJump_c0::m.mLandAnm.mCancelFrame) {
if (mEquipItem == 0x103 && (field_0x3198 != 2 || checkCutTurnInput())) {
return procCutTurnInit(1, field_0x3198);
}
@ -1824,7 +1824,7 @@ int daAlink_c::procLand() {
if (frameCtrl->checkAnmEnd()) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCancelFrame) {
checkNextAction(1);
} else if (frameCtrl->checkPass(4.0f)) {
int var_r4;
@ -1958,7 +1958,7 @@ int daAlink_c::procStepMove() {
return checkNextAction(0);
}
if (frameCtrl->getFrame() > daAlinkHIO_smallJump_c0::m.mStepLandAnm.mCheckFrame) {
if (frameCtrl->getFrame() > daAlinkHIO_smallJump_c0::m.mStepLandAnm.mCancelFrame) {
mNormalSpeed = field_0x3478;
if (checkNextAction(1)) {
@ -2350,7 +2350,7 @@ int daAlink_c::procFloorDownRebound() {
if (frameCtrl->checkAnmEnd()) {
checkNextAction(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_autoJump_c0::m.mLandAnm.mCancelFrame) {
checkNextAction(1);
}

View File

@ -970,7 +970,7 @@ int daAlink_c::procSwimUp() {
}
} else if (checkAnmEnd(frame_ctrl)) {
procSwimWaitInit(0);
} else if (frame_ctrl->getFrame() > daAlinkHIO_swim_c0::m.mResurfaceAnm.mCheckFrame &&
} else if (frame_ctrl->getFrame() > daAlinkHIO_swim_c0::m.mResurfaceAnm.mCancelFrame &&
checkInputOnR())
{
procSwimMoveInit();
@ -1468,21 +1468,21 @@ int daAlink_c::procSwimDamageInit(dCcD_GObjInf* param_0) {
int dir = getDirectionFromAngle(cM_atan2s(-sp24.x, -sp24.z));
if (bvar4) {
setSingleAnimeParam(ANM_SWIM_DMG_FREEZE, &daAlinkHIO_damSwim_c0::m.field_0x64);
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x64.mCheckFrame;
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x64.mCancelFrame;
mProcVar0.field_0x3008 = 0;
mProcVar1.field_0x300a = 0;
} else if (dir == DIR_FORWARD) {
setSingleAnimeParam(ANM_SWIM_DMG_FRONT, &daAlinkHIO_damSwim_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x0.mCancelFrame;
} else if (dir == DIR_BACKWARD) {
setSingleAnimeParam(ANM_SWIM_DMG_BACK, &daAlinkHIO_damSwim_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x14.mCancelFrame;
} else if (dir == DIR_LEFT) {
setSingleAnimeParam(ANM_SWIM_DMG_LEFT, &daAlinkHIO_damSwim_c0::m.field_0x28);
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x28.mCheckFrame;
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x28.mCancelFrame;
} else {
setSingleAnimeParam(ANM_SWIM_DMG_RIGHT, &daAlinkHIO_damSwim_c0::m.field_0x3C);
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x3C.mCheckFrame;
field_0x3478 = daAlinkHIO_damSwim_c0::m.field_0x3C.mCancelFrame;
}
mNormalSpeed = 0.0f;

View File

@ -2642,7 +2642,7 @@ int daAlink_c::procWolfDash() {
}
return checkNextActionWolf(0);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x28.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x28.mCancelFrame) {
if (mProcVar3.field_0x300e != 0) {
return checkWolfAttackAction();
}
@ -2714,7 +2714,7 @@ int daAlink_c::procWolfDashReverse() {
if (!checkModeFlg(0x2)) {
if (checkAnmEnd(frameCtrl_p)) {
checkNextActionWolf(0);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x3C.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x3C.mCancelFrame) {
checkNextActionWolf(1);
}
} else if (mProcVar2.field_0x300c != 0) {
@ -2939,14 +2939,14 @@ int daAlink_c::procWolfSideStepLandInit(s16 param_0) {
if (field_0x2f98 == 1) {
setSingleAnimeWolfParam(WANM_BACK_JUMP_END, &daAlinkHIO_wlSideStep_c0::m.field_0x3C);
field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x3C.mCheckFrame;
field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x3C.mCancelFrame;
field_0x2fcc = 10;
} else {
field_0x2fcc = 0;
setSingleAnimeWolfParam(field_0x2f98 == 2 ? WANM_SIDE_JUMP_LEFT_END :
WANM_SIDE_JUMP_RIGHT_END,
&daAlinkHIO_wlSideStep_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_wlSideStep_c0::m.field_0x14.mCancelFrame;
}
mProcVar5.field_0x3012 = param_0;
@ -3088,7 +3088,7 @@ int daAlink_c::procWolfBackJumpLand() {
} else {
checkNextActionWolf(0);
}
} else if (frameCtrl->getFrame() > daAlinkHIO_wlBackJump_c0::m.field_0x14.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlBackJump_c0::m.field_0x14.mCancelFrame) {
checkNextActionWolf(1);
}
@ -3106,11 +3106,11 @@ int daAlink_c::procWolfHowlInit(int param_0) {
if (param_0 != 0) {
setSingleAnimeWolfParam(WANM_HOWL_SIT, &daAlinkHIO_wlHowl_c0::m.field_0x14);
onModeFlg(0x800000);
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x14.mCancelFrame;
mProcVar3.field_0x300e = 1;
} else {
setSingleAnimeWolfParam(WANM_HOWL, &daAlinkHIO_wlHowl_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_wlHowl_c0::m.field_0x0.mCancelFrame;
mProcVar3.field_0x300e = 0;
}
@ -3361,7 +3361,7 @@ int daAlink_c::procWolfLandInit() {
field_0x2f99 = 12;
setSingleAnimeWolfParam(WANM_JUMP_ATTACK_END, &daAlinkHIO_wlAutoJump_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_wlAutoJump_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_wlAutoJump_c0::m.field_0x14.mCancelFrame;
mProcVar2.field_0x300c = 1;
field_0x2f9d = 4;
@ -3459,7 +3459,7 @@ int daAlink_c::procWolfStepMove() {
return checkNextActionWolf(0);
}
if (frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.field_0x64.mCheckFrame) {
if (frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.field_0x64.mCancelFrame) {
mNormalSpeed = field_0x3478;
if (checkNextActionWolf(1)) {
@ -3624,7 +3624,7 @@ int daAlink_c::procWolfSlipTurnLand() {
if (frameCtrl->checkAnmEnd()) {
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x14.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlMove_c0::m.field_0x14.mCancelFrame) {
checkNextActionWolf(1);
}
@ -3750,7 +3750,7 @@ int daAlink_c::procWolfSlideLand() {
if (frameCtrl->checkAnmEnd()) {
current.angle.y = shape_angle.y;
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.field_0x28.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.field_0x28.mCancelFrame) {
s16 old_angle = current.angle.y;
current.angle.y = shape_angle.y;
@ -3846,7 +3846,7 @@ int daAlink_c::procWolfSlopeStart() {
if (frameCtrl->checkAnmEnd()) {
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.field_0x3C.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlSlide_c0::m.field_0x3C.mCancelFrame) {
if (!checkNextActionWolf(1)) {
field_0x2f99 = 5;
}
@ -5043,7 +5043,7 @@ int daAlink_c::procWolfRopeSubjectivity() {
int daAlink_c::getWolfTagJumpTime() const {
int time;
if (mProcID == PROC_WOLF_TAG_JUMP) {
time = mProcVar0.field_0x3008 + (int)((daAlinkHIO_wlPoint_c0::m.field_0x28.mCheckFrame -
time = mProcVar0.field_0x3008 + (int)((daAlinkHIO_wlPoint_c0::m.field_0x28.mCancelFrame -
daAlinkHIO_wlPoint_c0::m.field_0x28.mStartFrame) /
daAlinkHIO_wlPoint_c0::m.field_0x28.mSpeed);
} else {
@ -5182,7 +5182,7 @@ int daAlink_c::procWolfTagJump() {
mProcVar5.field_0x3012 = 1;
}
if (mProcVar5.field_0x3012 && (checkModeFlg(0x100) || checkAnmEnd(temp_r28) || temp_r28->getFrame() > daAlinkHIO_wlPoint_c0::m.field_0x28.mCheckFrame)) {
if (mProcVar5.field_0x3012 && (checkModeFlg(0x100) || checkAnmEnd(temp_r28) || temp_r28->getFrame() > daAlinkHIO_wlPoint_c0::m.field_0x28.mCancelFrame)) {
procWolfTagJumpInit(temp_r29);
} else if (checkAnmEnd(temp_r28)) {
onModeFlg(0x100);
@ -5288,7 +5288,7 @@ int daAlink_c::procWolfTagJumpLand() {
onResetFlg0(RFLG0_UNK_20000);
field_0x3738 = *wljump_p->getLockPos();
if (frameCtrl_p->getFrame() > daAlinkHIO_wlPoint_c0::m.field_0x3C.mCheckFrame) {
if (frameCtrl_p->getFrame() > daAlinkHIO_wlPoint_c0::m.field_0x3C.mCancelFrame) {
setDoStatus(0x93);
if (doTrigger()) {
@ -5304,7 +5304,7 @@ int daAlink_c::procWolfTagJumpLand() {
{
if (checkAnmEnd(frameCtrl_p)) {
checkNextActionWolf(0);
} else if (!(frameCtrl_p->getFrame() > daAlinkHIO_wlPoint_c0::m.field_0x3C.mCheckFrame) ||
} else if (!(frameCtrl_p->getFrame() > daAlinkHIO_wlPoint_c0::m.field_0x3C.mCancelFrame) ||
!checkNextActionWolf(1))
{
field_0x2f9d = 0x78;
@ -5612,7 +5612,7 @@ int daAlink_c::procWolfHangWallCatch() {
onNoResetFlg1(FLG1_UNK_20);
}
} else if (mProcVar3.field_0x300e != 0 &&
frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.field_0x14.mCheckFrame &&
frameCtrl_p->getFrame() > daAlinkHIO_wlWallHang_c0::m.field_0x14.mCancelFrame &&
checkNextActionWolf(1))
{
onNoResetFlg1(FLG1_UNK_20);
@ -5736,16 +5736,16 @@ int daAlink_c::procWolfDamageInit(dCcD_GObjInf* param_0) {
int temp_r3 = getDirectionFromAngle(cM_atan2s(-sp8.x, -sp8.z));
if (temp_r3 == DIR_FORWARD) {
setSingleAnimeWolfParam(WANM_DMG_FRONT, &daAlinkHIO_wlDamNormal_c0::m.field_0x0);
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x0.mCancelFrame;
} else if (temp_r3 == DIR_BACKWARD) {
setSingleAnimeWolfParam(WANM_DMG_BACK, &daAlinkHIO_wlDamNormal_c0::m.field_0x14);
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x14.mCancelFrame;
} else if (temp_r3 == DIR_LEFT) {
setSingleAnimeWolfParam(WANM_DMG_LEFT, &daAlinkHIO_wlDamNormal_c0::m.field_0x28);
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x28.mCheckFrame;
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x28.mCancelFrame;
} else {
setSingleAnimeWolfParam(WANM_DMG_RIGHT, &daAlinkHIO_wlDamNormal_c0::m.field_0x3C);
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x3C.mCheckFrame;
field_0x3478 = daAlinkHIO_wlDamNormal_c0::m.field_0x3C.mCancelFrame;
}
setFaceBasicTexture(FTANM_UNK_90);
@ -5865,7 +5865,7 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2,
var_f29 = 16.0f;
var_r27 = -1;
field_0x3478 = daAlinkHIO_wlDamLarge_c0::m.field_0x0.mCheckFrame;
field_0x3478 = daAlinkHIO_wlDamLarge_c0::m.field_0x0.mCancelFrame;
if (param_0 == -4) {
onNoResetFlg2(FLG2_UNK_1000);
@ -5900,26 +5900,26 @@ int daAlink_c::procWolfLargeDamageUpInit(int param_0, int param_1, s16 param_2,
if (param_0 == 0x29) {
setSingleAnimeWolfParam(WANM_DMG_AIR_BACK_GETUP, &var_r30->field_0x14);
setFaceBasicTexture(FTANM_UNK_92);
field_0x3478 = var_r30->field_0x14.mCheckFrame;
field_0x3478 = var_r30->field_0x14.mCancelFrame;
field_0x347c = 16.0f;
field_0x3198 = 1;
field_0x3484 = 15.0;
} else if (param_0 == 0x2A) {
setSingleAnimeWolfParam(WANM_DMG_AIR_LEFT_GETUP, &var_r30->field_0x28);
setFaceBasicTexture(FTANM_UNK_93);
field_0x3478 = var_r30->field_0x28.mCheckFrame;
field_0x3478 = var_r30->field_0x28.mCancelFrame;
field_0x347c = 11.0f;
field_0x3484 = 13.0f;
} else if (param_0 == 0x2B) {
setSingleAnimeWolfParam(WANM_DMG_AIR_RIGHT_GETUP, &var_r30->field_0x3C);
setFaceBasicTexture(FTANM_UNK_93);
field_0x3478 = var_r30->field_0x3C.mCheckFrame;
field_0x3478 = var_r30->field_0x3C.mCancelFrame;
field_0x347c = 11.0f;
field_0x3484 = 13.0f;
} else {
setSingleAnimeWolfParam(WANM_DMG_AIR_FRONT_GETUP, &var_r30->field_0x0);
setFaceBasicTexture(FTANM_UNK_92);
field_0x3478 = var_r30->field_0x0.mCheckFrame;
field_0x3478 = var_r30->field_0x0.mCancelFrame;
field_0x347c = 9.0f;
field_0x3484 = 13.0f;
}
@ -6058,7 +6058,7 @@ int daAlink_c::procWolfLandDamage() {
if (field_0x3198 != 0) {
if (frameCtrl->checkAnmEnd()) {
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlDamFall_c0::m.field_0x14.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlDamFall_c0::m.field_0x14.mCancelFrame) {
checkNextActionWolf(1);
}
} else if (frameCtrl->checkAnmEnd()) {
@ -6112,7 +6112,7 @@ int daAlink_c::procWolfScreamWait() {
if (frameCtrl->checkAnmEnd()) {
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlDamLarge_c0::m.field_0x0.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlDamLarge_c0::m.field_0x0.mCancelFrame) {
checkNextActionWolf(1);
}
} else {
@ -6256,7 +6256,7 @@ int daAlink_c::procWolfLieStart() {
checkNextActionWolfFromLie();
} else if (checkInputOnR() &&
(checkAnmEnd(frameCtrl_p) ||
frameCtrl_p->getFrame() > daAlinkHIO_wlLie_c0::m.field_0x14.mCheckFrame))
frameCtrl_p->getFrame() > daAlinkHIO_wlLie_c0::m.field_0x14.mCancelFrame))
{
procWolfLieMoveInit(0);
} else {
@ -6690,7 +6690,7 @@ int daAlink_c::procWolfSwimUp() {
if (frameCtrl->checkAnmEnd()) {
procWolfSwimWaitInit(0);
} else if (checkInputOnR() &&
frameCtrl->getFrame() > daAlinkHIO_wlSwim_c0::m.field_0x0.mCheckFrame)
frameCtrl->getFrame() > daAlinkHIO_wlSwim_c0::m.field_0x0.mCancelFrame)
{
procWolfSwimMoveInit();
} else {
@ -6880,7 +6880,7 @@ int daAlink_c::procWolfSwimEndWait() {
if (checkAnmEnd(frameCtrl_p)) {
checkNextActionWolf(0);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlSwim_c0::m.field_0x14.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlSwim_c0::m.field_0x14.mCancelFrame) {
checkNextActionWolf(1);
}
@ -7625,12 +7625,12 @@ int daAlink_c::procWolfJumpAttackSlideLandInit(int param_0, int param_1, int par
setSingleAnimeWolfParam(WANM_ATTACK_A_END_BACK, &daAlinkHIO_wlAtLand_c0::m.field_0x28);
mProcVar2.field_0x300c = 1;
field_0x3588.set(-l_wolfBaseAnime.x, l_wolfBaseAnime.y, -l_wolfBaseAnime.z);
field_0x3478 = daAlinkHIO_wlAtLand_c0::m.field_0x28.mCheckFrame;
field_0x3478 = daAlinkHIO_wlAtLand_c0::m.field_0x28.mCancelFrame;
} else {
setSingleAnimeWolfParam(WANM_ATTACK_A_END_FRONT, &daAlinkHIO_wlAtLand_c0::m.field_0x14);
mProcVar2.field_0x300c = 0;
field_0x3588 = l_wolfBaseAnime;
field_0x3478 = daAlinkHIO_wlAtLand_c0::m.field_0x14.mCheckFrame;
field_0x3478 = daAlinkHIO_wlAtLand_c0::m.field_0x14.mCancelFrame;
}
field_0x2f9d = 4;
@ -7730,7 +7730,7 @@ int daAlink_c::procWolfJumpAttackNormalLand() {
if (frameCtrl->checkAnmEnd()) {
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlAtLand_c0::m.field_0x0.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlAtLand_c0::m.field_0x0.mCancelFrame) {
if (mProcVar2.field_0x300c != 0) {
shape_angle.y -= -0x8000;
return procWolfJumpAttackInit(3);
@ -7768,7 +7768,7 @@ int daAlink_c::procWolfWaitAttackInit(int i_attackType) {
if (mComboCutCount == 4) {
setCylAtParam(0x80000000, dCcG_At_Spl_UNK_1, 3, 4, 3, atk_hio->field_0x34,
atk_hio->field_0x38);
field_0x3478 = atk_hio->field_0x0.mCheckFrame;
field_0x3478 = atk_hio->field_0x0.mCancelFrame;
mProcVar0.field_0x3008 = atk_hio->field_0x14;
var_f2 = atk_hio->field_0x0.mStartFrame;
} else {
@ -7932,7 +7932,7 @@ int daAlink_c::procWolfRollAttack() {
if (checkAnmEnd(frameCtrl_p)) {
checkNextActionWolf(0);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAtRoll_c0::m.field_0x0.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAtRoll_c0::m.field_0x0.mCancelFrame) {
checkNextActionWolf(1);
} else if (mProcVar3.field_0x300e == 0 && frameCtrl_p->getFrame() >= 4.0f &&
frameCtrl_p->getFrame() < 13.0f)
@ -8097,7 +8097,7 @@ int daAlink_c::procWolfDownAtMissLand() {
if (frameCtrl->checkAnmEnd()) {
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlAtDown_c0::m.field_0x64.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlAtDown_c0::m.field_0x64.mCancelFrame) {
checkNextActionWolf(1);
} else if (frameCtrl->getFrame() >= 3.0f && frameCtrl->getFrame() < 8.0f) {
seStartMapInfoLevel(Z2SE_FN_WOLF_SLIP);
@ -8151,11 +8151,11 @@ int daAlink_c::procWolfLockAttackInit(int param_0) {
}
f32 var_f29 = l_eyePosDelta.abs();
f32 var_f31 = var_f29 / daAlinkHIO_wlAtLock_c0::m.field_0x28.mCheckFrame;
f32 var_f31 = var_f29 / daAlinkHIO_wlAtLock_c0::m.field_0x28.mCancelFrame;
if (var_f31 < 1.0f)
var_f31 = 1.0f;
f32 var_f28 = daAlinkHIO_wlAtLock_c0::m.field_0x28.mCheckFrame / var_f29;
f32 var_f28 = daAlinkHIO_wlAtLock_c0::m.field_0x28.mCancelFrame / var_f29;
mNormalSpeed = var_f28 * l_eyePosDelta.absXZ();
setSpecialGravity((l_eyePosDelta.y * -2.0f) / (var_f31 * var_f31), maxFallSpeed, 0);
speed.y = -gravity * var_f31;
@ -8339,7 +8339,7 @@ int daAlink_c::procWolfAttackReverse() {
if (checkAnmEnd(frameCtrl_p)) {
checkNextActionWolf(0);
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAttack_c0::m.mLandAnm.mCheckFrame) {
} else if (frameCtrl_p->getFrame() > daAlinkHIO_wlAttack_c0::m.mLandAnm.mCancelFrame) {
checkNextActionWolf(1);
}
} else if ((mLinkAcch.ChkGroundHit() || checkEndResetFlg2(ERFLG2_UNK_100)) && checkModeFlg(2)) {
@ -8531,12 +8531,12 @@ int daAlink_c::procWolfGrabUpInit() {
setSingleAnimeWolfParam(WANM_PICKUP_A, &daAlinkHIO_wlGrab_c0::m.field_0x0);
var_f31 = 120.0f;
field_0x3478 = 10.0f;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x0.mCheckFrame;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x0.mCancelFrame;
} else {
setSingleAnimeWolfParam(WANM_PICKUP_B, &daAlinkHIO_wlGrab_c0::m.field_0x28);
var_f31 = 80.0f;
field_0x3478 = 7.0f;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x28.mCheckFrame;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x28.mCancelFrame;
}
setGrabItemActor(field_0x27f4);
@ -8615,11 +8615,11 @@ int daAlink_c::procWolfGrabPutInit() {
if (grab_obj) {
setSingleAnimeWolfParam(WANM_PICKUP_A, &daAlinkHIO_wlGrab_c0::m.field_0x14);
field_0x3478 = 10.0f;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x14.mCheckFrame;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x14.mCancelFrame;
} else {
setSingleAnimeWolfParam(WANM_PICKUP_B, &daAlinkHIO_wlGrab_c0::m.field_0x3C);
field_0x3478 = 7.0f;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x3C.mCheckFrame;
field_0x347c = daAlinkHIO_wlGrab_c0::m.field_0x3C.mCancelFrame;
}
mNormalSpeed = 0.0f;
@ -8693,7 +8693,7 @@ int daAlink_c::procWolfGrabThrow() {
if (frameCtrl->checkAnmEnd()) {
checkNextActionWolf(0);
} else if (frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.field_0x50.mCheckFrame) {
} else if (frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.field_0x50.mCancelFrame) {
checkNextActionWolf(1);
}
@ -8867,7 +8867,7 @@ int daAlink_c::procWolfChainUp() {
setWallGrabStatus(0x96, 2);
if (frameCtrl->checkAnmEnd() ||
(checkInputOnR() && frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.field_0x28.mCheckFrame))
(checkInputOnR() && frameCtrl->getFrame() > daAlinkHIO_wlGrab_c0::m.field_0x28.mCancelFrame))
{
u8 old_2fa3 = field_0x2fa3;
fopAc_ac_c* old_actor = field_0x2844.getActor();

View File

@ -1808,7 +1808,7 @@ void daCow_c::action_enter() {
}
/* 8065CFBC-8065D03C 004ADC 0080+00 4/4 0/0 1/1 .text isAngry__7daCow_cFv */
void daCow_c::isAngry() {
bool daCow_c::isAngry() {
// NONMATCHING
}

File diff suppressed because it is too large Load Diff