Commit graph

10419 commits

Author SHA1 Message Date
MascaraSnake 0508f99419 T_PolyObjWaypoint: Move duplicated movement code into its own function 2020-05-15 17:35:07 +02: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 47419ce0df Introducing "antisplice" - a pair of small highlights on the Marathon bar that is based on the real time the executable has been open for and *isn't* restored with the Live Event Backup, making spliced runs basically intractable. 2020-05-15 15:08:45 +01:00
toaster f06206cd5f Fix "press any other key" sending you to HOM hell. 2020-05-15 14:24:29 +01: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 4348ebdfa8 Make live event backup files savedata specific (new format: live%s.bkp, where %s is the time attack folder name/savegame name - so vanilla's is livesrb2sav.bkp). 2020-05-15 13:37:06 +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
toaster e99d38ffaf Make a falsy useBlackRoc prevent doing Black Rock sparkle calculations and Egg Rock pulse sounds. 2020-05-15 13:19:52 +01:00
MascaraSnake 9cd9d2e0d7 Merge branch 'carry-dust-devil' into 'next'
Add carry types to Dust devils

See merge request STJr/SRB2!886
2020-05-15 02:50:29 -04: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
Monster Iestyn ee520b4a0d split significant chunks of G_CheckDemoStatus into their own smaller functions, also give writing demo checksums its own little function 2020-05-14 20:57:21 +01:00
ZipperQR 6a9543b1c2 no message 2020-05-14 03:35:46 +03:00
MascaraSnake 7413da918b Store PolyObject waypoint return behavior in an enum 2020-05-13 16:21:47 +02:00
MascaraSnake b561ee7921 Remove diffx/y/z from polywaypoint_t, since they're always 0 anyway 2020-05-13 14:40:07 +02:00
MascaraSnake acdb4b42ea Merge branch 'actnum-tweaks' into 'next'
Act number tweaks

See merge request STJr/SRB2!905
2020-05-13 04:25:53 -04:00
MascaraSnake 9d06cb4be4 Merge branch 'fix-window-icon' into 'master'
Fix window icon being reset when switching renderers on non-Windows platforms

See merge request STJr/SRB2!898
2020-05-13 04:14:51 -04:00
MascaraSnake 0e2fb59650 Merge branch 'ogl-gif-fix' into 'master'
Fix OpenGL only recording the first frame of unoptimized GIFs

See merge request STJr/SRB2!928
2020-05-13 04:09:58 -04:00
MascaraSnake aa16bd22f9 Fix accidental swap of first and last waypoint 2020-05-13 09:32:00 +02:00
MascaraSnake 36843cbfd6 Merge branch 'next' into waypoints 2020-05-12 23:51:32 +02:00
MascaraSnake d708789c3a Store waypoints (for zoom tubes, rope hangs, polyobjects) explicitly 2020-05-12 23:50:30 +02:00
Monster Iestyn 0f4ada3d12 Merge branch 'gcc10-fixes' into 'master'
GCC 10 compiling fixes

See merge request STJr/SRB2!937
2020-05-12 14:47:49 -04:00
Louis-Antoine bf660dd35a Rename local variables 2020-05-12 19:58:16 +02:00
Monster Iestyn 8c88c3dbb4 added missing extern keyword for ntemprecords in doomstat.h (definition is in g_game.c) 2020-05-12 18:43:49 +01:00
Monster Iestyn 064f4bcf34 added missing extern keyword for ms_RoomId in mserv.h (the definition is already in the .c file in this case) 2020-05-12 18:42:16 +01:00
Monster Iestyn dab212dc56 turn all non-extern variables in s_sound.h into externs (and put their real definitions in the .c file) 2020-05-12 18:40:51 +01:00
Monster Iestyn 89cd756cd8 make savegamename in doomdef.h an extern, put the actual definition in d_main.c 2020-05-12 18:37:15 +01:00
Louis-Antoine 061fd4761a Rename some file transfer functions 2020-05-12 19:06:40 +02:00
sphere 4eb5f09c6f Restore SHORT(). 2020-05-12 17:20:29 +02:00
sphere 0287c6956e Fix some errors and add some comments. Also, actnum is not an INT32. 2020-05-12 17:20:28 +02:00
sphere 69c11a8220 Support act numbers up to 99 and draw both digits individually. 2020-05-12 17:17:24 +02:00
MascaraSnake 435e6c9812 Rename variables for Fang waypoints, in preparation for new global waypoint data structure 2020-05-12 14:53:10 +02:00
Steel Titanium feced5ec3c Merge branch 'master' into next 2020-05-11 18:20:09 -04:00
SteelT 78fe9af56a Merge branch 'splitscreen-titlecards-fix' into 'master'
Fix splitscreen Title Card act name regression

See merge request STJr/SRB2!934
2020-05-11 18:18:22 -04:00
SteelT 432cca7556 Merge branch 'menu-soc-bullshit-mergefix' into 'master'
Menu soc bullshit mergefix

See merge request STJr/SRB2!933
2020-05-11 18:17:59 -04:00
SteelT 0fab9d0602 Merge branch '2.2.4-prep' into 'next'
2.2.4 preparation

See merge request STJr/SRB2!935
2020-05-11 18:06:11 -04:00
James R e80f6497d7 Merge remote-tracking branch 'origin/next' into 2.2.4-prep 2020-05-11 15:01:32 -07:00
LJ Sonic 05ff660460 Merge branch 'fix-rollout-rock-crash' into 'next'
Fix crash with rollout rock

See merge request STJr/SRB2!936
2020-05-11 17:57:31 -04:00
Louis-Antoine 0c4f983eb5 Fix crash with rollout rock 2020-05-11 23:48:35 +02:00
James R a645f3a44f Update patch.pk3 asset hash 2020-05-11 14:41:36 -07:00
James R c52c8e0282 Update version names, SUBVERSION, MODVERSION 2020-05-11 14:41:36 -07:00
Monster Iestyn d508d16cef Merge branch 'master' into next 2020-05-11 20:08:02 +01:00
Zwip-Zwap Zapony 334ad93c56 Fix splitscreen Title Card act name regression
This fixes act names not being shown on player 2's view
2020-05-11 19:57:20 +02:00
MascaraSnake 7ca886b07d Merge branch 'showfps-fix' into 'master'
Don't show the FPS counter during startup.

See merge request STJr/SRB2!930
2020-05-11 13:31:26 -04:00
MascaraSnake e288c9d4f2 Merge branch 'fix-simple-camera-and-eggstatue' into 'next'
Fix Simple Camera not working with the tutorial's statue challenge

See merge request STJr/SRB2!931
2020-05-11 13:31:09 -04:00
MascaraSnake 7fa68d0e45 Merge branch 'delete-lua-again' into 'next'
Fix the BotRespawn hook and hooking A_Dye being disabled for no reason

See merge request STJr/SRB2!932
2020-05-11 13:30:18 -04: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 7257fc730a Remove instances of HAVE_BLUA that actually disable Lua now 2020-05-10 19:59:56 -07:00
James R 6b4ee94e38 Use camera angle, not mobj angle, when comparing Angle Anchor 2020-05-10 19:40:28 -07:00
sphere 61dfee7e13 Don't show the FPS counter during startup. 2020-05-11 01:33:34 +02:00