Commit graph

576 commits

Author SHA1 Message Date
terminx
3db7512c69 Templatize bfirst_search_init() and bfirst_search_try() so they can be used with types other than int16_t
git-svn-id: https://svn.eduke32.com/eduke32@7629 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 09:20:14 +02:00
pogokeen
78d08b3ac2 engine.cpp: fix sprite sorting/adjustment issue introduced in r7612 that caused sprites with the same y value at the end of the sorted array to not be adjusted properly
git-svn-id: https://svn.eduke32.com/eduke32@7627 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:39 +02:00
pogokeen
fc636b53ca polymost.cpp: Fix issue where state would not be reset properly in polymost_drawmaskwall() when rendering translucent maskwalls with no texture
git-svn-id: https://svn.eduke32.com/eduke32@7626 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:29 +02:00
pogokeen
40737f44cc polymost.cpp: fix polymost_dorotatesprite() alpha test/blend issue introduced in r7619
git-svn-id: https://svn.eduke32.com/eduke32@7625 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:27 +02:00
pogokeen
775a0de6c1 polymost.cpp: fix issue where floors & ceilings with DAMETH_MASKPROPS were not being blended
git-svn-id: https://svn.eduke32.com/eduke32@7624 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 09:19:25 +02:00
Christoph Oelckers
0254bf82d3 - added NBlood source. 2019-09-20 00:42:45 +02:00
Christoph Oelckers
8074d8251e - can be compiled again but crashes. 2019-09-19 23:02:57 +02:00
Christoph Oelckers
dd7ce38cbb - adjustments for the Blood merge. 2019-09-19 22:26:44 +02:00
Christoph Oelckers
53335f20ec - Blood merge
# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/build.cpp
#	source/build/src/engine.cpp
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
2019-09-19 22:06:49 +02:00
pogokeen
5865d96306 engine.cpp: fix bug in killsprite where sprites were not being removed properly after sorting changes
git-svn-id: https://svn.eduke32.com/eduke32@7623 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 15:03:05 +02:00
pogokeen
d2ebc8a29c Reduce state changes and fix translucent maskwall depth buffer issue
git-svn-id: https://svn.eduke32.com/eduke32@7619 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 15:01:13 +02:00
terminx
be86eb779b This is a few less instructions
git-svn-id: https://svn.eduke32.com/eduke32@7618 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 15:00:57 +02:00
terminx
968ebdef84 Fix TROR clipping issue
git-svn-id: https://svn.eduke32.com/eduke32@7617 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 15:00:55 +02:00
pogokeen
2228af8658 Fix maskwall array indirection bug and two if conditional oversights from r7612
git-svn-id: https://svn.eduke32.com/eduke32@7615 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:58:14 +02:00
pogokeen
9534bb1578 polymost.cpp: switch from writing gl_FragColor to writing gl_FragData[0] in order to reduce VGPR usage on AMD cards
git-svn-id: https://svn.eduke32.com/eduke32@7613 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 14:58:09 +02:00
pogokeen
2765ebec87 Fix depth buffer issue causing translucent sprites to not render properly in Polymost.
Use polymost_spriteHasTranslucency() and polymost_maskWallHasTranslucency() to determine if a sprite has translucency.
Optimize sprite rendering when in Polymost by only sorting sprites with translucency.

git-svn-id: https://svn.eduke32.com/eduke32@7612 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 14:56:47 +02:00
terminx
61b3a65e79 Improve check_floor_curb()
This should fix several remaining clipping bugs.

git-svn-id: https://svn.eduke32.com/eduke32@7611 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:41 +02:00
terminx
12eb413f9c Fix SOS check in clipmove()
git-svn-id: https://svn.eduke32.com/eduke32@7610 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:40 +02:00
terminx
60ea578a8c Add support for returning the closest point in the sector to getsectordist()
git-svn-id: https://svn.eduke32.com/eduke32@7609 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:37 +02:00
terminx
8d85e8d934 Add new findwallbetweensectors() function and change sectoradjacent() to use it
git-svn-id: https://svn.eduke32.com/eduke32@7608 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:35 +02:00
terminx
e25a197f3e Piddly fart bullshit changes that don't really do anything
git-svn-id: https://svn.eduke32.com/eduke32@7606 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:52:31 +02:00
terminx
301ac48ccd Utilize the types added in the previous commit
This patch is a bit large.

