Commit graph

944 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
sphere
69c11a8220 Support act numbers up to 99 and draw both digits individually. 2020-05-12 17:17:24 +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
Lachlan
05ea95d0eb Merge branch 'next' into gfz3laser-mkii 2020-05-06 09:10:27 +08:00
lachwright
63cb58a10a Update new GFZ3 laser 2020-05-06 09:03:03 +08:00
lachwright
92c900f284 New GFZ3 laser 2020-05-06 09:01:02 +08:00
MascaraSnake
df3ca712d8 Move polyobject crush option to the first line args 2020-05-04 23:27:26 +02: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
James R
fe9b933b97 Merge remote-tracking branch 'origin/master' into HEAD 2020-04-24 22:10:59 -07:00
ZipperQR
64edd91dbd Dust devil support 2020-04-22 00:59:12 +03:00
James R
536fb1ef2a Merge remote-tracking branch 'origin/master' into next 2020-04-18 17:20:33 -07: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
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
b8d40a5783 Merge branch 'dye' into 'next'
Expose colorization to mappers and SOC

See merge request STJr/SRB2!679
2020-04-09 19:50:32 -04:00
James R
673a842043 Merge remote-tracking branch 'origin/next' into SF_NONIGHTSSUPER 2020-04-09 16:47:52 -07: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
MascaraSnake
92c74814cf Standardize the behavior of FF_INVERTSIDES and FF_INVERTPLANES 2020-03-25 08:34:52 +01:00
Louis-Antoine
892a8dd6e7 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
Louis-Antoine
e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01:00
Monster Iestyn
31b1188a3e Merge branch 'master' into next 2020-03-15 20:32:43 +00:00
fickleheart
b9d7b3e5c5 Merge remote-tracking branch 'upstream/master' into shaders-222
# Conflicts:
#	src/hardware/r_opengl/r_opengl.c
#	src/i_video.h
#	src/r_main.c
#	src/r_main.h
#	src/screen.c
#	src/sdl/i_video.c
#	src/sdl/ogl_sdl.c
#	src/w_wad.c
2020-03-14 12:52:15 -05:00
Monster Iestyn
f4cb6e1f5e Include r_skins.h instead of r_things.h in many files where all they wanted from it was skins stuff
(oddly enough, this actually revealed some secret file dependencies previously included via r_things.h! I also needed to include d_player.h in r_skins.h itself it seems)
2020-03-09 13:54:56 +00:00
Jaime Passos
26e367eb9b Merge remote-tracking branch 'origin/next' into pictureformats 2020-03-07 20:43:16 -03:00
SwitchKaze
3106a92e8b Prohibit modification of built-in colors
In addition, fixes a bug where loading a custom color using command line params exhibits strange behavior.
2020-02-29 23:14:49 -05:00
Jaime Passos
25cf369f22 Fix (technically functional) string comparison counting an extra character in the comparison length 2020-02-25 22:34:19 -03:00
Jaime Passos
3d7cd29eda Fix TYPEOFLEVEL options not having enough bits for TOL_ flags 2020-02-25 22:30:34 -03:00
fickleheart
da122ca2fd Fix missing menuname entries 2020-02-24 17:56:00 -06:00
fickleheart
1f8dbd1b8c Allow using lump names in ExecCfg 2020-02-24 11:44:27 -06:00
Jaime Passos
952bce362e Remove unused SOC menu types 2020-02-23 22:31:17 -03:00
SwitchKaze
6415e10216 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-23 11:50:13 -05:00
James Hale
56b67a3b4f Custom skincolors 2020-02-21 21:56:39 -05: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
Tatsuru
3022e38d15 Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into Tatsuru/SRB2-dye
# Conflicts:
#	src/d_player.h
#	src/dehacked.c
2020-02-19 17:46:18 -03:00
Tatsuru
80edefa56e Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into dye 2020-02-19 17:32:43 -03:00
Jaime Passos
2893803c68 Merge remote-tracking branch 'origin/next' into pictureformats 2020-02-19 02:25:36 -03:00
James R
d3d8f85602 Merge branch 'the-colors-feel-so-right' into 'next'
New skin colors, add support for preferred opposite color to save cards, new lua features.

