Commit graph

482 commits

Author SHA1 Message Date
Jaime Passos
f4a976f3be Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-20 16:53:41 -03:00
James R
94a2f0bb4f Don't draw Tails' tails in first person (MF2_LINKDRAW) 2020-01-17 20:56:32 -08:00
James R
762223db7c Duplicated code is gone, so sad 2020-01-17 20:53:36 -08:00
fickleheart
7bd9344dd0 I think this fixes the compile errors 2020-01-17 21:55:16 -06:00
Sally Cochenour
a12d6885a3 Merge branch 'gl-dropshadows' into oglshaderport 2020-01-17 22:29:31 -05:00
Sally Cochenour
43828f265c Use shadow cvar 2020-01-17 22:20:04 -05:00
fickleheart
84329fcd26 OGL can have little a viewroll 2020-01-17 19:01:45 -06:00
Sally Cochenour
56f96674b0 Slope contrast
Off by default
2020-01-16 16:45:49 -05:00
Sally Cochenour
e5215e929c Merge branch 'gl-dropshadows' into oglshaderport 2020-01-16 14:55:55 -05:00
Sally Cochenour
4e481340ce OpenGL shadows 2020-01-16 12:37:32 -05:00
James R
542e38e717 Don't draw player mobj in first person
This solves that annoying albeit slightly amusing bug
where your sprite clips into your view during a quake.

For OpenGL, this also solves the player's model
rendering while in first person. So you'll no
longer be looking through Sonic's body!
2020-01-16 03:18:05 -08:00
Monster Iestyn
c7ab065b0a Merge branch 'master' into next 2020-01-11 18:38:09 +00:00
Sally Cochenour
5fac6f542e Merge branch 'namirays' into oglshaderport 2020-01-11 09:32:59 -05:00
MascaraSnake
023624ebb7 Merge branch 'minor-ogl-improvements' into 'next'
Minor OpenGL improvements

See merge request STJr/SRB2!661
2020-01-10 13:32:37 -05:00
Jaime Passos
c1acdfe52e Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-10 04:11:26 -03:00
James R
5c60f8b529 Merge branch 'software-fov' into 'master'
Software FOV

See merge request STJr/SRB2!662
2020-01-10 00:33:24 -05:00
Sally Cochenour
487e1b02f1 Remove smooth setting
It got denied before for Software so I won't include it in the merge request :(
2020-01-09 01:28:14 -05:00
James R
66cf1be0d8 Don't clip player MD2 either! 2020-01-08 20:52:34 -08:00
toaster
0b1108425d Hexafaceted sprite angle support (See merge request description coming soon).
Also, some minor memory efficiency fixes to both rotsprite and ordinary sprite rotations.
2020-01-08 20:49:14 +00:00
Sally Cochenour
d49cd9755b Fullbright transparent planes
(I disagree with this feature so hard but w/e)

