Commit graph

155 commits

Author SHA1 Message Date
Steel Titanium c2de684150 Fix double free occuring when unloading the intermission patches due to the same patch being cached twice 2020-12-07 17:54:08 -05:00
Jaime Ita Passos 5293c52bca Remove SHORT macros for referencing patch width/height/offsets 2020-11-22 20:02:47 -03:00
Jaime Passos b15bbd505c Merge branch 'next' into patch-stuff-again-2 2020-10-10 17:01:10 -03:00
Jaime Passos dcaad758f4 Improved memory management for patches 2020-09-07 02:23:07 -03:00
James R 3e8cf5ab06 Merge branch 'bt_spin' into 'next'
Replace all occurances of BT_USE with BT_SPIN (2.2!)

See merge request STJr/SRB2!982
2020-08-09 21:03:17 -04:00
James R 5153338bf5 Merge branch 'kill-dos' into 'next'
Remove support for DOS

See merge request STJr/SRB2!1090
2020-08-08 21:26:18 -04:00
Jaime Passos 91ed56ef40 Refactor patch loading 2020-08-08 05:16:47 -03:00
James R 1bdcb8d92f Merge branch 'titlecard-clowning' into 'next'
Stretch the fallback titlecard to the screen

See merge request STJr/SRB2!1019
2020-07-25 20:21:08 -04:00
Steel Titanium 0d48d4c833 WIP: Remove support for DOS
WIP because I don't know if this wording is right for the error.
2020-07-25 18:55:51 -04:00
GoldenTails 465ad1a7bc Replace all occurances of BT_USE with BT_SPIN (2.3?)
I'd use `next-major` but it doesn't exist lol
2020-07-11 21:59:54 -05:00
James R fbbfe3b3b1 Add back the int_none check
It got removed by 864e703355 but he forget how it
was before the hook was there. :(
2020-06-25 13:43:07 -07:00
James R 607a4dbee7 Remove caching of INTERSCW 2020-06-25 13:09:00 -07:00
James R 78e6bcc8ff Just stretch the fallback card to the screen resolution 2020-06-25 13:08:00 -07:00
James R 864e703355 Only fill the intermission with blapck if we can't draw patches
This fixes an issue where patches cease to be drawn due to Y_UnloadData, but
the screen is still overwritten, causing the next wipe to start from void.
2020-06-25 13:04:03 -07:00
James R 067d9b9a63 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-06-24 19:31:19 -07:00
SteelT bff6b19056 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
SwitchKaze b37c73b008 Make colors UINT16, increase color freeslots to 1024 2020-05-23 19:35:36 -05: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 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
sphere 0287c6956e Fix some errors and add some comments. Also, actnum is not an INT32. 2020-05-12 17:20:28 +02:00
Jaime Passos 38c74cecc0 Avoid a crash 2020-05-09 17:26:27 -03:00
Jaime Passos 39c5ab4e17 Merge remote-tracking branch 'origin/next' into gtr-fixes 2020-05-09 17:12:52 -03: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
Louis-Antoine e3cbdf8fab Use HAVE_BLUA as fuel for my fireplace 2020-03-19 18:36:14 +01: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
Jaime Passos 7d77600e71 Make exitmove friendly, don't start empty intermission screens 2020-02-29 01:51:45 -03:00
James R 7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos 181a366d4a Merge remote-tracking branch 'origin/next' into respawndelaygametyperule 2019-12-30 18:39:31 -03:00
James R fc8c0f8a9a Merge remote-tracking branch 'origin/master' into next 2019-12-30 13:16:53 -08:00
Jaime Passos 1f96f70173 Preparing for the inevitable gametype rule that will handle cooplives... 2019-12-27 17:08:20 -03:00
Jaime Passos cb0e14035b Intermission HUD hook for Lua 2019-12-18 18:09:56 -03:00
Jaime Passos 5f73d48614 Some sort of intermission tally support. 2019-12-18 17:13:05 -03:00
Jaime Passos e359f802fd Update comments 2019-12-17 16:14:26 -03:00
Jaime Passos 9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Steel Titanium d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
MascaraSnake a7884e479a Merge branch 'timeoverrings' into 'master'
Time Over rings (resolves #446).

Closes #446

See merge request STJr/SRB2Internal!596
2019-12-04 17:09:32 -05:00
toaster e8ac1c391c Make rings 0 in competition winner selection if you gamed or timed over, and use the MAXSCORE macro instead of a hardcoded value. 2019-12-04 17:32:47 +00:00
toaster f662ef9454 Fix emerald coordinate overflow in failed SS tally (resolves #421). 2019-11-30 20:02:51 +00:00
toaster 7ff616b26e Do a whole bunch of cleanup for mapvisited and intermission related things.
* Move the visitation flags, Record Attack/NiGHTS Attack data, and emblem checking to outside of Y_StartIntermission.
* Y_CleanupScreenBuffer never got called for maps which skip the intermission, leading to a small memory leak; this is now fixed by moving it to G_AfterIntermission.
* Y_FollowIntermission was just G_AfterIntermission with modeattacking specific behaviour, but this is desired for all places where G_AfterIntermission is called, so just merge this into G_AfterIntermission.

Notably, these changes are necessary because there are now three maps in the main SP campaign which do not end with traditional intermissions. As a result, this fixes an issue where Black Core's tracks are not available in the Sound Test (due to MV_BEATEN never being applied).

Also, since I was here: Remove "gotperfect" from recorddata_t. This is a duplicate of `mapvisited[gamemap-1] & MV_PERFECT` which uses more memory. I have kept the new spacing in the gamedata for compatibility with RC1 savedatas, but moved it across to the original method everywhere else.
2019-11-21 16:10:28 +00:00
toaster 8ce054a7c8 Align to base rather than top. 2019-11-17 15:55:22 +00:00
toaster 5909b85627 Fix overlapping on You Can Now Become Super Sonic screen. 2019-11-17 15:20:20 +00:00
toaster 76897b560f Update end tally and sound test to accomodate new title font. 2019-11-17 14:56:05 +00:00
Jaime Passos c6253bb6f9 Merge remote-tracking branch 'origin/master' into renderswitch 2019-11-12 20:25:40 -03:00
James R 7a770fa63c Lol it's the wrong union! 2019-11-07 16:22:25 -08:00
James R d9a54a6b61 Merge branch 'intermission-buffer' into 'master'
Restore the last gameplay frame while on the intermission screen

See merge request STJr/SRB2Internal!444
2019-11-07 17:53:36 -05:00
Jaime Passos 6d024b7124 I guess I'll have to do at least SOMETHING about OpenGL 2019-11-05 17:35:16 -03:00
Jaime Passos ed967f077c Restore the last gameplay frame while on the intermission screen 2019-11-05 17:04:57 -03:00
toaster df785e1651 * Add alternate numerical drawer for continues on Intermission screen if there's > 5.
* Tweak offsets on Continue screen numerical continue drawer to match.
2019-10-27 17:20:43 +00: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
Steel Titanium 9c33f160a6
Lots of changes
* Show emblem requirement on record attack menu
* Use bigger emblems on the menu.
* Display your best number of collected rings in yellow if reached perfect bonus.
* Adjusted XTRA frames (again)
2019-10-15 22:54:21 -04:00