Commit graph

72 commits

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

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
SwitchKaze
afe56667b8 Update to 2.2.4 2020-05-22 16:47:51 -05:00
toaster
af7e7bc18c Re-order Marathon bar to be drawn before FPS and captions if applicable. 2020-05-15 13:39:27 +01:00
toaster
4c412d931a 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
0b91ef071f 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
99a1840101 Merge branch 'next' of https://github.com/STJr/SRB2 into next-luacolors 2020-02-23 11:50:13 -05:00
James Hale
51137837c4 Custom skincolors 2020-02-21 21:56:39 -05:00
James R
2274129f57 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
fd23294cc4 Rename stuff around 2020-02-17 21:11:56 -03:00
Jaime Passos
6976b9bf01 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Steel Titanium
7ec6757ecd Fix copy+paste goof 2019-12-06 15:21:41 -05:00
Steel Titanium
a5cdb0a4b3 Update copyright date on source files 2019-12-06 13:49:42 -05:00
Steel Titanium
b1f39e836d Better ping implementation. 2019-11-17 20:22:47 -05:00
Jaime Passos
ce8b821691 Merge remote-tracking branch 'jimita/renderswitch' into renderswitch 2019-09-10 18:12:01 -03:00
Jaime Passos
93ea8c4019 can i push this already? 2019-09-08 22:25:18 -03:00
Jaime Passos
1cb22d5e6b initial stuff 2019-09-08 18:44:40 -03:00
Jaime Passos
398b320aec initial stuff 2019-09-08 18:27:35 -03:00
toaster
534b98251b Revert "Revert "Merge branch 'musicplus-aug2019-b' into 'master'""
This reverts commit a76668f55a.
2019-08-04 12:03:57 +01:00
toaster
a76668f55a Revert "Merge branch 'musicplus-aug2019-b' into 'master'"
This reverts commit 0f89fb123f, reversing
changes made to 8fb211d8cf.
2019-08-04 11:32:55 +01:00
mazmazz
cc31ab232d Revert djgppdos fade function inadvertent merge 2019-08-04 02:09:35 -04:00
mazmazz
f7936876be Merge branch 'master' into musicplus-sdlmixerx 2019-06-29 19:31:01 -04:00
mazmazz
2eb04ab17d Merge branch 'public_next' 2019-03-14 22:15:34 -04:00
mazmazz
81352aece1 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
2326a58bc7 Merge remote-tracking branch 'public-gl/master' into public-musicplus-core 2019-01-01 10:41:40 -05:00
mazmazz
c91b2b4456 Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
mazmazz
df7d23f00d Merge branch 'master' into musicplus-core 2018-11-13 13:46:30 -05:00
Monster Iestyn
a0c822fec8 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
bf93dace76 Merge remote-tracking branch 'public-gitlab/master' into public-music-cleanup 2018-10-19 22:04:26 -04:00
Monster Iestyn
0b70c725c8 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
394075fbe9 Fix missing commas and missed interface 2018-10-14 10:14:07 +01:00
Sryder
4132b39b9a 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
32c48af258 MusicPlus Core (positioning and fading) 2.2 -> 2.1 backport 2018-09-18 10:22:17 -04:00
mazmazz
223160ffbd Refactor I_MusicType MusicPlaying and MusicPaused other targets
(cherry picked from commit 9e6eebeb8d6b4119d87e9678bb6b0687e3dc5217)
2018-09-14 10:45:39 -04:00
mazmazz
03c5f5635d Refactoring and reordering other targets
(cherry picked from commit cf065e106f68fb8af3b0568eba188c8235b1656e)
2018-09-14 10:43:46 -04:00
mazmazz
dcf0dd70fd nodigimusic nomusic nosound refactor other targets
(cherry picked from commit 86f151db654beb14e8d6893cdff2adaa965e8e4b)
2018-09-14 10:35:56 -04:00
mazmazz
bcc99d705d I_MusicPlaying, I_MusicPaused other targets
(cherry picked from commit d5ec38815968e267aceb59a48a6cb6d3292c0b69)
2018-09-14 10:28:35 -04:00
mazmazz
a8ce3d3002 Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets
(cherry picked from commit 9fb9386f84b3739fe765a78bcb9683eb7e98bc36)
2018-09-14 10:23:47 -04:00
mazmazz
32ab93a012 Added I_GetMusicType and removed midimode variable: other targets
(cherry picked from commit 14b393ab16736bb44dab6fd4a90b7bdd8ff782e0)
2018-09-14 09:55:45 -04:00
mazmazz
5a4e6cf924 Loose ends other targets
(cherry picked from commit 9a5fc5f66a31baf713c6f32f7a696b933da6907b)
2018-09-14 09:41:08 -04:00
mazmazz
db410cb236 Update functions for other targets 2018-08-24 18:20:53 -04:00
mazmazz
1f5e62197e 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
2b9cadd477 Refactoring and reordering other targets 2018-08-23 17:54:40 -04:00
mazmazz
971b5c6727 nodigimusic nomusic nosound refactor other targets 2018-08-23 12:43:38 -04:00
mazmazz
8830943906 I_MusicPlaying, I_MusicPaused other targets 2018-08-23 12:31:01 -04:00
mazmazz
d79f38871e Consolidate I_SetDigMusicVolume and I_SetMIDIMusicVolume other targets 2018-08-23 11:54:58 -04:00
mazmazz
70d3315ac4 Added I_GetMusicType and removed midimode variable: other targets 2018-08-23 10:19:04 -04:00
mazmazz
a7df3be449 Loose ends other targets 2018-08-23 09:37:02 -04:00
mazmazz
b4b4285666 Revert "Nix'd midimusicvolume other targets"
This reverts commit 31fd0f0cf5.

# 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
8be165db5b Playback routines other targets 2018-08-23 09:06:31 -04:00
mazmazz
d159d8cad7 Revert "CHANGED MIND: Nix'd S_MIDIMusic, I_PlaySong, and I_RegisterSong"
This reverts commit 3b94dd8d34.
2018-08-23 07:50:02 -04:00