diff options
| author | robojumper <robojumper@gmail.com> | 2025-05-22 01:23:01 +0200 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2025-05-22 01:23:01 +0200 |
| commit | 93e5291422549a37ad8cb006ae8dd81f2dbee41a (patch) | |
| tree | 3ef52459bbfcf0c2f94263fd64cbcfee92ae44c3 /include/d/a/d_a_player.h | |
| parent | bcbba3a60cfc489919f024373fb9285a1179daa3 (diff) | |
A bit of progress
Diffstat (limited to 'include/d/a/d_a_player.h')
| -rw-r--r-- | include/d/a/d_a_player.h | 49 |
1 files changed, 45 insertions, 4 deletions
diff --git a/include/d/a/d_a_player.h b/include/d/a/d_a_player.h index bf18e973..c379de1b 100644 --- a/include/d/a/d_a_player.h +++ b/include/d/a/d_a_player.h @@ -114,6 +114,18 @@ public: mpSoundData = data; } + void setField_0x58(u8 val) { + field_0x58 = val; + } + + u16 getField_0x5A() const { + return field_0x5A; + } + + void *getSoundData() const { + return mpSoundData; + } + private: /* 0x24 */ daPlBaseMdlCallback_c mCallback; /* 0x58 */ u8 field_0x58; @@ -142,6 +154,10 @@ public: void play() override; bool isFinished(); + void setField_0x35(u8 value) { + field_0x35 = value; + } + private: /* 0x35 */ u8 field_0x35; /* 0x36 */ u8 field_0x36; @@ -726,6 +742,18 @@ public: mForceOrPreventActionFlags |= mask; } + inline void onFaceUpdateFlags(u32 mask) { + mFaceUpdateFlags |= mask; + } + + inline void offFaceUpdateFlags(u32 mask) { + mFaceUpdateFlags &= ~mask; + } + + inline bool checkFaceUpdateFlags(u32 mask) const { + return (mFaceUpdateFlags & mask) != 0; + } + bool CheckPlayerFly() const { return mActionFlags & FLG0_FLY; } @@ -791,7 +819,7 @@ protected: /* 0x339 */ u8 mRidingActorType; /* 0x33A */ u8 unk_0x33A[0x340 - 0x33A]; /* 0x340 */ u32 someFlags_0x340; - /* 0x344 */ u8 unk_0x344[0x348 - 0x344]; + /* 0x344 */ u32 mFaceUpdateFlags; /* 0x348 */ u32 mSwordAndMoreStates; /* 0x34C */ u32 mModelUpdateFlags; /* 0x350 */ u32 someFlags_0x350; @@ -842,7 +870,7 @@ public: PLAYER_MAIN_NODE_ARM_L2 = 8, PLAYER_MAIN_NODE_HAND_L = 9, PLAYER_MAIN_NODE_WEAPON_L = 10, - + PLAYER_MAIN_NODE_SHOULDER_R = 11, PLAYER_MAIN_NODE_ARM_R1 = 12, PLAYER_MAIN_NODE_ARM_R2 = 13, @@ -891,6 +919,7 @@ public: }; void fn_8005F890(nw4r::math::MTX34 *); + void fn_8005FB90(nw4r::math::MTX34 *); void fn_80061410(); static void freeFrmHeap(mHeapAllocator_c *allocator); @@ -1011,10 +1040,21 @@ public: mSwordAndMoreStates &= ~mask; } - void loadSound(nw4r::g3d::ResFile file, const char *name, s32 animIdx); + bool canStart(bool force, u16 newIdx, u16 invalidValue, u16 *out1, u16 *out2) const; + void setFaceTexPat(s32 faceIdx, bool force); + void setFaceTexSrt(s32 faceIdx, bool force); + void setFaceAnmChr(s32 faceIdx, bool force); + + void setPosCopy3(); + + void loadTwoAnmChrs(s32 childIdx, s32 animIdx, s32 animIdx2, bool b); + void loadAnmChr(s32 childIdx, s32 animIdx, void *dest, u32 maxSize); + void removeAnmChr(s32 childIdx); + void loadSound(nw4r::g3d::ResFile &file, const char *name, s32 childIdx); + void loadSoundForAnim(s32 childIdx); void syncSoundWithAnim(); - static void registMassObj(cCcD_Obj* obj, u8 priority); + static void registMassObj(cCcD_Obj *obj, u8 priority); void updateModelColliders(); void updateCachedPositions(); @@ -1037,6 +1077,7 @@ public: void applyWorldRotationMaybe(nw4r::g3d::WorldMtxManip *result, mAng x, mAng y, mAng z, mVec3_c *off, bool order); static const PlayerAnimation sAnimations[443]; + static const s32 sUnkDuration; static const u8 sShieldDurabilities[10]; static const u8 sShieldRegenTimes[10]; static mColor sGuideColor1; |
