Commit graph

208 commits

Author SHA1 Message Date
Louis-Antoine
d0abd6e86c Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2.git into slope-cleanup
# Conflicts:
#	src/hardware/hw_main.c
#	src/p_spec.c
2020-05-18 16:14:05 +02:00
Louis-Antoine
a06c4a8c98 Rename P_GetZAt to P_GetSlopeZAt and P_GetZAt2 to P_GetZAt 2020-05-18 15:23:56 +02:00
MascaraSnake
6e7373a475 Merge branch 'next' into udmf-next 2020-05-04 20:32:56 +02:00
MascaraSnake
485a4e5035 Remove POLYOBJECTS and POLYOBJECTS_PLANES defines 2020-05-02 12:08:31 +02:00
Nev3r
9ebb4071ee Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-multitag
# Conflicts:
#	src/p_floor.c
#	src/p_mobj.c
#	src/p_spec.c
#	src/r_segs.c
2020-04-25 10:47:45 +02:00
MascaraSnake
3170f2b8c3 Merge branch 'next' into udmf-next
# Conflicts:
#	src/p_mobj.c
#	src/r_segs.c
2020-04-24 21:15:53 +02:00
Monster Iestyn
a71fe6445a Merge branch 'master' into next 2020-04-23 18:49:53 +01:00
Nev3r
38e92aecfd Fix Tags_Compare() typo to Tag_Compare(). 2020-04-12 15:03:14 +02:00
Nev3r
fe4ab5d29f Use Tags_Compare wrapper on software renderer to compare sector tags. 2020-04-12 13:14:39 +02:00
Nev3r
4128f826b7 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next
# Conflicts:
#	src/lua_hooklib.c
2020-04-12 09:57:19 +02:00
toaster
ce2a1aa3b2 Minor optimisations surrounding R_DrawFlippedMaskedColumn.
* Replace the texheight parameter provided directly to it with a previously existing (now renamed) global used for the same purpose, so that it can be used as an interchangeable function pointer with R_DrawMaskedColumn.
* Using the above, optimise R_DrawVisSprite to call a function pointer in a tighter loop rather than check SC_VFLIP each time around.
* SHORT macro can involve repeated operations; calculate once and put in memory for both RANGECHECK and papersprite.
* Remove irrelevant range check (already covered by existing range check immediately above) from R_DrawFlippedMaskedColumn and R_DrawMaskedColumn.
* "Warning: avoiding a crash in %s %d" is a terrible error message, and it chips away at the tightness of the loop just for something most people will never see printed. Replace with a PARANOIA I_Error in case someone actively wants to go hunting for its cause.
2020-03-26 16:09:19 +00:00
MascaraSnake
92c74814cf Standardize the behavior of FF_INVERTSIDES and FF_INVERTPLANES 2020-03-25 08:34:52 +01:00
Louis-Antoine
6f9422d380 Encapsulate plane height checks 2020-03-22 17:28:50 +01:00
MascaraSnake
1580e14cbc Merge branch 'next' into udmf-next
# Conflicts:
#	extras/conf/Includes/SRB222_linedefs.cfg
#	extras/conf/Includes/SRB222_misc.cfg
#	src/p_spec.c
2020-03-21 20:04:31 +01:00
Louis-Antoine
892a8dd6e7 Make SRB2 flat like Earth 2020-03-20 18:55:29 +01:00
Nev3r
68f60f3c29 Merge branch 'next' of https://git.magicalgirl.moe/STJr/SRB2/ into udmf-next 2020-03-11 09:31:31 +01:00
Steel Titanium
76f26cda24 Merge branch 'master' into next 2020-02-21 21:01:29 -05:00
James R
7060083db5 Update copyright year to 2020 2020-02-19 14:08:45 -08:00
MascaraSnake
cae99654be Merge branch 'next' into udmf-next 2020-02-18 18:39:11 +01:00
James R
d0b9027d0a Merge branch 'viewroll' into 'next'
Rolling