(cherry picked from commit fe809b2734)
2020-01-08 13:13:07 -05:00
Sally Cochenour
65a02b0f8f Increase precision of smooth contrast
(cherry picked from commit 4c6664292e)
2020-01-08 13:12:15 -05:00
Sally Cochenour
ac365a0c81 Fake contrast 2020-01-08 13:11:53 -05:00
Sally Cochenour
fe809b2734 Fullbright transparent planes
(I disagree with this feature so hard but w/e)
2020-01-08 04:10:23 -05:00
Sally Cochenour
7d8ff43019 Basic fog shader
HWR_FogBlockAlpha is still very inaccurate, which gives different results than Software even with the shader, but it's a start
2020-01-07 20:55:36 -05:00
Jaime Passos
5a2ad5c2f3 Merge remote-tracking branch 'origin/next' into pictureformats 2020-01-07 16:10:25 -03:00
Jaime Passos
1358507785 Fix OpenGL 2020-01-07 14:07:14 -03:00
Sally Cochenour
ca5b56181b Merge next 2020-01-07 07:35:39 -05:00
Jaime Passos
a1af6b9134 Picture formats test 2020-01-06 18:22:23 -03:00
Alam Ed Arias
21c224fce0 idented hell 2020-01-06 09:58:05 -05:00
MascaraSnake
759b1c82e2 Add missing glseg checks (and remove a superfluous one) 2020-01-06 14:40:59 +01:00
fickleheart
8bc58807aa Software FOV ported from kart
also fixes high software FOVs having buggy walls
2019-12-31 11:22:05 -06:00
James R
fc8c0f8a9a Merge remote-tracking branch 'origin/master' into next 2019-12-30 13:16:53 -08:00
Nev3r
389b9e35c4 Add XNOD, XGLN and XGL3 BSP formats recognition and support. 2019-12-29 14:17:51 +01:00
Sally Cochenour
a66fb15ff2 Merge branch 'next' into oglshaderport 2019-12-28 13:58:41 -05:00
Jaime Passos
56fd29a42a stuff 2019-12-26 21:27:30 -03:00
Sally Cochenour
4c6664292e Increase precision of smooth contrast 2019-12-25 22:50:41 -05:00
Sally Cochenour
3eb6570123 Fake contrast 2019-12-25 20:09: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
cc54163210 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-17 16:12:44 -03:00
Jaime Passos
228b29e23b HWR_AllowModel 2019-12-12 22:53:19 -03:00
Jaime Passos
01399c7076 Update hw_main.c 2019-12-12 21:52:59 -03:00
Jaime Passos
3bebfb279e Fix gr_anisotropicmode 2019-12-12 18:28:05 -03:00
Jaime Passos
58a08504c8 Make gr_spritebillboarding on by default sorry not sorry Azeon 2019-12-12 17:48:43 -03:00
Jaime Passos
a4b0195430 Model lighting 2019-12-12 17:48:29 -03:00
Jaime Passos
f077d17301 Save filtering mode and anisotropic mode cvars to config 2019-12-12 17:37:55 -03:00
Jaime Passos
db61d1a705 Remove HWR_AddEngineCommands 2019-12-12 17:35:41 -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
08e3caf9bb Remove unused cvars 2019-12-12 16:53:31 -03:00
Jaime Passos
9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Jaime Passos
d8a804febc LMFAOOOOOOOOOOOOOOOOOOOOOOOO 2019-12-08 04:15:25 -03:00
Jaime Passos
cc12496e9c Optimize mipmaps 2019-12-08 03:23:37 -03:00
Jaime Passos
ce61b17117 Update hw_main.c 2019-12-08 02:27:51 -03:00
Jaime Passos
40b862967d Just in case? 2019-12-07 23:55:28 -03:00
toaster
95ed442d55 Prevent Knuckles latching onto horizon special linedefs.
Also, update all references to the horizon special to use a #defined constant instead of a magic number.
2019-11-23 14:20:41 +00:00
Jaime Passos
1e4060af8c remove unused levelwipes 2019-11-18 19:22:46 -03:00
Jaime Passos
8a05afa1aa Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-18 18:48:19 -03:00
toaster
4cc1b2b327 Disable the GL sprite shadows behind a #define.
Reasoning:
* They're horribly broken (they completely ignore slopes).
* A similar final demo GL-only feature (coronas) has been completely disabled.
* Nobody's going to bugfix them before release because not even the devteam's resident GL users use them.
* They look ugly.
2019-11-17 22:18:46 +00:00
Jaime Passos
12e8c11382 Update hw_main.c 2019-11-15 19:40:58 -03:00
Jaime Passos
55c42d9cb7 Small mistake 2019-11-15 19:36:25 -03:00
Jaime Passos
5b0730839b Move scope of wipelumpname 2019-11-15 19:09:02 -03:00
Jaime Passos
41835e07ea I don't get it 2019-11-15 19:04:40 -03:00
Jaime Passos
7ba7620059 Shadowed declaration and unused parameters 2019-11-15 18:58:45 -03:00
Jaime Passos
c15ee65015 LEVELWIPES 2019-11-15 18:21:12 -03:00
Jaime Passos
d95a93b537 Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-14 19:57:51 -03:00
Jaime Passos
245881ec55 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-11-12 21:38:02 -03:00
Jaime Passos
3354169769 Merge remote-tracking branch 'origin/master' into f_wipes 2019-11-12 20:36:06 -03:00
Jaime Passos
c6253bb6f9 Merge remote-tracking branch 'origin/master' into renderswitch 2019-11-12 20:25:40 -03:00
MascaraSnake
66123b8165 Merge branch 'internal-md3-vanilla-c' into 'master'
Internal MD3 merge 2 good riddance glBegin

See merge request STJr/SRB2Internal!362
2019-11-12 15:44:20 -05:00
MascaraSnake
17c302e4a3 Merge branch 'texture-flats-optimization' into 'master'
Texture flat optimization

