Commit graph

165 commits

Author SHA1 Message Date
LJ Sonic
717e0d5a17 Move netcode files to a new folder 2022-12-31 14:10:19 +01:00
LJ Sonic
05d232c029 Delete netcode
Just kidding, I just deleted NONET
2022-12-30 15:07:57 +01:00
Jaime Ita Passos
46f7fa406f Refactor gamepad code
Implements the SDL Game Controller API, haptics, and axis bindings.
2022-11-14 00:37:08 -03: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
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
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
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
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
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
270c7701b4 Timestamp function for Lua 2021-11-08 01:17:30 +02:00
James R
fec5f2778e Fix compiler warnings 2021-09-12 19:03:39 -07: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
LJ Sonic
cfa48574be Merge branch 'next' into 'lua-inputs'
# Conflicts:
#   src/lua_script.c
2021-06-19 10:34:48 -04:00
Steel Titanium
a2667f4dc9 Merge branch 'master' into next 2021-05-11 20:08:44 -04:00
LJ Sonic
d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
SwitchKaze
eb2dc9e99b Mouse improvements 2021-04-02 15:46:08 -05:00
Monster Iestyn
0d5284c36c Murder MSDOS, another of the remaining DOS port related macros
I also put in a missing `defined (__APPLE__)` in d_netcmd.h related to cv_mouse2opt

Also removed a redundant `!defined (__APPLE__)` in d_main.c
2021-03-30 19:27:10 +01:00
lachablock
36c2be283c Disallow write_backtrace on Windows entirely 2021-03-15 15:17:55 +11:00
GoldenTails
a0396d5e43 Make it more async-signal-safe 2021-02-27 18:07:47 -06:00
GoldenTails
bdb28a06f4 Print the backtrace before showing the signal handler popup. 2021-02-27 18:07:47 -06:00
GoldenTails
5108f1f57b Use file descriptors and ditch file streams, for now. 2021-02-27 18:07:47 -06:00
GoldenTails
4016a2e062 Crash backtrace logging for NEWSIGNALHANDLER. 2021-02-27 18:07:47 -06:00
James R
c0dbc562bb Fix floating point math 2020-11-07 13:48:37 -08:00
James R
515d7eeb9e Let's try an experiment: move the epoch forward as I_GetTime is called
This will make it even longer until time wraps around. Have you ever run a
srb2 server for 4 years straight?
2020-11-07 01:57:09 -08:00
James R
84ce53db60 Use high precision timer, replace I_GetTimeMicros with I_GetPreciseTime and I_PreciseToMicros 2020-11-07 01:31:24 -08:00
James R
425b56c288 Remove win32 specific timer 2020-11-06 14:14:12 -08:00
James R
8beee3761e Merge branch 'windows-console-go-brrr' into 'next'
Fix #178

Closes #178

See merge request STJr/SRB2!1112
2020-10-02 20:23:20 -04:00
James R
38d094d3f6 Merge branch 'fix-file-downloading' into 'next'
Fix bug where SRB2 would check size of disk from current directory instead of srb2home

See merge request STJr/SRB2!1121
2020-08-19 18:16:22 -04:00
GoldenTails
0a9c061fea Fix bug where SRB2 would check size of current directory instead of srb2home
Hopefully that fixes that one bug with weird filesize issues too
2020-08-18 17:34:32 -05:00
James R
f0a79df2b8 Use AsciiChar to get the input from windows console window 2020-08-13 21:57:36 -07:00
James R
e9748e5317 Merge branch 'clipboard-crash-fix-2' into 'next'
Fix buffer overrun in I_ClipboardPaste (resolves #205)

Closes #205

See merge request STJr/SRB2!1105
2020-08-09 21:06:18 -04:00
James R
a808294c0c Merge branch 'kill-cd-support' into 'next'
Kill CD support

See merge request STJr/SRB2!1102
2020-08-09 20:48:25 -04:00
Jaime Passos
9772bbeda1 Fix buffer overrun in I_ClipboardPaste 2020-08-08 15:36:01 -03:00
Steel Titanium
dff0e87e03 Kill CD support 2020-08-07 17:06:19 -04:00
James R
479bbeacbe Merge remote-tracking branch 'origin/next' into http-mserv 2020-07-11 17:41:46 -07:00