Some work on d_a_e_wb (#2639)

* Some work d_a_e_wb

* Match more in e_wb
This commit is contained in:
hatal175
2025-09-10 07:45:07 +03:00
committed by GitHub
parent bfeb1c048b
commit 84eed3ea68
9 changed files with 1468 additions and 641 deletions
+7 -10
View File
@@ -57,9 +57,6 @@ enum daE_WB_ACT {
};
struct himo_s {
/* 807E1CCC */ ~himo_s();
/* 807E1D2C */ himo_s();
/* 0x0 */ cXyz field_0x0[16];
};
@@ -71,9 +68,8 @@ struct himo_s {
*
* @details
*
*/
class e_wb_class : public fopEn_enemy_c {
*/
class e_wb_class {
public:
BOOL checkWait();
void setPlayerRideNow();
@@ -86,8 +82,8 @@ public:
MtxP getRideMtx() { return mpModelMorf->getModel()->getAnmMtx(15); }
f32 nowAnimeFrame() const { return mpModelMorf->getFrame(); }
s16 getWaitRollAngle() const { return mWaitRollAngle; }
bool checkGetOff() const { return speedF < 3.0f; }
f32 rideSpeedRate() const { return speedF / mSpeedRate; }
bool checkGetOff() const { return mEnemy.speedF < 3.0f; }
f32 rideSpeedRate() const { return mEnemy.speedF / mSpeedRate; }
f32 getAnimeFrameRate() { return mpModelMorf->getFrame() / mpModelMorf->getEndFrame(); }
BOOL checkAnmLoopFrame() { return mpModelMorf->checkFrame(0.0f); }
@@ -100,6 +96,7 @@ public:
}
public:
/* 0x0000 */ fopEn_enemy_c mEnemy;
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ s16 mActionMode;
/* 0x05B8 */ char* mResName;
@@ -120,7 +117,7 @@ public:
/* 0x068C */ s8 field_0x68c;
/* 0x068E */ s16 field_0x68e;
/* 0x0690 */ s16 mActionID;
/* 0x0692 */ u16 field_0x692;
/* 0x0692 */ s16 field_0x692;
/* 0x0694 */ int mShadowKey;
/* 0x0698 */ s16 field_0x698;
/* 0x069A */ s16 field_0x69a;
@@ -244,7 +241,7 @@ public:
/* イノシシ - Wild Boar */
/* 0x00 */ // vtable
/* 0x04 */ s8 field_0x04;
/* 0x04 */ s8 mId;
/* 0x08 */ f32 base_size; // 基本サイズ - Base Size
/* 0x0C */ f32 leader_size_ratio; // リーダーサイズ比 - Leader Size Ratio
/* 0x10 */ f32 movement_speed; // 移動速度 - Movement Speed
+2 -1
View File
@@ -476,7 +476,7 @@ public:
ERFLG0_BEE_FOLLOW = 0x400000,
ERFLG0_UNK_200000 = 0x200000,
ERFLG0_UNK_100000 = 0x100000,
ERFLG0_UNK_80000 = 0x80000,
ERFLG0_SINGLE_BOAR_AVOID = 0x80000,
ERFLG0_FISHING_ROD_GET_FISH = 0x40000,
ERFLG0_UNK_20000 = 0x20000,
ERFLG0_UNK_10000 = 0x10000,
@@ -941,6 +941,7 @@ public:
void onLeafSe() { onEndResetFlg0(ERFLG0_UNK_200000); }
void onWolfFchainPull() { onEndResetFlg0(ERFLG0_WOLF_FCHAIN_PULL); }
void onFishingRodGetFish() { onEndResetFlg0(ERFLG0_FISHING_ROD_GET_FISH); }
void onSingleBoarAvoid() { onEndResetFlg0(ERFLG0_SINGLE_BOAR_AVOID); }
void onShieldBackBone() { onEndResetFlg1(ERFLG1_GANON_FINISH); }
void onWolfEyeKeep() { onEndResetFlg1(ERFLG1_WOLF_EYE_KEEP); }
void onPortalWarpMidnaAtnKeep() { onEndResetFlg2(ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP); }