Commit graph

181 commits

Author SHA1 Message Date
SteelT bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
SwitchKaze b37c73b008 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
MascaraSnake 371a1851e3 Polyobject waypoint movement: Prevent infinite loop if all waypoints are in the same location 2020-05-16 10:24:06 +02:00
toaster 9686ad2d70 * In-game timer option! Doesn't tick in intermission or in lag, only when a frame is actually run. Realtime option remains default.
* Tweak retry behaviour to restart timer and not subtract life if you're on the first level and haven't hit a checkpoint yet.
2020-05-15 16:33:20 +01:00
toaster 2aa542d2bf Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into marathonmode
# Conflicts:
#	src/doomdef.h
2020-05-15 13:23:37 +01:00
toaster d593e2e1bb Introducing Marathon Run. (I was going to call it Marathon Mode, but NiGHTS Mode being right next to it on the menu looked terrible.)
Basically a dedicated Record Attack-like experience for speedrunning the game as a continuous chunk rather than ILs. Has several quality of life features.

Benefits include:
* An unambiguous real-time bar across the bottom of the screen, always displaying the current time, ticking up until you reach the ending.
* Disable the console (pausing is still allowed, but the timer will still increment).
* Automatically skip intermissions as if you're holding down the spin button.
* Show centiseconds on HUD automatically, like record attack.
* "Live Event Backups" - a category of run fit for major events like GDQ, where recovery from crashes or chokes makes for better entertainment. Essentially a modified SP savefile, down to using the same basic functions, but has its own filename and tweaked internal layout.
* "spmarathon_start" MainCfg block parameter and "marathonnext" mapheader parameter, allowing for a customised flow (makes this fit for purpose for an eventual SUGOI port).
* Disabling inter-level custom cutscenes by default with a menu option to toggle this (won't show up if the mod doesn't *have* any custom cutscenes), although either way ending cutscenes (vanilla or custom) remain intact since is time is called before them.
* Won't show up if you have a mod that consists of only one level (determined by spmarathon_start's nextlevel; this won't trip if you manually set its marathonnext).
* Unconditional gratitude on the evaluation screen, instead of a negging "Try again..." if you didn't get all the emeralds (which you may not have been aiming for).
* Gorgeous new menu (no new assets required, unless you wanna give it a header later).

Changes which were required for the above but affect other areas of the game include:
* "useBlackRock" MainCFG block parameter, which can be used to disable the presence of the Black Rock or Egg Rock in both the Evaluation screen and the Marathon Run menu (for total conversions with different stories).
* Disabling Continues in NiGHTS mode, to match the most common singleplayer experience post 2.2.4's release (is reverted if useContinues is set to true).
* Hiding the exitmove "powerup" outside of multiplayer. (Okay, this isn't really related, I just saw this bug in action a lot while doing test runs and got annoyed enough to fix it here.)
* The ability to use V_DrawPromptBack (in hardcode only at the moment, but) to draw in terms of pixels rather than rows of text, by providing negative instead of positive inputs).
* A refactoring of redundant game saves smattered across the ending, credits, and evaluation - in addition to saving the game slightly earlier.
* Minor m_menu.c touchups and refactorings here and there.

Built using feedback from the official server's #speedruns channel, among other places.
2020-05-14 23:10:00 +01:00
MascaraSnake 36843cbfd6 Merge branch 'next' into waypoints 2020-05-12 23:51:32 +02:00
MascaraSnake d708789c3a Store waypoints (for zoom tubes, rope hangs, polyobjects) explicitly 2020-05-12 23:50:30 +02:00
Monster Iestyn 8c88c3dbb4 added missing extern keyword for ntemprecords in doomstat.h (definition is in g_game.c) 2020-05-12 18:43:49 +01:00
MascaraSnake 700b340827 Allow map-wide gravity to be set via level header 2020-05-03 18:33:18 +02:00
MascaraSnake 4b87bee759 Add level header options for setting special stage time and spheres requirements 2020-05-03 17:56:49 +02:00
toaster da86c17ee1 Disable continues outside of no-save/Ultimate by default, but allow SOC to re-enable them globally.
Please look at the merge request description for a full explanation, since I know the vanilla team has been hashing this out and I don't want to add fuel to the fire without at least presenting a solid case.
2020-03-26 20:16:44 +00:00
Louis-Antoine e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Steel Titanium 76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R 7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
James R 2d8522b9ec Merge branch 'titlecard-options' into 'next'
Allow more options for when the titlecard shows up

