ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.74k stars 631 forks source link

[GoldSrc] onlyClientDraw freezes sound listener position #3825

Open Meetem opened 2 months ago

Meetem commented 2 months ago

If the mod is using onlyClientDraw = 1, then sound playback origin will "freeze" in the last place where onlyClientDraw was 0. Probably it is related to the fast exit in the engine rendering code, where check for onlyClientDraw elliminates not only the rendering, but sound setup too.

Setting onlyClientDraw to 0 will catch up new player origin, but will freeze again if onlyClientDraw becomes 1.

Meetem commented 2 months ago

Apparently viewmodel animations are broken too, seems that they are not transferred from engine to the view entity. Since engine doesn't render a viewmodel, it just skips the animation setup, which is incorrect, since custom renderer needs them. Reproducable with r_norefresh = 1, or r_drawentities = 0, or r_drawviewmodel = 0, or onlyClientDraw = 1