Closes #257

See merge request STJr/SRB2Internal!405
2019-11-12 15:42:04 -05:00
Jaime Passos
249cf5c8ad fix invisible planes, fix flat animation 2019-11-08 23:42:15 -03:00
Jaime Passos
809f79c951 make hwrender compile 2019-11-08 22:58:41 -03:00
Jaime Passos
044d3fd325 Update hw_main.c 2019-11-05 12:31:50 -03:00
Jaime Passos
00d76bd9ef fix fades for real 2019-11-05 12:10:42 -03:00
Jaime Passos
4ff769704a function renaming 2019-11-05 10:28:19 -03:00
toaster
ef886e4b80 Fix TC_DASHMODE and associated not being applied in GL. (Won't conflict with md3 branch because these lines weren't modified there!) 2019-11-04 13:11:04 +00:00
toaster
e7e3c6ccbb Slightly unrelated to the express purpose of the branch, but since I was here, and I noticed it was a problem when ~~playing~~ testing with md3s in ACZ: Don't draw the midtextures for horizon lines. 2019-11-03 10:23:21 +00: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
Jaime Passos
94ab276508 Merge remote-tracking branch 'origin/master' into f_wipes 2019-10-28 23:14:00 -03:00
Jaime Passos
a22af36305 add r_patch.c 2019-10-28 15:28:42 -03:00
Jaime Passos
79e99dc471 Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-10-28 14:29:10 -03:00
MascaraSnake
a03ecac921 Merge branch 'openglskydome2' into 'master'
OpenGL sky dome

See merge request STJr/SRB2Internal!350
2019-10-12 11:06:47 -04:00
MascaraSnake
6fab3d28b2 Merge branch 'OGL_regressions' into 'master'
Correct minor OGL regressions

See merge request STJr/SRB2Internal!361
2019-10-12 09:53:20 -04:00
MascaraSnake
68599ccc63 Only apply NiGHTS draw distance to hoops, because it turns out they're pretty much the sole cause of NiGHTS lag 2019-10-11 21:02:11 +02:00
Jaime Passos
7746767735 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-10-06 17:40:41 -03:00
toaster
9b94fd3752 * Add rudimentary support for MF2_LINKDRAW in GL.
* Allow MF_ENEMY objects to flash, just as they do in Software.
2019-10-06 16:31:13 +01:00
Jaime Passos
318fde6ae7 Giant mistake 2019-09-29 14:12:53 -03:00
Jaime Passos
c268743220 hehee 2019-09-29 12:13:51 -03:00
Jaime Passos
73e4e67595 JIMITA DO THE SOC 2019-09-28 19:13:51 -03:00
Jaime Passos
5118f8589d Merge remote-tracking branch 'origin/master' into rotsprite_i 2019-09-28 12:14:55 -03: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
Jaime Passos
db979845e0 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-c 2019-09-15 16:24:24 -03:00
Steel Titanium
2ced626518 Merge branch 'gl_skydome' into 'master'
OpenGL sky dome

