Commit graph

9946 commits

Author SHA1 Message Date
pogokeen
f7f62c4466 engine.cpp: lintersect(): fix integer overflow and negative case issue
git-svn-id: https://svn.eduke32.com/eduke32@7472 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:33 +02:00
pogokeen
a82eb1d6fe Re-introduce earlier lintersect() work that was reverted.
engine.cpp/.h: clean up & fix lintersect().  Additionally, add support for finding intersections of collinear line segments.

This reverts r7290.

git-svn-id: https://svn.eduke32.com/eduke32@7471 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:51:32 +02:00
terminx
24f43fe5a1 Fix another clipping problem underwater
git-svn-id: https://svn.eduke32.com/eduke32@7470 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:44 +02:00
terminx
b7160bf27c This is a better version of r7468
git-svn-id: https://svn.eduke32.com/eduke32@7469 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:38 +02:00
terminx
3926ae2d4f Fix underwater player clipping issue
git-svn-id: https://svn.eduke32.com/eduke32@7468 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:31 +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
8cbada19cf Fix crash in editor tile selector
git-svn-id: https://svn.eduke32.com/eduke32@7465 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:24:10 +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
57dce41ce9 The BUILD documentation says that pushmove() is supposed to be used to push players away from walls to avoid clipping problems, but Duke3D has never passed the correct parameters to pushmove()
This commit fixes that.

git-svn-id: https://svn.eduke32.com/eduke32@7462 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:53 +02:00
terminx
b62fa1fa5c Fix stupid bug in r7409
git-svn-id: https://svn.eduke32.com/eduke32@7461 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:47 +02:00
terminx
af3fb71b19 Improve player z clipping height detection
git-svn-id: https://svn.eduke32.com/eduke32@7460 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 13:23:42 +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
decce5bc70 Make updatesectorz() fall back to updatesector() in cases where it would have returned -1
Note that both functions will still return -1 when x or y coordinates are out of bounds.

git-svn-id: https://svn.eduke32.com/eduke32@7456 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:25 +02:00
terminx
eac78ec995 This is just a little bit of work on making Ion Maiden run properly with regular EDuke32 binaries
git-svn-id: https://svn.eduke32.com/eduke32@7455 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:23 +02:00
terminx
5e0d63a100 Guard more Duke-specific behavior behind EDUKE32_STANDALONE
git-svn-id: https://svn.eduke32.com/eduke32@7454 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:20 +02:00
terminx
940822c776 Disable Duke3D-specific r_drawweapon behavior in standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@7453 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:27:19 +02:00
terminx
c8bd436cf8 Additional TROR patch from Nuke
git-svn-id: https://svn.eduke32.com/eduke32@7452 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:25:52 +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
ba1dd663dd Fix Duke3D underwater movement speed
git-svn-id: https://svn.eduke32.com/eduke32@7449 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:14 +02:00
terminx
b65bfefd0f Revert change to enemy step heights that wasn't working out
git-svn-id: https://svn.eduke32.com/eduke32@7448 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:13 +02:00
terminx
5986dbf6e1 Fix crash in situations where rendering a scene would overrun all of the MAXBUNCHES sized arrays in both classic and polymost
git-svn-id: https://svn.eduke32.com/eduke32@7447 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:24:11 +02:00
terminx
5fbc429503 Fix return types of osdcmd_dumpmapstate() and osdcmd_playerinfo()
git-svn-id: https://svn.eduke32.com/eduke32@7445 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:23:46 +02:00
terminx
36d848c09d Group stuff affected by NETCODE_DISABLE together in osdcmds.cpp--no functional changes
git-svn-id: https://svn.eduke32.com/eduke32@7444 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:23:45 +02:00
hendricks266
ac8dabb0fb Rename net.* to network.*
git-svn-id: https://svn.eduke32.com/eduke32@7443 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:20:45 +02:00
terminx
3b271fb7bb Fix issue where controls intentionally bound to no keys would be reset to default at startup
git-svn-id: https://svn.eduke32.com/eduke32@7442 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:50 +02:00
terminx
fb36b256de Fix "spriteshadow" on voxels in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7441 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:48 +02:00
terminx
1a9944a260 Fix Duke's head bouncing off the ceiling when jumping
git-svn-id: https://svn.eduke32.com/eduke32@7439 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:29 +02:00
terminx
e77332db32 Work around issue where player sticks to the ceiling after jumping
git-svn-id: https://svn.eduke32.com/eduke32@7438 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:28 +02:00
terminx
0b1c21d477 Bump MAXCLIPNUM to 3072 because IM was still hitting it with 2048
git-svn-id: https://svn.eduke32.com/eduke32@7437 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:27 +02:00
terminx
d48ca24079 This should fix most of the remaining issues with projectiles colliding with ledges they shouldn't be hitting
git-svn-id: https://svn.eduke32.com/eduke32@7436 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:14:26 +02:00
terminx
37a8c98c2c Replace some individual assignments of structure members with whole structure assignments
git-svn-id: https://svn.eduke32.com/eduke32@7434 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 12:12:41 +02:00
terminx
dba335c7dd Adjust projection matrix depending on SCISDIST
git-svn-id: https://svn.eduke32.com/eduke32@7432 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:09:13 +02:00
terminx
42363fd73a Replace hard-coded literal "777" for player crack_time member with preprocessor define
git-svn-id: https://svn.eduke32.com/eduke32@7430 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:41 +02:00
terminx
c9719e4aa0 EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@7429 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:40 +02:00
terminx
eb5cade7de Fix irritating Duke clipping bugs, including where the player walks up on to wall oriented sprites
This also fixes getting through floor gaps that are too small by pressing jump while holding crouch.

