Commit graph

117 commits

Author SHA1 Message Date
Sally Coolatta
29595f946b Add V_VFLIP
Ironman can now be shitty
2022-11-03 08:47:44 -04:00
Sally Coolatta
e202f244b9 Allow smaller flat sizes
With mobj scale, smaller flats are pretty reasonable to want to use. Fixes a visual bug in Endless Mine.
2022-09-23 15:25:42 -04:00
James R
08348fcd43 Merge remote-tracking branch 'srb2/next' 2021-04-05 01:26:17 -07:00
toaster
690244825b * Fixed blending in OpenGL.
* Caught a UDMF-only crash for Software (where linedef alpha is low but nonzero).
2021-04-03 19:29:06 +01:00
toaster
ebe38ff518 * Add a blend field to FOFs.
* Set via a fourth digit in the upper midtexture for transparent FOFs
        * For example - #2551 is additive solid, #1282 is subtractive half...
    * The original method of setting the upper midtexture to #900 or 901 still works, since I'm not out to break existing maps.
* Software: Remove the horrible `else if` ladder for FOF translucency. Algorithms, baby!
* OpenGL: Move to using `HWR_GetBlendModeFlag` in more places, for more long-term extensible support for multiple blendmodes.
2021-04-01 23:45:21 +01:00
toaster
40cbc30bff Mammoth commit, sorry.
All my work thus far on solving the drawflag/renderflag/additive/subtractive conundrum.

Outstandng problems:
* Bad additive/subtractive tables means that they appear opaque except under certain conditions.
* No support for FOFs, Polyobjects, or linedefs in OpenGL yet.
* All OpenGL support mostly done blind, may or may not function in practice.

If nothing else, the hard engineering problems are solved and it's just bug hammering...
2021-03-31 22:46:23 +01:00
Sally Coolatta
a93acd1958 Make it through OGL 2021-03-01 01:48:31 -05:00
Sally Coolatta
9d7ec0ab8f Merge SRB2 next
Probably doesn't compile yet, but I got rid of all of the conflicts for anyone who wants to take a stab at it.
2021-02-27 05:18:36 -05:00
Zwip-Zwap Zapony
603fa7da4e Fix OpenGL V_DrawCroppedPatch 2021-02-21 22:16:38 +01:00
Sryder
0d43c3e3ad Invert the screen for encore circle transition in OpenGL 2021-02-16 18:26:45 +00:00
Sryder
a06e4da65b Additive and subtractive for the HUD 2021-02-01 17:53:27 +00:00
Jaime Ita Passos
5b56c49e1f Fix a misuse of levelflat_t.picture in OpenGL (Kitchen Sink SRB2 port) 2020-12-14 02:07:12 -03:00
GoldenTails
01c9ae2377 Fix HWR_DrawCroppedPatch scaling a patch when cropping the top and left sides. 2020-12-06 12:01:31 -06:00
Jaime Ita Passos
490758eac2 Remove SHORT macros for referencing patch width/height/offsets 2020-11-22 20:02:47 -03:00
Jaime Passos
cdc4a6d86e Implement blend modes 2020-10-27 00:03:41 -03:00
Sally Coolatta
0dc21106e5 Lua stuff is done 2020-08-15 07:47:18 -04:00
Sally Coolatta
19016db338 Got through OGL 2020-08-15 06:20:22 -04:00
Sally Coolatta
873474ac87 Make it to s_sound 2020-08-15 01:54:45 -04:00
Sally Coolatta
1500d682d2 hu_stuff & y_inter 2020-08-14 01:06:55 -04:00
Sally Coolatta
f9ca40e673 Merge branch 'master' into the-scary-22-merge 2020-08-12 20:59:09 -04:00
Sally Coolatta
135e9b9797 f_finale now compiles 2020-08-11 23:13:25 -04:00
Sryder
67486dc0b6 Fix Simple opengl merge conflicts
hw_cache.c, hw_data.h, hw_defs.h, hw_dll.h, hw_draw.c, hw_drv.h, hw_glob.h, hw_md2.c, hw_md2.h, r_opengl.c
2020-08-10 17:39:34 +01:00
Sally Coolatta
e296e1309a YAY, round 2 2020-08-09 21:02:56 -04:00
Jaime Passos
a7f3dd7eff Refactor patch loading 2020-08-08 05:16:47 -03:00
Sally Coolatta
3d53adaa2b Sliding HUD
- Split HUD stuff into k_hud.c/h
- V_SPLITSCREEN replaces the old function that sets V_SPLITSCREEN/V_HORZSCREEN flags system, and instead automatically moves it based on player number
- V_SLIDEIN makes HUD items slide in after the intro animation.
2020-07-26 05:47:53 -04:00
Jaime Passos
615c7121ed gr_ -> gl_ 2020-07-06 01:15:08 -03:00
SteelT
dbd5198ac2 Merge branch 'marathonmode' into 'next'
MARATHON RUN

See merge request STJr/SRB2!941
2020-06-17 19:36:10 -04:00
Sryder
5cccff08aa Basic merge some of the easier HW files.
hw_main and hw_md2 still need merge.
hw_cache needs evaluating for encore mode.
2020-05-29 20:43:34 +01:00
Sally Coolatta
63917ffccc The start of the scary 2.2 merge
All conflicts are left in-tact. We should be collaborating on solving these files one at a time.
2020-05-29 13:43:38 -04:00
toaster
4c412d931a 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
James R
eb0ba37dce Merge remote-tracking branch 'origin/master' into HEAD 2020-04-24 22:10:59 -07:00
Jaime Passos
876d4cd02b Fix OpenGL 2020-03-17 15:23:13 -03:00
Jaime Passos
17f4ba7219 st_translucency went missing in here for... reasons... 2020-01-23 23:52:11 -03:00
Jaime Passos
2d4945d558 Update copyright text 2020-01-23 20:12:15 -03:00
Sally Cochenour
d2e3c832da Merge next 2020-01-07 07:35:39 -05:00
Sally Cochenour
add2497220 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
6976b9bf01 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
fickleheart
40e55921ef Fix kart HUD fadein 2019-12-01 12:38:05 -06:00
Jaime Passos
f37e0de8c5 stuff 2019-11-18 11:39:54 -03:00
MascaraSnake
d648a2ad87 Merge branch 'radiomode' into 'master'
Radio mode

See merge request STJr/SRB2Internal!443
2019-11-13 04:16:38 -05:00
Jaime Passos
845b82668b Merge remote-tracking branch 'origin/master' into renderswitch 2019-11-12 20:25:40 -03:00
Jaime Passos
c7c6a0d5b3 make hwrender compile 2019-11-08 22:58:41 -03:00
toaster
a8169e3844 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
398b320aec initial stuff 2019-09-08 18:27:35 -03:00
toaster
c1af18cf66 Fix HWR_DrawConsoleFill. 2019-08-04 10:27:09 +01:00
mazmazz
ae1632b7bf gcc7 compile fixes (Fall through; spr2 var comparison) 2019-08-03 23:01:10 -04:00
toaster
28409fd987 * 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
74c32c1b2b 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
Latapostrophe
53e6c360fd fix splitscreen, fix thok barriers, better fog settings 2019-06-24 10:39:16 +02:00
Latapostrophe
9b25b08026 Don't remap boosters and springpads in encore + no horizon line in GL 2019-06-14 12:18:44 +02:00