Commit graph

72 commits

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

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
SwitchKaze 46191cade7 Update to 2.2.4 2020-05-22 16:47:51 -05:00
toaster 271c6d354b Re-order Marathon bar to be drawn before FPS and captions if applicable. 2020-05-15 13:39:27 +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
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
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
James R 7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos e53a17bb52 Rename stuff around 2020-02-17 21:11:56 -03:00
Jaime Passos 9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Steel Titanium f02418e70c
Fix copy+paste goof 2019-12-06 15:21:41 -05:00
Steel Titanium d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
Steel Titanium 2584241a44
Better ping implementation. 2019-11-17 20:22:47 -05:00
Jaime Passos 8057eeaaca Merge remote-tracking branch 'jimita/renderswitch' into renderswitch 2019-09-10 18:12:01 -03:00
Jaime Passos dc93cafda9 can i push this already? 2019-09-08 22:25:18 -03:00
Jaime Passos c7e01a558e initial stuff 2019-09-08 18:44:40 -03:00
Jaime Passos 2863ede7bf initial stuff 2019-09-08 18:27:35 -03:00
toaster 384dc0674e Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit 603d5805f7.
2019-08-04 12:03:57 +01:00
toaster 603d5805f7 Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 56bfdb7113, reversing
changes made to c29cfbef9b.
2019-08-04 11:32:55 +01:00
mazmazz fbaf5106fd Revert djgppdos fade function inadvertent merge 2019-08-04 02:09:35 -04:00
mazmazz 5b0f7d2850 Merge branch 'master' into musicplus-sdlmixerx 2019-06-29 19:31:01 -04:00
mazmazz 9ec98c588f Merge branch 'public_next' 2019-03-14 22:15:34 -04:00
mazmazz 075f28b7c8 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
mazmazz b7bb570f97 Merge remote-tracking branch 'public-gl/master' into public-musicplus-core 2019-01-01 10:41:40 -05:00
mazmazz ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
mazmazz 8f87bf82cd Merge branch 'master' into musicplus-core 2018-11-13 13:46:30 -05:00
Monster Iestyn b5c4b476a6 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/m_menu.c
#	src/s_sound.c
#	src/sdl/sdl_sound.c
2018-10-20 15:31:48 +01:00
mazmazz a288b95458 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04:00
Monster Iestyn d4e11762fa Merge branch 'public_next'
# Conflicts:
#	src/nds/i_sound.c
#	src/r_data.c
#	src/sdl12/mixer_sound.c
#	src/sdl12/sdl_sound.c
#	src/win32ce/win_snd.c
2018-10-19 22:46:19 +01:00
Sryder 3886888b30 Fix missing commas and missed interface 2018-10-14 10:14:07 +01:00
Sryder 6184f91dd3 Add an int to I_PlaySound to tell an interface which channel number SRB2 is using.
I've voided this out on other sound interfaces than SDL Mixer ones because I'm both not sure whether they need it, and not sure how to make them work with it if they do.
2018-10-13 23:01:11 +01:00
mazmazz c5ea6b5efe MusicPlus Core (positioning and fading) 2.2 -> 2.1 backport 2018-09-18 10:22:17 -04:00
mazmazz 4d61f00b86 Refactor I_MusicType MusicPlaying and MusicPaused other targets
(cherry picked from commit 9e6eebeb8d)
2018-09-14 10:45:39 -04:00
mazmazz d535c14fc6 Refactoring and reordering other targets
(cherry picked from commit cf065e106f)
2018-09-14 10:43:46 -04:00
mazmazz 17cf310b84 nodigimusic nomusic nosound refactor other targets
(cherry picked from commit 86f151db65)
2018-09-14 10:35:56 -04:00
mazmazz 44557d9c9d I_MusicPlaying, I_MusicPaused other targets
(cherry picked from commit d5ec388159)
2018-09-14 10:28:35 -04:00
mazmazz e58a8f4fe1 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets
(cherry picked from commit 9fb9386f84)
2018-09-14 10:23:47 -04:00
mazmazz 46b53e8bae Added I_GetMusicType and removed midimode variable: other targets
(cherry picked from commit 14b393ab16)
2018-09-14 09:55:45 -04:00
mazmazz b59aa27104 Loose ends other targets
(cherry picked from commit 9a5fc5f66a)
2018-09-14 09:41:08 -04:00
mazmazz 4f075bfb5d Update functions for other targets 2018-08-24 18:20:53 -04:00
mazmazz a2d626384a Merge branch 'music-cleanup' into musicplus-core
Pending rewrite of fade music changing

# Conflicts:
#	src/android/i_sound.c
#	src/djgppdos/i_sound.c
#	src/i_sound.h
#	src/s_sound.c
#	src/s_sound.h
#	src/sdl/mixer_sound.c
#	src/sdl/sdl_sound.c
#	src/win32/win_snd.c
2018-08-23 21:07:39 -04:00
mazmazz cf065e106f Refactoring and reordering other targets 2018-08-23 17:54:40 -04:00
mazmazz 86f151db65 nodigimusic nomusic nosound refactor other targets 2018-08-23 12:43:38 -04:00
mazmazz d5ec388159 I_MusicPlaying, I_MusicPaused other targets 2018-08-23 12:31:01 -04:00
mazmazz 9fb9386f84 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets 2018-08-23 11:54:58 -04:00
mazmazz 14b393ab16 Added I_GetMusicType and removed midimode variable: other targets 2018-08-23 10:19:04 -04:00
mazmazz 9a5fc5f66a Loose ends other targets 2018-08-23 09:37:02 -04:00
mazmazz 3ec1a122e0 Revert "Nix'd midimusicvolume other targets"
This reverts commit 58fbb4636f.

# Conflicts:
#	src/android/i_sound.c
#	src/dummy/i_sound.c
#	src/win32/win_snd.c
2018-08-23 09:09:12 -04:00
mazmazz 75cbfab8c6 Playback routines other targets 2018-08-23 09:06:31 -04:00
mazmazz 0bc9576eb0 Revert "CHANGED MIND: Nix'd S_MIDIMusic, I_PlaySong, and I_RegisterSong"
This reverts commit 8b46bce155.
2018-08-23 07:50:02 -04:00