Commit graph

988 commits

Author SHA1 Message Date
Alam Ed Arias
f5e1d9722f Merge branch 'master' into next 2022-11-11 22:03:58 -05:00
Alam Ed Arias
4e1976839b Cleanup whitespace changes from SRB2_release_2.1.25 2022-11-11 21:19:28 -05:00
Eidolon
12c2ddb115 Merge branch 'uncappedrevengeance' into next
Uncapped

See merge request STJr/SRB2!1856

# Conflicts:
#	src/dummy/i_system.c
#	src/win32/win_sys.c
2022-11-08 21:13:50 -06:00
Eidolon
90b4f8720e cmake: Remove asset hashing, CMAKE_ASSETS_DIR
Simplifies build setup for cmake.
2022-11-05 23:56:43 -05:00
Eidolon
a015be2a54 cmake: Build all deps and static link 2022-11-05 00:12:09 -05:00
sphere
e08ebac5c8 Merge branch 'depth-buffer-24' into 'next'
Request 24-bit depth buffer from SDL

See merge request STJr/SRB2!1635
2022-09-30 14:01:33 +00:00
sphere
21808e883b Merge branch 'better-wad-search' into 'next'
Clean up the WAD searching code a little.

See merge request STJr/SRB2!1678
2022-09-28 21:33:30 +00:00
Eidolon
69c5da2720 Merge branch 'next' into uncappedrevengeance 2022-07-15 00:14:27 -05:00
Eidolon
0e5b5bf5d9 cmake: Set plist properties for macOS bundle
yay icon
2022-07-14 23:57:53 -05:00
Eidolon
66ab96363c cmake: Fix rpath issues in macOS bundle fixup 2022-07-14 23:32:34 -05:00
Eidolon
a3ffd04223 cmake: Adjust linkage for macOS
This properly links dylibs set during build instead of expecting
the libraries to be in the system path.
2022-07-14 18:37:17 -05:00
Eidolon
f0d7d8467f Refactor timing code even more
System layer is greatly simplified and framecap
logic has been moved internally. I_Sleep now
takes a sleep duration and I_SleepDuration
generically implements a precise sleep with spin
loop.
2022-05-01 00:32:46 -05:00
Eidolon
e79654a33a Completely refactor timing system
Time is now tracked internally in the game using I_GetPreciseTime
and I_UpdateTime. I_Time now pulls from this internal timer. The
system code no longer needs to keep track of time itself.

This significantly improves frame and tic timing in interp mode,
resulting in a much smoother image with essentially no judder at
any framerate.
2022-04-30 16:33:23 -05:00
Sally Coolatta
d2282c98cc Precalculate refresh rate
Slower PCs can have issue querying mode over and over. This might kinda suck for windowed mode if you have different refresh rate displays but oh well
2022-04-27 21:47:19 -05:00
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
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
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
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
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
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
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
GoldenTails
c49dd5f535 Make dedicated servers not pop up that annoying SDL error window
So they don't mess with shell scripts that expect SRB2 to exit when it crashes (like most other programs)
2022-02-05 18:19:00 -06:00
sphere
0ca74432f9 Merge branch 'ogl-better-gpu-error' into 'next'
Improve OpenGL GDI Generic error message

See merge request STJr/SRB2!1673
2022-01-11 21:16:32 +00:00
MascaraSnake
5149699def Update VS project files 2022-01-07 18:00:56 +01:00
GoldenTails
9282a18d82 oops forgot to remove the old hardcoded defines 2021-12-11 20:11:46 -06:00
GoldenTails
20987eba92 Use lookup tables, macros, and for loops to shorten up the wad search code.
The old inline mess needed to go badly.
2021-12-11 20:00:00 -06:00
Hannu Hanhi
f3c5addab7 Improve OpenGL GDI Generic error message 2021-12-07 22:35:04 +02:00
Hannu Hanhi
270c7701b4 Timestamp function for Lua 2021-11-08 01:17:30 +02:00
Hannu Hanhi
91aeba6c66 Request 24-bit depth buffer from SDL
Should fix problems caused by 16-bit depth buffer usage
2021-10-08 22:47:22 +03:00
SteelT
0f4074f22d Remove unused I_GetMouseGrab function 2021-09-23 13:46:26 -04:00
James R
fec5f2778e Fix compiler warnings 2021-09-12 19:03:39 -07:00
SteelT
e2ea480af9 Merge branch 'master' into next 2021-09-12 15:46:32 -04:00
LJ Sonic
9b7263855e Prevent input.setMouseGrab from interfering with window focus 2021-08-18 20:58:13 +02:00
LJ Sonic
5bc0ce7a62 Give fields in event_t better names 2021-08-14 23:42:39 +02:00
LJ Sonic
38e82e55fc Add a "repeated" field to event_t 2021-08-14 20:33:20 +02:00
SteelT
71f905f95b Fix gme support being effectively disabled
I found this easier than trying to adjust the makefile, as it uses the same thing to automatically generate the various NO* compile options.
2021-07-16 15:26:09 -04:00
LJ Sonic
c319f46462 Merge branch 'hooklib-refactor' into 'next'
Hooklib refactor

See merge request STJr/SRB2!1307
2021-06-22 09:52:12 -04:00
James R
fa7a674113 Merge remote-tracking branch 'origin/master' into next 2021-06-19 19:39:15 -07:00
James R
c1aca51fc3 Fix basic warnings 2021-06-19 18:32:56 -07:00
LJ Sonic
e3a5da3f6f Merge branch 'next' of https://git.do.srb2.org/STJr/SRB2.git into HEAD
# Conflicts:
#	src/lua_hook.h
#	src/lua_hooklib.c
2021-06-19 20:49:12 +02:00
LJ Sonic
cfa48574be Merge branch 'next' into 'lua-inputs'
# Conflicts:
#   src/lua_script.c
2021-06-19 10:34:48 -04:00
James R
c325306ddf Merge remote-tracking branch 'origin/master' into makefile-revision-final 2021-06-07 18:36:01 -07:00
James R
4d22b9f17f Merge remote-tracking branch 'origin/next' into hooklib-refactor 2021-06-07 18:12:52 -07:00