See merge request STJr/SRB2!787
2020-02-18 22:02:01 -05:00
James R
92f65fd822 Merge branch 'exitmove-tweaks' into 'next'
Exitmove tweaks

See merge request STJr/SRB2!709
2020-02-18 21:58:18 -05:00
James R
26825a2b4c Merge branch 'pw-justlaunched' into 'next'
Add pw_justlaunched to tell modders when a player launches from a slope

See merge request STJr/SRB2!792
2020-02-18 21:53:05 -05: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
James R
3fc9c7d298 Merge remote-tracking branch 'origin/next' into SF_NONIGHTSSUPER 2020-02-18 18:23:20 -08:00
Steel Titanium
f0e2ba9e6a Merge branch 'next' into the-colors-feel-so-right 2020-02-18 14:29:50 -05:00
Steel Titanium
0299f21dc7 Merge branch 'next' into the-colors-feel-so-right 2020-02-16 22:56:27 -05:00
fickleheart
0fbff66e25 Let scripters see if player just launched from slope 2020-02-16 21:34:07 -06:00
fickleheart
ae53c146e6 Allow SHOWTITLECARDFOR = NONE 2020-02-16 21:32:40 -06:00
fickleheart
187bd9ab23 Merge remote-tracking branch 'upstream/master' into titlecard-options 2020-02-16 21:32:27 -06:00
Steel Titanium
d9e2256a3c Add six new skin colors 2020-02-14 22:30:37 -05:00
James R
64b7a5e4d6 SF_NONIGHTSSUPER for disabling super colors in NiGHTS 2020-02-12 18:03:39 -08:00
Jaime Passos
2fc7e56951 Cast Moment 2020-02-12 13:59:08 -03:00
Jaime Passos
7bc58c4c0e Add MAXTOL 2020-02-12 13:41:30 -03:00
Jaime Passos
c827a72aab Merge remote-tracking branch 'origin/next' into tolfix 2020-02-12 13:03:16 -03:00
Jaime Passos
d8793ce579 Merge branch 'gtr-shift' into 'next'
1 left shifted by zero is still 1

See merge request STJr/SRB2!766
2020-02-11 23:33:43 -05:00
Monster Iestyn
e5a325994e Use the provided Regex strings to properly turn the entire info.h states/mobjtypes lists into strings for dehacked.c
...it's surprising what we actually missed in the states list, apart from just the missing state (yes this makes the states fix branch redundant)
2020-02-09 19:15:04 +00:00
Jaime Passos
d0d7fd1589 Don't add a TOL_ twice. 2020-02-09 16:11:52 -03:00
Jaime Passos
5e516eb98d 1 left shifted by zero is still 1 2020-02-08 18:50:05 -03:00
fickleheart
fed8167a81 Allow more options for when the titlecard shows up 2020-02-08 11:13:40 -06:00
Zwip-Zwap Zapony
ea28304d8c Fix missing "RINGSNUMTICS" in dehacked.c
This fixes 16/20 of the HUD items in dehacked.c being off by one
(Same case as the MFE_ flags thing)
Also fixes dehacked.c mentioning "LAPS", which doesn't exist
2020-01-26 10:53:37 +01:00
Jaime Passos
f4a976f3be Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-20 16:53:41 -03:00
Tatsuru
9e4c519cad In-map visual indicator 2020-01-19 19:02:03 -03:00
Jaime Passos
cdc3386d48 Fix missing constant 2020-01-18 12:10:48 -03:00
Jaime Passos
999094f2f6 backwards compat 2020-01-17 16:11:17 -03:00
Jaime Passos
7adc108a2a typoe 2020-01-17 00:34:31 -03:00
James R
f93ddc3f37 Merge branch 'keywords-back-again' into 'next'
Level header keywords

See merge request STJr/SRB2!656
2020-01-16 20:05:24 -05:00
James R
1be648578f Merge branch 'clear-sign-sprite' into 'next'
Add generic signpost sprite for skins that don't have one

See merge request STJr/SRB2!626
2020-01-16 19:57:54 -05:00
Tatsuru
5d33ca42cf Expose colorization to mappers and SOC 2020-01-11 20:40:57 -03:00
James R
407b00b22b Merge branch 'showconditionset' into 'next'
Showconditionset

