mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-04 16:23:52 +00:00
rendering/game: fix other-player movement animations and add jump/swim hints
- MSG_MOVE_STOP/STOP_STRAFE/STOP_TURN/STOP_SWIM/FALL_LAND: snap entity to stop position (duration=0) and pass durationMs=0 to renderer so the Run-animation flash is suppressed; per-frame sync plays Stand on next frame - MSG_MOVE_JUMP: fire new UnitAnimHintCallback with anim 38 (JumpMid) so other players and NPCs visually leave the ground during jumps - MSG_MOVE_START_SWIM: fire UnitAnimHintCallback with anim 42 (Swim) - Wire up UnitAnimHintCallback in application.cpp; skips Death (anim 1)
This commit is contained in:
parent
137b25f318
commit
14c2bc97b1
3 changed files with 54 additions and 3 deletions
|
|
@ -637,6 +637,10 @@ public:
|
|||
using SpellCastAnimCallback = std::function<void(uint64_t guid, bool start, bool isChannel)>;
|
||||
void setSpellCastAnimCallback(SpellCastAnimCallback cb) { spellCastAnimCallback_ = std::move(cb); }
|
||||
|
||||
// Unit animation hint: signal jump (animId=38) or swim (animId=42) for other players/NPCs
|
||||
using UnitAnimHintCallback = std::function<void(uint64_t guid, uint32_t animId)>;
|
||||
void setUnitAnimHintCallback(UnitAnimHintCallback cb) { unitAnimHintCallback_ = std::move(cb); }
|
||||
|
||||
// NPC swing callback (plays attack animation on NPC)
|
||||
using NpcSwingCallback = std::function<void(uint64_t guid)>;
|
||||
void setNpcSwingCallback(NpcSwingCallback cb) { npcSwingCallback_ = std::move(cb); }
|
||||
|
|
@ -2263,6 +2267,7 @@ private:
|
|||
GhostStateCallback ghostStateCallback_;
|
||||
MeleeSwingCallback meleeSwingCallback_;
|
||||
SpellCastAnimCallback spellCastAnimCallback_;
|
||||
UnitAnimHintCallback unitAnimHintCallback_;
|
||||
NpcSwingCallback npcSwingCallback_;
|
||||
NpcGreetingCallback npcGreetingCallback_;
|
||||
NpcFarewellCallback npcFarewellCallback_;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue