diff options
| author | Jeff Padgham <jeff.ookami@gmail.com> | 2024-04-26 19:12:56 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-26 19:12:56 -0700 |
| commit | c163dc9ed31c69eb791be1dcdcd7ab8b296e95a1 (patch) | |
| tree | 569d09bb0c51bde94264b8faeb83cee6b4ae1278 /include/d | |
| parent | 9e80bf0d84c150b07ca14cea53ee6d2f82b073c2 (diff) | |
d_a_arrow work (#2139)
* WIP commit, about halfway done
* More progress, fixed up some issues
* Most functions match, minor issues in draw/create, dtor needs particle work
* Forgot to remove NONMATCHING define
---------
Co-authored-by: GinNoOokami <noreply>
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/a/d_a_alink.h | 5 | ||||
| -rw-r--r-- | include/d/cc/d_cc_d.h | 3 | ||||
| -rw-r--r-- | include/d/d_jnt_col.h | 2 | ||||
| -rw-r--r-- | include/d/particle/d_particle.h | 2 |
4 files changed, 10 insertions, 2 deletions
diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 5914b1077d..7c06fa2c6f 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -1762,7 +1762,7 @@ public: /* 800D74A4 */ void setLandDamagePoint(int); /* 800D74F4 */ Vec* getDamageVec(dCcD_GObjInf*); /* 800D76C4 */ void setDashDamage(); - /* 800D7768 */ static bool checkIcePolygonDamage(cBgS_PolyInfo*); + /* 800D7768 */ static BOOL checkIcePolygonDamage(cBgS_PolyInfo*); /* 800D77C8 */ BOOL checkMagicArmorNoDamage(); /* 800D7820 */ void checkPolyDamage(); /* 800D7A98 */ bool checkElecReturnDamage(dCcD_GObjInf&, fopAc_ac_c**); @@ -3237,6 +3237,7 @@ public: BOOL checkReinRide() const { return mRideStatus == 1 || mRideStatus == 2; } int getGrassHowlEventActor() const { return field_0x3198; } MtxP getShieldMtx() const { return mShieldModel->getBaseTRMtx(); } + MtxP getMagneBootsMtx() { return mMagneBootMtx; } bool checkFishingCastMode() const { bool var_r5; @@ -3360,6 +3361,8 @@ public: s8 getOnLineNum() { return mZ2WolfHowlMgr.getOnLineNum(); } SongNote getCorrectLine(u8 param_0) { return mZ2WolfHowlMgr.getCorrectLine(param_0); } + void itemHitSE(u32 param_1, u32 param_2, Z2SoundObjBase* param_3) { mZ2Link.startHitItemSE(param_1, param_2, param_3, -1.0f); } + inline bool checkWindSpeedOnXZ() const; inline void startRestartRoomFromOut(int, u32, int); inline u16 getReadyItem(); diff --git a/include/d/cc/d_cc_d.h b/include/d/cc/d_cc_d.h index 3c7ac0a03d..64ee42a1ef 100644 --- a/include/d/cc/d_cc_d.h +++ b/include/d/cc/d_cc_d.h @@ -236,6 +236,7 @@ public: u8 GetHitMark() { return mHitMark; } void SetRVec(cXyz& vec) { mRVec = vec; } cXyz* GetVecP() { return &mVec; } + cXyz* GetRVecP() { return &mRVec; } void SetHitPos(cXyz& pos) { mHitPos = pos; } cXyz* GetHitPosP() { return &mHitPos; } @@ -362,6 +363,7 @@ public: bool ChkTgWolfSpNoDamage() { return mGObjTg.ChkSPrm(0x800); } bool ChkAtNoHitMark() { return mGObjAt.ChkSPrm(2); } bool ChkTgNoHitMark() { return mGObjTg.ChkSPrm(4); } + bool ChkTgArrowThrough() { return mGObjTg.ChkSPrm(0x20); } bool ChkTgHookShotNoHitMark() { return mGObjTg.ChkSPrm(0x400); } bool ChkTgArrowNoHitMark() { return mGObjTg.ChkSPrm(0x1000); } dCcG_Tg_Spl GetTgSpl() { return (dCcG_Tg_Spl)mGObjTg.GetSpl(); } @@ -389,6 +391,7 @@ public: u32 GetTgHitObjHitSeID(int i_soundID) { return getHitSeID(GetTgHitObjSe(),i_soundID); } cXyz* GetAtHitPosP() { return mGObjAt.GetHitPosP(); } cXyz* GetTgHitPosP() { return mGObjTg.GetHitPosP(); } + cXyz* GetTgRVecP() { return mGObjTg.GetRVecP(); } bool ChkTgHookshotThrough() { return mGObjTg.ChkSPrm(0x80); } static const Z2SoundID m_hitSeID[24]; diff --git a/include/d/d_jnt_col.h b/include/d/d_jnt_col.h index c72b7b4c50..58fae6ffbb 100644 --- a/include/d/d_jnt_col.h +++ b/include/d/d_jnt_col.h @@ -22,7 +22,7 @@ public: /* 80035CA0 */ int init(fopAc_ac_c*, dJntColData_c const*, J3DModel*, int); /* 80035CC8 */ static void setNowLine(cM3dGLin*, cXyz const*, csXyz const*, cXyz*); /* 80035DC8 */ void searchNearPos(cM3dGLin const*, cXyz const*, cXyz*, int) const; - /* 80036AEC */ void getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const; + /* 80036AEC */ int getArrowOffsetPosAndAngle(cXyz const*, csXyz const*, cXyz*, cXyz*) const; /* 80036C44 */ int getHitmarkPosAndAngle(cXyz const*, csXyz const*, cXyz*, csXyz*, int) const; /* 80036FA8 */ void setArrowPosAndAngle(cXyz const*, cXyz const*, int, cXyz*, csXyz*); diff --git a/include/d/particle/d_particle.h b/include/d/particle/d_particle.h index 731d295690..7a51ed45ab 100644 --- a/include/d/particle/d_particle.h +++ b/include/d/particle/d_particle.h @@ -31,6 +31,8 @@ public: /* 8004F6C4 */ virtual void executeAfter(JPABaseEmitter*); /* 8004FABC */ virtual void setup(JPABaseEmitter*, cXyz const*, csXyz const*, s8); + void setRate(f32 rate) { mRate = rate; } + private: /* 0x04 */ f32 mRate; /* 0x08 */ int mMaxCnt; |
