Tripperful / sf-servers-requests

Requests and issues for SF HL2DM Servers
1 stars 0 forks source link

Update Weapon 357 code to re-introduce random view angle fix #19

Closed da11as911 closed 1 month ago

da11as911 commented 1 month ago

Would it be possible to take this approach in fixing the high latency mag view angles so that we are able to keep the random location on the magnum gun bob at the end?

https://github.com/ValveSoftware/source-sdk-2013/commit/2d6264ab1ee07e9a152e49270bd591aeb5052116#diff-67ef1f608b25158880af5e107aa89aa8bdc2ff47044a6694d36a03aaf54e84a9R144

Tripperful commented 1 month ago

Doable

Tripperful commented 1 month ago

Actually, after re-visiting this, it doesn't seem fixable in a meaningful manner.

For some reason, Valve decided that the following code should only run on server:

#ifndef CLIENT_DLL
    pPlayer->SnapEyeAngles( angles );
#endif

They deliberately broke client-side prediction for it, which means that the new, randomly offset view angles, are set on client camera by the server (and transferred over the network with delay).

If you move your mouse after you attack, the server will send you the new view angles (which are the angles when you made the shot + random offset in -1, +1 degrees range). But, you have already moved your camera far from these original angles, your view will snap all the way back when the packet arrives. This could only be properly fixed by removing the #ifndef CLIENT_DLL check to bring back the prediction.

With the limitations of not being able to change client code, we will keep the original fix because we think that this terrible view angles snapping is worse than having no mag recoil at all.