Commit graph

214 commits

Author SHA1 Message Date
TehRealSalt
ec23771ef7 Merge remote-tracking branch 'srb2public/next' 2018-06-04 16:58:35 -04:00
Monster Iestyn
892bed87d9 Merge branch 'opengl-bigmap-fix' into 'master'
OpenGL: Very large map rendering issue fixed

See merge request STJr/SRB2!249
2018-06-03 15:08:10 -04:00
Sryder
51606f675f Very large map rendering issue fixed
Move old fix for too large maps having rendering issues from R_CheckBBox to OpenGL's HWR_CheckBBox
From what I know, this effects at least Aerial Garden and Seraphic Skylands
2018-05-26 13:13:37 +01:00
Sryder
85aff6fa6b Fix FF_FULLBRIGHT not working in sectors with multiple light levels in OpenGL 2018-05-16 21:04:57 +01:00
TehRealSalt
8fe068ef46 Merge remote-tracking branch 'refs/remotes/srb2public/next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/m_misc.c
2018-04-07 18:43:59 -04:00
Sryder
347651ffb1 Uncomment HWR_CorrectSWTricks but set gr_correcttricks to be off by default
I wasn't aware of the cvar, this should do for now since I don't believe any maps use these software tricks, probably an old leftover from DOOM.
2018-03-30 23:12:44 +01:00
Sryder
8757f6b933 Warnings must die 2018-03-30 18:53:23 +01:00
Sryder
5981fb5efc Start with lightnum on sector lightlevel 2018-03-30 18:13:52 +01:00
Sryder
d27b10d5eb static tempsec for R_FakeFlat
I don't fully understand this, but it's what software does and it fixes the issue of the lighting in DSZ3. Also don't need the extra call to R_Prep3DFloors.
2018-03-29 23:28:54 +01:00
Sryder
fd64227e95 Stop squashing the screen vertically in non-green resolutions 2018-03-22 01:10:53 +00:00
Sryder
59c1488435 OpenGL Sprite Splitting 2018-03-22 00:52:14 +00:00
Sryder
38cdee2532 Transform sprites in world space rather than screen space
Transformation based on screen space would make sense if we didn't want anything in the world to effect the sprites.
This should allow sprite splitting and sorting of sprites with level geometry easier.
stransform is no longer needed.
2018-03-21 19:45:37 +00:00
Sryder
9502d87d86 Some fixes and updates for HWR_SplitWall
Solid walls *can* be cut
Fix issues with water and fog FOFs not cutting each other out correctly
Fix Fog colourmap and lighting setting that is done here.
Remove HWR_SplitFog

There is currently a bug with FF_DOUBLESHADOW (that also exists in software) but has a larger impact here. When 2 FF_DOUBLESHADOW lights are directly stacked on each other the bottom one has its height set incorrectly. This causes all the Fog in the timed gravity flipping section of ERZ2 to be drawn and it looks really bad.
2018-03-20 14:20:08 +00:00
Sryder
9c1bf9798a Revert "Fix screenshot functionality in fullscreen in SDL2"
This reverts commit 83d4f29367.

