blish-hud / Blish-HUD

A Guild Wars 2 overlay with extreme extensibility through compiled modules.
https://blishhud.com
MIT License
309 stars 60 forks source link

MumbleLink disconnecting when using Mumble for positional audio #930

Open Metallis opened 7 months ago

Metallis commented 7 months ago

https://github.com/blish-hud/Blish-HUD/blob/1459439d6e9ded10d97f1d22d321f69c0d67f37c/Blish%20HUD/GameServices/Gw2MumbleService.cs#L93

When using Mumble for positional audio, in addition to Blish HUD, going through 2 loading screens seems to disconnect MumbleLink from GW2 temporarily and when the link "light" returns, Blish still doesn't respond properly. Currently the suspect is the linked section starting at 93 and current suspicion is that Blish doesn't know how to handle it when a disconnect happens without the game closing, causing the _prevTick to be GREATER than this.RawClient.Tick and "hangs" until the normal criteria is met. Maybe a case statement that also sets _prevTick to be equal to this.RawClient.Tick could handle this, but I have no idea if that could potentially have other effects or cause float errors or anything.

Contact DragonHeart996 if you need someone to test it.

Metallis commented 7 months ago

Additional info from DragonHeart: Mumble itself seems to use

if (lm.uiTick != last_tick) {
            last_tick      = lm.uiTick;
Metallis commented 5 months ago

DragonHeart has made a forked version and it seems to work with just this one line change! Of note, it may cause issues with making Blish falsely detect TacO as running?