See merge request STJr/SRB2!651
2020-01-10 15:59:37 -05:00
Jaime Passos
c1acdfe52e Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-10 04:11:26 -03:00
Tatsuru
3e3cb48feb This is stupid 2020-01-09 12:15:26 -03: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
James R
3b90571987 Merge branch 'local-lua-commands' into 'next'
Local Lua commands + no magic numbers

See merge request STJr/SRB2!602
2020-01-08 16:14:30 -05:00
toaster
377194b077 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into showconditionset
# Conflicts:
#	src/m_menu.c
2020-01-08 20:00:50 +00:00
Jaime Passos
5a2ad5c2f3 Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-07 16:10:25 -03:00
Jaime Passos
f85476c723 Move texture stuff to its own file 2020-01-07 12:35:10 -03:00
lachwright
01b8bd21cc Dashmode tweaks:
- Remove the ability for non-SF_MACHINE players in dashmode to break spikes and monitors
- Replace instances of dashmode magic numbers with dashmode constants
- Add dashmode constants to dehacked.c
2020-01-07 15:38:48 +08:00
Jaime Passos
a1af6b9134 Picture formats test 2020-01-06 18:22:23 -03:00
lachwright
5ce1695047 Merge branch 'next' into clear-sign-sprite 2020-01-04 14:50:17 +08:00
Alam Ed Arias
a26c5f5428 Merge branch 'master' into next 2020-01-03 14:56:37 -05:00
lachwright
da226139f1 Add generic signpost sprite for skins that don't have one 2020-01-03 13:12:18 +08:00
Louis-Antoine
5bde4df439 Grab mouse again when closing menu, unpausing, etc 2020-01-02 00:45:28 +01:00
James R
e3fcd860de Merge remote-tracking branch 'origin/next' into local-lua-commands 2019-12-30 15:08:34 -08:00
Jaime Passos
181a366d4a Merge remote-tracking branch 'origin/next' into respawndelaygametyperule 2019-12-30 18:39:31 -03:00
James R
fc8c0f8a9a Merge remote-tracking branch 'origin/master' into next 2019-12-30 13:16:53 -08:00
Jaime Passos
7676f11112 Merge remote-tracking branch 'origin/next' into respawndelaygametyperule 2019-12-30 12:09:45 -03:00
James R
802ef0aba1 COM_LOCAL makes your commands NetXCmd free, FUCK NetXCmd 2019-12-29 21:07:28 -08:00
James R
dc757f3086 Fuck magic numbers; COM_ flags for Lua commands! 2019-12-29 21:00:38 -08:00
James R
0237dc8ca2 Add MFE_TOUCHLAVA and MFE_TRACERANGLE to Lua and SOC 2019-12-28 17:52:22 -08: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
James R
cb29a9dd0a CV_NOLUA for when a cvar should not be changed via Lua 2019-12-26 18:15:19 -08:00
Jaime Passos
c0390f5186 Merge remote-tracking branch 'origin/next' into rotsprite2 2019-12-26 20:27:29 -03:00
Jaime Passos
3622829504 Merge remote-tracking branch 'aaaaaaaa/next' into gametype-clownery 2019-12-24 17:55:46 -03:00
James R
02779cb6ef Merge remote-tracking branch 'origin/master' into next 2019-12-24 11:53:49 -08:00
James R
0780e48f86 Merge branch 'titlecard2' into 'next'
More customisable title card

