Helion-Engine / Helion

A modern fast paced Doom FPS engine
GNU General Public License v3.0
86 stars 9 forks source link

Weapon sprite movement when switching weapons isn't interpolated #551

Open Calinou opened 8 months ago

Calinou commented 8 months ago

Helion version: https://github.com/Helion-Engine/Helion/commit/3e60de303e27c74738b6e98e125ffb48a552c2cd

Unlike run bobbing, weapon sprite movement when switching weapons isn't interpolated. This also occurs when loading a level or dying, both events causing a weapon switch animation to occur.

https://github.com/Helion-Engine/Helion/assets/180032/4ffaa5da-99ef-4033-a50d-f634d5dbd5a1

72hr commented 6 days ago

If line 627 is moved before line 614 here: https://github.com/Helion-Engine/Helion/blob/ac28d810c143780621679e73b7157da27240d1cc/Core/World/Entities/Players/Player.cs#L613-L628 which seems to be where A_Raise/A_Lower run and WeaponOffset is modified in the tick, it seems to work. The interpolation code is already there, but PrevWeaponOffset and WeaponOffset are currently the same when it tries to interpolate. I don't know if that's the right fix, though.