Commit graph

4050 commits

Author SHA1 Message Date
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
Mitchell Richters
1bb3640bc9 - fix interpolation stutters when opening console for Duke3D. 2020-05-06 10:51:08 +02:00
Mitchell Richters
4e1905e630 - reset buttonMap button states after returning from pause for RR (stops keys acting stuck down if down prior to pausing). 2020-05-06 10:51:08 +02:00
Mitchell Richters
e0e06284a5 - fix interpolation stutters when opening console for RR. 2020-05-06 10:51:08 +02:00
alexey.lysiuk
d8e3d60e85 - fixed compilation of Cocoa backend 2020-05-05 10:55:35 +03:00
Mitchell Richters
68a0ead5f0
- fix Linux builds following reset of master branch. (#44)
* - fix Linux builds following reset of master branch.

* - fix Linux Clang CI failure.

* - change '#ifdef __linux__' to '#ifndef _WIN32' as requested/required.

* - initialise batchrun in proper spot.
2020-05-05 10:45:21 +03:00
Christoph Oelckers
44519cc877 - added missing dirent.h include to findfile.h. 2020-05-04 00:25:27 +02:00
Christoph Oelckers
b8cfa94568 - fixed merge errors in SW. 2020-05-04 00:04:54 +02:00
Christoph Oelckers
e6031654f2 - uncommented the compatibility case in updatesector.
In the RedNukem frontend this was causing view interpolation glitches, this probably should be disabled a bit more targeted but right now I do not know yet which call causes the problem
2020-05-04 00:03:51 +02:00
Richard C. Gobeille
b21a4d5880 Duke3d: fix stupid input scaling bug 2020-04-16 00:03:06 +02:00
NY00123
996ab77cf4 SW: Interpolate sector objects in non-demo, single player games.
Let's see if this is breaking anything.

# Conflicts:
#	source/sw/src/draw.cpp
#	source/sw/src/game.cpp
#	source/sw/src/game.h
#	source/sw/src/interp.cpp
#	source/sw/src/track.cpp
2020-04-16 00:03:05 +02:00
NY00123
e80888523e Another change modifying saved game format in SW:
Increase MAXINTERPOLATIONS from 1024 to MAXSPRITES.

# Conflicts:
#	source/sw/src/interp.cpp
#	source/sw/src/interp.h
2020-04-16 00:03:04 +02:00
NY00123
04bf8499e7 SW: Reset the number of interpolations on level load 2020-04-16 00:03:04 +02:00
NY00123
ac8a7ecfbd Interpolation fixes for SW:
draw.cpp: Fix the lack of interpolation while walking on a sector
object, like the bus roof or the floor of the train in Seppuku Station.
track.cpp: Make sure the player's location and angle aren't mistakenly
interpolated while standing on a moving sector object as a consequence.

# Conflicts:
#	source/sw/src/track.cpp
2020-04-16 00:03:03 +02:00
NY00123
43ec16eb55 SW: Use the old interpolation path in drawscreen if player is dead
# Conflicts:
#	source/sw/src/draw.cpp
2020-04-16 00:03:02 +02:00
Mitchell Richters
1ce4081d37 - change 'refreshfreq' from int to double.
A double is already used in CalcSmoothRatio. Further to this, displays that use TV standard frequencies do not use perfect 60Hz frequencies, but frequencies such as 59.94Hz, 23.976Hz (precisely, 24*(1000/1001) = 23.9760239760239760...) etc.

Reference: 'https://www.ghacks.net/2010/04/28/59-hertz-refresh-rate/', 'http://www.paradiso-design.net/videostandards_en.html'.

# Conflicts:
#	source/build/include/baselayer.h
#	source/platform/posix/cocoa/i_main.mm
2020-04-16 00:03:00 +02:00
Mitchell Richters
22a940c922 - don't make assumptions about refreshfreq when calculating smoothratio. 2020-04-16 00:01:51 +02:00
Mitchell Richters
5c3c55b6cd - fix issues with Linux SDL builds following changes to refreshfreq. 2020-04-16 00:01:49 +02:00
Mitchell Richters
587a5d5d9a - fix loading of CRC cache if file does not exist. 2020-04-16 00:01:13 +02:00
Mitchell Richters
4654fd648d Renderer: Disable models by default since they're not supported currently.
- Better to see sprites in HRPs than nothing on-screen.
2020-04-14 00:00:23 +02:00