diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2025-12-04 19:03:13 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-12-04 16:03:13 -0800 |
| commit | 7fe9a68a9d47750fa0b3956349260fc4e3968047 (patch) | |
| tree | e1e8325785a4466c34ac3ec6ce5e80fa0619d762 /include/d/actor | |
| parent | 4d3f25d34ed0782ba693c80698631cac6add8f9c (diff) | |
d_a_horse 100% (#2912)
* Fix missing line numbers for debug
* Fix horse inlines and HIO
* Match daHorse_c::setEffect
* Improve a few debug matches
* Match daHorse_c::checkHorseNoMove (half fake)
* Update configure.py
Diffstat (limited to 'include/d/actor')
| -rw-r--r-- | include/d/actor/d_a_horse.h | 45 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_bemos.h | 1 |
2 files changed, 26 insertions, 20 deletions
diff --git a/include/d/actor/d_a_horse.h b/include/d/actor/d_a_horse.h index ed57253b6d..a7673635b6 100644 --- a/include/d/actor/d_a_horse.h +++ b/include/d/actor/d_a_horse.h @@ -38,6 +38,13 @@ public: class daHoZelda_c; class daHorse_hio_c; +class daHorse_hio_c0; + +#if DEBUG +#define HORSE_HIO_CLASS daHorse_hio_c +#else +#define HORSE_HIO_CLASS daHorse_hio_c0 +#endif /** * @ingroup actors-unsorted @@ -231,11 +238,9 @@ public: ~daHorse_c(); u32 getLashDashStart() const { return checkResetStateFlg0(RFLG0_LASH_DASH_START); } - - - 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; } + BOOL checkNoBombProc() const { return !(m_procID == PROC_WAIT_e || m_procID == PROC_MOVE_e); } + u32 checkResetStateFlg0(daHorse_RFLG0 flag) const { return m_resetStateFlg0 & flag; } + u32 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; } @@ -267,21 +272,21 @@ public: void setZeldaActor(fopAc_ac_c* i_actor) { m_zeldaActorKeep.setData(i_actor); } u32 checkTurnStandCamera() const { return checkResetStateFlg0(RFLG0_TURN_STAND_CAMERA); } - BOOL checkTurnStand() const { return checkResetStateFlg0(RFLG0_TURN_STAND); } + u32 checkTurnStand() const { return checkResetStateFlg0(RFLG0_TURN_STAND); } u32 checkRodeoMode() const { return checkStateFlg0(FLG0_RODEO_MODE); } - 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 checkHorseCallWait() const { return checkStateFlg0(FLG0_NO_DRAW_WAIT); } + u32 checkCutTurnCancel() const { return checkEndResetStateFlg0(ERFLG0_CUT_TURN_CANCEL); } + u32 checkTurnCancelKeep() const { return checkStateFlg0(FLG0_TURN_CANCEL_KEEP); } + u32 checkRodeoLeft() const { return checkStateFlg0(FLG0_RODEO_LEFT); } + u32 checkHorseCallWait() const { return checkStateFlg0(FLG0_NO_DRAW_WAIT); } 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; } - bool checkHorseDemoMode() { return field_0x16b8 != 0; } + 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; } + u32 checkEnemySearch() { return checkResetStateFlg0(RFLG0_ENEMY_SEARCH); } + BOOL checkOriginalDemo() const { return field_0x16b8 == 3; } + BOOL checkHorseDemoMode() { return field_0x16b8 != 0; } s16 checkCowHit() const { return m_cowHit; } s16 getCowHitAngle() const { return m_cowHitAngle; } u8 getRodeoPointCnt() const { return m_rodeoPointCnt; } @@ -333,7 +338,7 @@ public: u32 getShadowID() const { return m_shadowID; } - bool checkInputOnR() const { return m_padStickValue > 0.05f; } + BOOL checkInputOnR() const { return m_padStickValue > 0.05f; } void onBagMaterial() { m_modelData->getMaterialNodePointer(5)->getShape()->show(); @@ -354,7 +359,7 @@ public: /* 0x0594 */ mDoExt_AnmRatioPack m_anmRatio[3]; /* 0x05AC */ mDoExt_MtxCalcOldFrame* m_oldFrame; /* 0x05B0 */ daPy_frameCtrl_c m_frameCtrl[3]; - /* 0x05F8 */ daHorse_hio_c* m_hio; + /* 0x05F8 */ HORSE_HIO_CLASS* m_hio; /* 0x05FC */ dBgS_AcchCir m_acchcir[3]; /* 0x06BC */ dBgS_HorseAcch m_acch; /* 0x0894 */ dCcD_Stts m_cc_stts; @@ -566,15 +571,15 @@ class daHorse_hio_c : public JORReflexible { public: daHorse_hio_c() { #if DEBUG - mParameters = daHorse_hio_c0::m; + m = daHorse_hio_c0::m; #endif } #if DEBUG virtual ~daHorse_hio_c() {} void genMessage(JORMContext*); /* 0x4 */ s8 id; - /* 0x8 */ daHorse_hio_c1 mParameters; #endif + /* 0x8 */ daHorse_hio_c1 m; }; #endif /* D_A_HORSE_H */ diff --git a/include/d/actor/d_a_obj_bemos.h b/include/d/actor/d_a_obj_bemos.h index c08b50bd7a..7b3be1c0e9 100644 --- a/include/d/actor/d_a_obj_bemos.h +++ b/include/d/actor/d_a_obj_bemos.h @@ -7,6 +7,7 @@ #include "d/d_cc_d.h" #include "f_op/f_op_actor_mng.h" #include "m_Do/m_Do_ext.h" +#include "JSystem/JParticle/JPAEmitter.h" /** * @ingroup actors-objects |
