Commit graph

1115 commits

Author SHA1 Message Date
Alam Ed Arias
f2fa2505cd Merge branch SRB2:next into native-keyboard-layout-support 2023-10-25 19:05:06 +00:00
Alam Ed Arias
ffbe5dba15 Merge branch 'next' into fix-ungrabbed-keydown 2023-10-23 14:44:34 -04:00
Alam Ed Arias
a68440c4db Merge branch 'master' into next 2023-10-22 11:14:13 -04:00
Gustaf Alhäll
b544c4202a
Fix FreeBSD build errors (again) 2023-10-20 17:37:32 +02:00
LJ Sonic
9f116c7c9e Fix mouse events not being fired when the mouse is ungrabbed 2023-10-18 16:50:06 +02:00
Alam Ed Arias
a60ac0508f Merge remote-tracking branch 'origin/next' into gitlabcirunnertest 2023-10-15 21:43:35 -04:00
Alam Ed Arias
35f57882e4 signalhandlers are function of NORETURN 2023-10-15 14:16:13 -04:00
Hannu Hanhi
a47e1fb272 Merge tag 'SRB2_release_2.2.13' into ogl-palette-rendering-merge13
SRB2 release v2.2.13
2023-09-23 19:38:27 +03:00
Zwip-Zwap Zapony
cfedee9dc9 Fix CMake compiling 2023-09-19 18:46:05 +02:00
LJ Sonic
2a896538d9 Merge branch 'netcode-rerefactor' into 'next'
Re-delete netcode

See merge request STJr/SRB2!2083
2023-09-18 16:47:28 +00:00
Alam Ed Arias
8558d123ee SDL: add version check for SDL_OPenURL() 2023-09-12 19:32:47 -04:00
Alam Ed Arias
64eb1b0bff backtrace: do not care for junk var 2023-09-09 16:21:04 -04:00
Alam Ed Arias
05223fbc6d backtrace: store result of write() in a junk var 2023-09-09 16:10:42 -04:00
sphere
d4aac9a857 Merge branch 'fix-freebsd-build' into 'next'
Fix FreeBSD build errors

See merge request STJr/SRB2!2071
2023-08-20 17:19:39 +00:00
Sally Coolatta
b5b7b7c1e3 Merge remote-tracking branch 'upstream/master' into next 2023-08-20 00:23:26 -04:00
bitten2up
93f11508fc
remove stray else 2023-08-19 19:52:10 -05:00
SteelT
20e4e8a5c4 Fix crash handler showing garbage string for signal title
This fixes the signal title being shown as something like "Process killed by signal: Process killed by signal: ó>"

Did some minor cleaning while I'm also here
2023-08-07 14:06:24 -04:00
LJ Sonic
df0c8e0557 Merge remote-tracking branch 'origin/next' into netcode-rerefactor 2023-08-01 19:00:52 +02:00
Sal
26583a9845 Ring Racers CMake + Debug build improvements 2023-08-01 02:29:45 +00:00
katsy
7634a96031 delete ASM code, remove NASM 2023-07-27 23:58:53 -05:00
LJ Sonic
684382fc5e Add missing include directive 2023-07-27 15:38:51 +02:00
LJ Sonic
0b17e3c418 Move netcode files to a new folder 2023-07-27 15:38:42 +02:00
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
Hannu Hanhi
1fd9d38994 Several changes:
Move HWR_SetShaderState calls from level rendering to HWR_Startup and shader cvar changes

Don't run hwr cvar onchange code when opengl is not loaded

Rename screen_palette_tex shader uniform to more generic palette_tex

Fix palette version of HWR_FadeScreenMenuBack not working outside levels
2022-03-15 03:53:07 +02:00
Hannu Hanhi
b3c970d6b4 Light table support for HWR_FadeScreenMenuBack 2022-03-11 06:23:27 +02:00
spherallic
0c7abd88fe Merge branch 'next' into fullscreen-toggle 2022-03-08 23:50:40 +01:00
Hannu Hanhi
2b4cf27292 Merge tag 'SRB2_release_2.2.10' into ogl-palette-rendering-merge
SRB2 release v2.2.10
2022-03-07 02:39:02 +02: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