Commit Graph

113 Commits

Author SHA1 Message Date
LJ Sonic d325c7e6d3 The year is 2021 2021-05-07 17:45:56 +02:00
James R beba43cffc Add a menu option for showjoinaddress
I also had to make the "alphaKey" UINT16. Hopefully nothing breaks!
2020-08-14 21:13:15 -07:00
James R 479bbeacbe Merge remote-tracking branch 'origin/next' into http-mserv 2020-07-11 17:41:46 -07:00
Steel Titanium e641895268 Address compat with old-style names 2020-06-29 23:54:45 -04:00
SteelT bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
Hannu Hanhi da98ea242e Merge remote-tracking branch 'upstream/next' into shaders-224-next-merge 2020-06-07 20:01:05 +03:00
sphere 71cf31fcaf Fix the "Custom skincolors" branch not compiling with GCC 10. 2020-05-28 18:43:04 +02:00
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
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 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
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
James R fe9b933b97 Merge remote-tracking branch 'origin/master' into HEAD 2020-04-24 22:10:59 -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
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
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
fickleheart da122ca2fd Fix missing menuname entries 2020-02-24 17:56:00 -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
James R 7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Monster Iestyn ef53672deb Merge branch 'master' into next
# Conflicts:
#	src/g_game.c
2020-01-26 19:23:05 +00:00
Louis-Antoine 512435c59f Fix mouse in controls setup menu 2020-01-18 20:18:20 +01:00
James R 7deb18bdc9 Merge remote-tracking branch 'origin/master' into next 2020-01-08 13:27:14 -08:00
Steel Titanium 808d731652 Update copyright statements for changed names 2020-01-06 17:16:27 -05:00
fickleheart f0e6a56b6b Merge branch 'newcontrols' into next-newcontrols 2020-01-04 09:56:24 -06:00
fickleheart 794d74c4d7 Merge remote-tracking branch 'origin/master' into newcontrols 2020-01-04 09:35:12 -06:00
fickleheart b22de48c03 Merge branch 'next' into next-newcontrols
# Conflicts:
#	src/g_game.c
#	src/p_setup.c
2019-12-31 12:58:36 -06:00
James R 38492073fa IT_PAIR for when you want to define both sides of a menu item 2019-12-30 21:40:13 -08:00
Jaime Passos 79d5192b7c TOL/Level platter stuff 2019-12-18 13:24:10 -03:00
fickleheart b5f7f5f732 Replace direction toggles with a playstyle selection
It's kinda ugly right now...
2019-12-09 22:06:50 -06:00
MascaraSnake a3549cc8f2 Merge branch 'datestuff' into 'master'
Date stuff

See merge request STJr/SRB2Internal!618
2019-12-06 16:10:36 -05:00
Steel Titanium d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
lachwright 2e77970526 Fix whitespace issues from when I was new to this shit 2019-12-07 02:31:31 +08:00
sphere 9608021824 Rename "secrets" to "extras". 2019-11-21 01:34:32 +01:00
MascaraSnake d591554a5d Merge branch 'radiomode' into 'master'
Radio mode

See merge request STJr/SRB2Internal!443
2019-11-13 04:16:38 -05:00
James R 872e662618 That's a lot of whitespace 2019-11-07 13:42:54 -08:00
toaster 5f8671b100 Sound test is cool now!
https://cdn.discordapp.com/attachments/405336003239477249/641295998395613224/srb20042.gif

* Port MUSICDEFs from Kart.
    * Safe to modify without modifying game, so we can put it in music.dta eventually.
    * "Title", "AltTitle", "Authors" fields are self-evident.
    * "Soundtestpage" and "Soundtestcond" are used to determine which sound test unlockable can play them (set with Unlockable's variable, just like Level Select).
    * "Stoppingtime" and "BPM" both accept floats, and are used for presentation stuff on the sound test.
    * Ironically, we don't share a single field name with them. Such is the case of differing foci, though, and I expect they'll change their implementation to match (since this is necessary for a sound test).
* Change how S_AddSoundFx works to avoid iterating through all of them, and to allow cv_soundtest to only scroll through defined slots (instead of the infinite wall of thok sounds when scrolling to the left).
* Change V_DrawFixedPatch to allow scaling on two seperate axes.
    * Now called "V_DrawStretchyFixedPatch".
    * "V_DrawFixedPatch" is a macro to V_DrawStretchyFixedPatch now (same scale on both axes).
    * Available to Lua under v.drawStretched!
    * Even works in GL!
* Bugfix: Add SR_PLAYER to SOC's menutypes_list.

Stay tuned for the merge request, where I put the onus on the Music Team to finish this off...
2019-11-05 16:23:46 +00:00
mazmazz fc02b73534 Remove TTCOUNTERSET to simplify custom title SOC 2019-11-02 12:40:12 -04:00
mazmazz c7c72a4892 Merge branch 'master' into new-title 2019-10-25 22:29:29 -04:00
MascaraSnake 03c5b70fc5 Merge branch 'newmenus' into 'master'
Better looking menus, nametags and much more. (Resolves #245 and #244 and #252)

Closes #245, #244, and #252

See merge request STJr/SRB2Internal!389
2019-10-25 17:46:16 -04:00
James R 5ac8a26814 Miscellaneous window de-focus options
Music pausing is now optional.
Sounds may be paused--on by default.
The game itself being paused in off-line mode is now optional.

(showfocuslost now loads from config.)
2019-10-22 21:15:20 -07:00
James R dfdbc0afe3 Don't fade to character select from secret level select 2019-10-19 12:42:53 -07:00
James R 25d8b7d5ea Don't fade to Server Options 2019-10-19 12:25:02 -07:00
toaster bf761a26d6 * Implement fixes/tweaks as written on the gitlab.
* `SPR2_NTAG` last vestiges removal.
    * Removed need for `getskinfromdescription()` by calculating it once, at Menu load, and storing in `description_t`.
    * Fixed nametag colour issues.
    * Support widescreen with nametags.

* Fix a metric SHITTON of compiler errors.
    * Redefining `x` and `y` within scope of previous `x` and `y` (`M_DrawSetupChoosePlayerMenu`)
    * GCC straight up will not let you cast a `const char*` to a `char` (`V_DrawNameTag`)
    * Redefining `lines` within the scope of the global.
    * Redefining `string` within the function-specific `string`.
    * It would be recommended for y'alls to turn ERRORMODE on!
2019-10-19 18:15:54 +01:00
Jaime Passos edd016690d A bunch of stuff 2019-10-14 02:24:44 -03:00
Steel Titanium 6b10ffb88f
Merge branch 'master' into newmenus 2019-10-01 16:52:31 -04:00
Steel Titanium dfee7efd33
Merge branch 'master' into internal-hotplug-stableid 2019-09-23 00:44:34 -04:00
Alam Ed Arias 8d3d5566b8 Undo file mode change on menu files 2019-09-20 12:18:57 -04:00