Commit graph

28 commits

Author SHA1 Message Date
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
terminx
8a68bffdb0 Clean up clip.h and declare a bunch of stuff in clip.cpp static
git-svn-id: https://svn.eduke32.com/eduke32@7571 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:19 +02:00
terminx
b7d06c0bd8 clipmove/pushmove parameter const correctness
git-svn-id: https://svn.eduke32.com/eduke32@7567 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:26:12 +02:00
terminx
7abfcd28be Add clipupdatesector(), a special version of updatesector() that only searches and returns results that are already in clipsectorlist[]
git-svn-id: https://svn.eduke32.com/eduke32@7546 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 14:20:47 +02:00
terminx
fd5ee7c561 Fix dumbass problem with r7463 that screwed up projectiles
git-svn-id: https://svn.eduke32.com/eduke32@7490 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:56:35 +02:00
terminx
303d0048ea We probably don't want to be bailing out here when handling a clipshape
git-svn-id: https://svn.eduke32.com/eduke32@7486 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:52:35 +02:00
terminx
0edbd45145 Retire the original naive updatesector() and updatesectorz() in favor of the breadth-first versions
git-svn-id: https://svn.eduke32.com/eduke32@7484 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymer.cpp
2019-09-19 13:52:32 +02:00
terminx
2591c69b44 Add updatesectorbreadthz(), change pushmove() to use updatesectorbreadth(), and modify updatesectorbreadth() to include the early inside_p() return regular updatesector() has
git-svn-id: https://svn.eduke32.com/eduke32@7482 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:55 +02:00
terminx
ae59a46c8b Use updatesectorbreadth() in clipmove()
git-svn-id: https://svn.eduke32.com/eduke32@7480 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:50 +02:00
pogokeen
0bfde1c4d3 Fix issue where swingdoors would refuse to open or close if an enemy was in front of the door in an overlapping but unrelated/disjoint sector
git-svn-id: https://svn.eduke32.com/eduke32@7473 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:35 +02:00
terminx
1ea1f525d9 Fix editor clipping issue
git-svn-id: https://svn.eduke32.com/eduke32@7467 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:23 +02:00
terminx
25236d3d74 usectortype/uwalltype cleanup in clip.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7466 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:17 +02:00
terminx
c2e0000b11 Add bounds checking for populating clipsectorlist[], use preprocessor labels for sprite cstats
git-svn-id: https://svn.eduke32.com/eduke32@7464 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:04 +02:00
terminx
393e97beec Partially refactor clipmove()
git-svn-id: https://svn.eduke32.com/eduke32@7463 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:59 +02:00
terminx
ceaaaf9c0d Reduce MAXCLIPNUM to 2048 again and introduce MAXCLIPSECTORS, with a value of 1024
git-svn-id: https://svn.eduke32.com/eduke32@7459 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:36 +02:00
terminx
ddd1d34973 clipmove() improvements
This reverts some of the previous clipmove() changes in favor of implementing explicit rejection of movement in cases where clipping has somehow failed.

git-svn-id: https://svn.eduke32.com/eduke32@7457 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:27 +02:00
terminx
66734e34bf Further clipmove() improvements to better deal with sector-over-sector
There's still something wrong here, but this at least fixes Duke3D E1L2.

git-svn-id: https://svn.eduke32.com/eduke32@7450 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:16 +02:00
terminx
3220b1e4f9 Hoist comparison of const variable outside of loop in getzrange()
git-svn-id: https://svn.eduke32.com/eduke32@7427 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:38 +02:00
terminx
7ccbd22013 Move some clipping related stuff out of engine.cpp and into clip.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7417 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:59 +00:00
terminx
76863607e3 This fixes a bug in clipmove() where clipping against sprites above you was wrong
Because this is a check for sprites above the sprite being moved and not a check for sprites below, the height of the sprite should not be taken into account at all here and the base of the sprite should be used instead.

git-svn-id: https://svn.eduke32.com/eduke32@7404 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:08:08 +00:00
terminx
6190fbb4f2 clipmove() improvements
This fixes an issue with clipmove() caused by sectors behind walls which were candidates for clipping not being added to the list of sectors that definitely clip the player, forcing the function to fall back to a slow, sector-by-sector brute force approach. This brute force approach has also been removed in favor of something more efficient.

git-svn-id: https://svn.eduke32.com/eduke32@7398 1a8010ca-5511-0410-912e-c29ae57300e0
2019-03-19 17:07:45 +00:00
hendricks266
de5d358d32 Refresh BUILDLIC copyright headers
git-svn-id: https://svn.eduke32.com/eduke32@7139 1a8010ca-5511-0410-912e-c29ae57300e0
2018-11-05 07:28:01 +00:00
terminx
9079beadb4 Remove some dead statements, useless assigments, etc
git-svn-id: https://svn.eduke32.com/eduke32@7086 1a8010ca-5511-0410-912e-c29ae57300e0
2018-10-25 23:29:38 +00:00
terminx
19c43b84b3 Function names
git-svn-id: https://svn.eduke32.com/eduke32@6831 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-12 21:03:47 +00:00
terminx
851c7755c2 Use CSTAT_SPRITE_ALIGNMENT_* enums in a couple places
git-svn-id: https://svn.eduke32.com/eduke32@6811 1a8010ca-5511-0410-912e-c29ae57300e0
2018-04-06 01:42:38 +00:00
hendricks266
3ae7cb1de5 Replace bespoke CON/def module and clipmap filename array reallocing with a new class, GrowArray.
git-svn-id: https://svn.eduke32.com/eduke32@6673 1a8010ca-5511-0410-912e-c29ae57300e0
2018-02-17 22:30:39 +00:00
hendricks266
62a921c409 Remove the implicit "static" from our FORCE_INLINE macro.
This will be important for C++ member functions.

git-svn-id: https://svn.eduke32.com/eduke32@6076 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-25 08:15:53 +00:00
hendricks266
1cc9d13ccf The great repository rearrangement of 2017.
Files moved but not modified. Changes to follow in a subsequent commit.

You down with CPP?

git-svn-id: https://svn.eduke32.com/eduke32@6055 1a8010ca-5511-0410-912e-c29ae57300e0
2017-02-01 10:01:11 +00:00
Renamed from polymer/eduke32/build/src/clip.c (Browse further)