See merge request STJr/SRB2!690
2020-02-17 00:10:57 -05:00
James R
f4c2a4551b How many bruh moments can we have? 2020-02-16 20:45:09 -08:00
MascaraSnake
512c6f24a9 Clean up the mess that is extracolormap_t::fog 2020-02-16 20:19:24 +01:00
MascaraSnake
7b627abf31 R_GetLinedefTransTable: Calculate the transtable arithmetically instead of doing an if-else cascade 2020-02-11 19:18:31 +01:00
MascaraSnake
24de2968a3 Some fixes for the linedef alpha field 2020-02-10 20:26:29 +01:00
MascaraSnake
cedfc02f19 Implement linedef alpha field (replaces specials 900-908) 2020-01-26 12:24:52 +01:00
fickleheart
8868fc4d8a Fix lighting discrepancies between different FOVs 2020-01-18 00:16:18 -06:00
MascaraSnake
759b1c82e2 Add missing glseg checks (and remove a superfluous one) 2020-01-06 14:40:59 +01: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
Jaime Passos
cc54163210 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-17 16:12:44 -03:00
Jaime Passos
fa58c1fb26 stuff 2019-12-13 12:26:47 -03:00
Jaime Passos
9248f12d55 Merge remote-tracking branch 'origin/master' into renderswitch 2019-12-10 23:01:10 -03:00
Steel Titanium
d415cd5c6d
Update copyright date on source files 2019-12-06 13:49:42 -05: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
2863ede7bf initial stuff 2019-09-08 18:27:35 -03:00
Nev3r
f536ab3467 Fixed crash regarding opening reallocating. A thousand thanks go for MonsterIestyn for figuring this out.
I carelessly changed the line's drawsegs to curdrawsegs without researching what that piece of code did.
2019-06-09 20:04:07 +02:00
Nev3r
d2692ddd24 viewx/viewy also need to be stored/restored. 2019-06-06 13:31:48 +02:00
Nev3r
2aabf6ffd5 Moving away more portal-related global vars to r_portal. 2019-06-03 13:33:12 +02:00
Monster Iestyn
1b2afea091 Merge branch 'public_next' 2019-05-03 16:42:42 +01:00
Monster Iestyn
a5dfbe7eff add parentheses around these conditions to fix sloped lights cutting out lights on FOF walls for apparently no reason
not making a merge request because this is so laughably stupidly simple
2019-05-03 16:38:59 +01:00
Monster Iestyn
7ae6d5ee8c Merge branch 'public_next'
# Conflicts:
#	src/doomstat.h
#	src/g_game.c
2019-03-28 14:19:02 +00:00
Monster Iestyn
147221cf6e R_RenderThickSideRange: clamp lights that fail overflow test, rather than skipping them. 2019-03-25 18:54:47 +00:00
Nev3r
83f953edb8 Make FOFs extend to infinity when in contact with a horizon line.
Make FOFs extend to infinity when in contact with a horizon line.

Signed-off-by: Nev3r <apophycens@gmail.com>
2019-03-07 19:01:02 +01:00
Monster Iestyn
7a0d8b408e Merge branch 'public_next'
# Conflicts:
#	src/d_main.c
#	src/dehacked.c
#	src/m_menu.c
#	src/m_menu.h
2019-02-27 22:36:01 +00:00
fickleheart
7e026824a4 Fix rendering gaps on polys with upper/lower textures 2019-01-12 20:15:58 -05: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
842bcfc8a0 Merge remote-tracking branch 'public-gl/master' into 2122-version 2018-12-25 00:19:45 -05:00
mazmazz
b7edc7f870 Revert "Merge branch 'side-discolor-fix' into 'master'"
This reverts commit e721a3d882, reversing
changes made to 4656a0d02c.
2018-12-24 20:58:26 -05:00
Alam Ed Arias
4651eddc36 Merge branch 'master' into next 2018-12-24 20:15:45 -05:00
Jimita
4c6334f459 cleanup 2018-12-24 17:21:33 -05:00
Jimita
5b285a60a2
Update r_segs.c 2018-12-20 16:15:19 -03:00
Jimita
ffd5061531
Merge branch 'next' into sw_largeroomfix 2018-12-20 16:56:05 -02:00
MPC
9c2197db17 Software plane fixes 2018-12-14 14:08:25 -03:00
MPC
348ed1e43f Large room fix 2018-12-09 19:34:17 -03:00
Monster Iestyn
a71ca1d259 Merge branch 'fof-slope-skew-backport' into 'master'
FOF wall slope skewing backport

See merge request STJr/SRB2!341
2018-11-26 08:54:29 -05:00
mazmazz
ea7162a76a Update source copyrights to 2018 2018-11-25 07:35:38 -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
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
Monster Iestyn
948466658f Merge branch 'fof-wall-rendering-fixes-and-cleanup' into 'master'
FOF wall rendering fixes and cleanup

