Commit graph

11360 commits

Author SHA1 Message Date
Sally Coolatta
a76968c6d9 Enable timescale outside of DEVELOP builds
It has NETVAR, so it should be fine -- put an end to useful debugging features excluded in multiplayer!
2022-04-27 18:37:45 -05:00
Sally Coolatta
bb6d4d10b5 Add timescale cvar
Slow the game down to debug animations / interpolation problems! Speed it up if you need to get somewhere quickly while mapping!
2022-04-27 18:37:45 -05:00
Sally Coolatta
f2a19b29d9 Put interpdebug stuff in perfstats instead 2022-04-27 18:37:45 -05:00
Sally Coolatta
c83d1be21f Add interpdebug 2022-04-27 18:37:45 -05:00
Eidolon
0503c853cc Reset Metal fume interp state on appear 2022-04-27 18:19:00 -05:00
Eidolon
c3923adc3f Make Lua TeleportMove call MoveOrigin 2022-04-27 17:08:40 -05:00
Sally Coolatta
eb6b1f375a Allow dedicated to use precise sleep timing again
Instead of only using one old sleep, just enforce framerate cap to match TICRATE.
2022-04-27 16:33:05 -05:00
Sally Coolatta
c3340959de Fix I_FrameCapSleep not respecting cpusleep
Jonathan Joestar bruh
2022-04-27 16:26:41 -05:00
Sally Coolatta
9b4e485686 Fix frame pacing when game lags behind
The frame timestamp should've been made at the start of the frame, not the end.
2022-04-27 16:06:03 -05:00
Eidolon
833777d773 Revert "Remove unnecessary precipmobj thinker hack"
This reverts commit 0e38208620d19ec2ab690740438ac2fc7862a49e.
2022-04-26 20:56:36 -05:00
Eidolon
aec527cb4c Clamp cechotimer to 0
Fixes issues with cechos staying on-screen and glitching out
(NiGHTS items for example).
2022-04-26 20:56:35 -05:00
Eidolon
a4ea2c2708 Use old sleep in dedicated mode 2022-04-26 20:56:35 -05:00
Eidolon
c79df7d58e Interpolate afterimages further back 2022-04-26 20:56:35 -05:00
Eidolon
f418c6476f Add drawerlib deltaTime function 2022-04-26 20:56:35 -05:00
Eidolon
4095ef599b Delta time choose player menu animations 2022-04-26 20:56:35 -05:00
Monster Iestyn
d719e081dc Adjust 1up monitor icon z offsets
Fixes interpolation issues with 1up monitors.
2022-04-26 20:56:35 -05:00
Sally Coolatta
400c6e0891 Move intro ticking out of the drawer 2022-04-26 20:56:35 -05:00
Eidolon
9276637db0 Revert "Reset overlays interp states each TryRunTics"
This reverts commit a71a216faa20e8751b3bd0157354e8d748940c92.
2022-04-26 20:56:35 -05:00
Sally Coolatta
fa12c51fcf Fix a bunch of ticking in hu_ drawing functions 2022-04-26 20:56:35 -05:00
Sally Coolatta
48b3ea31c4 Bring back shadows on polyobjects
Also optimizes the method used so rings can show their shadows too. Using just the subsector is a tad bit imprecise admittedly but any more precise methods get really laggy.
2022-04-26 20:56:35 -05:00
Eidolon
8597f3876c Move intermission emerald bounce to ticker 2022-04-26 20:56:35 -05:00
Sally Coolatta
f34a61156c Papersprite angle interpolation
Makes the ending signpost smooth
2022-04-26 20:56:35 -05:00
Eidolon
7dd7cccd79 Use interp tracer pos for GL linkdraw 2022-04-26 20:56:34 -05:00
Sally Coolatta
f330374c1f Interpolate model interpolation (lol) 2022-04-26 20:56:34 -05:00
Eidolon
6fe25f7dbb Reset overlays interp states each TryRunTics 2022-04-26 20:56:34 -05:00
Sally Coolatta
dbd5ddf95d Add interpolation to more moving plane types
Adds interpolation to the following:
- Crumbling platforms
- Mario blocks
- Floatbob platforms (this one works really strangely due to two thinkers, maybe double-check this one?)
2022-04-26 20:56:34 -05:00
Sally Coolatta
873af23f22 Waypoint polyobjects interpolate z & children 2022-04-26 20:56:34 -05:00
Eidolon
9f845622cd Revert "P_InitAngle, to fix angle interpolation on spawning objects"
This reverts commit a80c98bd164a2748cbbfad9027b34601185d93f5.
2022-04-26 20:56:34 -05:00
Eidolon
5790168194 Convert P_TeleportMove use to origin funcs 2022-04-26 20:56:34 -05:00
Sally Coolatta
d476b41dfa P_SetOrigin & P_MoveOrigin to replace P_TeleportMove 2022-04-26 20:56:33 -05:00
Sally Coolatta
2f46725984 Fix flickering plane interpolation for OpenGL in the exact same way
Funny OpenGL renderer being at least 50% copy-pasted Software code :)
2022-04-26 20:56:33 -05:00
Sally Coolatta
b98207035d Fix plane interpolation light level flickering 2022-04-26 20:56:33 -05:00
Sally Coolatta
80cb9994d5 Move I_FinishUpdate to D_SRB2Loop to sync screen updates with FPS cap, use timestamps in I_FrameCapSleep to simplify the code 2022-04-26 20:56:33 -05:00
Sally Coolatta
f482218913 I_GetFrameTime to try and improve frame pace
(It doesn't feel that much better though.)
2022-04-26 20:56:33 -05:00
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