The reason I am reverting this is because the last commit actually fixes the *old* screenshot functionality, as the screen is being drawn back onto the buffer after they're swapped in the "real" size. Meaning the old function actually works perfectly fine now.
2018-03-18 18:33:53 +00:00
Sryder
4e40a810f7 Fix wipes in low resolutions 2018-03-18 17:12:12 +00:00
Sryder
8e18d804fe Draw the final screen texture in the centre with black bars
Only applies when the monitor aspect ratio is different to the game's aspect ratio.
2018-03-17 19:22:14 +00:00
Sryder
7df299d5e4 Match HWR_DrawCroppedPatch to V_DrawCroppedPatch 2018-03-17 13:58:44 +00:00
Sryder
8ed6d9c31c Add the full-screen drawfill functionality to HWR_DrawFixedPatch 2018-03-17 13:26:43 +00:00
Sryder
7308e391a9 Make HWR_DrawFill match V_DrawFill 2018-03-16 19:46:45 +00:00
Sryder
7812c55e57 Match HWR_DrawFixedPatch to V_DrawFixedPatch 2018-03-16 18:08:24 +00:00
Sryder
5c3f203d91 Translucent floors shouldn't write into the depth buffer 2018-03-15 23:59:01 +00:00
Sryder
0742655892 Better fog block colouring
They still aren't perfect, but now they are at least not quite so obviously just translucent polygons over the level. A mixture between partially modulating the background colours and adding the fog colour. Notably white fog blocks look like they're brightening what's behind them.
Additive was also setting noalphatest before, can probably decide that depending on what it needs anyway. I don't think it's currently used anyway.
2018-03-15 23:58:37 +00:00
Sryder
4114464930 Small hacky fix for MD2s and sprites until sorting for walls, floors, and sprites is done
Sorts all translucent sprites and MD2s so they're drawn after all the opaque ones. Fixes most of the observable issues between translucent MD2s and opaque sprites/MD2s.
2018-03-09 09:58:10 +00:00
Sryder
83d4f29367 Fix screenshot functionality in fullscreen in SDL2 2018-03-08 22:28:38 +00:00
Sryder
e6dff75aab Optimise the screen texture setup for SDL2, Post-processor, and wipes.
Only use glCopyTexImage2D when first creating the screen texture, use glCopyTexSubImage2D anytime after that as it does not define a new texture each time.
Flushing of the screen textures has been implemented for when the screen size changes (so that the screen textures don't stay at a wrong size) and the game is closed, I believe they would leave a memory leak before.
2018-03-07 22:55:21 +00:00
Sryder
954850b221 Decrease far clipping plane
The Far clipping plane did not need to be nearly as high as it was, the new value is 32768, which I suspect is about how far software can render before it completely falls apart.
It is desirable to increase the near clipping plane to between 6-10, but it can introduce more issues with close geometry not being drawn when the player or camera is scaled or viewheight is set to MIN in first person view. It would also stop sprites from being drawn ever so slightly too early, but this isn't too much of an issue and isn't too noticeable with those values. Might look into scaling near clipping plane in accordance to camera scale in the future.
The reason for wanting to increase the near clipping plane is because the small value can cause very noticeable Z-fighting where there shouldn't be on older GPU's, usually Intel ones, that don't support 24-bits for the depth buffer.
2018-03-07 00:39:33 +00:00
Sryder
254c53cb3d Merge branch 'master' of git@git.magicalgirl.moe:STJr/SRB2.git into openglquickfixes 2018-03-06 16:11:05 +00:00
Sryder13
58a6d59a5c Star colour support for MD2s 2018-02-05 02:11:17 +00:00
Sryder13
fe89ce941b Star colormap is decided to be used per mobj with mobj->colorize
Star creates afterimages that are colorized and fullbright
Star makes the player fullbright
2018-02-05 00:00:36 +00:00
TehRealSalt
7e9bcf5a49 Merge remote-tracking branch 'refs/remotes/srb2public/master' 2018-01-02 22:59:43 -05:00
TehRealSalt
e2b769529b Rendering fixes ahoy!
- Fix squished sky in Software 3P/4P
- Fix reversed sky in OpenGL Mirror Mode
- Fix MD2 culling in Mirror Mode
2017-12-29 14:50:16 -05:00
Alam Ed Arias
31027d1a2d MSVC: set SubSystem on DLLs to Windows 2017-12-27 19:32:38 -05:00
TehRealSalt
e62a473766 Merge remote-tracking branch 'srb2public/next' into quads
Update
2017-12-22 20:55:59 -05:00
TehRealSalt
94a42d1bf6 Unfinished V_HORZSCREEN revamp 2017-12-22 10:16:41 -05:00
TehRealSalt
349b27e0de Change splitscreen into UINT8, fix HUD slightly more 2017-12-18 20:59:04 -05:00
TehRealSalt
122eb82170 Merge remote-tracking branch 'refs/remotes/origin/battle' into quads
# Conflicts:
#	src/g_game.c
#	src/k_kart.c
2017-12-18 01:02:53 -05:00
TehRealSalt
d2425329ca HUD 2017-12-17 20:42:17 -05:00
TehRealSalt
654e5e482b Mess with camera distance stuff
Also fixed a bug where I made all of the screens in 3p/4p mode in OpenGL
too zoomed in
2017-12-17 17:01:19 -05:00
TehRealSalt
1f958091df OpenGL rendering 2017-12-17 16:33:21 -05:00
TehRealSalt
b6d86145a9 OGL Mirror Mode
Haven't tested a whole lot but it seems okay?
2017-12-12 17:31:25 -05:00
Wolfy
fb976ab26c more quad stuff 2017-12-11 00:12:38 -06:00
Sryder13
c9ddb7a4b5 Re-add lost player vibration frames
Separate sprites for fast moving frames
Rename some frames for a more sensible naming convention
2017-11-04 17:32:47 +00:00
Sryder13
81a077b9af New player frameangle used instead of mobj angle for players
Set to mobj angle except when spinning where it's set to spin
Only 1 spin frame needed now
2017-11-04 14:07:53 +00:00
Monster Iestyn
2b1fb67a5f DrawMD2i: change duration and tics to INT32, fix up any related code 2017-10-30 19:12:51 +00:00
Sryder13
bd55a295bd Skin colours for MD2s
This isn't amazing, until I implement something better (probably not until 2.2) it will have to do
2017-10-26 20:57:36 +01:00
Sryder13
8742b3b2d9 Star power translation tables
Redid the part that handled the regular kart translation tables too, now uses the new table created instead of the horror of what was there before
2017-10-26 20:04:05 +01:00
Monster Iestyn
0cc8fbdb4e Don't use interpolation code if the frame lasts instantaneously or infinitely
Also removed the + 1 from newtime, since there was never really any need for it. It just offset the interpolation so it went like (1 -> 2] instead of [1 -> 2), so you never saw the base appearance for each frame except at the end of any frames interpolating to it

Changed DrawMD2Ex's duration/tics type to INT32 so -1 comparisons work, probably want to change the signs elsewhere too but this is fine for now
2017-10-24 20:45:55 +01:00
TehRealSalt
5fe2f4928f Merge remote-tracking branch 'refs/remotes/srb2public/next' into zarrotsu
# Conflicts:
#	src/doomdef.h
#	src/sdl/i_main.c
#	src/sdl/i_video.c
#	src/y_inter.c
2017-10-17 15:53:34 -04:00
TehRealSalt
727d55b64e Merge remote-tracking branch 'refs/remotes/srb2public/public_flatsprite' into zarrotsu
# Conflicts:
#	src/doomdef.h
2017-10-17 00:40:38 -04:00
Wolfy
faf886885e Have Kart use kmd2.dat instead of md2.dat 2017-10-11 20:26:34 -05:00