This enables the `aimfix` cvar for the super shotgun. While here add the
same fix to the phalanx, which is just a super shotgun with plasma
instead of shells.
This was made possible by id Software rereleasing the unaltered addon
sources codes under GPL2:
https://github.com/id-Software/quake2-rerelease-dll/
All past contributors but one agreed with the relicensing:
* Andrey Nazarov - @skullernet
* Angus Freudenberg - @afreuden
* @BjossiAlfreds
* @DanielGibson
* David Carlier - @devnexen
* Denis Pauk - @0lvin
* @De-Seppe
* Jaime Moreira - @protocultor
* Joshua Scoggins - @DrItanium
* Mitchell Richters - @mjr4077au
* @NeonKnightOA
* Scott - @Pickle
* svdijk - @svdijk
* Yamagi
@Dremor8484 didn't give their permission, their commits were reverted:
* 368df08
* 44e50a1
* 04868b7
Many thanks to all involved with this project!
phalanx aimfix (like the supershotgun)
the first shot (in the if statement) is to the right, the second shot (in the else statement) shoots left
without the change to the code 1 shot is centered on the aim cross, the other is on the right
with the change to the code the left shot is on the left of the crossair and it touches the left -- of the crossair, while the right shot is on the right and touches the right -- of the crossair
the aimfix was working only on half of the attack, since the supershotgun shoots 2 times (half bullets left, half bullets right)
to carefully test it i tried to comment out 1 of the 2 shots while also keep yaw change to 0
in 1 case the bullets hit around the crossair, in the other case the bullets were not centered around the crossair.
i added the same fix to the shot that did not have it, and it worked.
i tested it out with yaw-5 and yaw+5 with both shots shooting at the same time and the bullets appeared to gather into 2 distinct clusters one left side of crossair, one right side of crossair like 2 eyes on the wall
This didn't work correctly for multiple reasons:
1. `deltayaw` was wrongly initialized for the pusher itself, rather than
for pushed client.
2. `delta_angles[YAW]` is a short, adding plain `amove[YAW]` to it is
wrong.
To support yaw angle rotation properly, delta_angles must be
interpolated on the client. But this is hardly practical as it would
introduce other bugs. Thus, simply remove delta yaw manipulation code
altogether.
Fixes infamous Q2 bug when player standing on a blocked lift gets turned
to wrong direction.