Commit graph

214 commits

Author SHA1 Message Date
Steel Titanium
a501b7b00d Reorganize the switch block, add missing int_comp case 2021-04-07 00:55:08 -04:00
Steel Titanium
101b6e46d4 Even more bruhs 2021-04-05 22:56:03 -04:00
Steel Titanium
33b7075d46 bruh 2021-04-05 22:50:22 -04:00
Steel Titanium
35c0f8b5cc Correct function name comment 2021-04-05 22:44:16 -04:00
Steel Titanium
397fdef034 Load intermission patches in Y_LoadIntermisionData 2021-04-05 22:34:52 -04:00
James R
353692fa79 Merge remote-tracking branch 'origin/next' into hooklib-refactor 2020-12-16 08:43:49 -08:00
James R
93e4f43e4b Hooklib macros names -> uppercase + documentation 2020-12-12 03:16:30 -08:00
Zwip-Zwap Zapony
029e79024b V_DrawCroppedPatch Lua exposure and improvements
Separated X and Y scale, and added colormap argument
Added V_*SCALEPATCH and V_PERPLAYER flags support
Made sx,sy,w,h into fixed-point values
Exposed to Lua as "v.drawCropped(...)"
(Also fix HWR_DrawStretchyFixedPatch ignoring vscale without pscale)
2020-12-11 23:43:38 +01:00
James R
8d382e49fb Big Large Lua Hooklib Refactor
* Hooks are no longer a mess of lua boiler plate. Helper functions reduce hooks
  to, at the most basic level, only two calls.
* Lua tables (the array part) are used to index hooks. Such tables contain only
  hooks of the same type.
* Hook types are defined in one place so you no longer need to sync up the enum
  and name array.
2020-12-10 00:36:41 -08:00
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
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