Commit graph

580 commits

Author SHA1 Message Date
katsy
7634a96031 delete ASM code, remove NASM 2023-07-27 23:58:53 -05:00
Sally Coolatta
77576c3c5d Allow Record Attack in modified games
Replays now store & validate the add-on list before loading them. Custom characters can now be allowed in Record Attack.
2023-07-25 08:45:42 -04:00
Sal
1a209146d6 Merge branch 'spemblems' into 'next'
Allow obtaining ring, time & grade emblems in regular gameplay

See merge request STJr/SRB2!1752
2023-07-25 09:45:12 +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
Sal
3a52e6deb2 Merge branch 'waiting-players-intermission' into 'next'
SRB2Kart netcode ports

See merge request STJr/SRB2!2019
2023-07-24 18:03:45 +00:00
spherallic
86b4f93610 Allow obtaining ring, time & grade emblems in regular SP gameplay. 2023-07-24 08:34:10 -04:00
Gustaf Alhäll
4bc7b2da11
fixup! fixup! Fix build errors when building without SDL 2023-07-22 22:59:00 +02:00
Sally Coolatta
4a735470b9 Even more SRB2Kart netcode improvement ports
- Prevent connection timeout during the waiting gamestate from the last commit.
- Keep client connections alive during fades / other internal loops.
- More consistently timeout clients when they reach the end of BACKUPTICS.
- Dedicated servers will not run any game logic if no nodes are sending packets to it, to reduce CPU usage when there is no one interacting with your server.
  - Unlike SRB2Kart, the amount of time is configurable with the "dedicatedidletime" console variable. Setting this to 0 will disable this feature.
- CL_SendClientCmd uses exact packet types instead of magic number offsets.
2023-07-17 00:44:34 -04:00
Sally Coolatta
80bf4d6c2d Port SRB2Kart join on intermission fix
All gamestates besides GS_LEVEL are unsupported by the save game functions. This commit forces players joining during these gamestates into GS_WAITINGPLAYERS, which is a basic gamestate that just maintains the connection until we can enter the start of a new one. Also provides an extremely simple drawer for GS_WAITINGPLAYERS so the joining player knows what's going on.
2023-07-16 20:53:28 -04:00
spherallic
009e1ef157 Merge branch 'next' into fullscreen-toggle 2023-07-14 15:30:14 +02:00
sphere
59685937da Merge branch 'fix-exit-automap-segfault' into 'next'
Fix segfault when exiting game with automap open

Closes #1049

See merge request STJr/SRB2!2044
2023-07-14 13:15:56 +00:00
sphere
f428759150 Merge branch 'bbox' into 'next'
Hitbox Renderer

See merge request STJr/SRB2!1838
2023-07-14 13:14:56 +00:00
spherallic
34ce172a90 Allow toggling PF_NoDepthTest for OpenGL hitboxes 2023-07-14 15:03:43 +02:00
Gustaf Alhäll
281e6012f3
Fix segfault when exiting game with automap open 2023-07-08 14:02:32 +02:00
sphere
b8a25ae53c Add interpolation to hitbox viewer, tweak hitbox colors 2023-06-13 00:05:58 +00: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
spherallic
264ec02223 Merge branch 'next' into bbox 2023-05-26 03:06:30 +02:00
MascaraSnake
e4933b3e94 Merge branch 'allow-modified-saving' into 'next'
[SUGOI] Allow saving in modified games.

See merge request STJr/SRB2!1749
2023-05-24 05:04:26 +00:00
spherallic
488f0fdfab bruh 2023-04-12 20:06:02 +02:00
spherallic
9499cb5409 Merge branch 'next' into public_next 2023-04-12 19:51:17 +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
4b6de096e5 Define cv_addons_folder in dedicated 2023-04-12 00:59:08 +02: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
ff0f6e9b74 Add CV_ALLOWLUA to a bunch of cvars
These cvars can be modified by Lua.