See merge request STJr/SRB2Internal!326
2019-09-11 11:58:05 -04:00
Jaime Passos
fec579db8c Merge remote-tracking branch 'origin/master' into gl_skydome 2019-09-10 19:20:20 -03:00
Jaime Passos
8057eeaaca Merge remote-tracking branch 'jimita/renderswitch' into renderswitch 2019-09-10 18:12:01 -03:00
Jaime Passos
f0788598c9 Better fades 2019-09-09 23:31:48 -03:00
Nev3r
043bb86acd Revert "Merge branch 'flats-png_port' into 'master'"
This reverts merge request !322
2019-09-09 18:40:21 +00:00
Jaime Passos
0a69190848 Missing arguments 2019-09-09 15:39:10 -03:00
Jaime Passos
6553d816ea Merge remote-tracking branch 'origin/master' into flats-png_port 2019-09-09 14:12:28 -03:00
Jaime Passos
725d0b4c44 still making things better 2019-09-08 21:37:24 -03:00
Jaime Passos
19e50062cc more stuff. i hope i didnt mess this up. 2019-09-08 18:59:49 -03:00
Jaime Passos
c7e01a558e initial stuff 2019-09-08 18:44:40 -03:00
Jaime Passos
2863ede7bf initial stuff 2019-09-08 18:27:35 -03:00
Jaime Passos
2a85ed0bdd test 2019-09-06 19:26:05 -03:00
Jaime Passos
0cc553be5f Merge remote-tracking branch 'jimita/flats-png' into flats-png_port 2019-09-06 19:20:45 -03: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
toaster
1f2baf5b6b Make polyobjects agree with sector lighting/colormap like a FOF.
Caution: has weird retry/reload bug. Ask sphere for sample map/coords.
2019-08-22 22:30:36 +01:00
Jaime Passos
f68652aa66 I 2019-08-18 14:16:48 -03:00
mazmazz
84c9633579 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla-b 2019-08-04 21:33:13 -04:00
Monster Iestyn
f62087ef30 Fix MascaraSnake's issues with sign-compare (hopefully) 2019-07-09 21:43:38 +01:00
toaster
4ad1703ae3 Revert "Revert "Merge branch 'metalfixes' into 'toast_cleanup'""
This reverts commit c04b560e92.
2019-07-03 00:58:02 +01:00
MascaraSnake
c04b560e92 Revert "Merge branch 'metalfixes' into 'toast_cleanup'"
This reverts merge request !239
2019-07-02 23:49:10 +00:00
mazmazz
dc0a92ea62 Merge remote-tracking branch 'origin/master' into internal-md3-vanilla 2019-06-29 17:51:30 -04:00
toaster
faebe0f9af Metal Sonic fixes!
* Add more context clues to his fight, including an indicator for which laser attack is being used after chargeup.
* Make missiles able to vectorise him.
* Add another laser orb attack - vertical slice - and change the laser orb sequence to accurately reflect that horizontal is the hardest of the ones in 2.1.
* Optimise TC_BLINK, and fix an issue with TC_ALLWHITE that somehow avoided coming up in testing.
* Fix colorized bosses losing their colorization when flashing, by forcing TC_ALLWHITE.
2019-06-28 20:48:14 +01:00
toaster
6371de806b Improve rain/weather.
* Like Kart, remove cv_precipdensity.
* Like Kart, replace "Infinite" draw distance value with "None".
* Better thinker with more return optimisation.
* Better placement of thinking in rendering, to avoid ceiling-mounted sprite glitches.
2019-06-22 16:50:30 +01:00
toaster
1d65caa250 With permission from Kart Krew (Sal and Sryder specifically - they don't know WHY vanilla's using it):
* Port across the additional colour translation maps, including mobj-level support for "colorized" objects.
* Make Fangboss and both Metal Sonic objects greyscale if, on spawn, there is a player in the game who is not a spectator whose skin is that character.
* Allow bosses with MF_GRENADEBOUNCE to opt out of the MF2_FRET colour-flashing tomfoolery, and give this flag to Fang.
2019-06-18 17:55:57 +01:00
toaster
861d0d0b0a Improve rain/weather.
* Like Kart, remove cv_precipdensity.
* Like Kart, replace "Infinite" draw distance value with "None".
* Better thinker with more return optimisation.
* Better placement of thinking in rendering, to avoid ceiling-mounted sprite glitches.
2019-06-18 14:22:10 +01:00
Nev3r
264386f842 Add visplane portal creation functionality and use it to replace the skybox rendering.
The skybox rendering process has been replaced with portals instead. Those are generated after the first BSP tree pass by looking for existing sky visplanes at the time, and their windows are used to define new portals.
The skybox portals are still incomplete and cause visual glitches when masked elements are involved.
2019-06-02 00:07:55 +02:00
Jaime Passos
0bcf89679e Hardware renderer: Fix polyobjects 2019-05-26 18:16:13 -03:00
Jaime Passos
93f60267c1 Minor fixes 2019-05-26 16:22:33 -03:00
Jaime Passos
869f1e4e8d Fix warnings 2019-05-21 11:03:53 -03:00
Jaime Passos
714c997aac Support for patches and textures to be used in place of sector flats
Still a work in progress.
2019-05-21 00:28:52 -03:00
Monster Iestyn
572328a4fa Merge branch 'public_flatsprite' 2019-05-16 16:00:24 +01: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
b304b268c8 No sprite billboarding on papersprites 2019-05-06 20:24:26 +01:00
Sryder
1f1d67cd7e Merge branch 'next' of git@git.magicalgirl.moe:STJr/SRB2.git into public_flatsprite
# Conflicts:
#	src/p_user.c
2019-05-06 20:20:57 +01:00
Sryder
8273534967 Add a cvar for sprite billboarding, off by default. 2019-05-06 16:57:32 +01:00
Steel Titanium
6aac014608 Generic model terminology 2019-05-02 22:55:45 -04:00
Sryder
4d77ed925e OpenGL sprite billboarding
Should work on both normal and precipitation sprites.
Sprites that are split by lighting should work correctly.
2019-05-01 20:15:00 +01:00
mazmazz
075f28b7c8 WIP 20190101 merge
d_netcmd.c
filesrch.c
m_menu.c
p_setup.c
p_spec.c
r_data.c
r_main.c
r_things.c
w_wad.c
w_wad.h
2019-01-02 01:09:15 -05:00
mazmazz
1a4f1e54f3 Merge branch 'timedemo-revise' into md3-vanilla 2018-12-29 12:09:32 -05:00
mazmazz
1d9b8d357b Add framecount increment to HWR_RenderPlayerView
Analogue to R_RenderPlayerView; used for timedemo FPS reading
2018-12-27 23:05:06 -05:00
Arthur
4f1f315563 Eliminate some old GL functions so we don't slide back into bad habits! 2018-12-27 22:10:10 -05:00
Arthur
587ffa9ada Removed gr_voodoocompatibility as even low-power mobile devices do not have this limitation
No longer using byte2float in DrawPolygon -- use the surface color data directly
Vertex Buffer Objects for non-interpolated model frames
Removed some old unused paletted texture stuff
2018-12-27 00:35:29 -05:00
mazmazz
74d6921f47 Merge tag 'SRB2_release_2.1.23' into md3-vanilla-ssn 2018-12-26 22:55:25 -05:00
Arthur
b19252651f Removed all glBegin/glEnd references
MD2/MD3 now works, with the exception of WAD textures for some odd reason
2018-12-23 17:00:11 -05:00
Digiku
58a2cec70f Merge branch 'float_equal' into 'master'
Clear Float equal warnings

