Commit graph

247 commits

Author SHA1 Message Date
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
Jaime Passos
9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Jaime Passos
c6769e7220 Die 2019-12-08 22:12:56 -03:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05:00
toaster
b2e9e8fb18 Fix V_WordWrap and the new additional text colour codes. 2019-12-05 19:43:37 +00:00
lachwright
be3d7b7dcd - Remove y coordinate from struct for credits_pics
- Update x coordinates for credits_pics entries
- Reorder credits_pics entries (what even was the previous order lol)
- Add zig zag graphics to credits roll
- Attempt to scale the y positions of credits graphics with the length of the credits roll
- New escape character for credits entries: \2, which centers the text and makes it yellow
- Add support for colored text to V_DrawStringAtFixed
2019-12-02 22:24:05 +08:00
toaster
ef556ca6d5 Fix Continue sprites not working for custom characters (incorrect SPR2_XTRA bounds check).
Also, change all the references to XTRA_ constants to consistently check for > its value, instead of >= its value plus one (or that there's any frames at all) - for extra clarity/consistency, and capacity for re-ordering later.
2019-11-25 18:52:38 +00:00
toaster
82843fc78e Fix Tutorial prompt being incorrect size in GL (resolves #349). 2019-11-25 00:08:38 +00:00
Jaime Passos
e850d42bc2 fix RA fade 2019-11-23 18:15:09 -03:00
Jaime Passos
aa659836ee Merge remote-tracking branch 'origin/master' into titlecards 2019-11-18 17:55:47 -03:00
Jaime Passos
6c98dde736 stuff 2019-11-18 11:39:54 -03:00
Nev3r
5dc494da16
Mapname lowercase support (#146)
*  Moved levelname parsing to before where uppercase conversion occurs.
*  Extended titlecard font range.
*  Replaced misc. "ZONE" strings with "Zone" for titlecard purposes.
*  Don't convert to uppercase when rendering the titlecard name.


Signed-off-by: Nev3r <apophycens@gmail.com>
2019-11-16 20:36:25 -05:00
MascaraSnake
8f6890025c Merge branch 'secretstuff' into 'master'
The letter

See merge request STJr/SRB2Internal!438
2019-11-14 17:49:23 -05:00
MascaraSnake
d591554a5d Merge branch 'radiomode' into 'master'
Radio mode

See merge request STJr/SRB2Internal!443
2019-11-13 04:16:38 -05:00
Jaime Passos
c6253bb6f9 Merge remote-tracking branch 'origin/master' into renderswitch 2019-11-12 20:25:40 -03:00
Jaime Passos
6e0ff4a4a4 Recreate the CLUT when the palette changes 2019-11-11 00:08:38 -03:00
Jaime Passos
d467d2b229 GIF recording 2019-11-10 00:21:48 -03:00
toaster
5f8671b100 Sound test is cool now!
https://cdn.discordapp.com/attachments/405336003239477249/641295998395613224/srb20042.gif

* Port MUSICDEFs from Kart.
    * Safe to modify without modifying game, so we can put it in music.dta eventually.
    * "Title", "AltTitle", "Authors" fields are self-evident.
    * "Soundtestpage" and "Soundtestcond" are used to determine which sound test unlockable can play them (set with Unlockable's variable, just like Level Select).
    * "Stoppingtime" and "BPM" both accept floats, and are used for presentation stuff on the sound test.
    * Ironically, we don't share a single field name with them. Such is the case of differing foci, though, and I expect they'll change their implementation to match (since this is necessary for a sound test).
* Change how S_AddSoundFx works to avoid iterating through all of them, and to allow cv_soundtest to only scroll through defined slots (instead of the infinite wall of thok sounds when scrolling to the left).
* Change V_DrawFixedPatch to allow scaling on two seperate axes.
    * Now called "V_DrawStretchyFixedPatch".
    * "V_DrawFixedPatch" is a macro to V_DrawStretchyFixedPatch now (same scale on both axes).
    * Available to Lua under v.drawStretched!
    * Even works in GL!
* Bugfix: Add SR_PLAYER to SOC's menutypes_list.

Stay tuned for the merge request, where I put the onus on the Music Team to finish this off...
2019-11-05 16:23:46 +00:00
Jaime Passos
8ac49d8855 add gr_modelinterpolation 2019-11-04 12:21:53 -03:00
toaster
915e50a1e4 Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal.git into internal-md3-vanilla-c
Merge seems fine, but won't compile for some reason.
2019-11-02 18:34:12 +00:00
toaster
67f5b2245f Secret stuff. (I intend to keep candid discussion of this outside of any commits; you'll see me write up a comment describing what's going on here soon.) 2019-11-01 15:48:50 +00:00
toaster
bf761a26d6 * Implement fixes/tweaks as written on the gitlab.
* `SPR2_NTAG` last vestiges removal.
    * Removed need for `getskinfromdescription()` by calculating it once, at Menu load, and storing in `description_t`.
    * Fixed nametag colour issues.
    * Support widescreen with nametags.

* Fix a metric SHITTON of compiler errors.
    * Redefining `x` and `y` within scope of previous `x` and `y` (`M_DrawSetupChoosePlayerMenu`)
    * GCC straight up will not let you cast a `const char*` to a `char` (`V_DrawNameTag`)
    * Redefining `lines` within the scope of the global.
    * Redefining `string` within the function-specific `string`.
    * It would be recommended for y'alls to turn ERRORMODE on!
2019-10-19 18:15:54 +01: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
Jaime Passos
edd016690d A bunch of stuff 2019-10-14 02:24:44 -03:00
Steel Titanium
9e9a40cadb
Merge branch 'master' into newmenus 2019-10-13 20:12:48 -04:00
Steel Titanium
cb228c4938
Undo this 2019-10-13 20:12:28 -04:00
Steel Titanium
25971de368
Attempt to fix the offset issues.
Better than the previous commit, but not quite there yet.
2019-10-10 15:50:06 -04:00
Steel Titanium
4af432e658
Basic outline color support.
This is a huge hack as it requires another font set, with each character's offset manually being set using SLADE.
2019-10-10 02:00:52 -04:00
Steel Titanium
18bf8aa6e4
WIP: New character select name font 2019-10-09 00:28:01 -04:00
Jaime Passos
7746767735 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-10-06 17:40:41 -03:00
Steel Titanium
6b10ffb88f
Merge branch 'master' into newmenus 2019-10-01 16:52:31 -04:00
Jaime Passos
fe60902df5 Merge remote-tracking branch 'origin/master' into renderswitch 2019-09-27 22:53:57 -03:00
Jaime Passos
5f6c702ed6 sky barreling 2019-09-17 23:38:04 -03:00
Alam Ed Arias
35e3d9acab Revert "Merge branch 'gl_skydome' into 'master'"
This reverts merge request !326
2019-09-17 20:20:09 +00:00
Nev3r
777e7f8760 Merge branch 'deathstuff' into 'master'
Lots of death stuff

Closes #207

See merge request STJr/SRB2Internal!306
2019-09-16 16:32:45 -04:00
Jaime Passos
db979845e0 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-09-15 16:24:24 -03:00
Jaime Passos
4e1791bbf4 Merge branch 'croppedpatchbleed' into 'master'
Fix the V_DrawCroppedPatch bleeding on the current charsel screen.

See merge request STJr/SRB2Internal!311
2019-09-15 12:37:46 -04:00
Jaime Passos
f2915817a7 Merge remote-tracking branch 'origin/master' into newmenus 2019-09-11 22:17:42 -03: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
fec579db8c Merge remote-tracking branch 'origin/master' into gl_skydome 2019-09-10 19:20:20 -03:00
Jaime Passos
2863ede7bf initial stuff 2019-09-08 18:27:35 -03:00
mazmazz
7780de9edc Merge remote-tracking branch 'origin/master' into newmenus 2019-09-07 22:25:47 -04:00
toaster
5640aa955a Fix the V_DrawCroppedPatch bleeding on the current charsel screen. 2019-09-07 12:07:29 +01:00
Jaime Passos
f6d2b5109b PRBoom sky dome 2019-09-03 02:12:17 -03:00
Jaime Passos
c21d83e8af Sprite2 support! 2019-09-02 23:29:16 -03:00
James R
c6c0a9dd1a Old string drawing functions are dumb 2019-08-20 16:33:39 -07:00
Jaime Passos
41d5ffa17f Fix OpenGL renderer crash with -skipintro command line parameter. 2019-08-20 20:21:53 -03:00
mazmazz
84c9633579 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-08-04 21:33:13 -04:00
toaster
48e09d56bf Fix HWR_DrawConsoleFill. 2019-08-04 10:27:09 +01:00
mazmazz
d4f6a145f1 Fix HWR_DrawConsoleFill call extra input 2019-08-04 01:33:15 -04:00
toaster
384533165c * Fix crash error in GL.
* Re-enable the perplayer stuff in V_DrawFadeFill - not worth having it disabled when it'll just have to be re-enabled later.
* Remove some "consistency with software" stuff in hw_draw.c that already has equivalents
2019-07-28 17:47:57 +01:00
toaster
063e350c63 A good and bad ending cutscene now exist.
Also:
* SPR2_XTRA - instead of defining lumpnames in S_SKIN, those kinds of assets can just be bundled into the spriteset. Required for ending cutscene stuff, I guess, but also done for HUD life icon and character select image (aside from Sonic&Tails, still SOC'd in).
* Minor oversights in SPR2 support corrected.
* Better evaluation, featuring ending assets.
* Intro has warping-in blackrock, reusing ending assets.
* Cutscene text now supports lowercase (intro and custom).
* Disable the asset-fucking "gamma correction" I put in over two years ago when implementing colour cube. (This is the only thing I could move into another branch if you MUST, but it's basically invisble in the diff so w/e.)
* Don't blank the screen if the top left pixel of a screen-covering patch is transparent. (Checked via nonzero topdelta for first column)

Bugs:
* OPENGL ONLY: The first ~20 frames of both endings are fucked. A little help here? Might be HWR_DrawFadeFill's fault, which I just created. OR it could be in f_finale, but I doubt it, since it doesn't appear in Software.
2019-07-28 00:32:57 +01:00
mazmazz
dc0a92ea62 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla 2019-06-29 17:51:30 -04:00
Steel Titanium
251494c3c8 Fix console back color not being correct.
This also adds support for using such colors in a text prompt
2019-06-26 22:08:17 -04:00
Monster Iestyn
66bc287688 Merge branch 'public_next' 2019-05-16 15:58:17 +01:00
mazmazz
f30d91ee75 Merge remote-tracking branch 'public-gl/md3-vanilla' into md3-vanilla 2019-05-08 17:59:49 -04:00
mazmazz
6d803decb6 Merge remote-tracking branch 'public-gl/master' into md3-vanilla 2019-05-08 17:56:05 -04:00
Sryder
8273534967 Add a cvar for sprite billboarding, off by default. 2019-05-06 16:57:32 +01:00