- advancemap
- allowexitlevel
- allowjoin
- allowmlook
- allowseenames
- allowteamchange
- autobalance
- basenumlaps
- cam2_adjust
- cam2_centertoggle
- cam2_curdist
- cam2_curheight
- cam2_dist
- cam2_height
- cam2_lockaimassist
- cam2_lockedinput
- cam2_orbit
- cam2_rotate
- cam2_rotspeed
- cam2_shiftfacingchar
- cam2_simpledist
- cam2_simpleheight
- cam2_speed
- cam2_still
- cam2_turnfacingability
- cam2_turnfacingchar
- cam2_turnfacinginput
- cam2_turnfacingspindash
- cam2_turnmultiplier
- cam_adjust
- cam_centertoggle
- cam_curdist
- cam_curheight
- cam_dist
- cam_height
- cam_lockaimassist
- cam_lockedinput
- cam_orbit
- cam_rotate
- cam_rotspeed
- cam_shiftfacingchar
- cam_simpledist
- cam_simpleheight
- cam_speed
- cam_still
- cam_turnfacingability
- cam_turnfacingchar
- cam_turnfacinginput
- cam_turnfacingspindash
- cam_turnmultiplier
- color
- color2
- competitionboxes
- cooplives
- coopstarposts
- countdowntime
- exitmove
- flagtime
- forceskin
- friendlyfire
- gravity
- hidetime
- inttime
- itemfinder
- killingdead
- matchboxes
- maxplayers
- mute
- numlaps
- overtime
- pausepermission
- playersforexit
- pointlimit
- powerstones
- respawndelay
- respawnitem
- respawnitemtime
- restrictskinchange
- ringslinger
- runscripts
- scrambleonchange
- seenames
- servername
- showhud
- showinputjoy
- skin
- skin2
- specialrings
- startinglives
- tailspickup
- teamscramble
- timelimit
- touchtag
- tv_1up
- tv_bombshield
- tv_eggman
- tv_forceshield
- tv_invincibility
- tv_jumpshield
- tv_recycler
- tv_ringshield
- tv_superring
- tv_supersneaker
- tv_teleporter
- tv_watershield
2023-03-15 16:40:21 -07:00
spherallic
94396a9f9d Merge branch 'next' into fullscreen-toggle 2023-03-02 12:14:42 +01:00
spherallic
3bc519ed65 Merge branch 'next' into bbox 2023-01-27 14:59:39 +01: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
bbd4cff75c Revert "Merge branch 'gamepadtweaks' into 'next'"
This reverts commit 96bfd8cea7, reversing
changes made to 24f9ec4ec4.
2023-01-26 19:24:21 -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
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
LJ Sonic
d561b5a0bf Remove broken joinnextround console variable 2022-12-30 13:10:01 +01:00
LJ Sonic
ba91520eab Remove useless return value for SV_AddWaitingPlayers 2022-12-30 00:24:06 +01:00
spherallic
ba1bad7a96 Merge branch 'next' into fullscreen-toggle 2022-11-24 21:41:06 +01:00
James R
356bdb25a1 Add a hitbox renderer to Software mode
renderhitbox
- Tangible - collision activating objects, minus rings
- All - every object
- Intangible - the opposite of Tangible, also no rings
- Rings - rings
2022-11-22 18:12:49 -08:00
Sally Coolatta
a22fa1c455 Compromise on cheats setting modified game
Instead of modifying the game, cheats now set a separate "cheats were used in this session" variable, which returns some of the old behavior.

HOWEVER, cheats will STILL allow spawning / collecting emblems & unlocking unlockables. Cheats will purely prevent saving progress. (It was always frustrating that devmode would make debugging unlockable features harder...)

Lastly, the function to set no-saving was exposed to Lua (`G_SetUsedCheats(silent)`). Just thought it'd be useful for large-scale gamedata-using mods that want to add their own cheat commands.
2022-11-16 11:14:31 -05:00
Sally Coolatta
1b43cdddd5 Allow saving in modified games. 2022-11-16 11:14:29 -05:00
Jaime Ita Passos
14065fb23f Properly make padrumble and padrumble2 CV_OnOff toggles 2022-11-15 23:37:57 -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
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
spherallic
ef35084d95 Merge remote-tracking branch 'public/master' into next 2022-09-08 16:52:54 +02:00
spherallic
541e2a4fe6 Merge branch 'next' into fullscreen-toggle 2022-09-07 13:48:52 +02:00
Jaime Ita Passos
07011a7044 Stop -Waddress warnings 2022-08-11 04:24:24 -03:00
Eidolon
805941a98f Merge public next into uncappedrevengeance
This is to capture the UDMF merges and make the later code review
easier.
2022-05-03 14:45:14 -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
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
MascaraSnake
5fbe5189ce Merge branch 'udmf-sector-fields' into udmf-full 2022-04-20 21:01:52 +02:00
spherallic
0c7abd88fe Merge branch 'next' into fullscreen-toggle 2022-03-08 23:50:40 +01:00