Commit graph

181 commits

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

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
SwitchKaze
58cac1fd73 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
MascaraSnake
ef85e7f99d Polyobject waypoint movement: Prevent infinite loop if all waypoints are in the same location 2020-05-16 10:24:06 +02:00
toaster
5495ea16aa * 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
7c97218284 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
4c412d931a 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
7004d8ca75 Merge branch 'next' into waypoints 2020-05-12 23:51:32 +02:00
MascaraSnake
4c526f6e50 Store waypoints (for zoom tubes, rope hangs, polyobjects) explicitly 2020-05-12 23:50:30 +02:00
Monster Iestyn
86e2053dcd added missing extern keyword for ntemprecords in doomstat.h (definition is in g_game.c) 2020-05-12 18:43:49 +01:00
MascaraSnake
2df5758ecf Allow map-wide gravity to be set via level header 2020-05-03 18:33:18 +02:00
MascaraSnake
9abfcacc3c Add level header options for setting special stage time and spheres requirements 2020-05-03 17:56:49 +02:00
toaster
0f591967ff 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
46df2b9551 Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Steel Titanium
fc042e90f0 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
James R
b329536bd1 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
83112c8248 Add MAXTOL 2020-02-12 13:41:30 -03:00
fickleheart
0de2068b88 More fixes for titlecard option stuff 2020-02-09 17:53:50 -06:00
fickleheart
33c103c319 Allow more options for when the titlecard shows up 2020-02-08 11:13:40 -06:00
James R
4f0acda87c Call it KEYWORDS 2020-01-08 14:41:38 -08:00
James R
d3da473d4c Revert "Oh right, the keywords..."
This reverts commit 7431794b5c.
2020-01-08 14:26:47 -08:00
fickleheart
067b132eb1 Merge remote-tracking branch 'origin/next' into next-newcontrols 2020-01-04 09:57:09 -06:00
fickleheart
77ba835f4f Merge branch 'next' into next-newcontrols
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2019-12-31 12:58:36 -06:00
fickleheart
61a8f715ac Convert analog/directionchar cvars into 2-long arrays 2019-12-30 14:01:14 -06:00
Jaime Passos
e5e4b4891a Add GTR_CUTSCENES. And I ran out of rule slots. Cool. 2019-12-28 20:33:28 -03:00
Jaime Passos
8f0d5bf468 Organise gametype ruleset again. 2019-12-28 20:18:21 -03:00
Jaime Passos
d165634870 Add GTR_FRIENDLY. 2019-12-28 19:56:18 -03:00
Jaime Passos
63132da7e0 Rename GTR_MATCHEMERALDS to GTR_POWERSTONES. 2019-12-28 19:49:34 -03:00
Jaime Passos
a7fa90d11d Rename GTR_HIDETIME to GTR_STARTCOUNTDOWN. 2019-12-28 19:47:03 -03:00
Jaime Passos
be32397562 Respawn delay gametype rule 2019-12-27 01:44:27 -03:00
Jaime Passos
31eeb90056 Merge remote-tracking branch 'aaaaaaaa/next' into gametype-clownery 2019-12-24 17:55:46 -03:00
Jaime Passos
debacf34bb Turn the babysitting deterrent into its own rule. 2019-12-24 16:30:18 -03:00
Jaime Passos
4f54da125d GTR_HURTMESSAGES 2019-12-24 16:09:00 -03:00
Jaime Passos
73bb0567cc Turn GTR_CHASECAM into GTR_FIRSTPERSON. 2019-12-23 19:24:06 -03:00
Jaime Passos
a4ce7e908d Remove GTR_NOGAMEEND 2019-12-19 16:13:27 -03:00
Jaime Passos
063d4d0d86 Organise rules 2019-12-19 16:12:10 -03:00
Jaime Passos
18235cd672 Remove GTR_PLATFORM 2019-12-19 16:05:03 -03:00
Jaime Passos
9b1d5db5f8 Remove GTR_ROUNDENDMESSAGE 2019-12-19 15:47:37 -03:00
Jaime Passos
108129b222 GTR_DEATHMATCHSTARTS 2019-12-19 02:26:17 -03:00
Jaime Passos
f9bbcfc0f3 GTR_CAMPAIGN and GTR_NOGAMEEND 2019-12-18 22:50:49 -03:00
Jaime Passos
25481512e7 Special Stages/token stuff 2019-12-18 22:46:17 -03:00
Jaime Passos
35f783ab24 GTR_FRIENDLYFIRE, renamed GTR_HIDETIMEFROZEN, fixed other mistakes 2019-12-18 20:12:52 -03:00
Jaime Passos
dcc8cdc143 Ringslinger tweaks 2019-12-18 19:26:45 -03:00
Jaime Passos
65d6f88639 GTR_NOTITLECARD 2019-12-18 18:39:59 -03:00
Jaime Passos
52cc04ef78 Some sort of intermission tally support. 2019-12-18 17:13:05 -03:00
Jaime Passos
9c5a3b637c GTR_ALLOWEXIT 2019-12-18 16:52:05 -03:00
Jaime Passos
79f7bf2276 TOL stuff 2019-12-18 16:00:02 -03:00
Jaime Passos
78f4997164 GTR_EMERALDHUNT and GTR_SPAWNENEMIES 2019-12-18 14:57:42 -03:00
Jaime Passos
c408cef81b GTR_NOSPECTATORSPAWN 2019-12-18 14:47:39 -03:00
Jaime Passos
a82a5e664c SOC stuff 2019-12-18 14:37:48 -03:00