Commit Graph

7821 Commits

Author SHA1 Message Date
terminx 38fe40abf2 Bump MAXCACHEOBJECTS from 9216 to 16384
This is actually the first time we've increased this limit in the entire time the engine source has been available.

git-svn-id: https://svn.eduke32.com/eduke32@7757 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:19 +02:00
terminx 24b994d952 One of those stupid optimizations you notice the potential for when scrolling through code looking for something
git-svn-id: https://svn.eduke32.com/eduke32@7756 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:17 +02:00
terminx 7a6293ff42 Floating point grouscan() patch from Nuke.YKT, worth a couple of fps in classic mode in slope-heavy scenes
git-svn-id: https://svn.eduke32.com/eduke32@7755 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:08 +02:00
pogokeen c9014870e3 Improve depth fighting by pushing out the near plane and improve near plane clipping by depth clamping.
Suggest reducing SCISDIST when there's time to debug SCISDIST issues.

git-svn-id: https://svn.eduke32.com/eduke32@7754 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:06 +02:00
Christoph Oelckers 8de0fd35a1 - fixed compilation 2019-09-20 14:32:28 +02:00
pogokeen 2e75437262 If GL_ARB_clip_control & GL_ARB_depth_clamp are available, reflect that in glinfo
git-svn-id: https://svn.eduke32.com/eduke32@7753 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:18:33 +02:00
pogokeen 13615565fd game.cpp: temporarily limit A_Spawn() owner changes from r7738 to locators
git-svn-id: https://svn.eduke32.com/eduke32@7751 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:17:57 +02:00
terminx f51b2a2cb3 Gump redux
git-svn-id: https://svn.eduke32.com/eduke32@7747 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:16:06 +02:00
terminx 3269875e7b Fix builds on platforms other than win32--oops
git-svn-id: https://svn.eduke32.com/eduke32@7746 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/compat.h
2019-09-20 14:16:03 +02:00
terminx c1d261965f Clarify incompatible savegame log message
git-svn-id: https://svn.eduke32.com/eduke32@7745 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:15:03 +02:00
terminx 72821e7de1 Patch from Nuke.YKT to improve mouse selection in the editor in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7740 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 14:12:27 +02:00
pogokeen 458124a237 actors.cpp: Change demo camera path following behaviour to search for locators based on a hitag channel to avoid locator lotag contention.
Now, destination and subject locators should be assigned one hitag channel.  Destination locators will be visited starting from lotag 0 and counting upward.
Subject locators can have any lotag within the same hitag channel, and may also be a destination if the lotag is not separated from the destination locator ids.
Destination locators must now specify their subject locator in their owner field by lotag.

git-svn-id: https://svn.eduke32.com/eduke32@7739 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:04:38 +02:00
pogokeen cfa0ea2a65 game.cpp: When A_Spawn() is spawning from an already existing sprite, do not reset the owner field if it has been overridden from the default.
git-svn-id: https://svn.eduke32.com/eduke32@7738 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:04:36 +02:00
pogokeen d621023807 polymost.cpp: Fix polymost_domost() issue with COMBINE_STRIPS where in certain cases, merging with the viewport nodes caused accidental reading of sentinel node values.
Additional debug code is included for visualizing the state of the vsp data structure.
Further, fix issue in drawpoly where it would access out of bounds of dpxy if fewer than 3 vertices were passed in and fix issue where multiple calls to polymost_setVisibility() were repeatedly setting the visibility factor to the same value.

git-svn-id: https://svn.eduke32.com/eduke32@7737 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:04:32 +02:00
pogokeen 8cbdf3a0c4 Use stencil buffer in Polymost to restrict mirrors to only render within the region of the screen occupied by the mirror wall.
Additionally, raise minimum number of stencil buffer bits to accomodate future use of the stencil buffer.

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

# Conflicts:
#	source/build/include/build.h
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/kenbuild/src/game.cpp
2019-09-20 14:04:29 +02:00
pogokeen 1426b3fb4f winlayer.cpp: fix videoBeginDrawing() to return an intptr_t to mirrorBuffer when inpreparemirror
git-svn-id: https://svn.eduke32.com/eduke32@7735 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:22 +02:00
pogokeen c2340dd409 Add EVENT_RESETGOTPICS which gives scripts the chance to reset gotpics (and similar effects trackers) for effects that run in EVENT_DISPLAYROOMS.
EVENT_RESETGOTPICS is called after the last call to EVENT_DISPLAYROOMS in a frame, but before any engine-side calls to renderDrawRoomsQ16()

git-svn-id: https://svn.eduke32.com/eduke32@7734 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:20 +02:00
pogokeen cdd83905ca Fix TROR & skyboxes to work with mirrors in Software & Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7733 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:17 +02:00
pogokeen 2c85a0a53c game.cpp: fix issue where tilt angle was not being reset to 0 at times when it should have been disabled
git-svn-id: https://svn.eduke32.com/eduke32@7732 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:59:14 +02:00
Christoph Oelckers ceceb63b5e - adjustments for frame rate limiting copied from Duke3D project. 2019-09-20 13:54:27 +02:00
pogokeen b014ae4d54 game.cpp: improve G_FPSLimit() to be more stable with regard to floating point precision.
Additionally, prefer rendering early and compensating with a late frame due to clock precision rather than the other way around so that we are more consistently within a target vblank period.

git-svn-id: https://svn.eduke32.com/eduke32@7731 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:29 +02:00
pogokeen 19c2c690d3 Fix latency issue introduced by G_FPSLimit() handling of videoNextPage() that was causing frames to be delayed presentation until after the next frame is prepared.
videoNextPage() is now called immediately after preparing the frame for drawing, outside of G_FPSLimit() but on the condition that its return value is true.