See merge request STJr/SRB2!765
2020-02-18 21:52:03 -05:00
Jaime Passos 7bc58c4c0e Add MAXTOL 2020-02-12 13:41:30 -03:00
fickleheart 19cdb002ab More fixes for titlecard option stuff 2020-02-09 17:53:50 -06:00
fickleheart fed8167a81 Allow more options for when the titlecard shows up 2020-02-08 11:13:40 -06:00
James R 735289502c Call it KEYWORDS 2020-01-08 14:41:38 -08:00
James R 74364b84f9 Revert "Oh right, the keywords..."
This reverts commit a00dfcf420.
2020-01-08 14:26:47 -08:00
fickleheart f8a3e3b898 Merge remote-tracking branch 'origin/next' into next-newcontrols 2020-01-04 09:57:09 -06:00
fickleheart b22de48c03 Merge branch 'next' into next-newcontrols
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2019-12-31 12:58:36 -06:00
fickleheart e0f35d207f Convert analog/directionchar cvars into 2-long arrays 2019-12-30 14:01:14 -06:00
Jaime Passos 2166571920 Add GTR_CUTSCENES. And I ran out of rule slots. Cool. 2019-12-28 20:33:28 -03:00
Jaime Passos ae0acfba0f Organise gametype ruleset again. 2019-12-28 20:18:21 -03:00
Jaime Passos 7a00b3a331 Add GTR_FRIENDLY. 2019-12-28 19:56:18 -03:00
Jaime Passos 45af6d8899 Rename GTR_MATCHEMERALDS to GTR_POWERSTONES. 2019-12-28 19:49:34 -03:00
Jaime Passos 4b604328d5 Rename GTR_HIDETIME to GTR_STARTCOUNTDOWN. 2019-12-28 19:47:03 -03:00
Jaime Passos 51404130af Respawn delay gametype rule 2019-12-27 01:44:27 -03:00
Jaime Passos 3622829504 Merge remote-tracking branch 'aaaaaaaa/next' into gametype-clownery 2019-12-24 17:55:46 -03:00
Jaime Passos c61c1e2514 Turn the babysitting deterrent into its own rule. 2019-12-24 16:30:18 -03:00
Jaime Passos b740daf5bf GTR_HURTMESSAGES 2019-12-24 16:09:00 -03:00
Jaime Passos 630c06b7b0 Turn GTR_CHASECAM into GTR_FIRSTPERSON. 2019-12-23 19:24:06 -03:00
Jaime Passos 7efd9662d1 Remove GTR_NOGAMEEND 2019-12-19 16:13:27 -03:00
Jaime Passos f4bb618f93 Organise rules 2019-12-19 16:12:10 -03:00
Jaime Passos 6d7262e985 Remove GTR_PLATFORM 2019-12-19 16:05:03 -03:00
Jaime Passos 768080977f Remove GTR_ROUNDENDMESSAGE 2019-12-19 15:47:37 -03:00
Jaime Passos ce0e4201b8 GTR_DEATHMATCHSTARTS 2019-12-19 02:26:17 -03:00
Jaime Passos ef7e53488d GTR_CAMPAIGN and GTR_NOGAMEEND 2019-12-18 22:50:49 -03:00
Jaime Passos 5daedc70e7 Special Stages/token stuff 2019-12-18 22:46:17 -03:00
Jaime Passos d0e18444fb GTR_FRIENDLYFIRE, renamed GTR_HIDETIMEFROZEN, fixed other mistakes 2019-12-18 20:12:52 -03:00
Jaime Passos 396106829a Ringslinger tweaks 2019-12-18 19:26:45 -03:00
Jaime Passos ec8682b2af GTR_NOTITLECARD 2019-12-18 18:39:59 -03:00
Jaime Passos 5f73d48614 Some sort of intermission tally support. 2019-12-18 17:13:05 -03:00
Jaime Passos e3584e8230 GTR_ALLOWEXIT 2019-12-18 16:52:05 -03:00
Jaime Passos 5b0a094f67 TOL stuff 2019-12-18 16:00:02 -03:00
Jaime Passos d3d91726f5 GTR_EMERALDHUNT and GTR_SPAWNENEMIES 2019-12-18 14:57:42 -03:00
Jaime Passos 0577cec01b GTR_NOSPECTATORSPAWN 2019-12-18 14:47:39 -03:00
Jaime Passos 1e2331d672 SOC stuff 2019-12-18 14:37:48 -03:00