Scenario:
- Other player has livepose applied via IPC (register)
- Other player is removed from the game object table by the game (zone change, etc.)
- Other player is re-added to the game object table by the game
- Other player has livepose applied via IPC again (register)
In this scenario heels maintains memory of the old tags and skips calling _tagChanged => livepose does not get the message to apply the pose to the newly rendered game object.
The other plugin using the IPC cannot call unregister, when derendered, as the gameobject is gone.
Is the expectation to call unregister followed by register again when the player re-appears, or would this be better fixed on heels end by letting livepose know when a managed player becomes visible again? The latter feels more correct to me to avoid unnecessarily undoing and redoing heels offsets (including temporary), which do work correctly.
The attached patch makes it work, but I'm unsure if it is a workable solution. A new call from heels from livepose may be better suited to this than triggering a tag change for all listeners in general, or it may be more appropriate for livepose to be detecting when to reapply on its own.
heels-livepose.patch
Scenario:
In this scenario heels maintains memory of the old tags and skips calling _tagChanged => livepose does not get the message to apply the pose to the newly rendered game object.
The other plugin using the IPC cannot call unregister, when derendered, as the gameobject is gone.
Is the expectation to call unregister followed by register again when the player re-appears, or would this be better fixed on heels end by letting livepose know when a managed player becomes visible again? The latter feels more correct to me to avoid unnecessarily undoing and redoing heels offsets (including temporary), which do work correctly.
The attached patch makes it work, but I'm unsure if it is a workable solution. A new call from heels from livepose may be better suited to this than triggering a tag change for all listeners in general, or it may be more appropriate for livepose to be detecting when to reapply on its own.
heels-livepose.patch