git-svn-id: https://svn.eduke32.com/eduke32@7730 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:27 +02:00
pogokeen 281ee3358b Add benchmarkmode cvar which allows putting demo cameras in the map which can be used for automatic benchmarking of performance & correctness testing
git-svn-id: https://svn.eduke32.com/eduke32@7729 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:24 +02:00
pogokeen 87d3af7204 game.cpp: change camera sprite yvel limits to clamp to min/max angle when beyond the min/max rather than when beyond 0 and 199
git-svn-id: https://svn.eduke32.com/eduke32@7728 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:21 +02:00
pogokeen 0cc6ff2e48 actors.cpp: Add additional demo camera behaviours.
Allow the demo camera to be used while not playing back a recorded demo.
Add the ability for the camera to follow paths specified by locators.

git-svn-id: https://svn.eduke32.com/eduke32@7727 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:14 +02:00
terminx 876627136a Player duct walking sound fix
git-svn-id: https://svn.eduke32.com/eduke32@7726 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:32:12 +02:00
Christoph Oelckers 86dcab958d - make it compile again. 2019-09-20 13:30:25 +02:00
terminx b7f7c5fdc1 libdivide fixup
git-svn-id: https://svn.eduke32.com/eduke32@7725 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:17:34 +02:00
terminx 7a4a80552c Call S_PauseSounds(false) from Menu_Close()
git-svn-id: https://svn.eduke32.com/eduke32@7724 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:17:31 +02:00
terminx 2ce96f67be Patch from Nuke.YKT to add support for the cstat flip bits to voxels in both software and Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7723 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:17:29 +02:00
Christoph Oelckers 1c3487444c - some safety net. 2019-09-20 13:17:19 +02:00
terminx c122aa2178 Replace DO_TILE_ANIM() macro with tileUpdatePicnum() function
git-svn-id: https://svn.eduke32.com/eduke32@7722 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/engine_priv.h
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
2019-09-20 13:15:07 +02:00
terminx a7d4df8072 Use default argument values of -1 for the sprite and player indexes passed to VM_OnEvent()
git-svn-id: https://svn.eduke32.com/eduke32@7721 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:08:36 +02:00
terminx 1e0dd0e534 Templatized linked list functions
git-svn-id: https://svn.eduke32.com/eduke32@7720 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 13:08:34 +02:00
terminx 00222e05f6 Use remove_pointer_t instead of regular std::remove_pointer and add a definition for it for CXX11 builds
git-svn-id: https://svn.eduke32.com/eduke32@7719 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:46 +02:00
terminx 3130b51a96 Add SLOPTABLESIZ preprocessor definition
git-svn-id: https://svn.eduke32.com/eduke32@7718 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:42 +02:00
terminx 3cdc20cac1 Patch from Nuke.YKT to increase the size of sloptable[]
git-svn-id: https://svn.eduke32.com/eduke32@7717 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:40 +02:00
terminx d3f93fc00f EDuke32-specific libdivide customizations
git-svn-id: https://svn.eduke32.com/eduke32@7716 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:38 +02:00
terminx db7a2bd0db Update libdivide from git
git-svn-id: https://svn.eduke32.com/eduke32@7715 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:36 +02:00
terminx 4a09e2a183 Patch from Nuke.YKT to improve the appearance of slopes in software mode
git-svn-id: https://svn.eduke32.com/eduke32@7714 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:34 +02:00
terminx d5d1f0a0ea Patch from Nuke.YKT to implement q16 angle and horiz in software mode
git-svn-id: https://svn.eduke32.com/eduke32@7713 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:32 +02:00
terminx fe2fe0c2cf Patch from Fox:
Polymost visibility: compensate for the classic mode "truncating" the lookup shades by moving the fog ramp by the equivalent of 1/2 shade

Fix some issues with negative shade in GL fog.

git-svn-id: https://svn.eduke32.com/eduke32@7712 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:29 +02:00
terminx ff4449638e Use #if DEBUGGINGAIDS>=2 for the assertions in the structure trackers
git-svn-id: https://svn.eduke32.com/eduke32@7711 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:27 +02:00
terminx 2114abcedd Don't force APLAYER to have the default action when shown through a viewscreen in EDUKE32_STANDALONE builds
git-svn-id: https://svn.eduke32.com/eduke32@7710 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:24 +02:00
terminx cf915a142c Cosmetic change
git-svn-id: https://svn.eduke32.com/eduke32@7709 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:22 +02:00
terminx 29b626fc5d Get rid of DYNALLOC_ARRAYS
It's garbage and the "functionality" it provided is something that will be able to be achieved in a better way in a future commit.

git-svn-id: https://svn.eduke32.com/eduke32@7708 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:20 +02:00
terminx d2b3691e22 Remove FIXMATH_NO_64BIT
This codebase doesn't work on any platforms where int64_t isn't even a type.

git-svn-id: https://svn.eduke32.com/eduke32@7707 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:17 +02:00
terminx 7f32add116 It looks like this works in MSVC
git-svn-id: https://svn.eduke32.com/eduke32@7706 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:07:14 +02:00
terminx ccdba037b5 Added Xfree() function to accompany the Xmalloc() family of functions and change all uses of Bfree() to Xfree()
This was necessary because everything is already allocated with the Xmalloc() functions, but a future commit will make blocks allocated with those functions no longer compatible with the system implementation of free(), which Bfree() wraps.

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

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/mdsprite.cpp
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
#	source/build/src/texcache.cpp
#	source/build/src/voxmodel.cpp
2019-09-20 12:07:10 +02:00
terminx dc62b986e8 Update miniz from 2.0.8 to 2.1.0--not much of a change
git-svn-id: https://svn.eduke32.com/eduke32@7703 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 12:02:41 +02:00