See merge request STJr/SRB2!383
2018-12-20 16:58:37 -05:00
mazmazz
96cad09db6 Change 0.05 to 0.05f 2018-12-18 16:59:59 -05:00
Azeonus
67cd6dcdd2 dispoffset OGL fix [by Azeonus] 2018-12-18 16:50:03 -05:00
Alam Ed Arias
6fd66bdb49 Clear float equal warnings 2018-12-14 20:34:06 -05:00
Monster Iestyn
0a0336a674 Merge branch 'master' into fof-slope-skew-backport
# Conflicts:
#	src/r_segs.c
2018-11-23 22:40:28 +00:00
Alam Arias
30b9cef043
Merge pull request #326 from monster-psychic-cat/opengl_splitscreen_sky_fix
Render the skies correctly on splitscreen in OpenGL mode
2018-11-23 14:48:05 -05:00
Marco Z
c0df7b47c5 Merge branch 'c88bbda028a21a51058488ee0214ce925625f0a0' into nov20-build-fixes
# Conflicts:
#	src/hardware/hw_main.c
2018-11-20 22:42:20 -05:00
Marco Z
ddd357d27c VC build fixes 2018-11-20 21:54:20 -05:00
Monster Iestyn
224c0fccdb Merge branch 'public_next'
# Conflicts:
#	src/Makefile.cfg
#	src/d_clisrv.c
#	src/p_setup.c
#	src/r_segs.c
#	src/r_things.c
2018-11-20 14:33:10 +00:00
Alam Ed Arias
f73ea4f984 Clean up warnings 2018-11-14 10:52:16 -05:00
MPC
eb4a72440a Render the skies correctly on splitscreen in OpenGL mode 2018-11-10 16:19:41 -03:00
Monster Iestyn
dd83652b71 Whoops, this broke my non-NEWCLIP test build 2018-11-10 16:10:25 +00:00
Monster Iestyn
c4569e61a8 Made some efforts to improve efficiency of new code, hard to tell if I've made it better or worse though honestly
R_IsEmptyLine is now a thing too btw
2018-11-10 16:09:21 +00:00
Monster Iestyn
1e98e3b4f2 More progress, NEWCLIP added to doomdef.h, sadly it actually all lags the game so I've disabled it for now
Other notes:
* on second thought I'll keep the hw_clip functions' gld prefixes rather than HWR, not like it matters either way
* despite the extra lag it does fix the issues with translucent walls and such when displayed at different vertical angles, such as with the GFZ1 waterfall
2018-11-10 16:08:56 +00:00
Monster Iestyn
aebcf3520b Remove pointless drawtextured variable and redundant fake planes checks (R_FakeFlat would already have made gr_frontsector/backsector something else if they were) 2018-10-27 19:32:55 +01:00
Monster Iestyn
3d88ee9d55 Added missing checks in HWR_AddLine from the software version, move v** vars to the top since R_PointToAngle calls use the same values anyway 2018-10-27 19:31:24 +01:00
Monster Iestyn
90cfa5ef16 Make new pv1/pv2 seg pointers, so AdjustSeg doesn't modify the v1/v2 pointers directly anymore
Yes I know they're void * in r_defs.h's seg_t definition, it's quicker than trying to figure out if including hardware/hw_glob.h is a good idea or not
2018-10-27 19:29:31 +01:00
Monster Iestyn
61a29bed85 Remove unused sscount variable
(it's only set to 0 in software, and only ++'d in OpenGL, what kind of sense does that make?)
2018-10-11 19:59:26 +01:00
Monster Iestyn
d3da4cb527 Merge branch 'fof-slope-skew-backport' 2018-10-10 14:53:01 +01:00
Monster Iestyn
291ebf302c Merge branch 'public_next'
# Conflicts:
#	src/Makefile
#	src/lua_script.c
#	src/p_user.c
#	src/sdl/i_system.c
#	src/v_video.c
#	src/w_wad.c
2018-10-10 14:51:34 +01:00
toaster
b1e02467bf Weather is already run client-side. What if we ran it render-side, for major performance gains? This commit will answer all your questions - and more! 2018-10-07 15:00:58 +01:00
Monster Iestyn
872e2f82c1 Redo OpenGL skewing support, so that it now itself supports the lower unpegged effect for FOFs in OpenGL! 2018-09-28 17:02:02 +01:00
mazmazz
62b6950e33 Use lightlist.extra_colormap double pointers in OpenGL 2018-09-12 16:28:55 -04:00
Monster Iestyn
be5d0406bd Merge branch 'public_next'
# Conflicts:
#	src/hardware/hw_md2.c
2018-07-31 19:41:54 +01:00
Monster Iestyn
c88bbda028 fix visual studio complaining about negating an unsigned var 2018-07-25 22:19:07 +01:00
Monster Iestyn
8e19611033 Merge branch 'opengl-fof-lowerunpegged' into 'master'
OpenGL: FOF walls + Lower unpegged

