Commit graph

811 commits

Author SHA1 Message Date
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
1e3e9c81ac Remove emblem hints from Marathon Run (I think Options is good just for the sake of live events, though). 2020-05-15 15:23:31 +01:00
toaster
f06206cd5f Fix "press any other key" sending you to HOM hell. 2020-05-15 14:24:29 +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
sphere
0287c6956e Fix some errors and add some comments. Also, actnum is not an INT32. 2020-05-12 17:20:28 +02:00
toaster
e5bc0583e5 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2.git into fickleheart/SRB2-menu-soc-bullshit
# Conflicts:
#	src/m_menu.c
2020-05-11 15:00:31 +01:00
Louis-Antoine
c90cc3b58f Add a menu option for the minimum join delay 2020-04-24 15:38:07 +02:00
James R
abb338d650 Merge branch 'continue_tweaks' into 'next'
A tangible mechanism to disable Continues

See merge request STJr/SRB2!865
2020-04-18 20:15:04 -04:00
James R
aca39d6210 Merge remote-tracking branch 'origin/master' into next 2020-04-09 17:04:04 -07:00
James R
b029ccff0d Merge branch 'hide-useless-1p-menu-options' into 'master'
Hide record & NiGHTS attack options if there are no available maps for them.

See merge request STJr/SRB2!868
2020-04-09 19:57:27 -04:00
James R
40a74a6211 Merge branch 'ra-emblemhints' into 'master'
Allow emblem hints (and radar) in record attack.

See merge request STJr/SRB2!820
2020-04-09 19:56:17 -04:00
James R
2dfe276a73 Merge branch 'sdlglcontext' into 'master'
Only initialise OpenGL if the user intends to load it (for real this time)

See merge request STJr/SRB2!796
2020-04-09 19:51:20 -04:00
sphere
806884a3f4 Use M_GametypeHasLevels again (properly this time) to save memory. 2020-04-02 17:59:56 +02:00
sphere
3074880ac1 Actually check for available maps correctly. Whoops! 2020-04-02 16:07:38 +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
sphere
99a5192872 Hide record/NiGHTS attack if there are no available maps for them. 2020-03-24 16:10:30 +01:00
MascaraSnake
42445b39d7 Merge branch 'master' into next 2020-03-21 19:16:52 +01:00
LJ Sonic
fa9c2f43f7 Merge branch 'skip-empty-gametypes' into 'master'
Skip empty gametypes in level select menu

See merge request STJr/SRB2!819
2020-03-21 08:52:54 -04:00
fickleheart
78ec210896 hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh 2020-03-19 18:55:10 -05:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
fickleheart
725826a64b Avoid infinite loops if no maps are selectable (y tho) 2020-03-18 22:56:20 -05:00
Steel Titanium
5dac9c6875 Merge branch 'master' into next 2020-03-18 15:42:02 -04:00
SteelT
04131d3268 Merge branch 'fix-nights-mode-menu-wrong-return' into 'master'
NiGHTS Mode menu fixes

See merge request STJr/SRB2!841
2020-03-18 15:41:17 -04:00
LJ Sonic
38bcfe4997 Merge branch 'screenshot-menu-header' into 'master'
Actually use the "SCREENSHOT OPTIONS" header for its menu.

See merge request STJr/SRB2!832
2020-03-18 10:56:35 -04:00
LJ Sonic
0a54c40ff4 Merge branch 'fix-playernode-crash' into 'next'
Fix buffer overrun with players with no associated node

See merge request STJr/SRB2!810
2020-03-15 15:36:45 -04:00
sphere
bdab78152c Check if emblem hints are actually unlocked. 2020-03-13 10:46:57 -04:00
Steel Titanium
e5270ad9c7 Fix guest data being deleted regardless of choice 2020-03-08 00:34:15 -05:00
Steel Titanium
a3f3dd649f Fix guest deletion confirmation returning to Record Attack menu from Nights Mode menu 2020-03-08 00:02:43 -05:00
Jaime Passos
b8db3e2216 Fix NiGHTS Attack crash after render mode change 2020-03-04 09:42:34 -03:00
SteelT
7d14796954 Merge branch 'fix-ogllib' into 'master'
Fix -OGLlib

See merge request STJr/SRB2!794
2020-03-02 15:21:50 -05:00
sphere
c671097c04 Actually use the "SCREENSHOT OPTIONS" header for its menu. 2020-03-02 13:23:54 +01:00
fickleheart
141df606c2 Use a named macro for menu hierarchy
This _really_ needs to be a UINT8 array instead of
all this bit-shifting nonsense that saves no space,
but at least this way reading the menu structs doesn't
make me want to die.
2020-02-24 18:00:17 -06:00
sphere
0df094021e Allow emblem hints (and radar) in record attack. 2020-02-24 17:31:30 +01:00
fickleheart
1848ce4b97 Skip empty gametypes in level select menu 2020-02-24 10:02:48 -06:00
James R
711c8ed6b4 Merge branch 'console-in-menus-mk-ii' into 'master'
Console in menus again!

See merge request STJr/SRB2!797
2020-02-23 18:15:43 -05:00
Steel Titanium
76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
Louis-Antoine
af9164f336 Improve join refusal handling 2020-02-22 02:17:21 +01:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Steel Titanium
f0e2ba9e6a Merge branch 'next' into the-colors-feel-so-right 2020-02-18 14:29:50 -05:00
Monster Iestyn
2b3034a7af Merge branch 'master' into next 2020-02-18 17:38:05 +00:00
James R
b78fc670d0 Don't let console open with menu keys while the menu is open 2020-02-17 17:10:29 -08:00
Jaime Passos
e53a17bb52 Rename stuff around 2020-02-17 21:11:56 -03:00
Jaime Passos
cac5f9d171 add -nogl parm 2020-02-17 12:14:51 -03:00
James R
3ea51c943a Merge branch 'trim-floats' into 'master'
Trim the trailing zeros off floats for cvars

See merge request STJr/SRB2!716
2020-02-17 00:04:15 -05:00
James R
8e4cb953c8 Merge branch 'extra-emblem-display' into 'next'
Extra emblem hint display

See merge request STJr/SRB2!721
2020-02-17 00:00:36 -05:00
James R
132e8f82d5 Merge branch 'local-color-table' into 'master'
Local Color Table for GIF movie mode

See merge request STJr/SRB2!742
2020-02-16 23:58:11 -05:00
Steel Titanium
0299f21dc7 Merge branch 'next' into the-colors-feel-so-right 2020-02-16 22:56:27 -05:00
Steel Titanium
2b615aa09c Add prefoppoistecolor support to save cards 2020-02-15 17:34:21 -05:00
MascaraSnake
31bce6c857 Merge branch 'master' into next 2020-02-15 12:32:09 +01:00