Mitchell Richters
10142eee6b
RR: Move lastInputTicks from DukePlayer_t struct to PlayerData_t struct.
...
Better location for it since it never needs to be sent across the wire in a multiplayer situation. It's now also located where the other properties to do with input being tied to frame-rate are located.
2020-05-14 10:00:16 +02:00
Mitchell Richters
1f807792af
Duke3D: Move lastInputTicks from DukePlayer_t struct to PlayerData_t struct.
...
Better location for it since it never needs to be sent across the wire in a multiplayer situation. It's now also located where the other properties to do with input being tied to frame-rate are located.
2020-05-14 10:00:16 +02:00
Mitchell Richters
22ae4182b5
RR: Properly reset pPlayer->lastInputTicks in G_EnterLevel() since all calls to P_ResetPlayer() are commented out.
...
Repairs issue with player spinning out of control when entering a new level.
2020-05-13 15:12:44 +02:00
Mitchell Richters
d411defd04
RR: Reset one_eighty_count if player angle input is detected.
2020-05-13 15:12:44 +02:00
Mitchell Richters
2c13e746c5
Duke3D: Reset one_eighty_count if player angle input is detected.
2020-05-13 15:12:44 +02:00
Mitchell Richters
5f59c1364c
RR: Process one_eighty_count (Turn-around key) at frame-rate.
2020-05-13 15:12:44 +02:00
Mitchell Richters
2129d3b4e7
Duke3D: Process one_eighty_count (Turn-around key) at frame-rate.
2020-05-13 15:12:44 +02:00
Mitchell Richters
5299a0625d
RR: Process q16rotscrnang and q16look_ang at frame-rate.
...
Had to move lastInputTicks to the DukePlayer_t struct. When first running P_GetInput(), the initial value of elapsedInputTicks is the actual value of timerGetHiTicks(), which is into the thousands. This high initial value was affecting how scaleAdjustmentToInterval() scales as it was taking an initial q16look_ang value of 512 and overflowing the fix16_t type, making it -32,768.
2020-05-13 15:12:44 +02:00
Mitchell Richters
22e9396feb
RR: Promote look_ang to Q16.16.
2020-05-13 15:12:44 +02:00
Mitchell Richters
21e58160bf
RR: Promote rotscrnang to Q16.16.
2020-05-13 15:12:44 +02:00
Mitchell Richters
3af6ad697b
Duke3D: Process q16rotscrnang and q16look_ang at frame-rate.
...
Had to move lastInputTicks to the DukePlayer_t struct. When first running P_GetInput(), the initial value of elapsedInputTicks is the actual value of timerGetHiTicks(), which is into the thousands. This high initial value was affecting how scaleAdjustmentToInterval() scales as it was taking an initial q16look_ang value of 512 and overflowing the fix16_t type, making it -32,768.
2020-05-13 15:12:44 +02:00
Mitchell Richters
de0cc8f164
Duke3D: Promote look_ang to Q16.16.
2020-05-13 15:12:44 +02:00
Mitchell Richters
ac4b33a770
Duke3D: Promote rotscrnang to Q16.16.
2020-05-13 15:12:44 +02:00
Mitchell Richters
3749a89d6a
Build: Change renderSetRollAngle() to take a float and not an int32_t.
2020-05-13 15:12:44 +02:00
Mitchell Richters
bece408548
Exhumed: Set scaleAdjustmentToInterval to correct value for game's ticrate.
2020-05-13 15:10:18 +02:00
Richard C. Gobeille
98f4bac708
Exhumed: fix stupid input scaling bug
2020-05-11 21:27:29 +02:00
Richard C. Gobeille
1c79e6e17c
SW: fix stupid input scaling bug
2020-05-11 21:27:29 +02:00
Richard C. Gobeille
c5e4c9631d
RR: fix stupid input scaling bug
2020-05-11 21:27:29 +02:00
Mitchell Richters
e7621b4e05
RR: Properly scale tilt_status on vehicles with input being tied to frame-rate.
2020-05-11 21:27:29 +02:00
Mitchell Richters
da04a1d0aa
RR: Return to centre improvements.
...
- Lock player horizon while returning to centre.
- Precisely scale player's horizon in time with rate at which 'pPlayer->return_to_center' decrements.
- Check player's horizon is between 99 and 101 degrees, not 99.9 and 100.1. The extra 0.9 degrees of precision is not noticeable and is dramatically slower.
- Reset 'pPlayer->return_to_center' to '0' when player's horizon is at 100.
- Match q16horizoff precision to precision of q16horiz.
2020-05-11 21:27:29 +02:00
Mitchell Richters
549ff75b99
RR: Change horizSkew from fix16_t to int8_t.
...
- No point converting an int to fix16, only to convert it back. It's only ever an unrounded integer.
2020-05-11 21:27:29 +02:00
Mitchell Richters
742974c61c
Duke3D: Return to centre improvements.
...
- Lock player horizon while returning to centre.
- Precisely scale player's horizon in time with rate at which 'pPlayer->return_to_center' decrements.
- Check player's horizon is between 99 and 101 degrees, not 99.9 and 100.1. The extra 0.9 degrees of precision is not noticeable and is dramatically slower.
- Reset 'pPlayer->return_to_center' to '0' when player's horizon is at 100.
- Match q16horizoff precision to precision of q16horiz.
2020-05-11 21:27:29 +02:00
Mitchell Richters
ae353b93fb
Duke3D: Change horizSkew from fix16_t to int8_t.
...
- No point converting an int to fix16, only to convert it back. It's only ever an unrounded integer.
2020-05-11 21:27:29 +02:00
Mitchell Richters
c7d3753c2b
Revert "RR: Fix hard landing from preventing vertical mouse movement with player input tied to frame-rate."
...
This reverts commit 4bc105ec07
.
2020-05-11 21:27:29 +02:00
Mitchell Richters
d088795f28
Revert "Duke3D: Fix hard landing from preventing vertical mouse movement with player input tied to frame-rate."
...
This reverts commit 6dcd83b734
.
2020-05-11 21:27:29 +02:00
Mitchell Richters
9cc86bd003
RR: Restore old interpolations when camera is chasing actor who whacked you (idea from NY00123).
2020-05-11 21:26:34 +02:00
Mitchell Richters
d30bf548bd
Duke3D: Restore old interpolations when camera is chasing actor who whacked you (idea from NY00123).
2020-05-11 21:26:34 +02:00
Richard C. Gobeille
3b6b1a3063
Fix stupid typo that broke the camera aiming at the enemy that killed you in Duke3D
2020-05-11 21:26:34 +02:00
Mitchell Richters
aad2b3a782
- hacks to make IF launch again after gamefunc changes in 57cb22f135
.
...
Also re-ordered gamefuncs to 1:1 match EDuke32.
2020-05-11 13:30:14 +02:00
Mitchell Richters
8730bd9dda
- allow game's clock to keep running while paused (restores interpolations/animations in menus).
2020-05-08 21:23:02 +02:00
Mitchell Richters
401e87f3d9
RR: Remove left-over else statement that should have been removed in 0ec2b87.
2020-05-08 10:51:59 +02:00
Mitchell Richters
d58f90de19
RR: Properly lock player movement when necessary while in a vehicle.
...
- This makes map follow mode work as expected again.
2020-05-08 10:51:59 +02:00
Mitchell Richters
9c27f49d42
RR: restore proper vehicle accuracy to RedNukem code-base.
...
- I tried to do something smarter originally but want the values to be 100% accurate to upstream.
2020-05-08 10:51:59 +02:00
Mitchell Richters
4bc105ec07
RR: Fix hard landing from preventing vertical mouse movement with player input tied to frame-rate.
2020-05-08 10:51:59 +02:00
Mitchell Richters
6dcd83b734
Duke3D: Fix hard landing from preventing vertical mouse movement with player input tied to frame-rate.
2020-05-08 10:51:59 +02:00
Mitchell Richters
2e3bcdadd6
Duke 3D & RR: Repair issue where player would not return to centre following hard landing.
...
- Accidentally left in while merging changes from upstream.
- Change restores accuracy to game play in that a hard landing now returns the player's view to center.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
08bc2fbbcd
RR: set .horizRecenter when handling SK_CENTER_VIEW
...
This seems so obvious that I almost think I intentionally left it out before, but I can't remember why I would have.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
8225d20e23
RR: zero .horizAngleAdjust and .horizSkew after checking playerquitflag instead of before
...
I don't think this actually makes a difference, but it's more consistent.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
bcf4903505
RR: zero .horizSkew in P_DoJetpack()
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
818e14448d
RR: zero player .horizRecenter, .horizSkew, and .horizAngleAdjust in P_ResetPlayer()
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
3f7914ad57
Duke3d: set .horizRecenter when handling SK_CENTER_VIEW
...
This seems so obvious that I almost think I intentionally left it out before, but I can't remember why I would have.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
c53edd9e5a
Duke3d: zero .horizAngleAdjust and .horizSkew after checking playerquitflag instead of before
...
I don't think this actually makes a difference, but it's more consistent.
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
26b87e3aa0
Duke3d: zero .horizSkew in P_DoJetpack()
2020-05-08 10:51:59 +02:00
Richard C. Gobeille
0ec9dd9a14
Duke3d: zero player .horizRecenter, .horizSkew, and .horizAngleAdjust in P_ResetPlayer()
2020-05-08 10:51:59 +02:00
Mitchell Richters
ca994b31c9
SW: Set certain sync keys prior to checking them in the same function.
...
- Ensures action occurs within the requested frame and not the next.
2020-05-08 10:51:59 +02:00
Mitchell Richters
7b35e04c0c
- reset buttonMap button states after returning from pause for Exhumed (stops keys acting stuck down if down prior to pausing).
2020-05-06 10:51:08 +02:00
Mitchell Richters
419329b5b2
- standardise main loop for Exhumed following changes to Duke3D/RR/SW main loops.
2020-05-06 10:51:08 +02:00
Mitchell Richters
693b6955da
- reset buttonMap button states after returning from pause for SW (stops keys acting stuck down if down prior to pausing).
2020-05-06 10:51:08 +02:00
Mitchell Richters
99fdbfb6cb
- fix interpolation stutters when opening console for SW.
2020-05-06 10:51:08 +02:00
Mitchell Richters
d99c907acb
- reset buttonMap button states after returning from pause for Duke3D (stops keys acting stuck down if down prior to pausing).
2020-05-06 10:51:08 +02:00