See merge request STJr/SRB2!258
2018-07-11 16:36:26 -04:00
Monster Iestyn
d8a86a8d74 Fix OpenGL completely missing the ability to alter FOF wall pegging by lower unpegged flag. Stupid OpenGL.
Sorry in advance Lat'!
2018-06-26 21:41:05 +01:00
Monster Iestyn
aed30519d4 Fix HWR_ProjectSprite to check properly whether the displayed player's mobj or its subsector exists, to avoid a crash when checking for fake planes. (also use viewplayer since its available to use, silly hardware code)
Also tweaked a weird splitscreen check in HWR_DrawSpriteShadow; still investigating whether stplyr is ever not player 2 when it's player 2's view, but this looks better for now
2018-06-23 18:47:32 +01:00
Monster Iestyn
e39bbab532 Merge branch 'public_flatsprite'
# Conflicts:
#	src/hardware/hw_main.c
#	src/r_things.c
2018-06-11 19:53:16 +01:00
Sryder
ea915e5778 Fix papersprites more for real this time
(Seperate AL and AR sprites were broken, I figured out I was a dunce, oh noey)
2018-06-09 22:58:03 +01:00
Monster Iestyn
82b69b7de5 Merge branch 'public_flatsprite'
# Conflicts:
#	src/dehacked.c
#	src/hardware/hw_main.c
#	src/p_enemy.c
#	src/p_inter.c
#	src/p_map.c
#	src/p_mobj.c
#	src/p_mobj.h
#	src/p_pspr.h
#	src/p_user.c
#	src/r_defs.h
#	src/r_things.c
#	src/r_things.h
2018-06-09 21:14:41 +01:00
Monster Iestyn
14d49b8bf1 Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/d_netfil.c
#	src/p_setup.c
2018-06-09 19:35:36 +01:00
Sryder
0f4e8c1eda Merge branch 'next' into public_flatsprite
I also fix papersprites in regards to flipping on one sprite fits all rotation stuff

