Commit graph

1015 commits

Author SHA1 Message Date
Gustaf Alhäll
95d7a486ee
Implement support for native keyboard layout 2023-05-23 17:40:09 +02: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
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
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
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