Commit Graph

5904 Commits

Author SHA1 Message Date
Nev3r d2692ddd24 viewx/viewy also need to be stored/restored. 2019-06-06 13:31:48 +02:00
Nev3r 0d77e8afaf Add pad checks for visplanes; invalidate invalid columns from visplanes (visplane renderer and column renderers don't speak exactly the same language).
The visplane portal top boundary offset has been restored since all known bugs involving it have been fixed.
2019-06-06 11:26:13 +02:00
Nev3r 5284817259 Fix sigsegv when there is no main skybox viewpoint. 2019-06-05 18:45:36 +02:00
Nev3r 1c14062e8b Vissprite clipping improvements.
Vissprites are now only clipped against their respective portal's geometry obtained from their BSP run.
Additionally, if a portal is provided, they're clipped to the portal's clip boundaries.
The work on this branch should conclude after a pair of remaining glitches are fixed.
2019-06-05 18:07:08 +02:00
Nev3r 25b56ffecd Masked elements are now fully grouped individually for each portal/view; fixed viewz-related glitches,.
The drawnodes are now fully grouped in separate lists, and then sorted individually. This fixes sorting problems caused by portals belonging to differently perceived scales (skyboxes for example).

Drawsegs and vissprite/drawnode sorting require the viewz, so the viewz is stored for each portal/view, and then restored when needed; without this, the rendering process erroneously sorts the elements, and draws some at wrong positions.
2019-06-05 12:10:59 +02:00
Nev3r b22aa784fb Set a default frontscale for visplane portals.
I don't know whether this is necessary or not but I'm poking blindly trying to fix the sorting issues for now.
2019-06-04 21:04:35 +02:00
Nev3r 8abecc7f86 Created drawnode lists for each view/portal.
Each shall eventually have its specific vissprites/drawsegs; currently only drawsegs are stored in their correct list, vissprites are stored in the first list as a placeholder.
The idea is to sort each list individually, and then render their masked elements, starting from the last drawnode list.
This retains a non-recursive function calling method while still rendering things in order.
2019-06-04 20:15:42 +02:00
Nev3r 2aabf6ffd5 Moving away more portal-related global vars to r_portal. 2019-06-03 13:33:12 +02:00
Nev3r 942c34a6af Moved validcount++ to where it used to be.
It seems to screw up the portal rendering in odd ways if it's in the wrong position. I apologize for not even knowing what it's meant to do nor how it works.
2019-06-03 13:04:27 +02: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
Nev3r df0a40b3c2 Code refactoring to turn portal struct into a more generalized shape.
Split portal-related code to its own source files.
Most of the 2-line-specific setup has been moved to the function which adds a 2-line case. The portals should render as they used to so far, anyway.
2019-06-01 13:07:23 +02:00
Monster Iestyn ec0719f74f Merge branch 'steelt-acz-things-hardcode' into 'master'
Hardcode some ACZ things

See merge request STJr/SRB2Internal!220
2019-05-17 12:22:21 -04: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
Monster Iestyn 600a373739 Merge branch 'master' into next 2019-05-13 16:07:30 +01:00
Monster Iestyn 2a9019c15e Merge branch 'archiveworld-sigsegv-fix' into 'next'
Fix SIGSEGV from sending lindefs/sidedefs in savegame due to duplicated lines.

See merge request STJr/SRB2!490
2019-05-13 07:02:48 -04:00
Alam Ed Arias addf2bb3c4 Fix NONET build 2019-05-13 01:51:36 -04:00
Steel Titanium 8a14427420 Merge branch 'perpetual-modifier-updates' into 'master'
Set modifiers in a non-reactive manner

See merge request STJr/SRB2!456
2019-05-13 00:36:06 -04:00
Steel Titanium 06961a8f5e Merge branch 'no-frameskip' into 'next'
Don't skip frames when connecting or paused

See merge request STJr/SRB2!489
2019-05-13 00:35:11 -04:00
Steel Titanium cad65ad5e9 Properly fix crash due to duplicated lines. 2019-05-13 00:23:43 -04:00
Steel Titanium 4e0cc2505a Revert "Check that lumps are okay"
This reverts commit 7ac0a8b4d2.
2019-05-13 00:20:39 -04:00
Steel Titanium b34aa86403 Hardcode some ACZ things 2019-05-11 22:56:23 -04:00
James R 7ac0a8b4d2 Check that lumps are okay 2019-05-08 20:30:19 -04:00
Monster Iestyn f0e16cad32 Merge branch 'master' into next 2019-05-08 16:31:05 +01:00
Monster Iestyn 8ea9d0e95c Merge branch 'alias_recursion_hotfix_2' into 'master'
Alias recursion hotfix 2

See merge request STJr/SRB2!482
2019-05-08 11:25:15 -04:00
wolfy852 8f05d75926 Don't skip frames when connecting or paused 2019-05-08 09:39:45 -05:00
wolfs e394f41c52 Merge branch 'public-musicplus-tagfix' into 'next'
Fix music load lag by reverting tag changes

See merge request STJr/SRB2!486
2019-05-07 22:42:13 -04:00
Monster Iestyn 360a6ff89a Merge branch 'public_flatsprite' into 'public_flatsprite'
Merge in next and don't billboard papersprites in GL

See merge request STJr/SRB2!488
2019-05-06 15:34:35 -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
Monster Iestyn 406c3619d7 Merge branch 'master' into next 2019-05-06 19:38:53 +01:00
Nev3r aab2f55aec Merge branch 'banip-command' into 'next'
Ban IP command

See merge request STJr/SRB2!460
2019-05-06 13:09:14 -04:00
Nev3r ae25e8ea07 Merge branch 'console-wait-fix' into 'master'
Don't count down wait timer when executing a command line

See merge request STJr/SRB2!483
2019-05-06 12:56:07 -04:00
Nev3r 8b8e165d19 Merge branch 'opengl-sprite-billboarding' into 'master'
OpenGL Sprite Billboarding

See merge request STJr/SRB2!485
2019-05-06 12:45:53 -04:00
Sryder 8273534967 Add a cvar for sprite billboarding, off by default. 2019-05-06 16:57:32 +01:00
Monster Iestyn 1b2afea091 Merge branch 'public_next' 2019-05-03 16:42:42 +01:00
Monster Iestyn 454306cf86 Merge branch 'master' into next 2019-05-03 16:40:13 +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 d4ab2837bb Merge branch 'master' into next 2019-05-03 16:00:45 +01:00
wolfs 1f2d720363 Merge branch 'nonet-upnp' into 'master'
Don't enable UPnP support if NONET is defined.

See merge request STJr/SRB2!484
2019-05-03 06:40:22 -04:00
Digiku 271e0eb5b7 Merge branch 'menu-execs' into 'master'
New title screen features

See merge request STJr/SRB2Internal!204
2019-05-03 03:48:39 -04:00
mazmazz 904b00e921 Remove song_length tag search
Because songs without this tag will skiplag when loading.
2019-05-02 19:14:23 -04:00
mazmazz 3e5b0c4531 Remove MP3 widechar tag searching
1. It's slow, 2. It's incorrect
2019-05-02 19:13:56 -04:00
mazmazz 89ab777c40 Merge remote-tracking branch 'origin/master' into menu-execs 2019-05-02 18:47:43 -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
Nev3r a56e8e4f8b Merge branch 'further-mace-advancements' into 'master'
Further Mace Advancements

See merge request STJr/SRB2Internal!147
2019-04-30 15:15:35 -04:00
Monster Iestyn c688291cde Merge branch 'trans-FOF-plane-fullbright-flip' into 'master'
Translucent FOF plane fullbright flip

See merge request STJr/SRB2Internal!218
2019-04-18 15:16:52 -04:00
Monster Iestyn 3203dc5d4b Remove old code altogether at Nev3r's request 2019-04-17 16:46:32 +01:00
Monster Iestyn 6bddd131da Undefine toaster's old define to flip full-brightness default status for planes 2019-04-17 14:51:48 +01:00
Steel Titanium 26fdee8217 Don't enable UPnP support if NONET is defined. 2019-04-16 15:05:09 -04:00