Commit Graph

6253 Commits

Author SHA1 Message Date
Nev3r 8c3ddd61d5 Refactored a bit of code regarding visplane bound trimming for portals; reset ffloor's f_clip/c_clip so that FOFs on portals don't interfere with previously acquired bounds. 2019-06-07 13:10:12 +02:00
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 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