mirror of https://github.com/zeldaret/tp.git
d_a_npc_kn work (#2274)
* checkpoint * checkpoint * checkpoint * checkpoint * checkpoint * fixups * check * fixes 2 * fixes 3 * fixes 4 * fixes 5 --------- Co-authored-by: pheenoh <pheenoh@macmini.local> Co-authored-by: pheenoh <pheenoh@macmini.lan>
This commit is contained in:
parent
1a7b14537c
commit
5ec7e42c2d
|
|
@ -6,8 +6,8 @@ __destroy_global_chain = .text:0x00000094; // type:function size:0x58 scope:glob
|
|||
__ct__12daE_YK_HIO_cFv = .text:0x000000EC; // type:function size:0x44 scope:global
|
||||
yk_disappear__FP10e_yk_class = .text:0x00000130; // type:function size:0x174 scope:global
|
||||
anm_init__FP10e_yk_classifUcf = .text:0x000002A4; // type:function size:0xAC scope:global
|
||||
daE_YK_Draw__FP10e_yk_class = .text:0x00000350; // type:function size:0xA8 scope:global
|
||||
shot_b_sub__FPvPv = .text:0x000003F8; // type:function size:0x78 scope:global
|
||||
daE_YK_Draw__FP10e_yk_class = .text:0x00000350; // type:function size:0xA8 scope:local
|
||||
shot_b_sub__FPvPv = .text:0x000003F8; // type:function size:0x78 scope:local
|
||||
other_bg_check__FP10e_yk_classP10fopAc_ac_c = .text:0x00000470; // type:function size:0xD8 scope:global
|
||||
pl_check__FP10e_yk_classfs = .text:0x00000548; // type:function size:0xB0 scope:global
|
||||
damage_check__FP10e_yk_class = .text:0x000005F8; // type:function size:0x230 scope:global
|
||||
|
|
@ -23,12 +23,12 @@ e_yk_path_fly__FP10e_yk_class = .text:0x000018B0; // type:function size:0x318 sc
|
|||
e_yk_chance__FP10e_yk_class = .text:0x00001BC8; // type:function size:0x1F8 scope:global
|
||||
e_yk_wolfbite__FP10e_yk_class = .text:0x00001DC0; // type:function size:0x240 scope:global
|
||||
e_yk_wind__FP10e_yk_class = .text:0x00002000; // type:function size:0x1A4 scope:global
|
||||
action__FP10e_yk_class = .text:0x000021A4; // type:function size:0x294 scope:global
|
||||
daE_YK_Execute__FP10e_yk_class = .text:0x00002438; // type:function size:0x514 scope:global
|
||||
daE_YK_IsDelete__FP10e_yk_class = .text:0x0000294C; // type:function size:0x8 scope:global
|
||||
daE_YK_Delete__FP10e_yk_class = .text:0x00002954; // type:function size:0x68 scope:global
|
||||
useHeapInit__FP10fopAc_ac_c = .text:0x000029BC; // type:function size:0xF8 scope:global
|
||||
daE_YK_Create__FP10fopAc_ac_c = .text:0x00002AB4; // type:function size:0x3D8 scope:global
|
||||
action__FP10e_yk_class = .text:0x000021A4; // type:function size:0x294 scope:local
|
||||
daE_YK_Execute__FP10e_yk_class = .text:0x00002438; // type:function size:0x514 scope:local
|
||||
daE_YK_IsDelete__FP10e_yk_class = .text:0x0000294C; // type:function size:0x8 scope:local
|
||||
daE_YK_Delete__FP10e_yk_class = .text:0x00002954; // type:function size:0x68 scope:local
|
||||
useHeapInit__FP10fopAc_ac_c = .text:0x000029BC; // type:function size:0xF8 scope:local
|
||||
daE_YK_Create__FP10fopAc_ac_c = .text:0x00002AB4; // type:function size:0x3D8 scope:local
|
||||
__dt__8cM3dGSphFv = .text:0x00002E8C; // type:function size:0x48 scope:global
|
||||
__dt__8cM3dGAabFv = .text:0x00002ED4; // type:function size:0x48 scope:global
|
||||
__dt__10dCcD_GSttsFv = .text:0x00002F1C; // type:function size:0x5C scope:global
|
||||
|
|
@ -91,7 +91,7 @@ _dtors = .dtors:0x00000000; // type:label scope:global
|
|||
@5031 = .rodata:0x000000C0; // type:object size:0x8 scope:local
|
||||
@stringBase0 = .rodata:0x000000C8; // type:object size:0xA scope:local data:string_table
|
||||
...data.0 = .data:0x00000000; // type:label scope:local
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_252_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
e_prim$3820 = .data:0x00000020; // type:object size:0x8 scope:local
|
||||
|
|
@ -101,7 +101,7 @@ eff_id$3829 = .data:0x00000030; // type:object size:0x6 scope:local
|
|||
e_name$4766 = .data:0x00000074; // type:object size:0x4 scope:local
|
||||
e_idx$4767 = .data:0x00000078; // type:object size:0x8 scope:local
|
||||
cc_sph_src$4930 = .data:0x00000080; // type:object size:0x40 scope:local
|
||||
l_daE_YK_Method = .data:0x000000C0; // type:object size:0x20 scope:global
|
||||
l_daE_YK_Method = .data:0x000000C0; // type:object size:0x20 scope:local
|
||||
g_profile_E_YK = .data:0x000000E0; // type:object size:0x30 scope:global
|
||||
__vt__12dBgS_AcchCir = .data:0x00000110; // type:object size:0xC scope:global
|
||||
__vt__10cCcD_GStts = .data:0x0000011C; // type:object size:0xC scope:global
|
||||
|
|
@ -111,7 +111,7 @@ __vt__8cM3dGAab = .data:0x00000140; // type:object size:0xC scope:global
|
|||
__vt__12dBgS_ObjAcch = .data:0x0000014C; // type:object size:0x24 scope:global
|
||||
__vt__12daE_YK_HIO_c = .data:0x00000170; // type:object size:0xC scope:global
|
||||
__global_destructor_chain = .bss:0x00000000; // type:object size:0x4 scope:global
|
||||
lbl_252_bss_8 = .bss:0x00000008; // type:object size:0x1 data:byte
|
||||
lbl_252_bss_8 = .bss:0x00000008; // type:object size:0x1 scope:local data:byte
|
||||
@3957 = .bss:0x0000000C; // type:object size:0xC scope:local
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x1C scope:global data:byte
|
||||
l_HIO = .bss:0x00000018; // type:object size:0x1C scope:local data:byte
|
||||
check_index$4191 = .bss:0x00000034; // type:object size:0xFF scope:local data:byte
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ class fopAc_ac_c;
|
|||
|
||||
enum CcG_Tg_HitMark {
|
||||
CcG_Tg_UNK_MARK_0 = 0,
|
||||
CcG_Tg_UNK_MARK_1 = 1,
|
||||
CcG_Tg_UNK_MARK_2 = 2,
|
||||
CcG_Tg_UNK_MARK_3 = 3,
|
||||
CcG_Tg_UNK_MARK_6 = 6,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
/**
|
||||
* @ingroup actors-enemies
|
||||
* @class e_mk_bo_class
|
||||
* @brief Ook?
|
||||
* @brief Ook's Boomerang
|
||||
*
|
||||
* @details
|
||||
*
|
||||
|
|
|
|||
|
|
@ -22,20 +22,21 @@
|
|||
*
|
||||
*/
|
||||
enum daE_YK_Action {
|
||||
ACT_ROOF, /**< Keese is on roof. */
|
||||
ACT_FIGHT_FLY, /**< Keese is transitioning from flying to aggro. */
|
||||
ACT_FIGHT, /**< Keese is aggroed. */
|
||||
ACT_ATTACK, /**< Keese is attacking. */
|
||||
ACT_RETURN, /**< Keese is returning to roof. */
|
||||
ACT_FLY, /**< Keese is flying around. */
|
||||
ACT_PATH_FLY, /**< Unconfirmed: Keese is flying along its path. */
|
||||
ACT_CHANCE = 10, /**< Keese is stunned/fell down. */
|
||||
ACT_WOLFBITE = 13, /**< Keese is being bitten by wolf. */
|
||||
ACT_WIND /**< Keese is in the gale boomerang. */
|
||||
ACT_ROOF, /**< Keese hangs from roof, enters combat if player gets close. */
|
||||
ACT_FIGHT_FLY, /**< Keese flies directly towards player to initiate combat. */
|
||||
ACT_FIGHT, /**< Keese circles around player at a distance, preparing to attack. */
|
||||
ACT_ATTACK, /**< Keese charges directly at player to deal damage. */
|
||||
ACT_RETURN, /**< Keese returns to its home position on the roof. */
|
||||
ACT_FLY, /**< Keese flies randomly around its home position. */
|
||||
ACT_PATH_FLY, /**< Keese follows predefined path points in the room. */
|
||||
ACT_CHANCE = 10, /**< Keese is stunned from shield attack, falls and bounces on ground. */
|
||||
ACT_WOLFBITE = 13, /**< Keese is caught in wolf Link's mouth, can be thrown. */
|
||||
ACT_WIND /**< Keese is caught in Gale Boomerang's wind, spins around it. */
|
||||
};
|
||||
|
||||
/**
|
||||
* @brief Shadow Keese Host Input Output class
|
||||
* @class daE_YK_HIO_c
|
||||
* @brief Shadow Keese Host Input Output class.
|
||||
*
|
||||
*/
|
||||
class daE_YK_HIO_c {
|
||||
|
|
@ -43,13 +44,12 @@ public:
|
|||
/* 8080482C */ daE_YK_HIO_c();
|
||||
/* 808077E0 */ virtual ~daE_YK_HIO_c() {}
|
||||
|
||||
/* 0x00 */ // vtable
|
||||
/* 0x04 */ s8 field_0x04; // padding after this
|
||||
/* 0x08 */ f32 field_0x08;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ f32 field_0x10;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 field_0x18;
|
||||
/* 0x04 */ s8 field_0x04; ///< @brief Initialized to -1, appears unused.
|
||||
/* 0x08 */ f32 mModelScale; ///< @brief Base model scale factor (default: 1.0).
|
||||
/* 0x0C */ f32 mFlySpeed; ///< @brief Base flying speed (default: 15.0).
|
||||
/* 0x10 */ f32 mAttackRange; ///< @brief Distance threshold for entering attack state (default: 250.0).
|
||||
/* 0x14 */ f32 mCruiseSpeed; ///< @brief Speed when flying normally (default: 15.0).
|
||||
/* 0x18 */ f32 mChargeSpeed; ///< @brief Speed when charging at player (default: 40.0).
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -62,49 +62,48 @@ public:
|
|||
*/
|
||||
class e_yk_class : public fopEn_enemy_c {
|
||||
public:
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase; ///< @brief Actor phase process class.
|
||||
/* 0x5B4 */ u8 mParam1; ///< @brief Actor parameter. Used to determine default action?
|
||||
/* 0x5B5 */ u8 mPlayerTriggerBase; ///< @brief Actor parameter. Used to determine mPlayerTrigger value. @see mPlayerTrigeer
|
||||
/* 0x5B6 */ u8 field_0x5b6; ///< @brief ???
|
||||
/* 0x5B7 */ u8 mPathIdx; ///< @brief Path index. Used to lookup/set mpPath based on the room.
|
||||
/* 0x5B8 */ u8 field_0x5b8; ///< @brief ???
|
||||
/* 0x5B9 */ s8 mPathPntIdx; ///< @brief Path point index. Tracks the index of the points along the actor's path.
|
||||
/* 0x5BA */ s8 field_0x5ba; ///< @brief ???
|
||||
/* 0x5BB */ u8 field_0x5bb; ///< @brief ???
|
||||
/* 0x5BC */ dPath* mpPath; ///< @brief Flight path. Flight path for the actor to follow?
|
||||
/* 0x5C0 */ mDoExt_McaMorfSO* mpMorfSO; ///< @brief MorfSO pointer. Tracks the last resource loaded.
|
||||
/* 0x5C4 */ Z2CreatureEnemy mCreature; ///< @brief Z2 Audio class. Used for playing actor noises.
|
||||
/* 0x668 */ int mResIdx; ///< @brief Resource index. Tracks the index of the last resource loaded.
|
||||
/* 0x66C */ s16 field_0x66c; ///< @brief ???
|
||||
/* 0x66E */ s16 mAction; ///< @brief Current action. Tracks the current action of the actor. @see daE_YK_Action
|
||||
/* 0x670 */ s16 mActionPhase; ///< @brief Current action phase. Tracks the phase of the current action of the actor. @see daE_YK_Action
|
||||
/* 0x674 */ cXyz mPathPntPos; ///< @brief Path point position. Tracks the position of the point the actor is along a path.
|
||||
/* 0x680 */ s16 mAngleFromPlayer; ///< @brief Angle from player. Tracks the current actor angle from player.
|
||||
/* 0x684 */ f32 mDistanceXZFromPlayer; ///< @brief Distance from player. Tracks the current distance the actor is from the player.
|
||||
/* 0x688 */ f32 mPlayerTrigger; ///< @brief Trigger distance from player. Tracks how close to the actor the player has to be before it will begin to attack the player.
|
||||
/* 0x68C */ f32 field_0x68c; ///< @brief ???
|
||||
/* 0x690 */ f32 field_0x690; ///< @brief ???
|
||||
/* 0x694 */ f32 field_0x694; ///< @brief ???
|
||||
/* 0x698 */ s16 field_0x698; ///< @brief ???
|
||||
/* 0x69A */ csXyz field_0x69a; ///< @brief ???
|
||||
/* 0x6A0 */ s8 field_0x6a0; ///< @brief ???
|
||||
/* 0x6A1 */ u8 field_0x6a1; ///< @brief ???
|
||||
/* 0x6A2 */ s16 field_0x6a2[4]; ///< @brief ???
|
||||
/* 0x6AA */ s16 field_0x6aa; ///< @brief ???
|
||||
/* 0x6AC */ s16 field_0x6ac[6]; ///< @brief ???
|
||||
/* 0x6B8 */ cXyz mBoomrangPosOffset; ///< @brief Boomerang position offset. Tracks the offset position when the actor is caught in the gale boomerang.
|
||||
/* 0x6C4 */ s16 mBoomrangXRotOffset; ///< @brief Boomerang rotation offset. Tracks the offset x rotation when the actor is caught in the gale boomerang.
|
||||
/* 0x6C8 */ dBgS_AcchCir field_0x6c8; ///< @brief ???
|
||||
/* 0x708 */ dBgS_ObjAcch field_0x708; ///< @brief ???
|
||||
/* 0x8E0 */ dCcD_Stts mCollisionStatus; ///< @brief Collision status.
|
||||
/* 0x91C */ dCcD_Sph mCollisionSphere; ///< @brief Collision sphere.
|
||||
/* 0xA54 */ dCcU_AtInfo mAtColliderInfo; ///< @brief Attack collider info. Used when actor gets hit.
|
||||
/* 0xA78 */ u32 field_0xa78; ///< @brief ???
|
||||
/* 0xA7C */ u32 field_0xa7c; ///< @brief ???
|
||||
/* 0xA80 */ u32 field_0xa80; ///< @brief ???
|
||||
/* 0xA84 */ u32 mParticleEmitterIds[2]; ///< @brief ???
|
||||
/* 0xA8C */ u8 field_0xa8c; ///< @brief ???
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase; ///< @brief Resource loading phase handler.
|
||||
/* 0x5B4 */ u8 mBehaviorMode; ///< @brief Controls default behavior (0: return to roof, 1: free flying).
|
||||
/* 0x5B5 */ u8 mPlayerTriggerBase; ///< @brief Base value used to calculate player detection range (multiplied by 100).
|
||||
/* 0x5B6 */ u8 field_0x5b6; ///< @brief Appears unused.
|
||||
/* 0x5B7 */ u8 mPathIdx; ///< @brief Path index for room path lookup.
|
||||
/* 0x5B8 */ u8 mPathActive; ///< @brief Flag indicating if path following is active (pathIdx + 1).
|
||||
/* 0x5B9 */ s8 mPathPntIdx; ///< @brief Current index in path point array.
|
||||
/* 0x5BA */ s8 mPathDirection; ///< @brief Direction to traverse path (1: forward, -1: backward).
|
||||
/* 0x5BC */ dPath* mpPath; ///< @brief Pointer to current flight path data.
|
||||
/* 0x5C0 */ mDoExt_McaMorfSO* mpMorfSO; ///< @brief Model and animation handler.
|
||||
/* 0x5C4 */ Z2CreatureEnemy mCreature; ///< @brief Sound effect and voice handler.
|
||||
/* 0x668 */ s32 mResIdx; ///< @brief Current animation resource index.
|
||||
/* 0x66C */ s16 mFrameCounter; ///< @brief Increments each frame, used for periodic events.
|
||||
/* 0x66E */ s16 mAction; ///< @brief Current action state. @see daE_YK_Action
|
||||
/* 0x670 */ s16 mActionPhase; ///< @brief Sub-phase within current action.
|
||||
/* 0x674 */ cXyz mPathPntPos; ///< @brief Target position (path point or player).
|
||||
/* 0x680 */ s16 mAngleFromPlayer; ///< @brief Angle between keese and player in XZ plane.
|
||||
/* 0x684 */ f32 mDistanceXZFromPlayer; ///< @brief XZ distance between keese and player.
|
||||
/* 0x688 */ f32 mPlayerTrigger; ///< @brief Distance threshold for player detection.
|
||||
/* 0x68C */ f32 mMoveInterpolation; ///< @brief Movement interpolation factor (0.0-1.0).
|
||||
/* 0x690 */ f32 mTurnSpeed; ///< @brief Angular velocity for turning.
|
||||
/* 0x694 */ f32 mKnockbackSpeed; ///< @brief Speed when knocked back from damage.
|
||||
/* 0x698 */ s16 mKnockbackAngle; ///< @brief Direction angle when knocked back.
|
||||
/* 0x69A */ csXyz mStunRotation; ///< @brief Rotation angles during stun animation.
|
||||
/* 0x6A0 */ s8 mDeathFlag; ///< @brief Set to 1 when keese is dying.
|
||||
/* 0x6A2 */ s16 mActionTimers[4]; ///< @brief Timers for various action states (movement, attack, etc).
|
||||
/* 0x6AA */ s16 mInvulnerabilityTimer; ///< @brief Frames of damage invulnerability remaining.
|
||||
/* 0x6AC */ s16 field_0x6ac[6]; ///< @brief Reserved/unused timer array.
|
||||
/* 0x6B8 */ cXyz mBoomrangPosOffset; ///< @brief Position offset when caught in Gale Boomerang.
|
||||
/* 0x6C4 */ s16 mBoomrangXRotOffset; ///< @brief Rotation offset when caught in Gale Boomerang.
|
||||
/* 0x6C8 */ dBgS_AcchCir mWallCollisionCircle; ///< @brief Circular collision volume for wall detection and response.
|
||||
/* 0x708 */ dBgS_ObjAcch mActorCollisionHandler; ///< @brief Handles all collision types (ground/wall/roof/water) for this actor.
|
||||
/* 0x8E0 */ dCcD_Stts mCollisionStatus; ///< @brief Collision state tracking.
|
||||
/* 0x91C */ dCcD_Sph mCollisionSphere; ///< @brief Spherical collision shape.
|
||||
/* 0xA54 */ dCcU_AtInfo mAtColliderInfo; ///< @brief Attack collision processor.
|
||||
/* 0xA78 */ u32 mSmokeEffectId; ///< @brief ID for smoke particle effect.
|
||||
/* 0xA7C */ u32 mSmokeEffectParams; ///< @brief Parameters for smoke effect.
|
||||
/* 0xA80 */ u32 mShadowParticleId; ///< @brief ID for shadow trail particle effect.
|
||||
/* 0xA84 */ u32 mWingParticleIds[2]; ///< @brief IDs for wing particle effects.
|
||||
/* 0xA8C */ u8 mIsFirstSpawn; ///< @brief Set to 1 if this is the first keese spawned in room.
|
||||
};
|
||||
// size: 0xA90
|
||||
|
||||
STATIC_ASSERT(sizeof(e_yk_class) == 0xA90);
|
||||
|
||||
#endif /* D_A_E_YK_H */
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ private:
|
|||
|
||||
public:
|
||||
daNpcT_MatAnm_c() { initialize(); }
|
||||
|
||||
/* 80145764 */ void initialize();
|
||||
/* 8014D24C */ virtual ~daNpcT_MatAnm_c() {}
|
||||
/* 80145788 */ virtual void calc(J3DMaterial*) const;
|
||||
|
|
@ -754,6 +755,7 @@ void daNpcT_offTmpBit(u32 i_idx);
|
|||
void daNpcT_onTmpBit(u32 i_idx);
|
||||
BOOL daNpcT_chkTmpBit(u32 i_idx);
|
||||
void daNpcT_onEvtBit(u32 i_idx);
|
||||
BOOL daNpcT_chkTmpBit(u32 i_idx);
|
||||
BOOL daNpcT_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz* o_spawnPos,
|
||||
csXyz* o_angle);
|
||||
|
||||
|
|
@ -1193,7 +1195,7 @@ private:
|
|||
/* 0x0FC */ f32 mNowOffsetX;
|
||||
/* 0x100 */ f32 mNowOffsetY;
|
||||
/* 0x104 */ u8 mEyeMoveFlag;
|
||||
/* 0x105 */ u8 field_0x105;
|
||||
/* 0x105 */ u8 mMorfFrm;
|
||||
|
||||
public:
|
||||
daNpcF_MatAnm_c() { initialize(); }
|
||||
|
|
|
|||
|
|
@ -67,6 +67,13 @@ public:
|
|||
static u8 mEvtCutList[60];
|
||||
|
||||
private:
|
||||
// /* 0xB48 */ Z2Creature mCreature;
|
||||
// /* 0xBD8 */ daNpcF_MatAnm_c* mpMatAnm;
|
||||
// /* 0xBDC */ daNpcF_Lookat_c mLookAt;
|
||||
// /* 0xC78 */ daNpcF_ActorMngr_c mActorMng[2];
|
||||
// /* 0xC88 */ u8 field_0xc88[4];
|
||||
// /* 0xC8C */ dCcD_Cyl mCyl;
|
||||
// /* 0xDC8 */ u8 field_0xdc8[0xE1C - 0xdc8];
|
||||
/* 0x568 */ u8 field_0xb48[0xE1C - 0x568];
|
||||
/* 0xE1C */ u8 field_0xe1c;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -11,140 +11,266 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpc_Kn_c : public fopAc_ac_c {
|
||||
public:
|
||||
class daNpc_Kn_c : public fopEn_enemy_c {
|
||||
public:
|
||||
typedef int (daNpc_Kn_c::*cutFunc)(int);
|
||||
typedef int (daNpc_Kn_c::*actionFunc)(void*);
|
||||
|
||||
class daNpc_Kn_prtclMngr_c {
|
||||
public:
|
||||
/* 80A2AF98 */ ~daNpc_Kn_prtclMngr_c();
|
||||
/* 80A3C1C4 */ daNpc_Kn_prtclMngr_c();
|
||||
/* 80A2AF98 */ ~daNpc_Kn_prtclMngr_c() {};
|
||||
/* 80A3C1C4 */ daNpc_Kn_prtclMngr_c() {};
|
||||
|
||||
/* 0x00 */ bool mpModel;
|
||||
/* 0x04 */ cXyz mPos;
|
||||
/* 0x10 */ csXyz mAngle;
|
||||
/* 0x18 */ cXyz mScale;
|
||||
/* 0x24 */ dPaPo_c mManager;
|
||||
};
|
||||
|
||||
/* 80A2AA0C */ ~daNpc_Kn_c();
|
||||
/* 80A2AFD4 */ void create();
|
||||
/* 80A2B278 */ void CreateHeap();
|
||||
/* 80A2B620 */ void Delete();
|
||||
/* 80A2B654 */ void Execute();
|
||||
public:
|
||||
/* 0x05AC */ const daNpcT_faceMotionAnmData_c* mpFaceMotionAnmData;
|
||||
/* 0x05B0 */ const daNpcT_motionAnmData_c* mpMotionAnmData;
|
||||
/* 0x05B4 */ const daNpcT_evtData_c* mpEventData;
|
||||
/* 0x05B8 */ char** field_0x5B8;
|
||||
/* 0x05BC */ mDoExt_McaMorfSO* mpMorf[2];
|
||||
/* 0x05C4 */ Z2Creature mCreature;
|
||||
/* 0x0654 */ mDoExt_bckAnm mBckAnm;
|
||||
/* 0x0670 */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x0688 */ mDoExt_btkAnm mBtkAnm;
|
||||
/* 0x06A0 */ mDoExt_brkAnm mBrkAnm;
|
||||
/* 0x06B8 */ mDoExt_bpkAnm mBpkAnm;
|
||||
/* 0x06D0 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x08A8 */ dCcD_Stts mCcStts;
|
||||
/* 0x08E4 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x0924 */ request_of_phase_process_class mPhase[8];
|
||||
/* 0x0964 */ cBgS_GndChk mGndChk;
|
||||
/* 0x09A0 */ daNpcT_MatAnm_c* mpMatAnm;
|
||||
/* 0x09A4 */ u8 field_0x9a4[4];
|
||||
/* 0x09A8 */ dMsgFlow_c mFlow;
|
||||
/* 0x09F4 */ u8 field_0x9F4[0xa74 - 0x9f4];
|
||||
/* 0x0A74 */ dCcD_Stts mCcStts2;
|
||||
/* 0x0AB0 */ u32 mFlowNodeNo;
|
||||
/* 0x0AB4 */ f32 field_0xab4;
|
||||
/* 0x0AB8 */ f32 field_0xab8;
|
||||
/* 0x0ABC */ u8 field_0xABC;
|
||||
/* 0x0ABD */ u8 field_0xABD;
|
||||
/* 0x0ABE */ u8 field_0xABE[0xAC0 - 0xABE];
|
||||
/* 0x0AC0 */ dBgS_GndChk mGndChk2;
|
||||
/* 0x0B14 */ dBgS_LinChk mLinChk;
|
||||
/* 0x0B84 */ daNpcT_MotionSeqMngr_c mMotionSeqMngr1;
|
||||
/* 0x0BA8 */ daNpcT_MotionSeqMngr_c mMotionSeqMngr2;
|
||||
/* 0x0BCC */ daNpcT_ActorMngr_c mActorMngr1;
|
||||
/* 0x0BD4 */ daNpcT_ActorMngr_c mActorMngr2;
|
||||
/* 0x0BDC */ daNpcT_JntAnm_c mJntAnm;
|
||||
/* 0x0D3C */ daNpcT_DmgStagger_c mDmgStagger;
|
||||
/* 0x0D58 */ cXyz field_0xd58;
|
||||
/* 0x0D64 */ cXyz field_0xD64;
|
||||
/* 0x0D70 */ cXyz field_0xD70;
|
||||
/* 0x0D7C */ cXyz field_0xD7C;
|
||||
/* 0x0D88 */ cXyz field_0xD88;
|
||||
/* 0x0D94 */ cXyz field_0xD94;
|
||||
/* 0x0DA0 */ cXyz field_0xDA0;
|
||||
/* 0x0DAC */ csXyz mTargetAngle;
|
||||
/* 0x0DB2 */ csXyz field_0xDB2;
|
||||
/* 0x0DB8 */ csXyz field_0xDB8;
|
||||
/* 0x0DBE */ csXyz field_0xDBE;
|
||||
/* 0x0DC4 */ s32 field_0xdc4;
|
||||
/* 0x0DC8 */ u32 mShadowKey;
|
||||
/* 0x0DCC */ u32 field_0xdcc;
|
||||
/* 0x0DD0 */ u32 field_0xdd0;
|
||||
/* 0x0DD4 */ s32 mStaffId;
|
||||
/* 0x0DD8 */ int mCutType;
|
||||
/* 0x0DDC */ int field_0xddc;
|
||||
/* 0x0DE0 */ int field_0xde0;
|
||||
/* 0x0DE4 */ int mTimer;
|
||||
/* 0x0DE8 */ int field_0xde8;
|
||||
/* 0x0DEC */ int field_0xdec;
|
||||
/* 0x0DF0 */ s16 field_0xdf0;
|
||||
/* 0x0DF2 */ u8 field_0xdf2[0xc];
|
||||
/* 0x0DFE */ s16 field_0xdfe;
|
||||
/* 0x0E00 */ u8 field_0xe00[0xC];
|
||||
/* 0x0E0C */ f32 field_0xe0c;
|
||||
/* 0x0E10 */ f32 mRadius;
|
||||
/* 0x0E14 */ f32 mGroundHeight;
|
||||
/* 0x0E18 */ u8 field_0xe18[0xe24 - 0xe18];
|
||||
/* 0x0E24 */ s16 field_0xe24;
|
||||
/* 0x0E26 */ u16 field_0xe26;
|
||||
/* 0x0E28 */ u16 field_0xe28;
|
||||
/* 0x0E2A */ u16 field_0xe2a;
|
||||
/* 0x0E2C */ u8 field_0xe2c;
|
||||
/* 0x0E2D */ u8 field_0xe2d;
|
||||
/* 0x0E2E */ u8 field_0xe2e[0xe30 - 0xe2e];
|
||||
/* 0x0E30 */ u8 field_0xe30;
|
||||
/* 0x0E31 */ u8 field_0xe31;
|
||||
/* 0x0E32 */ u8 field_0xe32;
|
||||
/* 0x0E33 */ u8 field_0xe33;
|
||||
/* 0x0E33 */ u8 field_0xe34[0xe36 - 0xe34];
|
||||
/* 0x0E36 */ u16 mEvtIdx;
|
||||
/* 0x0E38 */ u8 field_0xe38;
|
||||
/* 0x0E39 */ u8 field_0xe39;
|
||||
/* 0x0E3A */ u8 field_0xe3a;
|
||||
/* 0x0E3B */ u8 field_0xe3b;
|
||||
/* 0x0E3C */ int field_0xe3c;
|
||||
// /* 0x0E40 */ vtable
|
||||
|
||||
public:
|
||||
void initialize() {
|
||||
memset(&field_0xd58, 0, (int)&field_0xe3c - (int)&field_0xd58);
|
||||
|
||||
mMotionSeqMngr1.initialize();
|
||||
mMotionSeqMngr2.initialize();
|
||||
mActorMngr1.initialize();
|
||||
mActorMngr2.initialize();
|
||||
mJntAnm.initialize();
|
||||
mDmgStagger.initialize();
|
||||
field_0xdc4 = -1;
|
||||
field_0xe2d = 1;
|
||||
field_0x15a4 = 0;
|
||||
}
|
||||
|
||||
bool checkHide() {
|
||||
bool ret = false;
|
||||
|
||||
if (field_0xe2c != 0 || (!dComIfGs_wolfeye_effect_check() && field_0xABD != 0)) {
|
||||
ret = true;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int getHeadJointNo() {
|
||||
return 4;
|
||||
}
|
||||
|
||||
int getNeckJointNo() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
int getBackboneJointNo() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
void setCutType(int i_type) { mCutType = i_type;}
|
||||
|
||||
void setActionMode(s8 i_actionMode) { mActionMode = i_actionMode;}
|
||||
s8 getActionMode() { return mActionMode; }
|
||||
|
||||
/* 80A2AFD4 */ s32 create();
|
||||
/* 80A2B278 */ s32 CreateHeap();
|
||||
/* 80A2B620 */ s32 Delete();
|
||||
/* 80A2B654 */ s32 Execute();
|
||||
/* 80A2B6B0 */ void Draw();
|
||||
/* 80A2B764 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A2B784 */ void ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A2B7DC */ void getType();
|
||||
/* 80A2B844 */ void getDivideNo();
|
||||
/* 80A2B850 */ void getFlowNodeNo();
|
||||
/* 80A2B86C */ void getPath();
|
||||
/* 80A2B878 */ void isDelete();
|
||||
/* 80A2B764 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A2B784 */ static int ctrlJointCallBack(J3DJoint*, int);
|
||||
/* 80A2B7DC */ u8 getType();
|
||||
/* 80A2B844 */ u8 getDivideNo();
|
||||
/* 80A2B850 */ u32 getFlowNodeNo();
|
||||
/* 80A2B86C */ u8 getPath();
|
||||
/* 80A2B878 */ BOOL isDelete();
|
||||
/* 80A2B91C */ void resetCol();
|
||||
/* 80A2B9E0 */ void reset();
|
||||
/* 80A2BC5C */ void resetType();
|
||||
/* 80A2BD30 */ void setParam();
|
||||
/* 80A2BFB0 */ void setParamTeach03();
|
||||
/* 80A2C044 */ void setParamTeach04();
|
||||
/* 80A2C0FC */ void setParamTeach05();
|
||||
/* 80A2C190 */ void setParamTeach06();
|
||||
/* 80A2C1B0 */ void setParamTeach07();
|
||||
/* 80A2BFB0 */ u32 setParamTeach03();
|
||||
/* 80A2C044 */ u32 setParamTeach04();
|
||||
/* 80A2C0FC */ u32 setParamTeach05();
|
||||
/* 80A2C190 */ u32 setParamTeach06();
|
||||
/* 80A2C1B0 */ u32 setParamTeach07();
|
||||
/* 80A2C1D0 */ void setAfterTalkMotion();
|
||||
/* 80A2C230 */ void srchActors();
|
||||
/* 80A2C234 */ void evtTalk();
|
||||
/* 80A2C318 */ void evtCutProc();
|
||||
/* 80A2C234 */ bool evtTalk();
|
||||
/* 80A2C318 */ bool evtCutProc();
|
||||
/* 80A2C3FC */ void action();
|
||||
/* 80A2C484 */ void beforeMove();
|
||||
/* 80A2C4FC */ void afterMoved();
|
||||
/* 80A2C56C */ void setAttnPos();
|
||||
/* 80A2C77C */ void setCollision();
|
||||
/* 80A2C984 */ void setCollisionSword();
|
||||
/* 80A2CB30 */ void checkCollisionSword();
|
||||
/* 80A2CB30 */ BOOL checkCollisionSword();
|
||||
/* 80A2CBEC */ void setCollisionTeach03();
|
||||
/* 80A2CC24 */ void setCollisionTeach04();
|
||||
/* 80A2CD00 */ void setCollisionTeach05();
|
||||
/* 80A2CD38 */ void setCollisionTeach06();
|
||||
/* 80A2CD58 */ void setCollisionTeach07();
|
||||
/* 80A2CD78 */ bool drawDbgInfo();
|
||||
/* 80A2CD78 */ int drawDbgInfo();
|
||||
/* 80A2CD80 */ void drawOtherMdl();
|
||||
/* 80A2CF9C */ void drawGhost();
|
||||
/* 80A2D060 */ void afterSetMotionAnm(int, int, f32, int);
|
||||
/* 80A2D198 */ void selectAction();
|
||||
/* 80A2D198 */ int selectAction();
|
||||
/* 80A2D3A4 */ void teach03_selectAction();
|
||||
/* 80A2D3FC */ void teach04_selectAction();
|
||||
/* 80A2D4A0 */ void teach05_selectAction();
|
||||
/* 80A2D4F8 */ void teach06_selectAction();
|
||||
/* 80A2D600 */ void teach07_selectAction();
|
||||
/* 80A2D708 */ void chkAction(int (daNpc_Kn_c::*)(void*));
|
||||
/* 80A2D734 */ void setAction(int (daNpc_Kn_c::*)(void*));
|
||||
/* 80A2D7DC */ void wait(void*);
|
||||
/* 80A2D9C4 */ void talk(void*);
|
||||
/* 80A2DB94 */ void test(void*);
|
||||
/* 80A2D708 */ BOOL chkAction(actionFunc);
|
||||
/* 80A2D734 */ BOOL setAction(actionFunc);
|
||||
/* 80A2D7DC */ int wait(void*);
|
||||
/* 80A2D9C4 */ int talk(void*);
|
||||
/* 80A2DB94 */ int test(void*);
|
||||
/* 80A2DCB4 */ void setSceneChange(int);
|
||||
/* 80A2DD70 */ void ECut_noneEquipChangeTalk(int);
|
||||
/* 80A2DF84 */ void ECut_noneEquipChangeTalkStand(int);
|
||||
/* 80A2E26C */ void ECut_largeDamageTalk(int);
|
||||
/* 80A2E528 */ void teach02_start(void*);
|
||||
/* 80A2E664 */ void teach03_attackWait(void*);
|
||||
/* 80A2EC04 */ void teach04_attackWait(void*);
|
||||
/* 80A2EF8C */ void teach04_headBreakWait(void*);
|
||||
/* 80A2F24C */ void teach04_finishWait(void*);
|
||||
/* 80A2F600 */ void teach05_surpriseAttackWait(void*);
|
||||
/* 80A2FC80 */ void teach06_superJumpWait(void*);
|
||||
/* 80A30398 */ void teach06_divideMove(void*);
|
||||
/* 80A305A8 */ void teach06_waitDivide(void*);
|
||||
/* 80A30708 */ void teach06_superJumpWaitDivide(void*);
|
||||
/* 80A30D44 */ void teach06_superJumpedDivide(void*);
|
||||
/* 80A30EDC */ void teach06_warpDelete(void*);
|
||||
/* 80A31028 */ void teach07_superTurnAttackWait(void*);
|
||||
/* 80A315D0 */ void teach07_divideMove(void*);
|
||||
/* 80A317F8 */ void teach07_waitDivide(void*);
|
||||
/* 80A31958 */ void teach07_superTurnAttackWaitDivide(void*);
|
||||
/* 80A31E24 */ void teach07_superTurnAttackedDivide(void*);
|
||||
/* 80A31FBC */ void teach07_warpDelete(void*);
|
||||
/* 80A3203C */ void ECut_secondEncount(int);
|
||||
/* 80A324C4 */ void ECut_thirdSkillExplain(int);
|
||||
/* 80A32D30 */ void ECut_thirdSkillGet(int);
|
||||
/* 80A33358 */ void ECut_fourthSkillExplain(int);
|
||||
/* 80A33D80 */ void ECut_fourthSkillGet(int);
|
||||
/* 80A343A8 */ void ECut_fifthSkillExplain(int);
|
||||
/* 80A34DB8 */ void ECut_fifthSkillGet(int);
|
||||
/* 80A353E0 */ void ECut_sixthSkillExplain(int);
|
||||
/* 80A35D88 */ void ECut_sixthSkillGet(int);
|
||||
/* 80A363C0 */ void ECut_seventhSkillExplain(int);
|
||||
/* 80A36C20 */ void ECut_seventhSkillGet(int);
|
||||
/* 80A372D0 */ void setPrtcl();
|
||||
/* 80A37430 */ void setSlipPrtcl();
|
||||
/* 80A37558 */ void setLandingPrtcl();
|
||||
/* 80A2DD70 */ int ECut_noneEquipChangeTalk(int);
|
||||
/* 80A2DF84 */ int ECut_noneEquipChangeTalkStand(int);
|
||||
/* 80A2E26C */ int ECut_largeDamageTalk(int);
|
||||
/* 80A2E528 */ int teach02_start(void*);
|
||||
/* 80A2E664 */ int teach03_attackWait(void*);
|
||||
/* 80A2EC04 */ int teach04_attackWait(void*);
|
||||
/* 80A2EF8C */ int teach04_headBreakWait(void*);
|
||||
/* 80A2F24C */ int teach04_finishWait(void*);
|
||||
/* 80A2F600 */ int teach05_surpriseAttackWait(void*);
|
||||
/* 80A2FC80 */ int teach06_superJumpWait(void*);
|
||||
/* 80A30398 */ int teach06_divideMove(void*);
|
||||
/* 80A305A8 */ int teach06_waitDivide(void*);
|
||||
/* 80A30708 */ int teach06_superJumpWaitDivide(void*);
|
||||
/* 80A30D44 */ int teach06_superJumpedDivide(void*);
|
||||
/* 80A30EDC */ int teach06_warpDelete(void*);
|
||||
/* 80A31028 */ int teach07_superTurnAttackWait(void*);
|
||||
/* 80A315D0 */ int teach07_divideMove(void*);
|
||||
/* 80A317F8 */ int teach07_waitDivide(void*);
|
||||
/* 80A31958 */ int teach07_superTurnAttackWaitDivide(void*);
|
||||
/* 80A31E24 */ int teach07_superTurnAttackedDivide(void*);
|
||||
/* 80A31FBC */ int teach07_warpDelete(void*);
|
||||
/* 80A3203C */ int ECut_secondEncount(int);
|
||||
/* 80A324C4 */ int ECut_thirdSkillExplain(int);
|
||||
/* 80A32D30 */ int ECut_thirdSkillGet(int);
|
||||
/* 80A33358 */ int ECut_fourthSkillExplain(int);
|
||||
/* 80A33D80 */ int ECut_fourthSkillGet(int);
|
||||
/* 80A343A8 */ int ECut_fifthSkillExplain(int);
|
||||
/* 80A34DB8 */ int ECut_fifthSkillGet(int);
|
||||
/* 80A353E0 */ int ECut_sixthSkillExplain(int);
|
||||
/* 80A35D88 */ int ECut_sixthSkillGet(int);
|
||||
/* 80A363C0 */ int ECut_seventhSkillExplain(int);
|
||||
/* 80A36C20 */ int ECut_seventhSkillGet(int);
|
||||
/* 80A372D0 */ int setPrtcl();
|
||||
/* 80A37430 */ int setSlipPrtcl();
|
||||
/* 80A37558 */ int setLandingPrtcl();
|
||||
/* 80A37598 */ void calcMagicBallPos();
|
||||
/* 80A37670 */ void setSwordChargePtcl();
|
||||
/* 80A37B08 */ void calcSlip();
|
||||
/* 80A37D20 */ void calcSwordAttackMove(int);
|
||||
/* 80A3805C */ void setSe();
|
||||
/* 80A38520 */ void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
/* 80A38520 */ static void tgHitCallBack(fopAc_ac_c*, dCcD_GObjInf*, fopAc_ac_c*, dCcD_GObjInf*);
|
||||
/* 80A38550 */ void getTrnsfrmAnmP(char const*, int);
|
||||
/* 80A3858C */ void getTrnsfrmKeyAnmP(char const*, int);
|
||||
/* 80A3858C */ void* getTrnsfrmKeyAnmP(char const*, int);
|
||||
/* 80A385C8 */ void getTexPtrnAnmP(char const*, int);
|
||||
/* 80A38604 */ void getTexSRTKeyAnmP(char const*, int);
|
||||
/* 80A38640 */ void setBckAnm(J3DAnmTransform*, f32, int, int, int, bool);
|
||||
/* 80A38684 */ void setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
|
||||
/* 80A38684 */ int setMcaMorfAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
|
||||
/* 80A3877C */ void setBtpAnm(J3DAnmTexPattern*, J3DModelData*, f32, int);
|
||||
/* 80A387BC */ void setBtkAnm(J3DAnmTextureSRTKey*, J3DModelData*, f32, int);
|
||||
/* 80A387FC */ void loadRes(s8 const*, char const**);
|
||||
/* 80A387FC */ cPhs__Step loadRes(s8 const*, char const**);
|
||||
/* 80A388B0 */ void deleteRes(s8 const*, char const**);
|
||||
/* 80A38930 */ void execute();
|
||||
/* 80A38930 */ s32 execute();
|
||||
/* 80A38BB8 */ void draw(int, int, f32, _GXColorS10*, f32, int, int, int);
|
||||
/* 80A38FAC */ void setEnvTevColor();
|
||||
/* 80A39008 */ void setRoomNo();
|
||||
/* 80A3904C */ void checkEndAnm(f32);
|
||||
/* 80A390F8 */ void checkEndAnm(J3DFrameCtrl*, f32);
|
||||
/* 80A3904C */ bool checkEndAnm(f32);
|
||||
/* 80A390F8 */ BOOL checkEndAnm(J3DFrameCtrl*, f32);
|
||||
/* 80A3917C */ void playAllAnm();
|
||||
/* 80A3949C */ void ctrlBtk();
|
||||
/* 80A39558 */ void setMtx();
|
||||
/* 80A395DC */ void ctrlFaceMotion();
|
||||
/* 80A39684 */ void ctrlMotion();
|
||||
/* 80A39738 */ void ctrlMsgAnm(int*, int*, fopAc_ac_c*, int);
|
||||
/* 80A3989C */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80A39BBC */ void evtProc();
|
||||
/* 80A39DBC */ void setFootPos();
|
||||
/* 80A39F84 */ void setFootPrtcl(cXyz*, f32);
|
||||
/* 80A3A254 */ bool checkCullDraw();
|
||||
/* 80A3A25C */ void twilight();
|
||||
/* 80A3A2A8 */ void evtOrder();
|
||||
/* 80A3A404 */ void evtChange();
|
||||
/* 80A3A504 */ void clrParam();
|
||||
/* 80A3A568 */ bool setFaceMotionAnm(int, bool);
|
||||
/* 80A3A7C0 */ bool setMotionAnm(int, f32, int);
|
||||
/* 80A3AA58 */ void setPos(cXyz);
|
||||
|
|
@ -153,70 +279,175 @@ public:
|
|||
/* 80A3AC24 */ void chkPointInArea(cXyz, cXyz, f32, f32, f32, s16);
|
||||
/* 80A3ACD4 */ void chkPointInArea(cXyz, cXyz, cXyz, s16);
|
||||
/* 80A3AD50 */ void chkFindPlayer(int, s16);
|
||||
/* 80A3AF64 */ void srchPlayerActor();
|
||||
/* 80A3B000 */ void getAttnPos(fopAc_ac_c*);
|
||||
/* 80A3AF64 */ BOOL srchPlayerActor();
|
||||
/* 80A3B000 */ cXyz getAttnPos(fopAc_ac_c*);
|
||||
/* 80A3B074 */ void turn(s16, int, int);
|
||||
/* 80A3B220 */ void step(s16, int, int, int, int);
|
||||
/* 80A3B3E8 */ void initTalk(int, fopAc_ac_c**);
|
||||
/* 80A3B448 */ void talkProc(int*, int, fopAc_ac_c**, int);
|
||||
/* 80A3B220 */ s32 step(s16, int, int, int, int);
|
||||
/* 80A3B3E8 */ s32 initTalk(int, fopAc_ac_c**);
|
||||
/* 80A3B448 */ BOOL talkProc(int*, int, fopAc_ac_c**, int);
|
||||
/* 80A3B5EC */ void setHitodamaPrtcl();
|
||||
/* 80A3B708 */ void decTmr();
|
||||
/* 80A3B720 */ void afterJntAnm(int);
|
||||
/* 80A3B79C */ bool evtEndProc();
|
||||
/* 80A3B7A4 */ bool checkChangeEvt();
|
||||
/* 80A3B7AC */ s32 getFootRJointNo();
|
||||
/* 80A3B7B4 */ s32 getFootLJointNo();
|
||||
/* 80A3B7BC */ bool chkXYItems();
|
||||
/* 80A3B7C4 */ bool afterSetFaceMotionAnm(int, int, f32, int);
|
||||
/* 80A3B7CC */ void getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 80A3B7FC */ void getMotionAnm(daNpcT_motionAnmData_c);
|
||||
/* 80A3B82C */ daNpc_Kn_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_evtData_c const*, char**);
|
||||
/* 80A3BD14 */ s32 getEyeballMaterialNo();
|
||||
/* 80A3BD1C */ bool getEyeballLMaterialNo();
|
||||
/* 80A3BD24 */ bool getEyeballRMaterialNo();
|
||||
/* 80A3C998 */ void setParamTeach01();
|
||||
/* 80A3C998 */ u32 setParamTeach01();
|
||||
/* 80A3CB14 */ void setCollisionTeach01();
|
||||
/* 80A3CBFC */ void teach01_selectAction();
|
||||
/* 80A3CCC0 */ void teach01_start(void*);
|
||||
/* 80A3CDFC */ void teach01_attackWait(void*);
|
||||
/* 80A3CF78 */ void teach01_swordAttackWait(void*);
|
||||
/* 80A3D32C */ void teach01_swordFinishWait(void*);
|
||||
/* 80A3D6D8 */ void ctrlWarp();
|
||||
/* 80A3DCEC */ void ECut_firstEncount(int);
|
||||
/* 80A3DEC4 */ void ECut_attackFailed(int);
|
||||
/* 80A3E550 */ void ECut_firstSkillGet(int);
|
||||
/* 80A3EB84 */ void setParamTeach02();
|
||||
/* 80A3CCC0 */ int teach01_start(void*);
|
||||
/* 80A3CDFC */ int teach01_attackWait(void*);
|
||||
/* 80A3CF78 */ int teach01_swordAttackWait(void*);
|
||||
/* 80A3D32C */ int teach01_swordFinishWait(void*);
|
||||
/* 80A3D6D8 */ int ctrlWarp();
|
||||
/* 80A3DCEC */ int ECut_firstEncount(int);
|
||||
/* 80A3DEC4 */ int ECut_attackFailed(int);
|
||||
/* 80A3E550 */ int ECut_firstSkillGet(int);
|
||||
/* 80A3EB84 */ u32 setParamTeach02();
|
||||
/* 80A3EE38 */ void setCollisionTeach02();
|
||||
/* 80A3EF1C */ void teach02_selectAction();
|
||||
/* 80A3EFE0 */ void teach02_shieldBashWait(void*);
|
||||
/* 80A3F358 */ void teach02_finishWait(void*);
|
||||
/* 80A3F5A4 */ void teach02_shieldReflectWait(void*);
|
||||
/* 80A3F99C */ void ECut_secondSkillExplain(int);
|
||||
/* 80A3FFB4 */ void ECut_reflectExplain(int);
|
||||
/* 80A403B8 */ void ECut_secondSkillGet(int);
|
||||
|
||||
static u8 const mCcDObjData[48];
|
||||
static u8 mCcDCyl[68];
|
||||
static u8 mCcDSph[64];
|
||||
static void* mCutNameList[21];
|
||||
static u8 mCutList[252];
|
||||
static u8 mFindActorPtrs[200];
|
||||
static u8 mFindCount[4];
|
||||
/* 80A3EFE0 */ int teach02_shieldBashWait(void*);
|
||||
/* 80A3F358 */ int teach02_finishWait(void*);
|
||||
/* 80A3F5A4 */ int teach02_shieldReflectWait(void*);
|
||||
/* 80A3F99C */ int ECut_secondSkillExplain(int);
|
||||
/* 80A3FFB4 */ int ECut_reflectExplain(int);
|
||||
/* 80A403B8 */ int ECut_secondSkillGet(int);
|
||||
/* 80A3949C */ virtual int ctrlBtk();
|
||||
/* 80A3B7B4 */ virtual s32 getFootLJointNo();
|
||||
/* 80A3B7AC */ virtual s32 getFootRJointNo();
|
||||
/* 80A3BD1C */ virtual int getEyeballLMaterialNo();
|
||||
/* 80A3BD24 */ virtual s32 getEyeballRMaterialNo();
|
||||
/* 80A3BD14 */ virtual s32 getEyeballMaterialNo();
|
||||
/* 80A3989C */ virtual int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 80A3B720 */ virtual void afterJntAnm(int);
|
||||
/* 80A3B7A4 */ virtual BOOL checkChangeEvt();
|
||||
/* 80A39BBC */ virtual int evtProc();
|
||||
/* 80A3B79C */ virtual BOOL evtEndProc();
|
||||
/* 80A39DBC */ virtual void setFootPos();
|
||||
/* 80A39F84 */ virtual void setFootPrtcl(cXyz*, f32);
|
||||
/* 80A3A254 */ virtual bool checkCullDraw();
|
||||
/* 80A3A25C */ virtual void twilight();
|
||||
/* 80A3B7BC */ virtual BOOL chkXYItems();
|
||||
/* 80A3A2A8 */ virtual void evtOrder();
|
||||
/* 80A3B708 */ virtual void decTmr();
|
||||
/* 80A3A504 */ virtual void clrParam();
|
||||
/* 80A3B7C4 */ virtual bool afterSetFaceMotionAnm(int, int, f32, int);
|
||||
/* 80A3B7CC */ virtual daNpcT_faceMotionAnmData_c getFaceMotionAnm(daNpcT_faceMotionAnmData_c);
|
||||
/* 80A3B7FC */ virtual daNpcT_motionAnmData_c getMotionAnm(daNpcT_motionAnmData_c);
|
||||
/* 80A2AA0C */ virtual ~daNpc_Kn_c();
|
||||
/* 80A2D060 */ virtual bool afterSetMotionAnm(int, int, f32, int);
|
||||
|
||||
static u8 const mCcDObjData[48];
|
||||
static dCcD_SrcCyl mCcDCyl;
|
||||
static dCcD_SrcSph mCcDSph;
|
||||
static char* mCutNameList[21];
|
||||
static cutFunc mCutList[21];
|
||||
static fopAc_ac_c* mFindActorPtrs[50];
|
||||
static u8 mFindCount[4];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x1758 - 0x568];
|
||||
/* 0x0E44 */ J3DModel* mpModel;
|
||||
/* 0x0E48 */ mDoExt_invisibleModel mInvisModel;
|
||||
/* 0x0E50 */ dKy_tevstr_c mTevStr;
|
||||
/* 0x11D8 */ u8 field_0x11D8[0x11DC - 0x11D8];
|
||||
/* 0x11DC */ dCcD_Cyl mCylCc;
|
||||
/* 0x1318 */ dCcD_Sph mSphCc[2];
|
||||
/* 0x1588 */ mDoExt_bckAnm field_0x1588;
|
||||
/* 0x15A4 */ u32 field_0x15a4;
|
||||
/* 0x15A8 */ u32 field_0x15A8;
|
||||
/* 0x15AC */ u8 mType;
|
||||
/* 0x15AD */ u8 mDivideNo;
|
||||
/* 0x15AE */ s8 mActionMode;
|
||||
/* 0x15AF */ u8 field_0x15af;
|
||||
/* 0x15B0 */ cXyz mTargetPos;
|
||||
/* 0x15BC */ u8 field_0x15bc;
|
||||
/* 0x15BD */ u8 field_0x15bd;
|
||||
/* 0x15BE */ u16 field_0x15be;
|
||||
/* 0x15C0 */ cXyz field_0x15c0;
|
||||
/* 0x15CC */ u8 field_0x15cc;
|
||||
/* 0x15CD */ u8 field_0x15cd;
|
||||
/* 0x15CE */ u8 field_0x15ce;
|
||||
/* 0x15CF */ u8 field_0x15cf;
|
||||
/* 0x15D0 */ u16 field_0x15d0;
|
||||
/* 0x15D4 */ s32 field_0x15d4[3];
|
||||
/* 0x15E0 */ daNpc_Kn_prtclMngr_c mParticleMngr[3];
|
||||
/* 0x16F4 */ cXyz field_0x16f4;
|
||||
/* 0x1700 */ u8 field_0x1700[0x170c - 0x1700];
|
||||
/* 0x170C */ u8 field_0x170c;
|
||||
/* 0x170D */ u8 field_0x170d;
|
||||
/* 0x170E */ u8 field_0x170e;
|
||||
/* 0x170F */ u8 field_0x170f;
|
||||
/* 0x1710 */ u8 field_0x1710[4];
|
||||
/* 0x1714 */ actionFunc mpTeachAction;
|
||||
/* 0x1720 */ actionFunc mpActionFunc;
|
||||
/* 0x172C */ daNpcT_Path_c mPath;
|
||||
/* 0x1754 */ u8 field_0x1754;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Kn_c) == 0x1758);
|
||||
|
||||
class daNpc_Kn_Param_c {
|
||||
public:
|
||||
/* 80A3C124 */ ~daNpc_Kn_Param_c();
|
||||
/* 80A3C124 */ virtual ~daNpc_Kn_Param_c();
|
||||
|
||||
static u8 const m[180];
|
||||
struct param {
|
||||
/* 0x00 */ f32 field_0x00;
|
||||
/* 0x04 */ f32 mGravity;
|
||||
/* 0x08 */ f32 mScale;
|
||||
/* 0x0C */ f32 field_0x0c;
|
||||
/* 0x10 */ f32 mWeight;
|
||||
/* 0x14 */ f32 field_0x14;
|
||||
/* 0x18 */ f32 mHeight;
|
||||
/* 0x1C */ f32 mRadius;
|
||||
/* 0x20 */ f32 field_0x20;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 field_0x30;
|
||||
/* 0x34 */ f32 field_0x34;
|
||||
/* 0x38 */ f32 field_0x38;
|
||||
/* 0x3C */ f32 field_0x3c;
|
||||
/* 0x40 */ f32 field_0x40;
|
||||
/* 0x44 */ f32 field_0x44;
|
||||
/* 0x48 */ s16 field_0x48;
|
||||
/* 0x4A */ s16 field_0x4a;
|
||||
/* 0x4C */ s16 field_0x4c;
|
||||
/* 0x4E */ s16 field_0x4e;
|
||||
/* 0x50 */ s32 field_0x50;
|
||||
/* 0x54 */ s32 field_0x54;
|
||||
/* 0x58 */ s32 field_0x58;
|
||||
/* 0x5C */ s32 field_0x5C;
|
||||
/* 0x60 */ s16 field_0x60;
|
||||
/* 0x62 */ s16 field_0x62;
|
||||
/* 0x64 */ s16 field_0x64;
|
||||
/* 0x66 */ s16 field_0x66;
|
||||
/* 0x68 */ s16 field_0x68;
|
||||
/* 0x6A */ u8 field_0x6a;
|
||||
/* 0x6B */ s8 field_0x6b;
|
||||
/* 0x6C */ f32 field_0x6C;
|
||||
/* 0x70 */ s32 field_0x70;
|
||||
/* 0x74 */ s32 field_0x74;
|
||||
/* 0x78 */ s32 field_0x78;
|
||||
/* 0x7C */ s32 field_0x7C;
|
||||
/* 0x80 */ s32 field_0x80;
|
||||
/* 0x84 */ s32 field_0x84;
|
||||
/* 0x88 */ s32 field_0x88;
|
||||
/* 0x8C */ s16 mAlpha;
|
||||
/* 0x8E */ s16 field_0x8e;
|
||||
/* 0x90 */ s16 field_0x90;
|
||||
/* 0x92 */ s16 field_0x92;
|
||||
/* 0x94 */ f32 field_0x94;
|
||||
/* 0x98 */ f32 field_0x98;
|
||||
/* 0x9C */ f32 field_0x9c;
|
||||
/* 0xA0 */ f32 mSpeedF;
|
||||
/* 0xA4 */ f32 mSpeedY;
|
||||
/* 0xA8 */ f32 field_0xa8;
|
||||
/* 0xAC */ s16 mMinRndVal;
|
||||
/* 0xAE */ s16 mRndValRange;
|
||||
/* 0xB0 */ s16 field_0xb0;
|
||||
/* 0xB2 */ s16 field_0xb2;
|
||||
/* 0xB4 */ f32 field_0xb4;
|
||||
};
|
||||
|
||||
static param const m;
|
||||
};
|
||||
|
||||
#endif /* D_A_NPC_KN_H */
|
||||
|
|
|
|||
|
|
@ -22,8 +22,12 @@ public:
|
|||
/* 80C47558 */ void col_chk();
|
||||
/* 80C477B4 */ void hitPrtclSet();
|
||||
|
||||
u8 getActionMode() { return mActionMode; }
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0x71c - 0x568];
|
||||
/* 0x568 */ u8 field_0x568[0x70c - 0x568];
|
||||
/* 0x70C */ u8 mActionMode;
|
||||
/* 0x70D */ u8 field_0x70d[0x71c - 0x70d];
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daObjKnBullet_c) == 0x71c);
|
||||
|
|
|
|||
|
|
@ -455,7 +455,7 @@ public:
|
|||
FLG3_UNK_100 = 0x100,
|
||||
FLG3_UNK_80 = 0x80,
|
||||
FLG3_UNK_40 = 0x40,
|
||||
FLG3_UNK_20 = 0x20,
|
||||
FL3_TRANING_CUT_BACK = 0x20,
|
||||
FLG3_UNK_10 = 0x10,
|
||||
FLG3_UNK_8 = 8,
|
||||
FLG3_UNK_4 = 4,
|
||||
|
|
@ -500,7 +500,7 @@ public:
|
|||
ERFLG1_UNK_40000000 = 0x40000000,
|
||||
ERFLG1_UNK_20000000 = 0x20000000,
|
||||
ERFLG1_UNK_10000000 = 0x10000000,
|
||||
ERFLG1_UNK_8000000 = 0x8000000,
|
||||
ERFLG1_LARGE_DAMAGE_UP_STOP = 0x8000000,
|
||||
ERFLG1_UNK_4000000 = 0x4000000,
|
||||
ERFLG1_UNK_2000000 = 0x2000000,
|
||||
ERFLG1_UNK_1000000 = 0x1000000,
|
||||
|
|
@ -572,7 +572,7 @@ public:
|
|||
};
|
||||
|
||||
enum daPy_RFLG1 {
|
||||
RFLG1_UNK_400 = 0x400,
|
||||
RFLG1_DAMAGE_IMPACT = 0x400,
|
||||
RFLG1_UNK_200 = 0x200,
|
||||
RFLG1_UNK_100 = 0x100,
|
||||
RFLG1_UNK_80 = 0x80,
|
||||
|
|
@ -914,6 +914,7 @@ public:
|
|||
bool checkWolfAttackReverse() const { return checkResetFlg1(RFLG1_WOLF_ATTACK_REVERSE); }
|
||||
bool checkFreezeDamage() const { return checkNoResetFlg1(FLG1_ICE_FREEZE); }
|
||||
bool checkWolfTagLockJumpReady() const { return checkResetFlg0(RFLG0_UNK_20000); }
|
||||
bool checkDamageImpact() const { return checkResetFlg1(RFLG1_DAMAGE_IMPACT); }
|
||||
bool getGrabUpEnd() const { return checkResetFlg0(RFLG0_GRAB_UP_END); }
|
||||
bool getGrabPutStart() const { return checkResetFlg0(RFLG0_GRAB_PUT_START); }
|
||||
bool checkSwimUp() const { return checkNoResetFlg0(FLG0_SWIM_UP); }
|
||||
|
|
@ -1046,6 +1047,8 @@ public:
|
|||
void onDoExchangePutIn() { onEndResetFlg1(ERFLG1_UNK_4000000); }
|
||||
void onNsScream() { onEndResetFlg1(ERFLG1_UNK_1); }
|
||||
void onNsScreamAnm() { onEndResetFlg1(daPy_ERFLG1(ERFLG1_UNK_1 | ERFLG1_UNK_2)); }
|
||||
void onLargeDamageUpStop() { onEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP); }
|
||||
void onTraningCutBack() { onNoResetFlg3(FL3_TRANING_CUT_BACK); }
|
||||
void onNeckSearchWide() { onEndResetFlg0(ERFLG0_UNK_400); }
|
||||
void offPressedDamage() { offNoResetFlg2(FLG2_PRESSED_DAMAGE); }
|
||||
void onForceSubjectCancel() { onEndResetFlg0(ERFLG0_FORCE_SUBJECT_CANCEL); }
|
||||
|
|
|
|||
|
|
@ -409,6 +409,7 @@ public:
|
|||
cXyz* GetTgRVecP() { return mGObjTg.GetRVecP(); }
|
||||
bool ChkTgHookshotThrough() { return mGObjTg.ChkSPrm(0x80); }
|
||||
bool ChkTgShieldHit() { return mGObjTg.ChkRPrm(2); }
|
||||
void OffTgNoAtHitInfSet() { mObjTg.OffSPrmBit(0x20); }
|
||||
bool ChkTgSpinnerReflect() { return mGObjTg.ChkSPrm(0x200); }
|
||||
|
||||
static const Z2SoundID m_hitSeID[24];
|
||||
|
|
|
|||
|
|
@ -7,6 +7,21 @@ class dBgS_Acch;
|
|||
class dKy_tevstr_c;
|
||||
class JPABaseEmitter;
|
||||
|
||||
/**
|
||||
* @brief Particle effect management class for center-based effects
|
||||
*
|
||||
* This class handles particle effects, particularly those related to water interactions.
|
||||
* It manages emitters, water offsets, and ripple effects with a center-based configuration.
|
||||
*
|
||||
* @details The class maintains:
|
||||
* - Center-based particle emitters
|
||||
* - Water and ripple offset values
|
||||
* - Effect type information
|
||||
* - Background collision checking capabilities
|
||||
*
|
||||
* @note This serves as the base class for dPaPoT_c and dPaPoF_c which extend the
|
||||
* functionality to handle two and four particle emitters respectively.
|
||||
*/
|
||||
class dPaPo_c {
|
||||
public:
|
||||
/* 80050C9C */ void init(dBgS_Acch*, f32, f32);
|
||||
|
|
|
|||
|
|
@ -135,7 +135,13 @@ enum fopAcM_STATUS {
|
|||
/* 0x0040000 */ fopAcM_STATUS_UNK_400000 = 1 << 18,
|
||||
/* 0x0080000 */ fopAcM_STATUS_UNK_800000 = 1 << 19,
|
||||
/* 0x0100000 */ fopAcM_STATUS_HOOK_CARRY_NOW = 1 << 20,
|
||||
/* 0x8000000 */ fopAcM_STATUS_UNK_8000000 = 1 << 27,
|
||||
/* 0x0200000 */ fopAcM_STATUS_UNK_2000000 = 1 << 21,
|
||||
/* 0x0400000 */ fopAcM_STATUS_UNK_4000000 = 1 << 22,
|
||||
/* 0x0800000 */ fopAcM_STATUS_UNK_8000000 = 1 << 23,
|
||||
/* 0x1000000 */ fopAcM_STATUS_UNK_10000000 = 1 << 24,
|
||||
/* 0x2000000 */ fopAcM_STATUS_UNK_20000000 = 1 << 25,
|
||||
/* 0x4000000 */ fopAcM_STATUS_UNK_40000000 = 1 << 26,
|
||||
/* 0x8000000 */ fopAcM_STATUS_UNK_80000000 = 1 << 27,
|
||||
};
|
||||
|
||||
inline s8 fopAcM_GetRoomNo(const fopAc_ac_c* i_actor) {
|
||||
|
|
|
|||
|
|
@ -710,7 +710,7 @@ BOOL daAlink_c::checkDoCutAction() {
|
|||
/* 800D2890-800D28F4 0CD1D0 0064+00 2/2 0/0 0/0 .text checkCutBackState__9daAlink_cFv */
|
||||
BOOL daAlink_c::checkCutBackState() {
|
||||
// event flag 0x2902: Learned Backslice
|
||||
return dComIfGs_isEventBit(0x2902) || checkNoResetFlg3(FLG3_UNK_20);
|
||||
return dComIfGs_isEventBit(0x2902) || checkNoResetFlg3(FL3_TRANING_CUT_BACK);
|
||||
}
|
||||
|
||||
/* 800D28F4-800D29D4 0CD234 00E0+00 6/6 0/0 0/0 .text checkCutHeadState__9daAlink_cFv */
|
||||
|
|
|
|||
|
|
@ -200,7 +200,7 @@ int daAlink_c::setDamagePoint(int i_dmgAmount, int i_checkZoraMag, int i_setDmgT
|
|||
dComIfGp_setItemLifeCount(-magnified_dmg, 0);
|
||||
}
|
||||
|
||||
onResetFlg1(RFLG1_UNK_400);
|
||||
onResetFlg1(RFLG1_DAMAGE_IMPACT);
|
||||
mSwordUpTimer = 0;
|
||||
|
||||
if (i_setDmgTimer) {
|
||||
|
|
@ -1429,7 +1429,7 @@ int daAlink_c::procLargeDamageUp() {
|
|||
} else if (dMsgObject_isTalkNowCheck()) {
|
||||
offNoResetFlg0(FLG0_UNK_200000);
|
||||
}
|
||||
} else if (checkEndResetFlg1(ERFLG1_UNK_8000000) && temp_r30->getFrame() > field_0x3484) {
|
||||
} else if (checkEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP) && temp_r30->getFrame() > field_0x3484) {
|
||||
temp_r30->setFrame(field_0x3484);
|
||||
getNowAnmPackUnder(UNDER_0)->setFrame(field_0x3484);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6021,7 +6021,7 @@ int daAlink_c::procWolfLargeDamageUp() {
|
|||
}
|
||||
} else if (temp_r29->getFrame() > field_0x3478) {
|
||||
checkNextActionWolf(1);
|
||||
} else if (checkEndResetFlg1(ERFLG1_UNK_8000000) && temp_r29->getFrame() > field_0x3484) {
|
||||
} else if (checkEndResetFlg1(ERFLG1_LARGE_DAMAGE_UP_STOP) && temp_r29->getFrame() > field_0x3484) {
|
||||
temp_r29->setFrame(field_0x3484);
|
||||
getNowAnmPackUnder(UNDER_0)->setFrame(field_0x3484);
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -97,7 +97,7 @@ void daNpcF_MatAnm_c::initialize() {
|
|||
mNowOffsetX = 0.0f;
|
||||
mNowOffsetY = 0.0f;
|
||||
mEyeMoveFlag = 0;
|
||||
field_0x105 = 0;
|
||||
mMorfFrm = 0;
|
||||
}
|
||||
|
||||
/* 8015075C-80150870 14B09C 0114+00 1/0 0/0 0/0 .text calc__15daNpcF_MatAnm_cCFP11J3DMaterial */
|
||||
|
|
@ -109,8 +109,8 @@ void daNpcF_MatAnm_c::calc(J3DMaterial* i_material) const {
|
|||
J3DTexMtxInfo* curr_mtx_info =
|
||||
&i_material->getTexGenBlock()->getTexMtx(i)->getTexMtxInfo();
|
||||
|
||||
if (field_0x105 != 0) {
|
||||
f32 tmp8 = 1.0f / (field_0x105 + 1);
|
||||
if (mMorfFrm != 0) {
|
||||
f32 tmp8 = 1.0f / (mMorfFrm + 1);
|
||||
f32 tmp9 = (1.0f - tmp8);
|
||||
f32 tmp10 = field_0xF4 * (1.0f - tmp8);
|
||||
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ SECTION_DATA static daNpcT_faceMotionAnmData_c l_faceMotionAnmData[10] = {
|
|||
};
|
||||
|
||||
/* 80A00B34-80A00DB8 0001F4 0284+00 1/2 0/0 0/0 .data l_motionAnmData */
|
||||
SECTION_DATA static int l_motionAnmData[161] = {
|
||||
SECTION_DATA static int l_motionAnmData[161] = {
|
||||
11, 2, 1, 17, 0, 1, 65536, 22, 2, 2, 17, 0, 1, 65536, 16, 2, 2, 17, 0, 1, 65536,
|
||||
13, 2, 2, 17, 0, 1, 65536, 21, 2, 2, 31, 2, 2, 0, 20, 0, 2, 30, 0, 2, 0,
|
||||
14, 0, 2, 29, 0, 2, 0, 8, 2, 1, 17, 0, 1, 65536, 6, 0, 1, 17, 0, 1, 65536,
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -995,9 +995,9 @@ void daNpc_Maro_c::action() {
|
|||
|
||||
/* 8055D5C4-8055D688 002124 00C4+00 1/0 0/0 0/0 .text beforeMove__12daNpc_Maro_cFv */
|
||||
void daNpc_Maro_c::beforeMove() {
|
||||
fopAcM_OffStatus(this, fopAcM_STATUS_UNK_8000000);
|
||||
fopAcM_OffStatus(this, fopAcM_STATUS_UNK_80000000);
|
||||
if (checkHide()) {
|
||||
fopAcM_OnStatus(this, fopAcM_STATUS_UNK_8000000);
|
||||
fopAcM_OnStatus(this, fopAcM_STATUS_UNK_80000000);
|
||||
}
|
||||
if (checkHide() || mNoDraw) {
|
||||
attention_info.flags = 0;
|
||||
|
|
|
|||
|
|
@ -1056,9 +1056,9 @@ void daNpc_Taro_c::action() {
|
|||
|
||||
/* 80567EB4-80567F78 002114 00C4+00 1/0 0/0 0/0 .text beforeMove__12daNpc_Taro_cFv */
|
||||
void daNpc_Taro_c::beforeMove() {
|
||||
fopAcM_OffStatus(this, fopAcM_STATUS_UNK_8000000);
|
||||
fopAcM_OffStatus(this, fopAcM_STATUS_UNK_80000000);
|
||||
if (checkHide()) {
|
||||
fopAcM_OnStatus(this, fopAcM_STATUS_UNK_8000000);
|
||||
fopAcM_OnStatus(this, fopAcM_STATUS_UNK_80000000);
|
||||
}
|
||||
if (checkHide() || mNoDraw) {
|
||||
attention_info.flags = 0;
|
||||
|
|
|
|||
Loading…
Reference in New Issue