git-svn-id: https://svn.eduke32.com/eduke32@7603 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/mdsprite.h
#	source/build/src/build.cpp
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
2019-09-19 14:46:31 +02:00
terminx
5948513d76 Introduce a few "new" types for convenience when dealing with pointers to sprites, walls, and sectors that bypass the StructTracker stuff
git-svn-id: https://svn.eduke32.com/eduke32@7602 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:07 +02:00
terminx
ab857c4e8f This should fix updatesector/updatesectorz performance while retaining the benefits of breadth-first search
git-svn-id: https://svn.eduke32.com/eduke32@7601 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:06 +02:00
terminx
a89c260592 Add optional output parameter to getwalldist(), to return the coordinates of the closest point on the wall
git-svn-id: https://svn.eduke32.com/eduke32@7600 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:04 +02:00
terminx
879cb550a6 Whitespace
git-svn-id: https://svn.eduke32.com/eduke32@7598 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:37:02 +02:00
terminx
5052addc67 Remove useless unused "sqr" function
git-svn-id: https://svn.eduke32.com/eduke32@7597 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:59 +02:00
terminx
2d01182ef0 Update libdivide.h with a couple of fixes for obscure problems from their git repo
git-svn-id: https://svn.eduke32.com/eduke32@7595 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:56 +02:00
terminx
1fae340426 Fix a bunch of improperly defined bitmap arrays
git-svn-id: https://svn.eduke32.com/eduke32@7594 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-19 14:36:54 +02:00
terminx
a628b8d9f7 Add bounds checking for renderSetTarget()
I'm not aware of this problem actually occurring anywhere, but too many consecutive calls to renderSetTarget() without the appropriate calls to renderRestoreTarget() between them would overflow 5 different arrays.

git-svn-id: https://svn.eduke32.com/eduke32@7593 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:44 +02:00
terminx
80d77f64cf This version of equation() compiles into fewer instructions
git-svn-id: https://svn.eduke32.com/eduke32@7592 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:42 +02:00
terminx
413d68f1f8 Replace yax_getclosestpointonwall() with getclosestpointonwall_internal() and use it in both yax_walldist() and getwalldist()
This commit also adds a getsectordist() but we aren't using it anywhere yet.

git-svn-id: https://svn.eduke32.com/eduke32@7591 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:36:40 +02:00
terminx
ea826fb117 Move NEXTWALL and POINT2 macros into build.h
git-svn-id: https://svn.eduke32.com/eduke32@7590 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:30:26 +02:00
terminx
51e5e41830 Remove obsolete "msinttypes" headers
git-svn-id: https://svn.eduke32.com/eduke32@7589 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:30:24 +02:00
terminx
e59f8e3b71 Use FORCE_INLINE and CONSTEXPR where appropriate in the Q16 fixed point math library
git-svn-id: https://svn.eduke32.com/eduke32@7588 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	platform/Windows/build.vcxproj.filters
2019-09-19 14:30:22 +02:00
terminx
e5bd221746 auto/const/constexpr bullshit
git-svn-id: https://svn.eduke32.com/eduke32@7587 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:49 +02:00
terminx
f9e866d32d Rename clipwalldist() to getwalldist() and move both it and sectoradjacent() to engine.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7586 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:48 +02:00
terminx
bb517b73e3 clip.cpp usectortype cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7585 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:45 +02:00
terminx
d04c4203c5 Fix a really stupid bug in r7574
git-svn-id: https://svn.eduke32.com/eduke32@7584 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:43 +02:00
terminx
5a814eb261 Make getceilzofslopeptr/getflorzofslopeptr/getzsofslopeptr not invoke the structure trackers
git-svn-id: https://svn.eduke32.com/eduke32@7583 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:41 +02:00
terminx
b46bc73322 Add a distance check to clipupdatesector() to prevent traversing through portals that are outside the wall distance passed to clipmove()
git-svn-id: https://svn.eduke32.com/eduke32@7582 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:40 +02:00
terminx
76d7fec2ff Expose yax_getclosestpointonwall() for use outside of engine.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7581 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:38 +02:00
terminx
e2be7183b4 Fix addclipsect() accidentally being nested under #ifdef HAVE_CLIPSHAPE_FEATURE
git-svn-id: https://svn.eduke32.com/eduke32@7580 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:36 +02:00
terminx
a32597464f Use uwalltype in inside() to avoid invoking the struct trackers
git-svn-id: https://svn.eduke32.com/eduke32@7578 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:32 +02:00
terminx
bcf8ae4d84 Revert "Clean up clip.cpp struct casting including but not limited to r7466 changes"
git-svn-id: https://svn.eduke32.com/eduke32@7577 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:30 +02:00
hendricks266
f96e1c8e24 Clean up clip.cpp struct casting including but not limited to r7466 changes
git-svn-id: https://svn.eduke32.com/eduke32@7576 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:29 +02:00
hendricks266
cd499b2089 Fix clipshape regression in r7466
git-svn-id: https://svn.eduke32.com/eduke32@7575 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:27 +02:00
terminx
9af816af52 Replace manual search of clipsectorlist[] in clipmove() and friends with a bitmap
git-svn-id: https://svn.eduke32.com/eduke32@7574 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:25 +02:00
terminx
74944c9ed0 Fix clipupdatesector()
git-svn-id: https://svn.eduke32.com/eduke32@7573 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:23 +02:00
terminx
ad59875fa3 Improve warnings spewed by clipmove() when attempting to consider too many things for clipping
git-svn-id: https://svn.eduke32.com/eduke32@7572 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:21 +02:00