mirror of
https://github.com/ZDoom/Raze.git
synced 2024-11-16 09:21:36 +00:00
e474ebc2b7
* For RR, `processweapon_r()` was performing angle and horizon changes directly which provided a harsh experience with the default `cl_syncinput 0` mode. * Added `angAdjust` variable to `player_struct` for use with ticrate angle adjustments. * Renamed `horizAngleAdjust` to `horizAdjust` so that there is less confusion with the new `angAdjust` variable. * Removed `horizSkew` variable, can just use `horizAdjust` for this. * Replaced all calls to `addang()` and `addhoriz()` with the appropriate additions/subtractions to `angAdjust` and `horizAdjust` respectively. * Removed now unused `addang()` and `addhoriz()` setters from `player_struct`. * Define new function `resetinputhelpers()` to eliminate code duplication between `processinput_d()` and `processinput_r()` functions. * Remove `p->q16ang` and `p->q16horiz` direct setting from `FinalizeInput()`. * Change `applylook()` to accept an `fixed_t adjustment` for changing the player's angle. This can either be `input.q16avel` when `cl_syncinput` is 0, or `sync[snum].q16angvel` when `cl_syncinput` is 1. * Change `sethorizon()` to accept an `fixed_t adjustment` for changing the player's horizon. This can either be `input.q16horz` when `cl_syncinput` is 0, or `sync[snum].q16horz` when `cl_syncinput` is 1. * Re-work `sethorizon()` to always adjust `p->q16horiz` using the true pitch code. This closer resembles the EDuke32 implementation as per SVN 7342. * Re-work returning to center to work off the true pitch code and always ensure that the player returns to center. * Implement work-around for RR where we need to call `sethorizon()` before the call to `fi.doincrements()` like the original game, but also after the call to `processweapon()` to apply any angle or horizon changes due to weapon recoil, etc. We work around this by calling `sethorizon()` from within `doincrements_r()` only if `cl_syncinput` is 1 and only if `doincrements_r()` is to return 1. |
||
---|---|---|
.. | ||
duke |