mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-25 21:41:03 +00:00
- Fix weapon bobbing interpolation
There was a visual issue where the weapon bobbing would only start interpolating after the player's movement velocity exceeds a certain value. (Thanks to @Doom2fan for the solution)
This commit is contained in:
parent
ff62d7a8a3
commit
56a387ac82
1 changed files with 9 additions and 2 deletions
|
@ -49,6 +49,7 @@ class PlayerPawn : Actor
|
|||
double ViewBob; // [SP] ViewBob Multiplier
|
||||
double FullHeight;
|
||||
double curBob;
|
||||
float prevBob;
|
||||
|
||||
meta Name HealingRadiusType;
|
||||
meta Name InvulMode;
|
||||
|
@ -1572,6 +1573,7 @@ class PlayerPawn : Actor
|
|||
virtual void PlayerThink()
|
||||
{
|
||||
let player = self.player;
|
||||
prevBob = player.bob;
|
||||
UserCmd cmd = player.cmd;
|
||||
|
||||
CheckFOV();
|
||||
|
@ -2351,9 +2353,14 @@ class PlayerPawn : Actor
|
|||
|
||||
if (curbob != 0)
|
||||
{
|
||||
double bobVal = player.bob;
|
||||
if (i == 0)
|
||||
{
|
||||
bobVal = prevBob;
|
||||
}
|
||||
//[SP] Added in decorate player.viewbob checks
|
||||
double bobx = (player.bob * BobIntensity * Rangex * ViewBob);
|
||||
double boby = (player.bob * BobIntensity * Rangey * ViewBob);
|
||||
double bobx = (bobVal * BobIntensity * Rangex * ViewBob);
|
||||
double boby = (bobVal * BobIntensity * Rangey * ViewBob);
|
||||
switch (bobstyle)
|
||||
{
|
||||
case Bob_Normal:
|
||||
|
|
Loading…
Reference in a new issue