Commit graph

197 commits

Author SHA1 Message Date
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
Steel Titanium
0f79396757
New intermission thinker hook 2019-10-13 20:50:46 -04:00
Jaime Passos
fe60902df5 Merge remote-tracking branch 'origin/master' into renderswitch 2019-09-27 22:53:57 -03:00
toaster
a3ea2274f4 Fix inconsistency between score tally screen and timerres cvar (Resolves #213). 2019-09-19 17:43:23 +01:00
toaster
ed5e8c486c Continue screen! With aaaaaall the new assets to go with it.
* https://cdn.discordapp.com/attachments/428262628893261828/621129794045870108/srb20077.gif
* https://cdn.discordapp.com/attachments/428262628893261828/621129785124585502/srb20078.gif
* I will be accepting no further questions at this time.
2019-09-11 00:50:51 +01:00
Jaime Passos
8057eeaaca Merge remote-tracking branch 'jimita/renderswitch' into renderswitch 2019-09-10 18:12:01 -03:00
Jaime Passos
0a973af5b8 Comments 2019-09-09 19:27:08 -03:00
Jaime Passos
da93e0f1f5 I am the CEO of renderers 2019-09-09 16:20:17 -03:00
Jaime Passos
725d0b4c44 still making things better 2019-09-08 21:37:24 -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
876f87e793 Have the ring bonus in MP Special Stages be based on the shared sum of all players'. 2019-08-02 23:56:25 +01:00
toaster
c4f0fdb783 Perfect bonus support for non-NiGHTS special stages 2019-08-02 22:52:53 +01:00
mazmazz
8afaaa80a1 lclear -> _clear typo 2019-03-15 03:15:20 -04:00
mazmazz
f163633591 Merge branch 'public_next' 2019-03-15 01:43:03 -04:00
mazmazz
6b93ca9221 Intermission: Don't fade out level music when using win32 midi volume hack 2019-03-15 01:26:13 -04:00
mazmazz
6cf05a4613 Implement MUSICINTERFADEOUT level header 2019-03-15 01:05:52 -04:00
mazmazz
4377386153 Merge branch 'public_next' 2019-03-15 00:33:06 -04:00
Steel Titanium
827461cc36 Support for per-map intermission music 2019-01-02 05:15:23 -05: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
Monster Iestyn
1b2aea81dc Merge branch 'master' into next 2018-11-25 20:39:17 +00:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -05:00
mazmazz
0af071dbca build errors 2018-11-20 20:23:48 -05:00
Monster Iestyn
224c0fccdb Merge branch 'public_next'
# Conflicts:
#	src/Makefile.cfg
#	src/d_clisrv.c
#	src/p_setup.c
#	src/r_segs.c
#	src/r_things.c
2018-11-20 14:33:10 +00:00
Monster Iestyn
66900c70ee Merge branch 'master' into next 2018-11-20 13:55:36 +00:00
Alam Ed Arias
4695841b8d fix format-truncation: need bigger string buffers 2018-11-14 16:50:52 -05:00
Monster Iestyn
feceaf6d30 Removed all code in Y_FollowIntermission that's already handled in G_AfterIntermission
Only real difference here is that CEcho messages will always be cleared when going to credits/evaluation, but that's hardly a loss tbh.
2018-10-11 21:25:15 +01:00
Monster Iestyn
31f3f8b8e7 Moved Y_EndGame from y_inter.c/h to g_game.c/h, renamed it to G_EndGame 2018-10-11 21:24:53 +01:00
Digiku
106afd48af Merge branch 'nights-score-lap' into 'master'
NiGHTS: Intermission Bonuses

See merge request STJr/SRB2Internal!159
2018-09-19 11:03:14 -04:00
Digiku
e3ecb61173 Nights intermission bonus y_inter.c: A comment 2018-09-19 10:53:11 -04:00
mazmazz
eb590910b2 Added NIGHTSLINK bonus type for the 2.1 Link Bonus 2018-09-09 01:13:02 -04:00
Monster Iestyn
a48326383c Merge branch 'master' into hud-cleaning
# Conflicts:
#	src/y_inter.c
2018-08-29 16:39:02 +01:00
Monster Iestyn
aa863e481e Add INFLIVES macro, to make it easier to find infinite lives-related code 2018-08-23 20:09:39 +01:00
mazmazz
d53582596f Preproc comment out Y_SetLinkBonus because unused 2018-08-14 10:20:56 -04:00
mazmazz
d8c565407c MaxBonusLives level header option for # of lives in score tally 2018-08-13 14:17:38 -04:00
mazmazz
d3001db9dc Merge from nights-score and use Lap Bonus instead of Link Bonus
* One BONUSTYPE = NIGHTS option instead of several
* Use NiGHTS Bonus for special stages, not Link Bonus
2018-08-12 20:56:57 -04:00
mazmazz
54343bc05f Change special stage bonus to NiGHTS in-level score, per MB 2018-08-12 20:36:53 -04:00
mazmazz
89f57cb111 Have just one NiGHTS bonus option: NIGHTS and LINK together 2018-08-12 20:25:35 -04:00
mazmazz
fcd6b16646 Make lap bonus more valuable 2018-08-12 20:08:40 -04:00
mazmazz
fe904b0eb2 NiGHTS lap score bonus 2018-08-12 19:48:45 -04:00
mazmazz
feadcbfc94 BONUSTYPE typo; bonus alignment 2018-08-12 19:32:11 -04:00
mazmazz
30d57eac79 NiGHTS bonus implementation 2018-08-12 19:25:21 -04:00
Monster Iestyn
55fd60b29b Merge branch 'master' into leveltitle-tinkering
# Conflicts:
#	src/hu_stuff.h
2018-08-10 20:03:59 +01:00
Monster Iestyn
dfb5f06d7e fix compiler errors (shadowed vars, comparisons between unsigned + signed, an unused function arg, and a non-static function with no prototype) 2018-07-02 21:03:04 +01:00
Monster Iestyn
fe6b47dc00 Merge branch 'master' into leveltitle-tinkering
# Conflicts:
#	src/hu_stuff.h
#	src/st_stuff.c
2018-06-14 21:26:44 +01:00
toaster
a7c6977b6e * Make bomb spheres respawn with new laps
* Make the mapthing detection for stuff to be spawned by P_SpawnHoopsAndRings more consistent.
* Make NiGHTS stuff prevent perfect bonus.
2018-06-08 17:16:20 +01:00
toaster
13053bd1ba FINAL CHANGE, I PROMISE, I THINK
* MainCfg property smpstage_start - controls the special stage multiplayer games go to.
2018-06-06 16:07:14 +01:00
toaster
5032ae2552 * Patch.pk3 as requested by literally everyone else on the team.
* Enable SECTORSPECIALAFTERTHINK since we probably really want to use that sloped lava wave in RVZ.
* Allow for infinite lives to be set via the setlives command/Pandora's Box.
* Refactor P_DoFiring(), with guidance from Sal.
* Correct the CRAWLA HONCHO\nCAN NOW BECOME\nSUPER CRAWLA HONCHO sliding movement in non-green resolutions.
2018-06-06 14:42:50 +01:00
toaster
3725203bcd Bit of a random one today, but the branch approaches completion...
* Bomb sphere! Paraloopable hazard. Replaces MT_SPECIALSPIKEBALL.
* Blueberry bushes, both normal and Xmas, from patch.dta.
* BSZ tulips, also from patch.dta!
* Frozen Hillside badniks - Penguinator and Pophat.
* Frozen Hillside ice decoration!
* Fixed some big bugs with the DSZ light beams.
* Made multi-mare special stages work, in a troll way - the Chaos Emerald disappears in a puff of smoke, and the Spinbobert laughter sound plays... >:3c
* Reverted the mobjtype number changes from the source SOC/Lua, which we can do later when doing a final pass of the levels.
* State optimisation.
* Serious cruft-removal of the NiGHTS drone thinker.
* Fix the issues where the player wouldn't curl into jump in waterslides or dropping off rope-hangs.
* Tweak NiGHTS player flashing.
* Add text colour support to the titlecard font.
* Use that to make the PRESS SPIN\nMID-JUMP thing when you get all Chaos Emeralds use the titlecard font for readability.
* Fix the GOT ALL EMERALDS page not lasting the correct, extended amount of time.
* Fix that thing where flying mid-spin didn't enact autobrake.
* Modify graymap a little on Sryder's suggestion.
* [COMPLETELY UNRELATED] fix that thing where the addons menu will fail on files/paths with spaces in [/COMPLETELY UNRELATED]
2018-06-05 17:22:28 +01:00
toaster
6e07631cc9 MONSTER COMMIT.
OLD SPECIAL STAGES:
* Spheres in old special stages instead of rings!
* Individual timers in old special stages instead of a global one!
* Old special stages use a variant of the NiGHTS HUD now!
* Special stage damage in old special stages loses 5 seconds of time instead of 10 rings/spheres!
* All damage gained through old special stages is converted to special stage damage! As a consequence, the special spikeball has no need to be special anymore.
* Made emerald gaining function be based on special stage number rather than gained emeralds!
* Consistency with...

NiGHTS SPECIAL STAGES:
* Spheres now flash in bonus time. https://cdn.discordapp.com/attachments/400761370800422922/452590553100713984/srb20032.gif
* Sphere and ring mapthingnums are now less fucked up in 'em. (Rings are 300, same as usual, while Spheres are now 1706 replacing NiGHTS Wings.)

SPECIAL STAGES IN GENERAL:
* useNightsSS is now dead. Each individual special stage is now assessed for NiGHTS-mode behaviour based on maptol & TOL_NIGHTS.
* CRAWLA HONCHO\n CAN NOW BE\n SUPER CRAWLA HONCHO end tally modification now also includes a mini-tutorial on turning super. https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif
* SONIC GOT A CHAOS EMERALD? https://cdn.discordapp.com/attachments/400761370800422922/452623869497573386/srb20034.gif

NiGHTS NON-SPECIAL STAGES:
* Colour Chips and Star Chips! Replaces Spheres and Rings of NiGHTS Special Stages.
* Colour Chips turn yellow in bonus time.
* Ideya!
* Its own "drowning" music!
* All of the object types for Dream Hill.
* GIF: https://cdn.discordapp.com/attachments/400761370800422922/452844894113759233/srb20036.gif

RANDOM BS:
* Turn super with the spin button instead of the jump button!
* Followmobj now correctly set with P_SetTarget instead of pointer assignment.
* Emerald hunt uses new sprites!
* Made unlock noise different from emblem gain noise! (It's the CRAWLA HONCHO CAN NOW TURN yadda yadda sound from S3K now.)
2018-06-03 22:41:54 +01:00
toasterbabe
15903c6271 * Correct V_PERPLAYER's screen-centered (no snapto flags on a given axis) behaviour.
* Fix that one comment Digiku mentioned. ;P
* Make extra lives/100 ring rewards consistent between lives being relevant and lives being infinite/not present, which was a problem this branch made evident when Race ended up getting the infinite lives symbol!
2018-04-06 14:42:49 +01:00
toasterbabe
0fbebcaa08 Make special stage tallies do the token noise if you cash in a token! 2018-03-30 22:03:14 +01:00
toasterbabe
7885ae57e2 * Allow for V_ flag control for hudinfo SOC/Lua stuff through hudinfo[n].f (for flags).
* Fix Old Special Stage offsets.
* Fix drowning number offsets.
* Remove useless "WS" macros.
2018-03-19 23:08:51 +00:00
Monster Iestyn
80e18ecb7e Cache all the act number graphicss at game startup rather than at every start/end of a level
I also added a few helpful functions for drawing the act numbers themselves
2018-02-22 21:49:36 +00:00
toasterbabe
ab0296d1c1 Added a failure animation if you don't get the emerald. https://cdn.discordapp.com/attachments/402861856219463681/405477752972509185/srb20004.gif 2018-01-23 23:13:56 +00:00
toasterbabe
dd3b39089f * Improve the rendering of emerald coinboxes.
* Make emeralds fall onto the end tally. https://cdn.discordapp.com/attachments/400761370800422922/405122775272128512/srb20003.gif
2018-01-22 23:29:57 +00:00
toasterbabe
2141754e54 V_PERPLAYER. (Hooh boy.)
* Completely redid how splitscreen works, with eventual support for quads. Squish per-player stuff automatically into the right places! Works in GL, associated flag kills V_SPLITSCREEN.
* Seriously update the lives-drawing function for all gametypes, with strings that replace the lives number whenever it's missing (deprecates SKINNAMEPADDING).
* Improved how the nosshack works, alongside many other refactorings.
2018-01-20 22:14:24 +00:00
toasterbabe
e63c1d15d8 * Show an emerald token box on the tally screen.
* Change the horizontal spacing of the emeralds on the special stage tally screen.
* (unrelated) Fix a reference to srb2.srb instead of the now-correct srb2.pk3.
2017-11-17 23:02:34 +00:00
toasterbabe
2a42291b30 Merge branch 'master' of http://git.magicalgirl.moe/STJr/SRB2Internal.git into demo_shit
# Conflicts:
#	src/d_netcmd.c
2017-11-02 20:39:07 +00:00