Commit graph

1085 commits

Author SHA1 Message Date
LJ Sonic
07bc922273 Delete netcode
Just kidding, I just deleted NONET
2023-07-27 15:34:05 +02:00
Gustaf Alhäll
d01f25d91d
Fix FreeBSD build errors 2023-07-26 23:18:07 +02:00
Sal
a7964ffc69 Merge branch 'm-random-take2' into 'next'
New M_Random implementation

See merge request STJr/SRB2!1780
2023-07-26 14:53:01 +00:00
tertu marybig
9e5a828508 New M_Random implementation 2023-07-26 14:53:01 +00:00
Sal
ee67070547 Merge branch 'fix-no-sdl-build' into 'next'
Fix build errors when building without SDL

See merge request STJr/SRB2!2062
2023-07-25 09:44:33 +00:00
Gustaf Alhäll
8bddf0f097
fixup! fixup! fixup! Fix build errors when building without SDL 2023-07-24 17:12:24 +02:00
Sal
f46e6883ca Merge branch 'fullscreen-toggle' into 'next'
Add fullscreen (and renderer) toggle & make windowed mode use a separate resolution

See merge request STJr/SRB2!1734
2023-07-24 09:14:21 +00:00
sphere
7aac6a01e4 Merge branch 'better-crashes' into 'next'
Better signal handler messages

See merge request STJr/SRB2!2042
2023-07-14 22:48:26 +00:00
spherallic
009e1ef157 Merge branch 'next' into fullscreen-toggle 2023-07-14 15:30:14 +02:00
Lactozilla
0aa763df85 Do music fade callback on main thread 2023-07-08 00:53:28 -03:00
Tatsuru
3ff9e908fe Signal handler minor refactor 2023-07-07 18:13:44 -03:00
Sally Coolatta
49fa46d80e Online emblems
Currently, emblems share with everyone. Will add an option to toggle this.
2023-06-02 16:06:43 -04:00
Gustaf Alhäll
afe8432c1e
fixup! fixup! fixup! Implement support for native keyboard layout 2023-05-23 17:41:10 +02:00
Gustaf Alhäll
95d7a486ee
Implement support for native keyboard layout 2023-05-23 17:40:09 +02:00
Jaime Ita Passos
2f98cd3b97 Fix I_GetFreeMem 2023-05-19 14:26:30 -03:00
sphere
2df3fb53da Merge branch 'strong-lua-command-restrictions' into 'next'
Fix up Lua command/cvar safety

See merge request STJr/SRB2!1943
2023-04-12 17:50:01 +00:00
spherallic
1470d099e3 Update copyright year & credits 2023-03-31 14:53:31 +02:00
James R
07e4497320 Add COM_LUA to a bunch of commands
These commands be run from Lua:

