Commit graph

14222 commits

Author SHA1 Message Date
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
MascaraSnake
54640a8664 Merge branch 'udmf-executor-triggers' into udmf-thing-types
# Conflicts:
#	extras/conf/udb/Includes/SRB222_things.cfg
2022-04-20 20:59:55 +02:00
MascaraSnake
d400a7186a Fix int type error 2022-04-20 20:57:16 +02:00
MascaraSnake
465327288c Fix int type error 2022-04-20 20:55:13 +02:00
MascaraSnake
39b7fb9ff8 Merge commit 'd624ee25' into udmf-thing-types
# Conflicts:
#	src/p_mobj.c
#	src/p_spec.c
2022-04-20 20:41:46 +02:00
MascaraSnake
9815d40c20 Adapt tutorial plant to UDMF 2022-04-20 20:06:08 +02:00
MascaraSnake
f76b104c4a Merge commit 'c7050671' into udmf-thing-types 2022-04-20 19:42:03 +02:00
MascaraSnake
36bf8b1a77 Merge branch 'udmf-linedef-executors' into udmf-executor-triggers 2022-04-19 22:33:53 +02:00
MascaraSnake
863b1e125a Merge branch 'udmf-lighting' into udmf-linedef-executors
# Conflicts:
#	src/p_spec.c
2022-04-19 22:31:57 +02:00
MascaraSnake
2e56c3de35 Merge branch 'udmf-polyobjects' into udmf-lighting 2022-04-19 22:18:30 +02:00
MascaraSnake
f672b1b940 Merge branch 'udmf-scrollers' into udmf-polyobjects
# Conflicts:
#	src/p_spec.c
2022-04-19 22:17:28 +02:00
MascaraSnake
f164809618 Merge branch 'udmf-plane-linedefs' into udmf-scrollers 2022-04-19 22:06:32 +02:00