Commit graph

328 commits

Author SHA1 Message Date
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
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
Lachlan Wright
357ad68599 Merge branch 'patch_music' into 'next'
patch_music.pk3

See merge request STJr/SRB2!812
2020-05-10 12:51:49 -04:00
James R
536fb1ef2a Merge remote-tracking branch 'origin/master' into next 2020-04-18 17:20:33 -07:00
fickleheart
be07a23e52 Make a separate function instead of clogging up IdentifyVersion 2020-04-09 20:56:27 -05:00
fickleheart
6845aca6e5 Make chdir usage consistent with other source usage 2020-04-09 20:52:23 -05:00
fickleheart
614449298e Merge remote-tracking branch 'upstream/master' into netgame-urls 2020-04-09 20:48:52 -05:00
James R
e457b71e7e Merge branch 'execcfg-fixes' into 'master'
ExecCfg fixes

See merge request STJr/SRB2!821
2020-04-09 21:24:12 -04:00
James R
aca39d6210 Merge remote-tracking branch 'origin/master' into next 2020-04-09 17:04:04 -07: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
fickleheart
f32ab5918e Define SERVER_URL_PROTOCOL const for easy reconfiguration 2020-03-21 07:47:29 -05:00
fickleheart
feb18208cb Add support for srb2:// URL handler (server links) 2020-03-21 01:36:39 -05:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Steel Titanium
10d08fc8bb Merge branch 'master' into next 2020-03-02 15:26:01 -05: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
LJ Sonic
2cace6e147 Merge branch 'lua-io' into 'next'
Support for Lua's I/O library

See merge request STJr/SRB2!727
2020-03-01 11:12:45 -05:00
fickleheart
de789add8a Fix menu enterwipes being overridden? 2020-02-24 18:00:52 -06:00
fickleheart
f8408f3c99 Fix ExecCfg not working on files added via command line 2020-02-24 11:44:45 -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
James R
4244480d63 Add patch_music.pk3 2020-02-22 14:43:41 -08:00
Steel Titanium
03e38e9486 Enable use of the patch file 2020-02-22 16:42:24 -05:00
Steel Titanium
76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
Louis-Antoine
ec5b88e79f Fix weird comment style 2020-02-21 17:17:39 +01:00
James R
2df4717f18 Fix NO_LUA compiling 2020-02-20 17:20:50 -08:00
Monster Iestyn
5c33ff0458 clarify the situation a bit more in the comments 2020-02-20 20:38:01 +00:00
Monster Iestyn
903cc311a7 move -warp code to a later part of D_SRB2Main so G_LoadGameData isn't upset by G_SetGameModified 2020-02-20 20:31:11 +00:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Louis-Antoine
12959ff4a9 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into lua-io 2020-02-19 22:40:54 +01:00
Steel Titanium
281d40d6d2 Merge branch 'master' into next 2020-02-18 22:03:08 -05:00
James R
c1a91cdc2e Merge branch 'setrenderneeded-fix' into 'master'
Clear setrenderneeded after calling VID_CheckRenderer

See merge request STJr/SRB2!793
2020-02-18 21:53:14 -05:00
James R
8054f341a1 Merge branch 'startup-file-not-found' into 'master'
Fix the issue !678 did, but just don't exit if the file was added twice

See merge request STJr/SRB2!753
2020-02-18 21:50:11 -05:00
Jaime Passos
bd7b2fcb93 setrenderneeded is already cleared earlier 2020-02-17 22:33:36 -03: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
James R
b2733eba73 Draw console in the Record/NiGHTS Attack menus
(cherry picked from commit 4efd915d28)
2020-02-17 16:37:29 -08:00
James R
a9a0601c84 Revert "Revert "Let the console open in menus""
This reverts commit 705cf9fd40.
2020-02-17 16:37:13 -08:00
Jaime Passos
cac5f9d171 add -nogl parm 2020-02-17 12:14:51 -03:00
Jaime Passos
9e83e2751d Clear setrenderneeded after calling VID_CheckRenderer 2020-02-17 00:36:10 -03:00
fickleheart
c4b390bc76 Merge remote-tracking branch 'upstream/master' into viewroll 2020-02-16 21:32:57 -06:00
James R
472d533d79 Merge remote-tracking branch 'origin/next' into public_next 2020-02-16 17:38:03 -08:00
James R
e245354c80 Merge remote-tracking branch 'origin/master' into next 2020-02-16 17:35:59 -08:00
James R
705cf9fd40 Revert "Let the console open in menus"
This reverts commit ef3d462eb7.
2020-02-16 17:14:54 -08:00
Steel Titanium
b44358df63
Update file hash yet again 2020-02-16 18:54:51 -05:00
Steel Titanium
3a82864ce9
Update comment 2020-02-16 11:34:02 -05:00
Steel Titanium
4281de3b89 Update file hashes 2020-02-09 21:29:46 -05:00
James R
57492347ed Don't I_Error on startup files only if a file was added twice 2020-02-01 19:32:08 -08:00
fickleheart
bea7ad2185 Merge remote-tracking branch 'upstream/next' into viewroll 2020-01-26 18:01:58 -06:00
Monster Iestyn
ef53672deb Merge branch 'master' into next
# Conflicts:
#	src/g_game.c
2020-01-26 19:23:05 +00:00
Louis-Antoine
e8760fe5dd Update Lua I/O support to 2.2 2020-01-22 23:08:57 +01:00
James R
f297f4ff56 Sonic is dead again 2020-01-21 12:24:24 -08:00
James R
c347254e80 Reorder Sonic's ass so the OpenGL wipe doesn't see garbage 2020-01-21 12:23:34 -08:00