# Conflicts:
#	src/hardware/hw_main.c
2018-06-09 18:47:42 +01:00
Monster Iestyn
8e5dbb22f0 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
f4181f7eb6 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
badbb4324e Fix FF_FULLBRIGHT not working in sectors with multiple light levels in OpenGL 2018-05-16 21:04:57 +01:00
Monster Iestyn
a3b86a737e Merge branch 'public_next'
# Conflicts:
#	src/f_finale.c
#	src/hardware/hw_draw.c
#	src/hardware/hw_main.c
#	src/hardware/r_opengl/r_opengl.c
#	src/sdl12/hwsym_sdl.c
#	src/sdl12/i_video.c
2018-04-06 18:42:07 +01:00
Sryder
6f2de824fb 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
0aaae501d3 Warnings must die 2018-03-30 18:53:23 +01:00
Sryder
f3aa02e26d Start with lightnum on sector lightlevel 2018-03-30 18:13:52 +01:00
Sryder
65c893da86 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
fab4b7f5ea Stop squashing the screen vertically in non-green resolutions 2018-03-22 01:10:53 +00:00
Sryder
839ee0ab85 OpenGL Sprite Splitting 2018-03-22 00:52:14 +00:00
Sryder
0885d27171 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
4e95066f5a 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
1b3e1f78af Translucent floors shouldn't write into the depth buffer 2018-03-15 23:59:01 +00:00
Sryder
5a4ea9fab3 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
e4ed3a793b 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
77af3a8f95 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
67ee1637c9 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
Monster Iestyn
efe9204f78 Fixed sky-sky thok barriers showing HOM (turns out the floor and ceiling share the same plane, so I've modified the code to account for this)
Additionally, place some optimisations in both software and OpenGL; in particular one has been added for when all of back and front sector (floor and ceiling) is sky: since everything is "open" anyway, we can simply the usual checks involved.
2018-02-07 17:46:01 +00:00
Monster Iestyn
493af49a00 Correct backwards skies for OpenGL too 2018-02-03 21:39:36 +00:00
Monster Iestyn
33a538383f Added proper support for upside-down thok barriers, in both renderers
Thankfully it was really just a copy+paste of the code I already tinkered with for the normal ceiling sky based thok barriers, but tweaked for floors instead
2018-02-03 19:48:18 +00:00
Monster Iestyn
0dc867c05e Cleanup of the code I've tweaked for skies, added SLOPEPARAMS macro to R_StoreWallRange for use in getting seg end z positions 2018-02-03 18:30:49 +00:00
Monster Iestyn
ecf2eed37f Pushing all my work to make OpenGL consistent with my changes to software's sky so far 2018-02-01 22:04:04 +00:00
Monster Iestyn
be13f10626 ended NDS 2017-09-29 22:48:14 +01:00
toaster
3cc14e3985 Merge branch 'directionchar' into 'master'
Autobrake & decoupling player sprite angle from camera angle

See merge request !69
2017-09-19 07:56:22 -04:00
Sryder13
f3a605de6b I need to stop leaving things commented out that are going 2017-09-15 18:03:06 +01:00
Sryder13
db99537a6b Various Transparent Texture Fixes
Draw Textures and Flats that have holes in them like a solid polygon so they use the depth buffer and don't need to be sorted
Disable all linear filtering on textures and flats that have holes in them, the linear filtering introduces translucency into the textures where the edges are. Leaving them with either a black border, or causing pixels behind the slightly translucent areas to not be drawn. Doesn't apply to sprites and the HUD as they are always already sorted properly.
Make the Alpha Testing more strict on non-translucent blend modes. This makes it so any transparency below 0.5 is discarded instead. Would make anything that is blended and has holes in it look slightly better, only the HUD and MD2s where the texture has holes are effected currently.
Set TF_TRANSPARENT on flat texture flags when there are holes in the texture.
Minor fix to make sure MD2s always set the right blend mode
2017-09-09 00:44:13 +01:00
Sryder13
6877930ed9 Go through and draw MD2s and sprites at the same time so they are sorted from each other (mostly) correctly 2017-09-08 00:57:21 +01:00