This commit is contained in:
TakaRikka
2026-03-12 17:56:51 -07:00
931 changed files with 25778 additions and 24285 deletions
+1 -1
View File
@@ -28,7 +28,7 @@ public:
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x574 */ Z2CreatureEnemy mSound;
/* 0x618 */ u8 field_0x618[0x624 - 0x618];
/* 0x618 */ cXyz field_0x618;
/* 0x624 */ actionFn mAction;
/* 0x630 */ actionFn field_0x630;
/* 0x63C */ int field_0x63c;
+10 -10
View File
@@ -3232,7 +3232,7 @@ public:
virtual bool checkChainBlockPushPull();
virtual BOOL checkElecDamage() const { return mProcID == PROC_ELEC_DAMAGE; }
virtual BOOL checkEmptyBottleSwing() const {
return mEquipItem == fpcNm_ITEM_EMPTY_BOTTLE && mProcID == PROC_BOTTLE_SWING;
return mEquipItem == dItemNo_EMPTY_BOTTLE_e && mProcID == PROC_BOTTLE_SWING;
}
virtual BOOL checkBottleSwingMode() const { return mProcID == PROC_BOTTLE_SWING; }
virtual BOOL checkHawkWait() const { return mProcID == PROC_HAWK_SUBJECT; }
@@ -3334,7 +3334,7 @@ public:
virtual u32 checkBoardRide() const;
virtual u32 checkSpinnerRide() const;
virtual bool checkArrowChargeEnd() const;
virtual bool checkNoEquipItem() const { return mEquipItem == fpcNm_ITEM_NONE; }
virtual bool checkNoEquipItem() const { return mEquipItem == dItemNo_NONE_e; }
virtual bool checkKandelaarSwing(int) const;
virtual s16 getBoardCutTurnOffsetAngleY() const {
if (mProcID == PROC_BOARD_CUT_TURN) {
@@ -3402,7 +3402,7 @@ public:
}
virtual BOOL checkWolfDownAttackPullOut() const { return mProcID == PROC_WOLF_DOWN_AT_LAND; }
virtual cXyz* getMidnaAtnPos() const { return (cXyz*)&mMidnaAtnPos; }
virtual bool checkCopyRodEquip() const { return mEquipItem == fpcNm_ITEM_COPY_ROD; }
virtual bool checkCopyRodEquip() const { return mEquipItem == dItemNo_COPY_ROD_e; }
virtual void setKandelaarMtx(Mtx i_mtx, int, int);
virtual bool getStickAngleFromPlayerShape(s16* o_angle) const;
virtual bool checkSpinnerPathMove();
@@ -3487,11 +3487,11 @@ public:
return checkHookshotReadyAnime() || checkHookshotShootAnime();
}
BOOL checkBoomerangReadyAnime() const {
return (mEquipItem == fpcNm_ITEM_BOOMERANG || mEquipItem == 0x102) && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMWAIT_e);
return (mEquipItem == dItemNo_BOOMERANG_e || mEquipItem == 0x102) && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMWAIT_e);
}
bool checkDkCaught2Anime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_WAITHDB_e); }
BOOL checkCopyRodThrowAnime() const {
return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMTHROW_e);
return mEquipItem == dItemNo_COPY_ROD_e && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMTHROW_e);
}
BOOL checkCutDashChargeAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_CUTDTP_e); }
BOOL checkBoomerangAnimeAndReturnWait() const { return checkBoomerangAnime(); }
@@ -3526,7 +3526,7 @@ public:
bool checkDashDamageAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_DAMD_e); }
bool checkBoomerangCatchAnime() const { return checkUpperAnime(dRes_ID_ALANM_BCK_BOOMCATCH_e); }
BOOL checkCopyRodReadyAnime() const {
return mEquipItem == fpcNm_ITEM_COPY_ROD && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMWAIT_e);
return mEquipItem == dItemNo_COPY_ROD_e && checkUpperAnime(dRes_ID_ALANM_BCK_BOOMWAIT_e);
}
BOOL checkCanoeFishingWaitAnime() const {
return checkUpperAnime(dRes_ID_ALANM_BCK_CANOEREELINGR_e) || checkUpperAnime(dRes_ID_ALANM_BCK_WAITFISHR_e);
@@ -3685,12 +3685,12 @@ public:
}
bool checkFisingRodJewl() const {
return (mEquipItem == fpcNm_ITEM_JEWEL_ROD || mEquipItem == fpcNm_ITEM_JEWEL_WORM_ROD) || mEquipItem == fpcNm_ITEM_JEWEL_BEE_ROD;
return (mEquipItem == dItemNo_JEWEL_ROD_e || mEquipItem == dItemNo_JEWEL_WORM_ROD_e) || mEquipItem == dItemNo_JEWEL_BEE_ROD_e;
}
bool checkFisingRodWorm() const { return mItemMode == fpcNm_ITEM_WORM; }
bool checkFisingRodWorm() const { return mItemMode == dItemNo_WORM_e; }
bool checkFisingRodBee() const { return mItemMode == fpcNm_ITEM_BEE_CHILD; }
bool checkFisingRodBee() const { return mItemMode == dItemNo_BEE_CHILD_e; }
void fishingCastWaitAnimeStart() {
if (mProcID == PROC_FISHING_CAST) {
@@ -3772,7 +3772,7 @@ public:
void setGrassCancelStatus(u8 i_status) { setBStatus(i_status); }
void seStartSystem(u32 i_soundID) { mDoAud_seStart(i_soundID, NULL, 0, 0); }
bool checkIronBallEquip() const { return mEquipItem == fpcNm_ITEM_IRONBALL; }
bool checkIronBallEquip() const { return mEquipItem == dItemNo_IRONBALL_e; }
BOOL checkFishingRodEquip() const { return checkFishingRodItem(mEquipItem); }
f32 getAnmSpeedStickRate(f32 param_0, f32 param_1) const {
+2 -2
View File
@@ -74,7 +74,7 @@ public:
void deleteArrow() { field_0x93f = 1; }
static fopAc_ac_c* makeArrow(fopAc_ac_c* i_actor, u16 param_1) {
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_ARROW,
return (fopAc_ac_c*)fopAcM_fastCreate(fpcNm_ARROW_e,
param_1 << 8,
&i_actor->current.pos,
fopAcM_GetRoomNo(i_actor),
@@ -86,7 +86,7 @@ public:
}
static fopAc_ac_c* makeSlingStone(fopAc_ac_c* i_actor, cXyz* i_pos) {
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_ARROW,
return (fopAc_ac_c*)fopAcM_fastCreate(fpcNm_ARROW_e,
0x401,
i_pos,
fopAcM_GetRoomNo(i_actor),
-17
View File
@@ -87,21 +87,4 @@ public:
STATIC_ASSERT(sizeof(bd_class) == 0x9ec);
class daBd_HIO_c : public JORReflexible {
public:
daBd_HIO_c();
virtual ~daBd_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 id;
/* 0x08 */ f32 mBasicSize;
/* 0x0C */ f32 mFlightSpeed;
/* 0x10 */ f32 mGroundSpeed;
/* 0x14 */ s16 mFlightTime;
/* 0x18 */ f32 mLinkDetectRange;
/* 0x1C */ s16 mChirpDist;
/* 0x1E */ s8 field_0x1E;
};
#endif /* D_A_BD_H */
+1 -18
View File
@@ -42,7 +42,7 @@ public:
int CreateHeap();
int create();
void setBgId(u32 i_bgId) { mBgId = i_bgId; }
void setBgId(unsigned int i_bgId) { mBgId = i_bgId; }
bool isBomb() { return mIsBomb; }
private:
@@ -92,21 +92,4 @@ private:
STATIC_ASSERT(sizeof(daE_BG_c) == 0xbbc);
class daE_BG_HIO_c : public JORReflexible {
public:
daE_BG_HIO_c();
virtual ~daE_BG_HIO_c() {}
void genMessage(JORMContext*);
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 mTrackingSpeed;
/* 0x0C */ f32 mRushSpeed;
/* 0x10 */ f32 mWaitDistanceBeforeCharging;
/* 0x14 */ f32 mPlayerSearchDistance;
/* 0x18 */ f32 mAttackRange;
/* 0x1C */ f32 mSwimRange;
/* 0x20 */ f32 mJumpTime;
};
#endif /* D_A_E_BG_H */
+1 -1
View File
@@ -51,7 +51,7 @@ public:
void BombEatAction();
void Spid_Out();
void LinkEatAction();
bool Mogu_Mogu();
u8 Mogu_Mogu();
void ObjEatAction();
void EatAction();
void SearchAction();
+50 -48
View File
@@ -8,14 +8,16 @@
#include "d/d_path.h"
#include "f_op/f_op_actor_mng.h"
#include "m_Do/m_Do_ext.h"
/**
* @ingroup actors-enemies
* @class e_rd_class
* @brief Bulblin
*
* @details
*
* @brief Rider (Bulblin / King Bulblin on Boar)
*
* @details Bulblin enemy that rides a Bullbo (wild boar). Handles mounting,
* riding, combat, and dismounting behavior, as well as on-foot actions when
* not riding. Bulblins appear as regular riders,
* while King Bulblin serves as the boss variant of the boar rider.
*
*/
class e_rd_class {
public:
@@ -28,11 +30,11 @@ public:
/* 0x05B7 */ u8 arg1;
/* 0x05B8 */ u8 arg2;
/* 0x05B9 */ u8 field_0x5b9;
/* 0x05BA */ u8 field_0x5ba;
/* 0x05BA */ u8 scene_no;
/* 0x05BB */ u8 field_0x5bb;
/* 0x05BC */ u8 weapon_type;
/* 0x05BD */ s8 field_0x5bd;
/* 0x05C0 */ cXyz field_0x5c0;
/* 0x05BD */ s8 armament_flag;
/* 0x05C0 */ cXyz find_pos;
/* 0x05CC */ s16 target_ya;
/* 0x05D0 */ mDoExt_McaMorfSO* anm_p;
/* 0x05D4 */ Z2CreatureEnemy sound;
@@ -40,29 +42,29 @@ public:
/* 0x067C */ int anm;
/* 0x0680 */ int field_0x680;
/* 0x0684 */ dJntCol_c mJntCol;
/* 0x0694 */ J3DModel* arrow;
/* 0x0694 */ J3DModel* arrow_model;
/* 0x0698 */ mDoExt_McaMorfSO* bow_anm;
/* 0x069C */ mDoExt_McaMorf* mpMorfHornAnm;
/* 0x06A0 */ s8 field_0x6a0;
/* 0x06A4 */ cXyz field_0x6a4;
/* 0x06B0 */ cXyz field_0x6b0;
/* 0x06BC */ csXyz field_0x6bc;
/* 0x069C */ mDoExt_McaMorf* horn_anm;
/* 0x06A0 */ s8 horn_mode;
/* 0x06A4 */ cXyz horn_pos;
/* 0x06B0 */ cXyz horn_spd;
/* 0x06BC */ csXyz horn_rot;
/* 0x06C2 */ s8 run_flag;
/* 0x06C3 */ u8 field_0x6c3;
/* 0x06C4 */ J3DModel* eye_model[2];
/* 0x06CC */ f32 field_0x6cc;
/* 0x06D0 */ f32 field_0x6d0;
/* 0x06D4 */ J3DModel* armor_boss_part[14];
/* 0x070C */ s8 field_0x70c[14];
/* 0x071C */ cXyz field_0x71c[14];
/* 0x07C4 */ cXyz field_0x7c4[14];
/* 0x086C */ csXyz field_0x86c[14];
/* 0x070C */ s8 part_break[14];
/* 0x071C */ cXyz part_pos[14];
/* 0x07C4 */ cXyz part_spd[14];
/* 0x086C */ csXyz part_angle[14];
/* 0x08C0 */ u32 armor_break_eff[14][3];
/* 0x0968 */ s8 field_0x968;
/* 0x096C */ f32 field_0x96c;
/* 0x0970 */ s16 counter;
/* 0x0972 */ s16 action;
/* 0x0974 */ s16 prev_action;
/* 0x0974 */ s16 old_action;
/* 0x0978 */ f32 dis;
/* 0x097C */ s16 angleY;
/* 0x0980 */ f32 attack_range;
@@ -76,7 +78,7 @@ public:
/* 0x099E */ s16 attack_timer;
/* 0x09A0 */ s8 field_0x9a0;
/* 0x09A1 */ s8 look_timer;
/* 0x09A2 */ s8 field_0x9a2;
/* 0x09A2 */ s8 arrow_draw;
/* 0x09A3 */ s8 arrow_flag;
/* 0x09A4 */ s8 field_0x9a4;
/* 0x09A5 */ u8 field_0x9a5;
@@ -86,19 +88,19 @@ public:
/* 0x09AB */ s8 field_0x9ab;
/* 0x09AC */ s8 field_0x9ac;
/* 0x09AD */ s8 field_0x9ad;
/* 0x09B0 */ cXyz field_0x9b0;
/* 0x09B0 */ cXyz center_body;
/* 0x09BC */ s8 ride_mode;
/* 0x09BD */ s8 field_0x9bd;
/* 0x09BE */ s8 boar_stand;
/* 0x09BF */ u8 field_0x9bf;
/* 0x09C0 */ f32 field_0x9c0;
/* 0x09C4 */ f32 field_0x9c4;
/* 0x09C8 */ s8 field_0x9c8;
/* 0x09C0 */ f32 mount_jump_y;
/* 0x09C4 */ f32 mount_jump_speed;
/* 0x09C8 */ s8 aim_type;
/* 0x09C9 */ u8 field_0x9c9;
/* 0x09CA */ s16 field_0x9ca;
/* 0x09CC */ s16 field_0x9cc;
/* 0x09CE */ s16 field_0x9ce;
/* 0x09D0 */ s16 field_0x9d0;
/* 0x09CA */ s16 aim_angle_y;
/* 0x09CC */ s16 aim_angle_x;
/* 0x09CE */ s16 head_angle_y;
/* 0x09D0 */ s16 head_shake;
/* 0x09D4 */ cXyz eye;
/* 0x09E0 */ cXyz field_0x9e0; // unused, dbg offset 0xa18
/* 0x09EC */ f32 jump_z;
@@ -111,7 +113,7 @@ public:
/* 0x0A0C */ csXyz jump_angle;
/* 0x0A12 */ csXyz field_0xa12;
/* 0x0A18 */ csXyz field_0xa18;
/* 0x0A1E */ s8 field_0xa1e;
/* 0x0A1E */ s8 jump_timer;
/* 0x0A1F */ s8 field_0xa1f;
/* 0x0A20 */ u32 field_0xa20;
/* 0x0A24 */ f32 field_0xa24;
@@ -139,47 +141,47 @@ public:
/* 0x0AF8 */ s16 field_0xaf8;
/* 0x0AFA */ s8 field_0xafa;
/* 0x0AFB */ s8 field_0xafb;
/* 0x0AFC */ dPath* path;
/* 0x0B00 */ s8 field_0xb00;
/* 0x0B01 */ s8 path_dir;
/* 0x0AFC */ dPath* ppd;
/* 0x0B00 */ s8 jyunkai_no; /* 巡回ポイントNo (Patrol point index) */
/* 0x0B01 */ s8 dir;
/* 0x0B04 */ dBgS_AcchCir AcchCir;
/* 0x0B44 */ dBgS_ObjAcch ObjAcch;
/* 0x0D1C */ dCcD_Stts mStts;
/* 0x0B44 */ dBgS_ObjAcch Bgc;
/* 0x0D1C */ dCcD_Stts Stts;
/* 0x0D58 */ dCcD_Sph cc_sph[3];
/* 0x1100 */ dCcD_Sph at_sph;
/* 0x1238 */ dCcU_AtInfo AtInfo;
/* 0x1238 */ dCcU_AtInfo at_info;
/* 0x125C */ u8 hio_set;
/* 0x125D */ s8 field_0x125d;
/* 0x1260 */ u32 field_0x1260;
/* 0x1264 */ u32 field_0x1264;
/* 0x1268 */ u32 enemy_downWtrA[3];
/* 0x1274 */ u32 fire_eff[2];
/* 0x127C */ cXyz field_0x127c;
/* 0x1288 */ cXyz field_0x1288;
/* 0x1268 */ u32 w_eff_id[3];
/* 0x1274 */ u32 fire_eff_id[2];
/* 0x127C */ cXyz fire_pos;
/* 0x1288 */ cXyz fire_eff;
/* 0x1294 */ s8 field_0x1294;
/* 0x1295 */ s8 one_hit_kill;
/* 0x1296 */ s8 field_0x1296;
/* 0x1297 */ s8 field_0x1297;
/* 0x1298 */ s8 field_0x1298;
/* 0x1299 */ u8 field_0x1299;
/* 0x129A */ s8 actor_set; // 1: Eldin Field, 2 Eldin Bridge, 3 Lake Hylia Bridge, 4 ???
/* 0x129A */ s8 actor_set;
/* 0x129B */ u8 field_0x129b;
/* 0x129C */ s8 field_0x129c;
/* 0x129C */ s8 horn_timer;
/* 0x12A0 */ int sw;
/* 0x12A4 */ s16 demo_mode;
/* 0x12A6 */ s16 demo_timer;
/* 0x12A8 */ cXyz demo_cam_eye;
/* 0x12B4 */ cXyz demo_cam_center;
/* 0x12C0 */ cXyz field_0x12c0;
/* 0x12CC */ cXyz field_0x12cc;
/* 0x12D8 */ cXyz field_0x12d8;
/* 0x12E4 */ cXyz field_0x12e4;
/* 0x12B4 */ cXyz demo_cam_ctr;
/* 0x12C0 */ cXyz demo_cam_way;
/* 0x12CC */ cXyz demo_cam_target;
/* 0x12D8 */ cXyz demo_cam_eye_spd;
/* 0x12E4 */ cXyz demo_cam_way_spd;
/* 0x12F0 */ cXyz field_0x12f0;
/* 0x12FC */ u8 field_0x12fc[0x1300 - 0x12fc];
/* 0x1300 */ f32 field_0x1300;
/* 0x1300 */ f32 demo_cam_eye_z;
/* 0x1304 */ u8 blurRate;
/* 0x1308 */ f32 demo_cam_zoom;
/* 0x130C */ f32 field_0x130c;
/* 0x130C */ f32 demo_cam_morf;
/* 0x1310 */ u8 field_0x1310[0x131c - 0x1310];
/* 0x131C */ dMsgFlow_c MsgFlow;
};
+90 -90
View File
@@ -57,7 +57,7 @@ enum daE_WB_ACT {
};
struct himo_s {
/* 0x0 */ cXyz field_0x0[16];
/* 0x0 */ cXyz node[16];
};
@@ -79,61 +79,61 @@ public:
BOOL checkNormalRideMode() const;
void setRunRideMode();
MtxP getRideMtx() { return mpModelMorf->getModel()->getAnmMtx(15); }
f32 nowAnimeFrame() const { return mpModelMorf->getFrame(); }
s16 getWaitRollAngle() const { return mWaitRollAngle; }
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); }
MtxP getRideMtx() { return anm_p->getModel()->getAnmMtx(15); }
f32 nowAnimeFrame() const { return anm_p->getFrame(); }
s16 getWaitRollAngle() const { return wait_roll_angle; }
BOOL checkGetOff() const { return enemy.speedF < 3.0f; }
f32 rideSpeedRate() const { return enemy.speedF / ride_speed_max; }
f32 getAnimeFrameRate() { return anm_p->getFrame() / anm_p->getEndFrame(); }
BOOL checkAnmLoopFrame() { return anm_p->checkFrame(0.0f); }
J3DModel* getModel() {
if (mpModelMorf != NULL) {
return mpModelMorf->getModel();
if (anm_p != NULL) {
return anm_p->getModel();
}
return NULL;
}
public:
/* 0x0000 */ fopEn_enemy_c mEnemy; ///< @brief Base enemy class instance.
/* 0x05AC */ request_of_phase_process_class mPhase; ///< @brief Phase process request handler.
/* 0x05B4 */ s16 mActionMode; ///< @brief Current sub-action mode within the run action.
/* 0x05B8 */ char* mResName; ///< @brief Resource name for loading models/animations.
/* 0x05BC */ u8 mParam; ///< @brief Creation parameter 1.
/* 0x05BD */ u8 mParam2; ///< @brief Creation parameter 2.
/* 0x0000 */ fopEn_enemy_c enemy; ///< @brief Base enemy class instance.
/* 0x05AC */ request_of_phase_process_class phase; ///< @brief Phase process request handler.
/* 0x05B4 */ s16 ride_mode; ///< @brief Current sub-action mode within the run action.
/* 0x05B8 */ char* resName; ///< @brief Resource name for loading models/animations.
/* 0x05BC */ u8 arg0; ///< @brief Creation parameter 1.
/* 0x05BD */ u8 arg1; ///< @brief Creation parameter 2.
/* 0x05BE */ u8 field_0x5be;
/* 0x05BF */ bool field_0x5bf;
/* 0x05BF */ bool no_draw;
/* 0x05C0 */ u8 field_0x5c0;
/* 0x05C4 */ cXyz field_0x5c4;
/* 0x05C4 */ cXyz eye;
/* 0x05D0 */ cXyz field_0x5d0;
/* 0x05DC */ s16 mTargetFacingAngle; ///< @brief Target facing angle for turning towards path point.
/* 0x05DC */ s16 target_ya; ///< @brief Target facing angle for turning towards path point.
/* 0x05DE */ s16 field_0x5de;
/* 0x05E0 */ mDoExt_McaMorfSO* mpModelMorf; ///< @brief Pointer to model morph animator.
/* 0x05E4 */ f32 mPlaySpeed; ///< @brief Animation playback speed.
/* 0x05E8 */ int mAnmID; ///< @brief Current animation ID.
/* 0x05EC */ Z2CreatureRide mZ2Ride; ///< @brief Z2 sound creature for ride effects.
/* 0x05E0 */ mDoExt_McaMorfSO* anm_p; ///< @brief Pointer to model morph animator.
/* 0x05E4 */ f32 anm_spd; ///< @brief Animation playback speed.
/* 0x05E8 */ int anmID; ///< @brief Current animation ID.
/* 0x05EC */ Z2CreatureRide sound; ///< @brief Z2 sound creature for ride effects.
/* 0x0688 */ int field_0x688;
/* 0x068C */ s8 mPathInitialized; ///< @brief Flag indicating if path has been initialized.
/* 0x068E */ s16 field_0x68e;
/* 0x0690 */ s16 mActionID; ///< @brief High-level action ID.
/* 0x0692 */ s16 field_0x692;
/* 0x0694 */ int mShadowKey; ///< @brief Shadow drawing key.
/* 0x0698 */ s16 field_0x698[4];
/* 0x06A0 */ s16 field_0x6a0;
/* 0x068C */ s8 path_set; ///< @brief Flag indicating if path has been initialized.
/* 0x068E */ s16 counter;
/* 0x0690 */ s16 action; ///< @brief High-level action ID.
/* 0x0692 */ s16 old_action;
/* 0x0694 */ int shadow_key; ///< @brief Shadow drawing key.
/* 0x0698 */ s16 timer[4];
/* 0x06A0 */ s16 wait_timer;
/* 0x06A2 */ u8 field_0x6a2[0x6ae - 0x6a2];
/* 0x06AE */ csXyz field_0x6ae;
/* 0x06B4 */ csXyz field_0x6b4;
/* 0x06BA */ s16 field_0x6ba;
/* 0x06AE */ csXyz rotation;
/* 0x06B4 */ csXyz rotation_spd;
/* 0x06BA */ s16 damage_timer;
/* 0x06BC */ u8 field_0x6bc;
/* 0x06BD */ s8 mPursuitFlag; ///< @brief Flag indicating pursuit mode.
/* 0x06BE */ u16 mStatusFlags; ///< @brief Bitfield for various status flags.
/* 0x06BD */ s8 pursuit_flg; ///< @brief Flag indicating pursuit mode.
/* 0x06BE */ u16 status_flag; ///< @brief Bitfield for various status flags.
/* 0x06C0 */ s8 field_0x6c0;
/* 0x06C4 */ f32 field_0x6c4;
/* 0x06C8 */ int mCurrentPathIndex; ///< @brief Current index in the path points array.
/* 0x06CC */ int mPathDirection; ///< @brief Direction to iterate path points (+1 or -1).
/* 0x06D0 */ s16 field_0x6d0;
/* 0x06D2 */ s16 mTurnStep; ///< @brief Step value for turning angle adjustment.
/* 0x06C4 */ f32 x_check;
/* 0x06C8 */ int path_ten; ///< @brief Current index in the path points array.
/* 0x06CC */ int dir; ///< @brief Direction to iterate path points (+1 or -1).
/* 0x06D0 */ s16 range;
/* 0x06D2 */ s16 turn_step; ///< @brief Step value for turning angle adjustment.
/* 0x06D4 */ s16 field_0x6d4;
/* 0x06D6 */ s16 field_0x6d6;
/* 0x06D8 */ s16 field_0x6d8;
@@ -142,24 +142,24 @@ public:
/* 0x06DE */ csXyz field_0x6de;
/* 0x06E4 */ s8 field_0x6e4;
/* 0x06E5 */ u8 field_0x6e5[0x6ec - 0x6e5];
/* 0x06EC */ csXyz field_0x6ec[0x1d];
/* 0x079A */ s16 mBodyTiltAngle; ///< @brief Body tilt angle based on turning.
/* 0x079C */ u8 field_0x79c;
/* 0x079D */ s8 field_0x79d;
/* 0x079E */ s8 mLapCount; ///< @brief Lap or progress count affecting path generation.
/* 0x079F */ s8 mPathAdjustCounter; ///< @brief Counter for periodic path adjustment.
/* 0x07A0 */ s16 field_0x7a0;
/* 0x07A2 */ s8 field_0x7a2;
/* 0x06EC */ csXyz field_0x6ec[29];
/* 0x079A */ s16 body_angle; ///< @brief Body tilt angle based on turning.
/* 0x079C */ u8 start_timer;
/* 0x079D */ s8 leader;
/* 0x079E */ s8 lap_num; ///< @brief Lap or progress count affecting path generation.
/* 0x079F */ s8 path_adjust_count; ///< @brief Counter for periodic path adjustment.
/* 0x07A0 */ s16 dodge_angle;
/* 0x07A2 */ s8 kiba;
/* 0x07A4 */ s16 field_0x7a4;
/* 0x07A6 */ s8 field_0x7a6;
/* 0x07A7 */ s8 field_0x7a7;
/* 0x07A8 */ f32 field_0x7a8;
/* 0x07AC */ dBgS_AcchCir field_0x7ac;
/* 0x07EC */ dBgS_ObjAcch mAcch;
/* 0x09C4 */ dCcD_Stts mStts;
/* 0x0A00 */ dCcD_Sph field_0xa00[7];
/* 0x1288 */ dCcD_Sph field_0x1288;
/* 0x13C0 */ dCcU_AtInfo field_0x13c0;
/* 0x07A8 */ f32 pass;
/* 0x07AC */ dBgS_AcchCir AcchCir;
/* 0x07EC */ dBgS_ObjAcch Bgc;
/* 0x09C4 */ dCcD_Stts Stts;
/* 0x0A00 */ dCcD_Sph cc_sph[7];
/* 0x1288 */ dCcD_Sph at_sph;
/* 0x13C0 */ dCcU_AtInfo at_info;
/* 0x13E4 */ u8 field_0x13e4;
/* 0x13E8 */ u32 field_0x13e8[2];
/* 0x13F0 */ u32 field_0x13f0;
@@ -173,53 +173,53 @@ public:
/* 0x1414 */ u32 field_0x1414;
/* 0x1418 */ u32 field_0x1418;
/* 0x141C */ u32 field_0x141c;
/* 0x1420 */ u32 field_0x1420[3];
/* 0x142C */ u8 mMovementType; ///< @brief Type of movement (1 for normal, 2 for faster).
/* 0x142D */ u8 mCollisionFlags; ///< @brief Flags for collision states.
/* 0x142E */ u8 mLandingFlag; ///< @brief Flag for landing after jump.
/* 0x142F */ s8 mSpeedCapTimer; ///< @brief Timer to cap speed at 30.
/* 0x1430 */ s8 field_0x1430;
/* 0x1432 */ s16 field_0x1432;
/* 0x1434 */ fpc_ProcID field_0x1434; // Rider actor ID? ///< @brief Process ID of rider actor.
/* 0x1438 */ cXyz field_0x1438[2];
/* 0x1450 */ himo_s field_0x1450[2];
/* 0x15D0 */ mDoExt_3DlineMat1_c field_0x15d0[2];
/* 0x1648 */ mDoExt_3DlineMat1_c field_0x1648;
/* 0x1684 */ f32 mAnimDuration; ///< @brief Duration or timer for animation.
/* 0x1420 */ u32 w_eff_id[3];
/* 0x142C */ u8 movement_type; ///< @brief Type of movement (1 for normal, 2 for faster).
/* 0x142D */ u8 collision_flg; ///< @brief Flags for collision states.
/* 0x142E */ u8 landing_flag; ///< @brief Flag for landing after jump.
/* 0x142F */ s8 gake_flg;
/* 0x1430 */ s8 demo_stop;
/* 0x1432 */ s16 dash_timer;
/* 0x1434 */ fpc_ProcID rd_id; // Rider actor ID? ///< @brief Process ID of rider actor.
/* 0x1438 */ cXyz rein_hand_pos[2];
/* 0x1450 */ himo_s himo[2];
/* 0x15D0 */ mDoExt_3DlineMat1_c himo_mat[2];
/* 0x1648 */ mDoExt_3DlineMat1_c himo_tex;
/* 0x1684 */ f32 anm_time; ///< @brief Duration or timer for animation.
/* 0x1688 */ s16 field_0x1688;
/* 0x168A */ s16 field_0x168a;
/* 0x168C */ f32 field_0x168c;
/* 0x1690 */ f32 field_0x1690;
/* 0x168C */ f32 rein_spd;
/* 0x1690 */ f32 acceleration;
/* 0x1694 */ u8 field_0x1694[0x169e - 0x1694];
/* 0x169E */ s16 field_0x169e;
/* 0x16A0 */ s16 field_0x16a0;
/* 0x16A4 */ cXyz field_0x16a4;
/* 0x16B0 */ cXyz field_0x16b0;
/* 0x16BC */ cXyz field_0x16bc;
/* 0x16C8 */ cXyz field_0x16c8;
/* 0x16D4 */ cXyz field_0x16d4;
/* 0x16E0 */ cXyz field_0x16e0;
/* 0x16EC */ cXyz field_0x16ec;
/* 0x16F8 */ cXyz field_0x16f8;
/* 0x1704 */ s16 field_0x1704;
/* 0x1708 */ f32 field_0x1708;
/* 0x170C */ f32 field_0x170c;
/* 0x1710 */ f32 field_0x1710;
/* 0x1714 */ f32 field_0x1714;
/* 0x169E */ s16 demo_mode;
/* 0x16A0 */ s16 demo_timer;
/* 0x16A4 */ cXyz demo_cam_eye;
/* 0x16B0 */ cXyz demo_cam_eye_mae;
/* 0x16BC */ cXyz demo_cam_ctr;
/* 0x16C8 */ cXyz demo_cam_ctr_mae;
/* 0x16D4 */ cXyz demo_cam_target;
/* 0x16E0 */ cXyz demo_cam_way;
/* 0x16EC */ cXyz demo_cam_eye_spd;
/* 0x16F8 */ cXyz demo_cam_way_spd;
/* 0x1704 */ s16 demo_cam_ya;
/* 0x1708 */ f32 demo_cam_eye_z;
/* 0x170C */ f32 demo_cam_eye_x;
/* 0x1710 */ f32 demo_cam_morf;
/* 0x1714 */ f32 demo_cam_zoom;
/* 0x1718 */ f32 field_0x1718;
/* 0x171C */ f32 field_0x171c;
/* 0x1720 */ s8 field_0x1720;
/* 0x1721 */ s8 field_0x1721;
/* 0x1722 */ s8 field_0x1722;
/* 0x1722 */ s8 saku_burn;
/* 0x1723 */ u8 field_0x1723[0x17c4 - 0x1723];
/* 0x17C4 */ u32 field_0x17c4;
/* 0x17C4 */ u32 anm_se_eff;
/* 0x17C8 */ u8 field_0x17c8[0x17D0 - 0x17C8];
/* 0x17D0 */ u32 field_0x17d0[4];
/* 0x17D0 */ u32 w_eff_id2[4];
/* 0x17E0 */ u8 field_0x17e0;
/* 0x17E1 */ u8 field_0x17e1;
/* 0x17E2 */ s16 mWaitRollAngle; ///< @brief Roll angle during wait state.
/* 0x17E2 */ s16 wait_roll_angle; ///< @brief Roll angle during wait state.
/* 0x17E4 */ u8 field_0x17e4[0x17e8 - 0x17e4];
/* 0x17E8 */ f32 mSpeedRate; ///< @brief Speed rate for riding calculations.
/* 0x17E8 */ f32 ride_speed_max; ///< @brief Speed rate for riding calculations.
};
STATIC_ASSERT(sizeof(e_wb_class) == 0x17EC);
+1 -1
View File
@@ -69,7 +69,7 @@ public:
/* 0x6E9 */ s8 field_0x6e9;
/* 0x6EA */ s8 field_0x6ea;
/* 0x6EB */ s8 field_0x6eb;
/* 0x6EC */ dPath* field_0x6ec;
/* 0x6EC */ dPath* ppd;
/* 0x6F0 */ u8 field_0x6f0;
/* 0x6F2 */ csXyz field_0x6f2;
/* 0x6F8 */ csXyz field_0x6f8;
+2 -2
View File
@@ -539,10 +539,10 @@ public:
/* 0x0C4 */ f32 boar_jump_height;
/* 0x0C8 */ f32 water_depth_limit;
/* 0x0CC */ f32 enemy_search_range;
/* 0x0D0 */ f32 m0D0;
/* 0x0D0 */ f32 climb_step;
/* 0x0D4 */ f32 floor_angle_limit;
/* 0x0D8 */ f32 dash_anm_speed;
/* 0x0DC */ f32 field_0xdc;
/* 0x0DC */ f32 min_walk_rate;
/* 0x0E0 */ f32 walk_min_speed;
/* 0x0E4 */ f32 cliff_jump_anm_speed;
/* 0x0E8 */ f32 cliff_jump_start_frame;
+1 -15
View File
@@ -285,21 +285,7 @@ public:
}
}
bool isOrchestra() {
if (strcmp(dComIfGp_getStartStageName(), "F_SP116") != 0) {
return 0;
} else {
if (m_seqNum == 17 &&
(getType() == 4 || getType() == 5 || getType() == 6 || getType() == 16))
{
return 1;
} else if (m_seqNum == 37 && getType() == 7) {
return 1;
} else {
return 0;
}
}
}
bool isOrchestra();
int chkEvent() {
attention_info.flags = 0;
+2 -2
View File
@@ -19,9 +19,9 @@ public:
class daNpcChin_HIO_c : public mDoHIO_entry_c {
public:
daNpcChin_HIO_c();
virtual ~daNpcChin_HIO_c();
void listenPropertyEvent(const JORPropertyEvent*);
void genMessage(JORMContext*);
virtual void genMessage(JORMContext*);
/* 0x08 */ daNpcChin_HIOParam m;
};
+1 -1
View File
@@ -107,7 +107,7 @@ public:
bool isInsect(int type) {
bool rv = false;
if (type >= fpcNm_ITEM_M_BEETLE && type <= fpcNm_ITEM_F_MAYFLY) {
if (type >= dItemNo_M_BEETLE_e && type <= dItemNo_F_MAYFLY_e) {
rv = true;
}
+1 -1
View File
@@ -206,7 +206,7 @@ public:
int crashPumpkin(fopAc_ac_c* pumpkin_p) {
int reg_r30;
if (mType == 0 && fopAcM_GetName(pumpkin_p) == PROC_OBJ_PUMPKIN && !daNpcT_chkEvtBit(0xAE)
if (mType == 0 && fopAcM_GetName(pumpkin_p) == fpcNm_OBJ_PUMPKIN_e && !daNpcT_chkEvtBit(0xAE)
&& daNpcT_chkEvtBit(0x25B) && !daNpcT_chkEvtBit(0x235)) {
++field_0xffc;
reg_r30 = chkPointInArea(pumpkin_p->current.pos, current.pos, mpHIO->m.pumpkin_watch_range,
+3 -3
View File
@@ -214,15 +214,15 @@ public:
void searchActors() {
if (mMode == 0) {
if (mActorMngr[1].getActorP() == NULL) {
mActorMngr[1].entry(fopAcM_SearchByName(PROC_NPC_ASH));
mActorMngr[1].entry(fopAcM_SearchByName(fpcNm_NPC_ASH_e));
}
if (mActorMngr[2].getActorP() == NULL) {
mActorMngr[2].entry(fopAcM_SearchByName(PROC_NPC_RAFREL));
mActorMngr[2].entry(fopAcM_SearchByName(fpcNm_NPC_RAFREL_e));
}
if (mActorMngr[3].getActorP() == NULL) {
mActorMngr[3].entry(fopAcM_SearchByName(PROC_NPC_MOIR));
mActorMngr[3].entry(fopAcM_SearchByName(fpcNm_NPC_MOIR_e));
}
if (mActorMngr[4].getActorP() == NULL) {
+2 -13
View File
@@ -2,6 +2,7 @@
#define D_A_NPC_TKJ2_H
#include "d/actor/d_a_npc.h"
#include "d/d_cc_uty.h"
/**
* @ingroup actors-npcs
@@ -51,7 +52,7 @@ public:
/* 0x84C */ u8 field_0x84c[0x850 - 0x84c];
/* 0x850 */ dCcD_Stts mStts;
/* 0x88C */ dCcD_Sph field_0x88c;
/* 0x9C4 */ u8 field_0x9c4[0x9e8 - 0x9c4];
/* 0x9C4 */ dCcU_AtInfo field_0x9c4;
/* 0x9E8 */ Z2CreatureEnemy mSound;
/* 0xA8C */ s8 field_0xa8c;
/* 0xA8E */ s16 field_0xa8e;
@@ -64,16 +65,4 @@ public:
STATIC_ASSERT(sizeof(npc_tkj2_class) == 0xaa0);
class daNpc_Tkj2_HIO_c {
public:
daNpc_Tkj2_HIO_c();
virtual ~daNpc_Tkj2_HIO_c() {}
/* 天空人(アクション用)- Sky People (For Action) */
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 basic_size; // 基本大きさ - Basic Size
/* 0x0C */ f32 hook_hit_size; // フックヒット大きさ - Hook Hit Size
/* 0x10 */ f32 boots_struggle_sp; // ブーツ時もがきSP - Boots Struggle SP
};
#endif /* D_A_NPC_TKJ2_H */
+1 -1
View File
@@ -32,7 +32,7 @@ public:
static void make_land_smoke(cXyz* i_pos, f32 i_scale) {
cXyz scale(i_scale, i_scale, i_scale);
scale *= 1.6666666f;
fopAcM_create(PROC_Obj_Eff, 3, i_pos, -1, NULL, &scale, -1);
fopAcM_create(fpcNm_Obj_Eff_e, 3, i_pos, -1, NULL, &scale, -1);
}
};
}; // namespace daObjEff
+30 -21
View File
@@ -24,9 +24,13 @@ namespace daObjMovebox {
enum Type_e { pp_field = 3 };
struct Attr_c {
struct sMinMax { // fabricated
s16 min;
s16 max;
struct sMinMax3 { // fabricated
s16 xMin;
s16 xMax;
s16 yMin;
s16 yMax;
s16 zMin;
s16 zMax;
};
/* 0x00 */ s16 mFirstPushStopTime;
/* 0x02 */ s16 mRepeatPushStopTime;
@@ -53,26 +57,24 @@ struct Attr_c {
/* 0x4C */ f32 mMaxTiltPower;
/* 0x50 */ f32 mTiltSpringFactor;
/* 0x54 */ f32 mTiltViscoscityResistance;
/* 0x58 */ int field_0x58;
/* 0x5C */ int field_0x5c;
/* 0x60 */ u32 field_0x60;
/* 0x64 */ f32 field_0x64;
/* 0x58 */ int mModelResIdx;
/* 0x5C */ int mMoveBGIdx;
/* 0x60 */ u32 mHeapSize;
/* 0x64 */ f32 mScaleY;
/* 0x68 */ f32 field_0x68;
/* 0x6C */ f32 field_0x6c;
/* 0x70 */ f32 field_0x70;
/* 0x74 */ f32 field_0x74;
/* 0x6C */ f32 mWaterBobScale; // always the reciprocal of field_0x68
/* 0x70 */ f32 mScaleXZ;
/* 0x74 */ f32 mTiltForceScale; // always the reciprocal of mScaleXZ
/* 0x78 */ f32 field_0x78;
/* 0x7C */ u32 field_0x7c;
/* 0x80 */ u32 field_0x80;
/* 0x84 */ u32 field_0x84;
/* 0x88 */ u32 field_0x88;
/* 0x8C */ int field_0x8c;
/* 0x90 */ sMinMax mCullX;
/* 0x94 */ sMinMax mCullY;
/* 0x98 */ sMinMax mCullZ;
/* 0x9C */ u8 field_0x9c;
/* 0x9D */ u8 field_0x9d;
/* 0x9E */ u8 field_0x9e;
/* 0x7C */ Z2SoundID mSoundSlip;
/* 0x80 */ Z2SoundID mSoundLimit;
/* 0x84 */ Z2SoundID mSoundLand;
/* 0x88 */ Z2SoundID mSoundFallWater;
/* 0x8C */ Z2SoundID mSoundFallMagma;
/* 0x90 */ sMinMax3 mCull;
/* 0x9C */ bool field_0x9c;
/* 0x9D */ bool mDisableShadow;
/* 0x9E */ bool mUseLargeGrid;
};
struct Hio_c : JORReflexible {
@@ -153,7 +155,13 @@ struct Act_c : public dBgS_MoveBgActor {
int prm_get_swSave1() const;
void prmZ_init();
void prmX_init();
// it seems like this signature changed between GCN and Wii?
// GCN only matches with a const reference return type and Wii/Shield only match with non-const
#if PLATFORM_GCN
const daObjMovebox::Attr_c& attr() const;
#else
daObjMovebox::Attr_c& attr() const;
#endif
void set_mtx();
void init_mtx();
void path_init();
@@ -176,6 +184,7 @@ struct Act_c : public dBgS_MoveBgActor {
void sound_land();
void vib_land();
void eff_land_smoke();
void eff_break();
virtual int CreateHeap();
virtual int Create();
+10 -10
View File
@@ -687,8 +687,8 @@ public:
static void setMidnaMotionNum(int i_motionNum);
static void setMidnaFaceNum(int i_faceNum);
static BOOL checkShieldGet() { return dComIfGs_getSelectEquipShield() != fpcNm_ITEM_NONE; }
static BOOL checkSwordGet() { return dComIfGs_getSelectEquipSword() != fpcNm_ITEM_NONE; }
static BOOL checkShieldGet() { return dComIfGs_getSelectEquipShield() != dItemNo_NONE_e; }
static BOOL checkSwordGet() { return dComIfGs_getSelectEquipSword() != dItemNo_NONE_e; }
cXyz getHeadTopPos() const { return mHeadTopPos; }
u32 checkThrowDamage() const { return checkNoResetFlg1(FLG1_THROW_DAMAGE); }
@@ -1123,40 +1123,40 @@ public:
static int getLastSceneDamage() { return (dComIfGs_getLastSceneMode() >> 4) & 0x7F; }
static u32 getLastSceneSwordAtUpTime() { return (dComIfGs_getLastSceneMode() >> 11) & 0xFF; }
static BOOL checkNormalSwordEquip() { return dComIfGs_getSelectEquipSword() == fpcNm_ITEM_SWORD; }
static BOOL checkNormalSwordEquip() { return dComIfGs_getSelectEquipSword() == dItemNo_SWORD_e; }
static u32 getLastSceneMode() {
return dComIfGs_getLastSceneMode() & 0xF;
}
static bool checkWoodSwordEquip() {
return dComIfGs_getSelectEquipSword() == fpcNm_ITEM_WOOD_STICK;
return dComIfGs_getSelectEquipSword() == dItemNo_WOOD_STICK_e;
}
static bool checkLightMasterSwordEquip() {
return dComIfGs_getSelectEquipSword() == fpcNm_ITEM_LIGHT_SWORD;
return dComIfGs_getSelectEquipSword() == dItemNo_LIGHT_SWORD_e;
}
static bool checkCasualWearFlg() {
return dComIfGs_getSelectEquipClothes() == fpcNm_ITEM_WEAR_CASUAL;
return dComIfGs_getSelectEquipClothes() == dItemNo_WEAR_CASUAL_e;
}
static u32 checkNowWolf() { return ((daPy_py_c*)dComIfGp_getLinkPlayer())->checkWolf(); }
static bool checkZoraWearFlg() {
return dComIfGs_getSelectEquipClothes() == fpcNm_ITEM_WEAR_ZORA;
return dComIfGs_getSelectEquipClothes() == dItemNo_WEAR_ZORA_e;
}
static bool checkMagicArmorWearFlg() {
return dComIfGs_getSelectEquipClothes() == fpcNm_ITEM_ARMOR;
return dComIfGs_getSelectEquipClothes() == dItemNo_ARMOR_e;
}
static bool checkCarvingWoodShieldEquip() {
return dComIfGs_getSelectEquipShield() == fpcNm_ITEM_WOOD_SHIELD;
return dComIfGs_getSelectEquipShield() == dItemNo_WOOD_SHIELD_e;
}
static bool checkShopWoodShieldEquip() {
return dComIfGs_getSelectEquipShield() == fpcNm_ITEM_SHIELD;
return dComIfGs_getSelectEquipShield() == dItemNo_SHIELD_e;
}
static BOOL checkPowerGloveGet() { return false; }
+1 -1
View File
@@ -45,7 +45,7 @@ public:
BOOL rt = false;
if (fopAcM_searchPlayerDistanceXZ(this) < scale.x && 0.0f <= var_f31 && var_f31 < scale.y) {
rt = dComIfGp_checkItemGet(fpcNm_ITEM_KANTERA, 1) && dComIfGs_getOil() != 0;
rt = dComIfGp_checkItemGet(dItemNo_KANTERA_e, 1) && dComIfGs_getOil() != 0;
field_0x5f8 = rt == true ? 0 : 1;
} else {
rt = true;
+1 -1
View File
@@ -21,7 +21,7 @@ public:
static void createPortalWarpMissTag(u16 param_0, fpc_ProcID i_parentID) {
csXyz sp18(-1, -1, param_0);
fopAcM_createChild(PROC_Tag_Mhint, i_parentID, 0x800FFFFF,
fopAcM_createChild(fpcNm_Tag_Mhint_e, i_parentID, 0x800FFFFF,
&daPy_getLinkPlayerActorClass()->current.pos, dComIfGp_roomControl_getStayNo(), &sp18, NULL, -1,
NULL);
}
+1 -1
View File
@@ -55,7 +55,7 @@ public:
int _create();
int _delete();
int _execute();
int _draw();
bool _draw();
static JPABaseEmitter* m_emitter;
static bool m_flag;