Commit graph

122 commits

Author SHA1 Message Date
James R
a43436d469 Legacy GL: fix cliprect in top/left
- UV were not adjusted correctly when clipped in the
  top/left.
- Code is more plainly written.
2024-03-25 17:34:56 -07:00
James R.
afeba341c0 Remove translucenthud cvar, let V_HUDTRANS fade in like V_SLIDEIN
- V_HUDTRANS does not fade if combined with V_SLIDEIN
  (since sliding elements are not supposed to fade).
- If not V_SPLITSCREEN, uses most opaque fade value among
  splitscreen players (since Tally will fade back out for
  specific players).
2023-09-11 18:30:40 -07:00
James R
3a40352679 opengl: fix bottom and right edge of clip rect 2022-12-17 18:38:40 -08:00
James R
db062fd0bb OpenGL: clipping support for HWR_DrawStretchyFixedPatch 2022-12-11 17:45:15 -08:00
Sally Coolatta
b95a18676f Clipping rectangle
Instead of the absolute insanity that is V_DrawCroppedPatch, which makes you specify the number of pixels to crop off the top/left and then the number of pixels to show after the crop ... you just use V_SetClipRect to create a rectangle for any future draws to be cropped down to, and V_ClearClipRect afterwards to clear it.

Currently only supported by V_DrawStretchyFixedPatch. Ideally other drawing functions should also receive clipping rectangle support too.
2022-12-11 13:53:51 -05:00
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