summaryrefslogtreecommitdiff
path: root/include/d
diff options
context:
space:
mode:
authorJeff Padgham <jeff.ookami@gmail.com>2024-04-26 19:12:56 -0700
committerGitHub <noreply@github.com>2024-04-26 19:12:56 -0700
commitc163dc9ed31c69eb791be1dcdcd7ab8b296e95a1 (patch)
tree569d09bb0c51bde94264b8faeb83cee6b4ae1278 /include/d
parent9e80bf0d84c150b07ca14cea53ee6d2f82b073c2 (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.h5
-rw-r--r--include/d/cc/d_cc_d.h3
-rw-r--r--include/d/d_jnt_col.h2
-rw-r--r--include/d/particle/d_particle.h2
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;