These changes are absolutely going to break certain maps, and cause new bugs, at which point additional required fixes will be made on a case-by-case basis.

git-svn-id: https://svn.eduke32.com/eduke32@7428 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 12:06:38 +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
Christoph Oelckers
95c9dba9df - deactivated the no-fog-calculation checks again.
The high level code should have no business deciding that - this must later be done in the backend.
Performance-wise this is really a non-issue so in the end this constitutes an optimization that only creates mess but np gain.
The commit was only cherry-picked for the remaining changes.
2019-09-19 12:04:06 +02:00
terminx
8a6ce26b57 Don't bother with fog calculations for things without hightile replacements
git-svn-id: https://svn.eduke32.com/eduke32@7424 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymer.cpp
2019-09-19 11:56:04 +02:00
terminx
bafc3b45a2 Fix "findnearactor" family of CON functions
git-svn-id: https://svn.eduke32.com/eduke32@7423 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 11:49:00 +02:00
terminx
35efbccfa3 Fix r_polygonmode cvar
git-svn-id: https://svn.eduke32.com/eduke32@7422 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-19 11:48:58 +02:00
terminx
bf7ee94a2d Clean up polymost.cpp includes
git-svn-id: https://svn.eduke32.com/eduke32@7421 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-19 11:48:56 +02:00
Christoph Oelckers
e1e8b835db - make it compile again. 2019-09-19 11:43:11 +02:00
Christoph Oelckers
8f6f979fa5 - do not force the tile shades mode for now without re_adding the removed variable.
Much of this needs to be abstracted out but until that part is done this still needs to work properly.
2019-09-19 11:02:05 +02:00
terminx
a5965e2562 Remove r_usetileshades--GLOBAL_NO_GL_TILESHADES flag for DN64 not affected
This also locks the texture filtering options in the menu behind ifdef guards until they're fixed.

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

# Conflicts:
#	source/build/src/polymost.cpp
#	source/duke3d/src/menus.cpp
2019-09-19 10:50:18 +02:00
Christoph Oelckers
0168b9ddf2 - fix RedNukem input. 2019-09-19 01:10:07 +02:00
Christoph Oelckers
412f3a0b32 - proper npot checks for RedNukem's sky calculations. 2019-09-19 00:37:12 +02:00
Christoph Oelckers
588fbc26f9 - added RedNukem project. 2019-09-19 00:27:46 +02:00