Commit graph

895 commits

Author SHA1 Message Date
SwitchKaze
b37c73b008 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05:00
SwitchKaze
46191cade7 Update to 2.2.4 2020-05-22 16:47:51 -05:00
Zachary McAlpin
ed78d17ed3 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-05-18 14:50:58 -05:00
MascaraSnake
ed9b76e4b9 Merge branch 'opengl-character-select-mipmap-memory-leak-fix' into 'next'
Fix colormap mipmap memory leak on the character select in OpenGL

See merge request STJr/SRB2!943
2020-05-15 16:41:19 -04:00
MascaraSnake
8f4ed5af62 Merge branch 'nights-character-select' into 'next'
Character select in Nights mode.

See merge request STJr/SRB2!862
2020-05-15 16:39:38 -04:00
toaster
a5150e07fd * Swap location of Tutorial and Marathon Run, per sphere's suggestion.
* Lock Marathon Run if Record Attack isn't available, to avoid confusing new players.
2020-05-15 21:32:54 +01:00
Jaime Passos
dd3c7aa0af Fix colormap mipmap memory leak on the character select in OpenGL 2020-05-15 15:58:20 -03: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
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
Jaime Passos
1a79f6246d Merge remote-tracking branch 'origin/next' into pictureformats 2020-05-15 01:34:54 -03: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
kaysrishaq
53252f0d14 Merge branch 'next' into musicpref-var 2020-05-14 03:38:38 -04:00
James R
0b9c20cc70 ok 2020-05-13 17:52:49 -07:00
James R
7ebde22b77 Make mod update, room list and server list multithreaded
This took fucking ages and it still fails sometimes in edge cases, but I
don't give a FUCK right now.
2020-05-13 17:24:27 -07:00
James R
4fd707984b Kill the old mserv, long live HMS! 2020-05-13 17:20:59 -07:00
kaysrishaq
7f7ccc9911 musicpref console variable
Adds musicpref to console and sound options menu, which allows users to select whether to prioritize MIDI or Digital music.
Functions GameMIDIMusic_OnChange and GameDigiMusic_OnChange updated to not assume digital music priority, and to have more consistent behavior between the two.
Positive side effect of using P_RestoreMusic in these functions means that powerup music (speed shoes, invincibility) will restore in the correct position when reenabling the original MusicType they loaded in with.
2020-05-13 19:20:21 -04: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
Zachary McAlpin
61562683c2 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-05-09 00:05:05 -05:00
James R
fe9b933b97 Merge remote-tracking branch 'origin/master' into HEAD 2020-04-24 22:10:59 -07:00
Louis-Antoine
c90cc3b58f Add a menu option for the minimum join delay 2020-04-24 15:38:07 +02:00
Zachary McAlpin
187efb4df2 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-04-23 18:39:31 -05:00
Zachary McAlpin
f6120410fb Execute LUAh_GameQuit earlier in M_QuitResponse
It just feels a bit funny to execute LUAh_GameQuit if you are playing a session after the quit screen appears instead of before.
2020-04-23 17:38:08 -05: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
Zachary McAlpin
31b19f69a2 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2 into gamequit-hook 2020-04-09 20:12:11 -05: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
Zachary McAlpin
28de6b1f93 Execute LUAh_GameQuit in 2 additional places in m_menu.c 2020-04-03 17:44:57 -05: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
Sonic Edge
60f7e35383 Character select in Nights mode. 2020-03-24 16:21:33 -04: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
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
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
26e367eb9b Merge remote-tracking branch 'origin/next' into pictureformats 2020-03-07 20:43:16 -03: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
SwitchKaze
21b28b6295 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-29 23:41:16 -05: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
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
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
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
Jaime Passos
2893803c68 Merge remote-tracking branch 'origin/next' into pictureformats 2020-02-19 02:25:36 -03: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
00bdb41640 Merge remote-tracking branch 'origin/master' into sal-oglshaderport 2020-02-17 12:28:16 -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
GoldenTails
9f7bfd901b I broke SHIFT in the Connect IP Textbox.. whoops.
It's okay, I literally had to remove one line lmao.
2020-02-11 19:07:48 -06:00
Jaime Passos
af66a2e5fa Restore some functionality that went missing 2020-02-03 02:12:55 -03:00
Jaime Passos
520e2148fe Merge remote-tracking branch 'origin/master' into local-color-table 2020-02-03 01:52:43 -03:00
Jaime Passos
68f4d415fe Merge remote-tracking branch 'origin/next' into sal-oglshaderport 2020-02-01 23:02:15 -03:00
James R
4238003887 Merge remote-tracking branch 'origin/master' into next 2020-01-30 23:54:56 -08:00
Jaime Passos
99c755c186 Update the Screenshot Options menu 2020-01-29 13:52:02 -03:00
Jaime Passos
1548a22ea9 Fix M_DrawNightsAttackMountains being broken for obvious reasons 2020-01-27 00:44:10 -03:00
Monster Iestyn
ef53672deb Merge branch 'master' into next
# Conflicts:
#	src/g_game.c
2020-01-26 19:23:05 +00:00
Jaime Passos
afa9b58cee fix corona compiling lol 2020-01-23 23:41:09 -03:00
Jaime Passos
922ac73594 Menu organisation 2020-01-23 23:15:27 -03:00
Jaime Passos
a521e40c0e bye 2020-01-23 23:09:53 -03:00
Jaime Passos
d019080327 I LOVE MENU CODE! 2020-01-23 22:38:54 -03:00
Bartu İnce
875774a45f no message 2020-01-22 22:08:08 +01:00
Bartu İnce
c72e0efee4 "page x of y" 2020-01-22 21:57:28 +01:00
Bartu İnce
912734ffe6 Extra emblems display, take 2. 2020-01-22 21:52:15 +01:00
Bartu İnce
aa05581de2 Added support for 10+ emblem hints 2020-01-22 18:53:17 +01:00
James R
5b08e1802d Trim the trailing zeros off floats for cvars 2020-01-20 23:14:26 -08:00
Jaime Passos
720695a6c4 Remove W_FlushCachedPatches 2020-01-20 17:03:38 -03:00
Louis-Antoine
512435c59f Fix mouse in controls setup menu 2020-01-18 20:18:20 +01:00
Tatsuru
8348123a70 Goal posts 2020-01-18 13:15:24 -03:00
Tatsuru
0c7c5742a8 Put cv_exitmove in the menus 2020-01-18 12:06:04 -03:00
Alam Ed Arias
709489cab8 Merge branch 'master' into next 2020-01-16 12:08:36 -05:00