See merge request STJr/SRB2!317
2018-11-20 08:54:09 -05:00
Monster Iestyn
2d1f927a17 Fix the nonsense going on here regarding dc_colormap, this makes FOF walls appear strange if they were for a fog block with colormap adjacent to a normal sector with a colormap and no FOFs.
...that was a mouthful
2018-11-19 22:12:26 +00:00
Monster Iestyn
80cbad61c0 Do lightlist height stepping *after* the heights are used by the FOF rendering code, not before (yes, I caught that they remove a heightstep beforehand for FOFs, but that wasn't done for midtextures it seems?)
Additionally add some macros for repeated slope end assignments and overflow tests
2018-10-13 18:57:40 +01:00
Monster Iestyn
bedfed2f00 Move shared code here instead of duplicating it for both dc_numlights and non-dc_numlights rendering code
Also added a few comments, and include the out of range check in the "shared code" above
2018-10-13 15:37:11 +01:00
Monster Iestyn
b9b0a8110c Add R_Draw2sMultiPatchTranslucentColumn_8, for columns of multi-patch textures used as midtextures on two-sided linedefs with both transparency AND translucency
...that was a mouthful
2018-10-11 17:05:13 +01:00
mazmazz
7d36aae7c4 Make lightlists react to control sector colormap changes (double pointer) 2018-09-12 16:06:56 -04:00
Nev3r
f19b7bfacf Merge branch 'horizon-line-hom-fix' into 'master'
Horizon line HOM fix

See merge request STJr/SRB2Internal!152
2018-08-12 03:48:20 -04:00
Monster Iestyn
2cd2b6bf10 Backport Kart Krew's fix for the 1px HOM with horizon lines 2018-07-08 22:30:37 +01:00
Monster Iestyn
3a7241d9d3 change fickle's hack so that the bottoms of polyobj plane columns are set to 0 instead of 65535 when not intended to be visible 2018-05-25 20:54:50 +01: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
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
9e4c985d70 some cleanup of software's seg rendering code, moved Red's polyobject plane hack to R_StoreWallRange since it doesn't actually need to be done every column draw
(I suspect polyobject planes don't actually need the minx/maxx hacks anymore, but I haven't the time to test that tonight nor is this branch really suited for it anyway)
2018-01-29 22:05:04 +00:00
Monster Iestyn
7d150485c9 More sky fixes for software:
* Thok barriers with slopes now render fine in software
* The solid "sky walls" between different-height thok barriers adjacent to each other are gone. Forever.
2018-01-28 22:08:58 +00:00
Monster Iestyn
40cb22a130 probably best if we did this instead actually 2018-01-08 14:29:47 +00:00
Monster Iestyn
3bc7073918 If NOT skewing FOF walls, make sure dc_texturemid reverts to using unsloped FOF topheight/bottomheight rather than actual left side top/bottom heights 2018-01-08 14:29:39 +00:00
Monster Iestyn
a7dc20e7d2 Upper Unpegged on an FOF's control linedef now enables skewing of walls with respect to slopes
Skewing direction is decided per in-level wall by the Lower Unpegged flag on in-level linedefs themselves, since they already decide the stuff for FOF wall pegging as it is. That is unless Transfer Line is involved which moves everything to the control sector linedefs instead...
2018-01-08 14:29:30 +00:00
Monster Iestyn
731ee115a3 Merge branch 'public_next' 2017-03-13 18:25:26 +00:00
Monster Iestyn
72bd3e28ed Fix sprtopscreen from getting integer overflows once and for all in R_DrawRepeatMaskedColumn
Fixes TD's terminal from freezing the game this time, oh boy
2017-01-31 22:10:31 +00:00
Monster Iestyn
3212ee0b0f Fix endless loop of R_DrawRepeatMaskedColumn if both sprtopscreen and sprbotscreen are CLAMPMAX (INT32_MAX)
This fixes the grid floors in TD's Lava Mountain freezing the game if they go off the bottom of the screen far enough (they have ACWRFL1A as the wall texture, which is a single patch texture with holes)
2017-01-30 21:08:13 +00:00
Monster Iestyn
12ae6bb22a Merge branch 'public_next'
# Conflicts:
#	src/d_clisrv.c
#	src/r_things.c
2017-01-07 15:03:59 +00:00
Monster Iestyn
6ca806a8c0 Fix FOF lighting being stupid with repeating midtextures. 2016-12-31 20:44:16 +00:00
Monster Iestyn
8e56582728 Created R_CheckTextureCache to make sure midtexture/FOF walls cache their textures before choosing colfunc_2s, for software mode 2016-12-17 19:59:54 +00:00
Monster Iestyn
a9cfd12e04 Created R_GetTextureNum to make sure top/bottom/midtexture texture ids are always valid in rendering code for both software and OpenGL (and also for the Solid Midtexture effect physics code) 2016-12-16 21:38:53 +00:00
Monster Iestyn
68c8b8a68a Merge branch 'multipatchtex-translucent-cyanpixel-fix' into 'master'
Multi-patch texture support for transparency AND translucency

Fixes the transparent bits of the multi-patch glass texture in THZ1 turning cyan when linedef types 900-908 are applied for translucency

See merge request !56
2016-12-12 14:29:44 -05:00
Monster Iestyn
410b55ebcd Work on FLIPX/FLIPX support:
*Added FLIPX/FLIPY support for multi-patch textures and single-patch textures without holes
*Added FLIPY support for single-patch textures with holes; I'll sort FLIPX support out later
2016-11-28 22:21:54 +00:00
Monster Iestyn
2941521806 Add R_Draw2sMultiPatchTranslucentColumn_8, for columns of multi-patch textures used as midtextures on two-sided linedefs with both transparency AND translucency
...that was a mouthful
2016-11-16 18:43:25 +00:00
Monster Iestyn
f43d615607 Merge branch 'fof-slope-skew' into 'master'
FOF wall slope skewing

FOF walls now can optionally skew with respect to slopes (software mode only currently):

* Upper Unpegged on the CONTROL linedef enables wall skewing
* Lower Unpegged on the IN-LEVEL linedefs ^1 determine which slope to skew with respect to (off = top slope, on = bottom slope)
* If Transfer Line is used however, Lower Unpegged on the control sector's linedefs does the above's job instead

^1 (this is because they already control pegging of individual FOF walls as it is, so this is for convenience and my sanity that they also deal with skewing)

See merge request !39
2016-10-07 17:29:21 -04:00
Monster Iestyn
5e6bf9e340 probably best if we did this instead actually 2016-08-29 23:24:59 +01:00
Monster Iestyn
df7c8482e4 If NOT skewing FOF walls, make sure dc_texturemid reverts to using unsloped FOF topheight/bottomheight rather than actual left side top/bottom heights 2016-08-29 23:21:57 +01:00
Monster Iestyn
74e7433a92 Upper Unpegged on an FOF's control linedef now enables skewing of walls with respect to slopes
Skewing direction is decided per in-level wall by the Lower Unpegged flag on in-level linedefs themselves, since they already decide the stuff for FOF wall pegging as it is. That is unless Transfer Line is involved which moves everything to the control sector linedefs instead...
2016-08-29 22:42:06 +01:00
Monster Iestyn
ead52294ab THE LINES LIVE AGAIN (initial horizon lines work commit) 2016-08-21 21:17:47 +01:00
Monster Iestyn
6ba568ac49 Fixed typo of mine that lead to the ceiling part of GFZ2's tunnel section being rendered wrongly 2016-07-20 15:11:36 +01:00
Monster Iestyn
df55019d40 Merge branch 'master' into other-software-fixes 2016-06-13 21:13:51 +01:00
Monster Iestyn
305d32870f Effect 2 (No Midtexture Skew) now toggles off skewing for midtextures on single-sided lines, which was what was intended for them to begin with apparently.
This means the current skewing-by-default effect isn't changed, and OpenGL's equivalent code doesn't have to be touched since apparently it was already like that.
2016-06-12 18:47:27 +01:00
Monster Iestyn
a04fcce3a9 Hack to fix midtextures for polyobjects being mucked up
"frontsector" in this part of the code isn't actually the polyobject's sector for back-side polyobject segs, it's the in-level sector the polyobject as a whole is being rendered in it turns out.
2016-06-09 22:07:43 +01:00
Monster Iestyn
20c2d84c78 Fix single side line midtexture skewing
Red apparently left in code for single-sided linedefs to NOT skew their midtextures ...but it doesn't work because it doesn't stop the skewing code from running instead, regardless of whether Effect 1 is on or not. If it's decided single-sided line midtextures shouldn't do this though, the non-skew code could just as well be thrown out lol (or something else I guess?)
2016-06-09 20:37:36 +01:00
Monster Iestyn
8b2b49fb04 Just some final cleanup of the code I changed 2016-05-31 16:08:29 +01:00
Monster Iestyn
eb90f4f50d welp no success in fixing the sky HOMs yet, committing progress anyway 2016-05-30 22:53:22 +01:00
Monster Iestyn
a2aeece419 Significant rework of main seg-rendering code, to eliminate the possibility of drawing off-screen and crashing the game as result
NOTE: HOMs sometimes appear in the sky in maps like AGZ (map40), so this isn't completely fine yet. I'll fix that later
2016-05-30 21:53:29 +01:00
Monster Iestyn
7c78b95a7d This is probably the "correct" way to set maskedtextureheight
Probably doesn't make any difference in-game at all though, lol
2016-05-24 22:11:48 +01:00
Inuyasha
f07585191b copyright dates/statements updated and such
(no actual SLOC changes)
2016-05-17 17:42:11 -07:00