- add
- addfile
- addfolder
- archivetest
- ban
- banip
- causecfail
- cecho
- cechoduration
- cechoflags
- changeteam
- changeteam2
- charability
- charspeed
- cheats
- clearbans
- clearscores
- connect
- countmobjs
- csay
- demote
- devmode
- displayplayer
- downloads
- drop
- droprate
- dumplua
- echo
- exitgame
- exitlevel
- gametype
- getallemeralds
- getplayernum
- god
- gravflip
- help
- hurtme
- isgamemodified
- jumptoaxis
- kick
- listwad
- login
- manual
- map
- mapmd5
- masterserver_update
- memdump
- memfree
- mod_details
- motd
- noclip
- nodes
- notarget
- numnodes
- numthinkers
- objectplace
- password
- pause
- ping
- playintro
- promote
- quit
- reloadbans
- resendgamestate
- resetcamera
- resetemeralds
- restartaudio
- retry
- rteleport
- runsoc
- savecheckpoint
- say
- sayteam
- sayto
- scale
- screenshot
- serverchangeteam
- setcontinues
- setlives
- setrings
- showbanlist
- showmap
- showscores
- showtime
- skynum
- startmovie
- stopdemo
- stopmovie
- suicide
- teleport
- toggle
- togglemodified
- toggletwod
- tunes
- version
- vid_info
- vid_modelist
- vid_nummodes
- weather
2023-03-15 17:22:56 -07:00
James R
8a6f2e568b Add a flags parameter to COM_AddCommand 2023-03-15 16:40:21 -07:00
James R
db4de0f50e sdl/i_video.c: fix compile prior to SDL 2.0.18 2023-03-15 16:39:53 -07:00
spherallic
94396a9f9d Merge branch 'next' into fullscreen-toggle 2023-03-02 12:14:42 +01:00
Eidolon
a32dc3daa0 Fix software vsync
This pre-SDL 2.0.18 hack from the interp branch is no longer needed when
building with a new enough SDL version. This makes vid_wait toggleable
at all times if SDL is at least 2.0.18.
2023-02-26 17:57:44 -06:00
Eidolon
e5dea805fa Revert "Merge branch 'gamepad-refactor' into next"
This reverts commit 696e2ab909, reversing
changes made to d98d59494f.
2023-01-26 19:26:28 -06:00
Eidolon
366ee4ad92 Revert "Merge branch 'gamepad-refactor-lua-features' into 'next'"
This reverts commit 7f1cafcd3d, reversing
changes made to 696e2ab909.
2023-01-26 19:26:24 -06:00
Eidolon
bbf6e8ccce Revert "sdl: SDL version-guard controller type and hidapi"
This reverts commit ec58b1504d.
2023-01-26 19:26:02 -06:00
Eidolon
2810a46095 Revert "sdl: Version-guard rumble and extended buttons"
This reverts commit f5f224136b.
2023-01-26 19:25:59 -06:00
Eidolon
40a5580e65 Revert "sdl: Yet more SDL rumble version-guards"
This reverts commit df28ffd72e.
2023-01-26 19:25:56 -06:00
Eidolon
f9c9e0829a Revert "sdl: I can't believe it's more version-guards"
This reverts commit fdb6f2aff9.
2023-01-26 19:25:53 -06:00
LJ Sonic
379cc4207a Revert "Merge branch 'netcode-refactor' into merging"
This reverts merge request !1920
2023-01-15 17:57:23 +00:00
LJ Sonic
41fb0c8943 Merge branch 'netcode-refactor' into merging 2023-01-15 17:45:06 +01:00
LJ Sonic
0859a1597f Add missing include directive 2023-01-13 22:28:03 +01:00
Arthur
636e6d8c14 MSVC project file works again! Supports Visual Studio 2022.
Also fixed issues with the d_netcmd.c file/folder adding logic.
2022-12-31 19:35:07 -05:00
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
Eidolon
fdb6f2aff9 sdl: I can't believe it's more version-guards 2022-12-10 02:47:53 -06:00
Eidolon
df28ffd72e sdl: Yet more SDL rumble version-guards 2022-12-10 02:42:14 -06:00
Eidolon
f5f224136b sdl: Version-guard rumble and extended buttons 2022-12-10 02:34:33 -06:00
Eidolon
ec58b1504d sdl: SDL version-guard controller type and hidapi 2022-12-10 02:19:05 -06:00
Eidolon
7f1cafcd3d Merge branch 'gamepad-refactor-lua-features' into 'next'
Add gamepad library and hooks for Lua scripting

See merge request STJr/SRB2!1871
2022-12-09 02:17:03 +00:00
spherallic
ba1bad7a96 Merge branch 'next' into fullscreen-toggle 2022-11-24 21:41:06 +01:00
Jaime Ita Passos
4a19294ca8 Merge these two loops together in Controller_GetFromID 2022-11-15 23:45:14 -03:00
Jaime Ita Passos
f0c3de6976 Add gamepad library and hooks for Lua scripting 2022-11-14 02:18:24 -03: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
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
spherallic
541e2a4fe6 Merge branch 'next' into fullscreen-toggle 2022-09-07 13:48:52 +02: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
0c7abd88fe Merge branch 'next' into fullscreen-toggle 2022-03-08 23:50:40 +01:00
spherallic
14295ac7de 2022 2022-03-03 20:24:46 +01:00
spherallic
3da52592f2 Merge branch 'next' into fullscreen-toggle 2022-02-07 23:05:15 +01:00
spherallic
35f2937fd1 Minor code cleanup & remove some unneeded resolution info from logs. 2022-02-06 16:13:45 +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
sphere
8cfe7cd971 Merge branch 'unix-rdynamic' into 'next'
Compile with -rdynamic for UNIXCOMMON platforms

See merge request STJr/SRB2!1481
2021-06-02 06:31:14 -04:00
Nev3r
b978bc4507 Merge branch 'sw-tilted-npo2-span-opt' into 'next'
NPO2 slope span optimization

See merge request STJr/SRB2!1216
2021-05-29 09:30:58 -04:00
Steel Titanium
a2667f4dc9 Merge branch 'master' into next 2021-05-11 20:08:44 -04:00