Commit graph

754 commits

Author SHA1 Message Date
SteelT
fd4c50589d Don't set recordscore to 0 in G_PlayerFinishLevel
Fixes the recordscore being reset on intermission start
2023-08-01 15:23:14 -04:00
Sal
1ddc04abc6 Merge branch 'cmake-rr-ports' into 'next'
Ring Racers CMake + Debug build improvements

See merge request STJr/SRB2!2075
2023-08-01 02:29:45 +00:00
Sal
26583a9845 Ring Racers CMake + Debug build improvements 2023-08-01 02:29:45 +00:00
Monster Iestyn
77d70aaa1b relocate savedata code from P_LoadLevel to G_InitNew as well
(this doesn't fix !1064 yet, this just makes the code a bit tidier)
2023-07-31 20:06:28 +01:00
Monster Iestyn
d20ca3d919 reset emeralds and luabanks in G_InitNew, not Got_Mapcmd 2023-07-31 19:44:50 +01:00
Sally Coolatta
10a8f2d05e Fix some minor warnings
- Fix `lib_getSkinSprite` overshadowing `sprites` global
- Rename terrible result_e `ok` so it stops overshadowing crap
- Remove inlining from w_wad.c since it reached the inline limit (remember kids, your compiler knows better than you these days whenever or not to inline something)
- Remove unused variable in G_PlayerReborn
2023-07-25 11:32:26 -04:00
Zwip-Zwap Zapony
0e2682d590 Add "drawonlyforplayer" and "dontdrawforviewmobj" 2023-07-25 11:05:29 -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
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
Sal
dd0ea188dd Merge branch 'bak2bak' into 'next'
Autobackup old gamedatas (resolves #1031)

Closes #1031

See merge request STJr/SRB2!2030
2023-07-24 09:12:05 +00:00
katsy
516e06bcba Autobackup old gamedatas (resolves #1031) 2023-07-24 09:12:05 +00: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
1cc870485d Increase unlockable limits:
- MAXUNLOCKABLES from 32 to 80
- MAXEXTRAEMBLEMS from 16 to 48
- COMPAT_GAMEDATA_ID is used to account for the old values to prevent
losing records.
- Also fixes linedef actions 319/320.
2023-06-13 01:53:50 +02:00
sphere
0dea372336 Merge branch 'the_elder_skyscroll' into 'next'
Rewrite F_SkyScroll to fix overflows

Closes #1008

See merge request STJr/SRB2!1985
2023-06-12 23:36:37 +00:00
Sally Coolatta
d8f6ad217c Don't give completion emblems when getting a game over in multiplayer (or any other kind of level reset) 2023-06-02 16:06:48 -04:00
Sally Coolatta
ffe591afee Tie emblem spawning to Coop gametypes 2023-06-02 16:06:45 -04:00
Sally Coolatta
ffb76334ff Don't check time attack emblems in multiplayer
(Maybe some day...)
2023-06-02 16:06:45 -04:00
Sally Coolatta
29c61fac88 Allow completion emblems in multiplayer 2023-06-02 16:06:44 -04:00
Sally Coolatta
303d636f8e Individual emblems mode 2023-06-02 16:06:43 -04: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
sphere
369d39a859 Merge branch 'stuckonyou' into 'next'
Allow targeting invulnerable bosses & don't break targeting when they take damage

See merge request STJr/SRB2!1917
2023-05-25 23:48:56 +00:00
Zwip-Zwap Zapony
b2313aa4bd Rewrite F_SkyScroll to fix overflows 2023-05-25 14:55:21 +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
d6cafea571 Don't force FLS to false after a pre-map cutscene 2023-04-28 15:30:02 +02:00
spherallic
e5a1fee759 Adjust default look/turn axis for new SDL2 version 2023-04-19 00:21:10 +02:00
spherallic
930b1355ed Don't call P_ResetCamera when spawning a bot 2023-04-14 12:03:21 +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
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
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
7ad54af89f Revert "Fix axis inversion and camera look inversion"
This reverts commit 6428d6fc61.
2023-01-26 19:26:17 -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
41fb0c8943 Merge branch 'netcode-refactor' into merging 2023-01-15 17:45:06 +01:00
LJ Sonic
7c2fe20cd5 Move tic and net command handling to new files 2023-01-05 22:51:17 +01:00
katsy
3a04e11743 allow targeting invulnerable bosses 2023-01-05 14:11:54 -06:00
LJ Sonic
717e0d5a17 Move netcode files to a new folder 2022-12-31 14:10:19 +01:00
spherallic
1964869c69 Remove redundant control axes & cleanup 2022-12-22 01:40:33 +01:00
spherallic
a85876d0c2 Change gamepad defaults again, post-refactor 2022-12-16 01:25:54 +01:00
Eidolon
6428d6fc61 Fix axis inversion and camera look inversion 2022-12-08 21:25:10 -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
Eidolon
696e2ab909 Merge branch 'gamepad-refactor' into next
Some hacks from the snake minigame patch have been removed as they are
no longer needed.

See STJr/SRB2!1870

# Conflicts:
#	src/g_game.c
#	src/g_input.c
2022-12-08 20:00:41 -06:00
LJ Sonic
ddc708ac87 Remove shift+F12 shortcut
This would conflict if your shift key is bound to a control =((
2022-11-25 22:40:28 +01:00
LJ Sonic
28dba7f3c1 Add a separate control for switching to the previous viewpoint 2022-11-23 18:44:58 +01: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
bcfe0da8fc Use old modded behavior when loading old files, instead of ignoring
Let's not pretend script-kiddie edited old files are now perfectly A-OK :p
2022-11-16 11:14:30 -05:00
Sally Coolatta
1b43cdddd5 Allow saving in modified games. 2022-11-16 11:14:29 -05:00