Commit graph

204 commits

Author SHA1 Message Date
Jaime Passos
78cc4a78d0 Refactor renderer switching 2020-08-14 22:27:16 -03:00
Jaime Passos
91ed56ef40 Refactor patch loading 2020-08-08 05:16:47 -03: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
Monster Iestyn
7e562a3ca5 Merge branch 'master' into next 2020-06-06 20:35:48 +01:00
Monster Iestyn
5349a0bf62 V_Init: count to NUMSCREENS, not NUMSCREENS+1 (though I can't help thinking this one might have been deliberate somehow?) 2020-06-03 20:47:49 +01: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
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
sphere
c55d6dbc9f Make showfps save to config, and add a compact option. 2020-05-08 15:40:50 +02: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
Steel Titanium
76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
62d943b609 Merge branch 'thin-fixed' into 'next'
Add more strings (and respective functions) for v.drawString().

See merge request STJr/SRB2!770
2020-02-20 19:27:01 -05:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
Jaime Passos
00bdb41640 Merge remote-tracking branch 'origin/master' into sal-oglshaderport 2020-02-17 12:28:16 -03:00
GoldenTails
fe17933156 Make V_DrawCenteredSmallThinString() a less precise wrapper for V_DrawCenteredSmallThinStringAtFixed() for new "small-thin-center" option in v.drawString() 2020-02-01 11:01:39 -06:00
GoldenTails
7d9f138160 Make V_DrawRightAlignedSmallThinString() a less precise wrapper for V_DrawRightAlignedSmallThinStringAtFixed() for new "small-thin-right" option in v.drawString() 2020-02-01 11:01:22 -06:00
GoldenTails
b2b4c4c79e Create V_DrawCenteredSmallThinStringAtFixed() for new "small-thin-fixed-center" option in v.drawString()
Thankfully "center" is just "right" but with the X offset divided by 2.
2020-02-01 11:01:03 -06:00
GoldenTails
4cbcb68795 Create V_DrawRightAlignedSmallThinStringAtFixed() for new "small-thin-fixed-right" option in v.drawString()
You guys have no idea how long this took to code.
2020-02-01 11:00:45 -06:00
GoldenTails
c858d9fd4d Make V_DrawSmallThinString() a less precise wrapper for V_DrawSmallThinStringAtFixed() to fix rounding errors. 2020-02-01 11:00:24 -06:00
GoldenTails
75d94c6c1a Create V_DrawSmallThinStringAtFixed() for new "small-thin-fixed" option in v.drawString()
I removed the limitation present in "small-thin" by converting all relevant variables to fixed_t's and using FixedMul() and FixedDiv() when necessary. Who'da thunk it would actually work?
2020-02-01 11:00:02 -06:00
GoldenTails
a216736ef4 Create V_DrawCenteredSmallStringAtFixed() for new "small-fixed-center" option in v.drawString() 2020-02-01 10:59:38 -06:00
GoldenTails
5f56d19a43 Create V_DrawRightAlignedSmallStringAtFixed() for new "small-fixed-right" option in v.drawString() 2020-02-01 10:59:21 -06:00
GoldenTails
f7085fc171 Create V_DrawCenteredThinStringAtFixed() for new "thin-fixed-center" option in v.drawString() 2020-02-01 10:58:55 -06:00
GoldenTails
cb5c90fc40 Create V_DrawRightAlignedThinStringAtFixed() for new "thin-fixed-right" option in v.drawString()
These function names are starting to become rediculous...
2020-02-01 10:55:54 -06:00
GoldenTails
d147a50e9b remove large commented broken version of V_DrawSmallThinString() lol 2020-02-01 10:54:10 -06:00
GoldenTails
6527b5d16b Create V_DrawSmallThinString() for new "small-thin" option in v.drawString()
Note this has some major limitations to prevent squished text. It defaults to using V_MONOSPACE|V_OLDSPACING and you cannot change the size of characters. V_6WIDTHSPACE seems to act exactly the same as V_OLDSPACING too.
2020-02-01 10:53:06 -06:00
GoldenTails
9f50b6ef73 Create V_DrawCenteredStringAtFixed() for new "fixed-center" option in v.drawString() 2020-02-01 10:51:43 -06:00
GoldenTails
dc1871a74f Create V_DrawRightAlignedStringAtFixed() for new "fixed-right" option in v.drawString() 2020-02-01 10:50:57 -06:00
GoldenTails
426ccc9203 Create V_DrawCenteredThinString() for new "thin-center" option in v.drawString() 2020-02-01 10:50:50 -06:00
GoldenTails
df15ad82d2 Create V_DrawCenteredSmallString() for new "small-center" option in v.drawString() 2020-02-01 10:50:46 -06:00
GoldenTails
37cef69c95 Add V_COLORMAP support for small-fixed and thin-fixed text. 2020-02-01 10:46:26 -06:00
GoldenTails
63721b99cf Create V_DrawSmallStringAtFixed() for new "small-fixed" option in v.drawString() 2020-02-01 10:43:04 -06:00
GoldenTails
93b64a8d7d Create V_DrawThinStringAtFixed() for new "thin-fixed" option in v.drawString() 2020-02-01 10:42:15 -06:00
Jaime Passos
636093a59d Fix color LUT using the wrong palette 2020-01-27 13:55:13 -03:00
Sally Cochenour
ca5b56181b Merge next 2020-01-07 07:35:39 -05:00
Sally Cochenour
da3d5a0184 Merge next 2019-12-25 14:41:31 -05:00
Sally Cochenour
7851bef929 Port of Jimita's shader stuff + my lighting shader
Co-Authored-By: Jaime Passos <jimita@users.noreply.github.com>
2019-12-25 14:22:01 -05:00
Jaime Passos
03a3b02301 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-25 05:43:46 -03:00
Jaime Passos
cc54163210 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-17 16:12:44 -03:00
Jaime Passos
c3f0e6aa44 Avoid recreating the color LUT mid-recording-frame 2019-12-17 15:37:43 -03:00
Jaime Passos
3d08664de4 Merge remote-tracking branch 'sonicteamjuniorheadquarters/master' into gl_gifs 2019-12-17 15:14:22 -03:00
James R
2a22adaa60 Oops C90 2019-12-14 12:55:11 -08:00
Jaime Passos
b0ffe7ed70 Update v_video.c 2019-12-12 23:30:09 -03:00
Jaime Passos
4e814cd424 FINALLY, COLORCUBIUM 2019-12-12 23:18:39 -03:00
Jaime Passos
bf520b9e33 Please, for the love of God, Jesus and Bastet, ADD EVERY OPENGL COMMAND REGARDLESS OF THE FREAKING RENDERER!!!!!!!!!!!!!!!!!!!!!!!!!!! 2019-12-12 17:30:19 -03:00
Jaime Passos
c578cee0b1 Merge remote-tracking branch 'sonicteamjuniorheadquarters/master' into gl_gifs 2019-12-12 01:39:46 -03:00