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>
This commit is contained in:
Jeff Padgham
2024-04-26 19:12:56 -07:00
committed by GitHub
parent 9e80bf0d84
commit c163dc9ed3
11 changed files with 1384 additions and 195 deletions
+4 -1
View File
@@ -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();
+3
View File
@@ -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];
+1 -1
View File
@@ -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*);
+2
View File
@@ -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;