See merge request STJr/SRB2!552
2019-12-24 14:47:55 -05: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
40b0c853b7 Add IDENTIFIER to gametype DeHackEd. 2019-12-23 23:19:48 -03:00
Jaime Passos
630c06b7b0 Turn GTR_CHASECAM into GTR_FIRSTPERSON. 2019-12-23 19:24:06 -03:00
Jaime Passos
5ebd84c3e7 Move ALL the Lua global variable stuff into lua_script.c. 2019-12-23 18:49:23 -03:00
Jaime Passos
7425591815 Add pointlimit and timelimit to Lua. 2019-12-23 18:37:38 -03:00
Jaime Passos
6d7bdf8fdb Lua gametyperules 2019-12-19 18:27:11 -03:00
Jaime Passos
9b2b526eb4 Removing commented out code 2019-12-19 16:22:55 -03:00
Steel Titanium
a39b6a1286 Allow access to bluescore and redscore 2019-12-19 16:17:08 -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
0accadf02f Merge remote-tracking branch 'origin/next' into gametype-clownery 2019-12-19 02:15:45 -03:00
Jaime Passos
fb6f2fc9b0 Lua! Lua! Lua!
Expecting the buildbot to complain
2019-12-19 02:13:09 -03:00
Jaime Passos
b496cc0d62 Whoops 2019-12-18 23:02:07 -03:00
Jaime Passos
5daedc70e7 Special Stages/token stuff 2019-12-18 22:46:17 -03:00
Jaime Passos
5e818e1dab Custom gametype rankings 2019-12-18 22:02:37 -03:00
Jaime Passos
d0e18444fb GTR_FRIENDLYFIRE, renamed GTR_HIDETIMEFROZEN, fixed other mistakes 2019-12-18 20:12:52 -03:00
Jaime Passos
04ee98a1a1 point limit/time limit 2019-12-18 19:43:12 -03:00
Jaime Passos
396106829a Ringslinger tweaks 2019-12-18 19:26:45 -03:00
Jaime Passos
eadb3dec9e Limits checking 2019-12-18 18:59:47 -03:00
Jaime Passos
74d69f3731 Fix comment 2019-12-18 18:52:10 -03:00
Jaime Passos
b8d47dbc60 Accept gametype rules in SOC by just their names as parameters. 2019-12-18 18:50:04 -03:00
Jaime Passos
ec8682b2af GTR_NOTITLECARD 2019-12-18 18:39:59 -03:00
Jaime Passos
61cad09505 Fix lib_getenum. Also, adding gametypes also creates constant names for them. 2019-12-18 18:30:24 -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
94f2b8f970 Fix warnings 2019-12-18 15:41:03 -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
Jaime Passos
79d5192b7c TOL/Level platter stuff 2019-12-18 13:24:10 -03:00
Jaime Passos
b759ebf622 Death of TOL_CUSTOM 2019-12-18 12:40:46 -03:00
Jaime Passos
254d812901 More customisable title card
Add TitleCardZigZag, TitleCardZigZagText and TitleCardActDiamond fields to SOC.
Add the same fields to Lua under their internal names.
Turn map header level flags into an UINT16, so that NoTitleCard works. (NOBODY caught this, I'm actually disappointed.)
2019-12-18 00:28:58 -03:00
James R
d1b944121a Fix "SRB2" SOC directive, though its usefulness is debatable 2019-12-17 14:11:45 -08:00
Jaime Passos
c6f36fc470 un-ROTSPRITE rollangle and spriteinfo 2019-12-17 13:09:25 -03:00
Monster Iestyn
46f431616c Added a lot of SOC-editable variables to Lua, as well as the tutorialmode boolean 2019-12-16 20:26:19 +00:00
James R
55f3f27b55 Fix NOHW warnings 2019-12-12 14:00:13 -08:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
7f6c98f046 Fix clearing maps making the Tutorial option on the SP menu crash. 2019-12-05 13:42:08 +00:00
MascaraSnake
8adcea56c3 Merge branch 'minusflip' into 'master'
Have Minus rotate in mid-air

Closes #326

See merge request STJr/SRB2Internal!532
2019-11-25 16:43:49 -05:00
toaster
f602e5bfb7 "showconditionset" option for Unlockables and Extra Emblems. See merge request (coming shortly) for full description/prompt. 2019-11-24 14:35:31 +00:00
lachwright
9a7979d841 Have Minus rotate in mid-air 2019-11-24 22:29:26 +08:00
toaster
508feaad9d Enable lowercase text for Statistics and Unlockable Checklist menus (resolves #339). 2019-11-24 13:51:53 +00:00
MascaraSnake
a24949cfa6 Merge branch 'menu-reordering' into 'master'
Menu reordering (also renaming secrets to extras)

See merge request STJr/SRB2Internal!511
2019-11-23 17:51:46 -05:00
MascaraSnake
2c85aa9f69 Merge branch 'drtminus' into 'master'
drt minus

See merge request STJr/SRB2Internal!495
2019-11-22 16:09:58 -05:00
sphere
9608021824 Rename "secrets" to "extras". 2019-11-21 01:34:32 +01:00
lachwright
ac3924c9c8 Add GFZ debris; reorganize wood debris index 2019-11-21 01:05:22 +08:00