Commit graph

6857 commits

Author SHA1 Message Date
Steel Titanium
eb99ad0437 Merge branch 'more-limits' into 2.1.24-prep 2019-06-07 11:28:43 -04:00
Monster Iestyn
6f6d912fa6 Update version to 2.1.24 2019-06-07 15:48:33 +01:00
Nev3r
0795c7811a Merge branch 'master' of https://git.magicalgirl.moe/STJr/SRB2Internal into portals2 2019-06-07 13:11:51 +02:00
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
Jaime Passos
39857a846a PNG support 2019-05-26 23:37:23 -03:00
Jaime Passos
0bcf89679e Hardware renderer: Fix polyobjects 2019-05-26 18:16:13 -03:00
Jaime Passos
a4a529bdb5 Hardware renderer: Disable Glide-specific texture handling 2019-05-26 17:41:10 -03:00
Jaime Passos
dfd8beae27 Merge remote-tracking branch 'upstream/jimita-flats' into flats 2019-05-26 16:43:33 -03:00
Jaime Passos
93f60267c1 Minor fixes 2019-05-26 16:22:33 -03:00
Nev3r
36036b6cfd Permit textures to use the "TEXTURE" tag in addition to "WALLTEXTURE".
It's pointless to make any distinctions anymore IMO, given flats can load them just fine now.
2019-05-26 12:02:43 +02: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
Jaime Passos
dbb1575a6d Animations, better flat management. 2019-05-21 15:24:26 -03:00
Jaime Passos
869f1e4e8d Fix warnings 2019-05-21 11:03:53 -03:00
Jaime Passos
35d6da159d HOLD UP 2019-05-21 09:50:39 -03:00
Steel Titanium
ce1c1d8c88 Forgot some references 2019-05-20 23:31:23 -04: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
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