Commit graph

6788 commits

Author SHA1 Message Date
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
3ceaae9573 Merge branch 'revert-1d401d84' into 'master'
Revert "Merge branch '144-scrolltweaks' into 'master'"

See merge request STJr/SRB2Internal!225
2019-06-04 13:37:53 -04:00
Monster Iestyn
0fd3668111 Revert "Merge branch '144-scrolltweaks' into 'master'"
This reverts merge request !213
2019-06-04 17:34:59 +00:00
Steel Titanium
742c43cf1c Some small tweaks 2019-06-03 17:34:51 -04:00
Steel Titanium
81dec89aeb Merge branch 'next' into public-musicplus-libopenmpt 2019-06-03 15:36:50 -04:00
Steel Titanium
d4dac52766 Upped freeslots limit 2019-06-03 15:23:48 -04: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
Monster Iestyn
68585dbc70 Merge branch 'checksight-fixes' into 'master'
P_CheckSight fixes

See merge request STJr/SRB2Internal!223
2019-06-02 13:13:48 -04:00
Monster Iestyn
b7f75246e4 Merge branch 'master' into checksight-fixes
# Conflicts:
#	src/p_sight.c
2019-06-02 18:13:02 +01:00
Monster Iestyn
9e6fd595da Merge branch 'acz-boss-hardcode' into 'master'
ACZ boss hardcode

See merge request STJr/SRB2Internal!221
2019-06-02 13:09:38 -04: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
571c5b89b5 Whoops, forgot to make P_CheckSight support slopes for same-sector FOF plane checking. 2019-05-27 21:18:02 +01:00
Monster Iestyn
abfdac15a8 Fixed P_CheckSight to support slopes, both for normal planes and FOF planes
(Untested)
2019-05-27 20:36:35 +01:00
Monster Iestyn
ad4006712e fix P_CheckSight to consider FOFs that completely block the view
(this could probably be in its own branch to be tested properly, but I'm on a roll with this atm)
2019-05-27 19:32:05 +01:00
Steel Titanium
34ce368895 Merge branch 'next' into jimita-unfuck-awayview 2019-05-25 19:47:45 -04:00
Steel Titanium
dc273d3f23 Merge branch 'next' into jimita-flashpals-on-screenshots 2019-05-25 19:37:17 -04:00
Steel Titanium
09e600c07d Add missing PPA source 2019-05-25 16:20:16 -04:00
Steel Titanium
c8a5597492 Update libopenmpt to 0.4.4 2019-05-23 22:05:28 -04:00
Monster Iestyn
677801f5ff Hardcode the bomb's explosion states, the dust object type and states, and the sprite prefixes for both 2019-05-23 21:51:58 +01:00
Monster Iestyn
e60b0b1a80 Update hw_light.c
(though I'm not sure why we bother, since coronas have been disabled for a decade now)
2019-05-23 21:08:27 +01:00
Monster Iestyn
7d0509f1cb Merge branch 'master' into acz-boss-hardcode 2019-05-23 20:38:25 +01:00
Monster Iestyn
742b11c0ff Hardcoded ACZ3.wad's version of A_TNTExplode under the name of A_Boss5BombExplode. After a lot of confusion and silly misunderstandings on my part (as well as a lot of mess cleaning), I've finally got there!
The states for the actual bomb explosion effect itself are yet to be hardcoded, but that I'll do tomorrow afternoon probably.
2019-05-21 21:51:19 +01:00
Steel Titanium
ce1c1d8c88 Forgot some references 2019-05-20 23:31:23 -04:00
Steel Titanium
bf3d5f4188 circleci: Fix compiling error 2019-05-20 23:22:23 -04:00
Steel Titanium
e00af6ffec Properly close the if 2019-05-20 22:17:38 -04:00
Steel Titanium
e280d1d83f Move to before_install 2019-05-20 22:00:28 -04:00
Steel Titanium
ce87ed97fb travis: remove sudo from command 2019-05-20 21:56:43 -04:00
Steel Titanium
9b174b9d02 travis: Add gpg key for git-lfs on linux 2019-05-20 21:54:29 -04:00
Steel Titanium
91767a7740 Merge branch 'master' into public-musicplus-libopenmpt 2019-05-20 21:33:10 -04: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