mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-08-11 02:53:16 -04:00
This commit is contained in:
@@ -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
@@ -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 {
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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
@@ -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
@@ -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);
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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,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 */
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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; }
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ public:
|
||||
int _create();
|
||||
int _delete();
|
||||
int _execute();
|
||||
int _draw();
|
||||
bool _draw();
|
||||
|
||||
static JPABaseEmitter* m_emitter;
|
||||
static bool m_flag;
|
||||
|
||||
Reference in New Issue
Block a user