mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-29 04:50:42 +00:00
- properly tune sethorizon()
so that 'frominput' bool can be removed. Returning to centre function is essentially consistent between input states now.
This commit is contained in:
parent
0ee3ab4df8
commit
736811e864
3 changed files with 6 additions and 12 deletions
|
@ -230,7 +230,7 @@ void PlayerColorChanged(void);
|
|||
void nonsharedkeys(void);
|
||||
void apply_seasick(player_struct* p, double scalefactor);
|
||||
void calcviewpitch(player_struct* p, double factor);
|
||||
void sethorizon(int snum, int sb_snum, double factor, bool frominput, fixed_t adjustment);
|
||||
void sethorizon(int snum, int sb_snum, double factor, fixed_t adjustment);
|
||||
bool movementBlocked(int snum);
|
||||
void GetInput();
|
||||
void startmainmenu();
|
||||
|
|
|
@ -1260,7 +1260,7 @@ void GetInput()
|
|||
// Do these in the same order as the old code.
|
||||
calcviewpitch(p, scaleAdjust);
|
||||
applylook(myconnectindex, scaleAdjust, input.q16avel);
|
||||
sethorizon(myconnectindex, loc.bits, scaleAdjust, true, input.q16horz);
|
||||
sethorizon(myconnectindex, loc.bits, scaleAdjust, input.q16horz);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -991,7 +991,7 @@ void checklook(int snum, int sb_snum)
|
|||
//
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
void sethorizon(int snum, int sb_snum, double factor, bool frominput, fixed_t adjustment)
|
||||
void sethorizon(int snum, int sb_snum, double factor, fixed_t adjustment)
|
||||
{
|
||||
auto p = &ps[snum];
|
||||
|
||||
|
@ -1000,20 +1000,14 @@ void sethorizon(int snum, int sb_snum, double factor, bool frominput, fixed_t ad
|
|||
|
||||
if (p->return_to_center > 0 && (sb_snum & (SKB_LOOK_UP | SKB_LOOK_DOWN)) == 0) // only snap back if no relevant button is pressed.
|
||||
{
|
||||
p->return_to_center -= factor * 1.;
|
||||
horizAngle += factor * -(frominput? 1.1 : 0.55) * horizAngle; // in P_GetInput this used different factors than in the original code. Hm...
|
||||
p->return_to_center += -factor * (p->return_to_center / 2);
|
||||
horizAngle += -factor * (horizAngle / 2);
|
||||
|
||||
if (horizAngle > -1. && horizAngle < 1.)
|
||||
if (horizAngle > -0.5 && horizAngle < 0.5)
|
||||
{
|
||||
horizAngle = 0.;
|
||||
p->return_to_center = 0.;
|
||||
}
|
||||
|
||||
if (p->aim_mode == 0)
|
||||
{
|
||||
// threshold was 5
|
||||
if (p->q16horizoff > F16(-1) && p->q16horizoff < F16(1)) p->sethorizoff(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Convert back to Build's horizon.
|
||||
|
|
Loading…
Reference in a new issue