Sally Coolatta
3da9852d2a
Dynamic slope interpolators
2022-04-26 20:56:33 -05:00
Eidolon
568677edc1
Move mobj interpolators to r_fps
2022-04-26 20:56:33 -05:00
Eidolon
a67432a415
Add mobj interpolator on load netgame
2022-04-26 20:56:33 -05:00
Eidolon
5e4a57b45c
Reset mobj interp state on add
2022-04-26 20:56:33 -05:00
Sally Coolatta
b18e53417a
Handle the sleep at the end of D_SRB2Loop instead of the start
...
Simplifies logic in the other parts of the loop, and fixes problems with it frequently waiting too long.
2022-04-26 20:56:33 -05:00
Sally Coolatta
685190fe40
Improve the framerate limiter's timing for extreme stable FPS
2022-04-26 20:56:32 -05:00
Eidolon
66cc234be6
Fix precip crash from missing vars
2022-04-26 20:56:32 -05:00
Sally Coolatta
53c71d35bc
Adjust how FPS cap is checked to improve FPS stability
2022-04-26 20:56:32 -05:00
Sally Coolatta
6e5e74b25f
Allow FPS cap values
2022-04-26 20:56:32 -05:00
Eidolon
0e1b01f206
Update mobj oldstates before all thinkers
2022-04-26 20:56:32 -05:00
Eidolon
84f62f91f4
Fix renderdeltatics with new timing data
2022-04-26 20:56:32 -05:00
Eidolon
a56a57b3d1
Misc changes after Kart cherry-picks
2022-04-26 20:56:32 -05:00
Sally Coolatta
c186d6402b
Lots of FPS stuff
...
- Disabled VSync, due to the numerous problems it has.
- Instead, added an FPS cap.
- Frame interpolation is now tied to fpscap != 35.
- By default, the FPS cap is set to the monitor's refresh rate.
- Rewrote the FPS counter.
(This also consolidates several more commits ahead of this
fixing various issues. -eid)
2022-04-26 20:56:32 -05:00
Sally Coolatta
41997c4549
Keep rect in memory
...
Feel better about this than creating one all da time
2022-04-26 20:56:32 -05:00
Sally Coolatta
40b021d6e4
Calculate FPS stuff even if frame is skipped
...
I decided ultimately to actually keep the frame skip optimization disabled, because I think it is actually a little bit helpful that you can still get accurate rendering perfstats while paused, however if we decide otherwise then we can have this optimization back without making the game act like it's lagging.
2022-04-26 20:56:32 -05:00
James R
1b49a96eed
Interpolate from time of previous tic
...
Previously interpolated from last 35th of a second, which
may be offset from game time due to connection lag.
Consider this the proper fix to 54148a0dd0 too.
2022-04-26 20:56:31 -05:00
James R
e6dff8eedc
Closer OpenGL underwater/heatwave effect to Software
2022-04-26 20:56:31 -05:00
James R
56c0c1f415
Do not speed up underwater/heatwave effect in OpenGL
2022-04-26 20:56:31 -05:00
Sally Coolatta
cd70b499bd
Fully fix drop shadows
...
It used the thing's floorz / ceilingz directly -- that wouldn't account for interpolated coordinates.
2022-04-26 20:56:31 -05:00
Sally Coolatta
e4930535f3
P_InitAngle, to fix angle interpolation on spawning objects
2022-04-26 20:56:31 -05:00
Sally Coolatta
8fb939df79
Add functions to handle interpolation
...
Much less code duplication
2022-04-26 20:56:31 -05:00
Eidolon
ca8698d13e
Interpolate HWR_DrawModel
2022-04-26 20:56:31 -05:00
Eidolon
ab7c2dfb3d
Interpolate mobj angles and player drawangle
2022-04-26 20:56:31 -05:00
Eidolon
5fda1b297f
Delete interpolators associated with thinkers
2022-04-26 20:56:31 -05:00
Eidolon
3e5cec7e72
Intialize interpolator list at a better time
2022-04-26 20:56:31 -05:00
Eidolon
2aa34f0273
Add Polyobj interpolator
2022-04-26 20:56:30 -05:00
Eidolon
330b34ee6b
Add SideScroll interpolator
2022-04-26 20:56:30 -05:00
Eidolon
ba110852a7
Add SectorScroll interpolator
2022-04-26 20:56:30 -05:00
Eidolon
9c8d0a3b6f
Add sector plane level interpolations
2022-04-26 20:56:30 -05:00
Eidolon
ac2510f284
Homogenize mobj interpolations
2022-04-26 20:56:27 -05:00
Eidolon
6dd27af26e
Run anti-lag chasecam at tic frequency
...
Fixes jittery and unstable chasecam in high latency netgames
2022-04-26 20:31:39 -05:00
Eidolon
8908dcccde
Only swap view interp state if a tick is run
2022-04-26 20:31:39 -05:00
Eidolon
f0279e69f2
Reset mobj interp state on TeleportMove
2022-04-26 20:31:39 -05:00
Eidolon
4c31902b98
Reset precip interpolation on snap to ceil
2022-04-26 20:31:39 -05:00
Eidolon
f2a881f385
Add reset interpolation state functions
2022-04-26 20:31:39 -05:00
Eidolon
4ee6027180
Remove unnecessary precipmobj thinker hack
2022-04-26 20:31:39 -05:00
Eidolon
d34ec2ef06
Reset view interpolation on level load
2022-04-26 20:31:38 -05:00
Eidolon
7c9e133eb4
Fix misc dropshadow issues
2022-04-26 20:31:38 -05:00
Eidolon
996f35b592
Always have precise_t defined
2022-04-26 20:31:38 -05:00
Eidolon
bc9251e13b
Ensure + commands get executed before map start
2022-04-26 20:31:38 -05:00
Eidolon
88207e18f9
Ensure viewsector is accurate to viewx/viewy
...
This fixes a potential crash in OpenGL when changing between levels.
2022-04-26 20:31:38 -05:00
Eidolon
056abd0461
Add smooth rendering to Record/NiGHTS Attack, F_SkyScroll
2022-04-26 20:31:38 -05:00
Eidolon
c330c05718
Add smooth rendering to save select screen
2022-04-26 20:31:38 -05:00
Eidolon
61efef2fa9
Add smooth level platter under interpolation, renderdeltatics
...
`renderdeltatics` can be used as a standard delta time in any place,
allowing for smooth menus. It will always be equal to `realtics`
when frame interpolation is turned off, producing consistent
framerate behavior everywhere it is used.
2022-04-26 20:31:38 -05:00
Eidolon
722b04518d
Place Frame Interpolation in "Experimental" video options header
...
This seems like an appropriate way to describe the feature for now.
2022-04-26 20:31:38 -05:00
Eidolon
b625076c87
Implement interpolation at the renderer level
...
Instead of interpolating thinkers, we interpolate mobjs inside the
renderer. Further interpolation is TBI.
2022-04-26 20:31:37 -05:00
aiire
c4bb90fb0c
do the thing
2022-04-21 16:55:57 +00:00
MascaraSnake
5fbe5189ce
Merge branch 'udmf-sector-fields' into udmf-full
2022-04-20 21:01:52 +02:00
MascaraSnake
faa7d89e3e
Merge branch 'udmf-more-linedef-types' into udmf-sector-fields
2022-04-20 21:01:16 +02:00
MascaraSnake
5660d896e6
Merge branch 'udmf-thing-types' into udmf-more-linedef-types
2022-04-20 21:00:44 +02:00