Commit graph

2924 commits

Author SHA1 Message Date
terminx
ad6d94b0f5 Patch from Doom64hunter to address a couple of issues with per-map art
git-svn-id: https://svn.eduke32.com/eduke32@8167 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/tiles.cpp
2019-10-20 08:28:44 +02:00
terminx
8e088f6659 Equivalent to jfbuild commit b6a666745cea21c6f8193b046bcdd0636fb7c166
git-svn-id: https://svn.eduke32.com/eduke32@8158 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 08:17:35 +02:00
terminx
0270cc2df5 SDL_free() is not for pointers to SDL_RWops structures...
git-svn-id: https://svn.eduke32.com/eduke32@8151 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 08:16:02 +02:00
terminx
c86af959b9 Add optional duration parameter to idle()
git-svn-id: https://svn.eduke32.com/eduke32@8149 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/winlayer.h
2019-10-20 08:13:22 +02:00
terminx
a649130327 Clamp nextPageDelay in G_FPSLimit() to 0.0 - g_frameDelay
git-svn-id: https://svn.eduke32.com/eduke32@8148 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 08:12:26 +02:00
Christoph Oelckers
53248945e8 - added license headers. 2019-10-20 08:07:12 +02:00
Christoph Oelckers
e5ddb28a2b - renamed texcache.cpp and moved it to its proper place.
The old content no longer exists, this is entirely backend code now.
2019-10-20 08:04:54 +02:00
Christoph Oelckers
f29dd6c495 - include cleanup 2019-10-20 08:02:45 +02:00
Christoph Oelckers
efcf447398 - moved newly added file to its proper place. 2019-10-20 07:51:35 +02:00
terminx
4dfae31900 Update xxHash to git commit cd0f5c22095c49c35104dca86620322801f14893
git-svn-id: https://svn.eduke32.com/eduke32@8142 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	platform/Windows/build.vcxproj
#	platform/Windows/build.vcxproj.filters
2019-10-20 07:50:30 +02:00
terminx
70171ea341 Use timerGetHiTicks() instead of timerGetTicks() for timing in osdfunc_fileinfo()
git-svn-id: https://svn.eduke32.com/eduke32@8141 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:16 +02:00
terminx
85dd8e31a5 G_HandleAsync() -> gameHandleEvents()
git-svn-id: https://svn.eduke32.com/eduke32@8140 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:15 +02:00
terminx
802f69d324 Partial timer cleanup
After this revision, the only place timerUpdate() is called is from within handleevents(). S_Cleanup(), MUSIC_Update(), and G_HandleSpecialKeys() are now called from a timer callback set with timerSetCallback(). This more or less deprecates the usage of faketimerhandler() in EDuke32 and Mapster32, but other games still rely on the functionality.

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

# Conflicts:
#	source/duke3d/src/astub.cpp
2019-10-20 07:48:13 +02:00
terminx
593b5740e3 Reword stupid error message that has probably never even been seen
git-svn-id: https://svn.eduke32.com/eduke32@8138 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:05 +02:00
terminx
4d3dedd4ab ifdef DEBUGGINGAIDS for this quick exit crap
this is more like regular AIDS than DEBUGGINGAIDS though

git-svn-id: https://svn.eduke32.com/eduke32@8137 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:04 +02:00
terminx
4c4ffa80b4 Use tabledivide64() in timerUpdate()
git-svn-id: https://svn.eduke32.com/eduke32@8136 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:02 +02:00
terminx
b298ed19ff Ugh, apparently we rely on this for FURY
git-svn-id: https://svn.eduke32.com/eduke32@8135 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 07:48:01 +02:00
Christoph Oelckers
85d377647a - tweaked the fade ramp a bit.
For Duke Nukem and its direct offspring (Nam, WW2GI and Redneck Rampage) the ramp is not a linear fade from 0 to 1, it needs to be a little darker than that.
Unfortunately the proper factor needed here must be set manually, this cannot really be calculated from the lookup tables.
2019-10-20 01:14:48 +02:00
Christoph Oelckers
9437387b4a - fixed handling of FogDisabled flag 2019-10-20 00:45:47 +02:00
Christoph Oelckers
abaa1d19ee - fixed some bad setup in SetTextureInternal. 2019-10-20 00:31:27 +02:00
Christoph Oelckers
2162ce1f26 - disabled the Redneck Rampage load progress indicator because it only prolongs the precaching time by waiting for the screen to be refreshed. 2019-10-19 23:19:45 +02:00
Christoph Oelckers
bb4a19cf3a - added a few more texture formats to FHardwareTexture.
For brightmaps we do not need full RGBA8 data with mipmaps - RGBA2 without mipmaps is fully sufficient here and will save a lot of video memory.
2019-10-19 23:14:36 +02:00
Christoph Oelckers
7d2f61db2e - converted all boolean parameters of the shader into a single flag word.
- discarded the idea of transient palettes because the maintenance here stood in no relation to the savingd.
2019-10-19 22:46:37 +02:00
Christoph Oelckers
17816b0f63 - fixed compilation for NBlood update. 2019-10-19 20:48:59 +02:00
nukeykt
098740155b Use screentext in DrawStatNumber 2019-10-19 20:33:52 +02:00
nukeykt
182d5d2eb5 Use screentext in viewDrawText 2019-10-19 20:33:50 +02:00
nukeykt
90dc59749d Import screentext from eduke32
# Conflicts:
#	platform/Windows/nblood.vcxproj
#	platform/Windows/nblood.vcxproj.filters
2019-10-19 20:33:49 +02:00
Christoph Oelckers
6f4ca480b5 - sky clamping may only be done in Blood for now.
This needs a better solution.
2019-10-19 20:25:58 +02:00
Christoph Oelckers
5fa879d5d1 - use texture clamping for skies, because these textures do not always wrap. 2019-10-19 19:29:59 +02:00
Christoph Oelckers
39e32d560c - fixed progdir setup. 2019-10-19 19:22:23 +02:00
Christoph Oelckers
d4fc13fba5 - cleaned up the sampler manager's content names and added the missing types to allow easier switching between indexed (no filtering) and non-indexed (filter as per user option). 2019-10-19 19:10:09 +02:00
Christoph Oelckers
2152780806 - added some hackery to render voxels properly again.
Something about their data preparation is not right, their depth looks totally off and causes fog to become to dense.
One more reason to reconstruct the renderer in a sane fashion.
2019-10-19 18:14:13 +02:00
Christoph Oelckers
e2f9e12efb - implemented shade level based depth fading for the true color renderer. 2019-10-19 16:35:06 +02:00
Christoph Oelckers
cd7bbe35a8 - removed all legacy fog code. 2019-10-19 15:52:46 +02:00
Christoph Oelckers
2ef89abe08 - reworked palookupinfo output. 2019-10-19 13:27:09 +02:00
Christoph Oelckers
4a9f0248d7 - removed the texture ID cache.
Although this initially helped, it was only because it partially covered up the issues from the real problem which was using the sampler properties of the texture offsets.
With that one fixed this cache became pointless.
2019-10-19 10:40:47 +02:00
Christoph Oelckers
bc986b8054 - make the engine consistently use BGRA data - the internal palettes were still RGBA, which caused problems down the line.
- increased cache size to 200 MB (Note: The cache really needs to be replaced with something better that can adapt better to a system's RAM size.)
2019-10-19 10:22:02 +02:00
Christoph Oelckers
8b1f2f5fc9 - disabled console lockout option as a modding feature.
No, sorry, but this is something I consider unacceptable!
2019-10-19 00:27:34 +02:00
Christoph Oelckers
4142d3792b - delete BUILDART header if found.
This will otherwise cause problems down the line because these 8 bytes are ignored in the offsets.
2019-10-19 00:26:43 +02:00
Christoph Oelckers
c6f973d05f - more palookup information dumping 2019-10-19 00:25:42 +02:00
Christoph Oelckers
00630f728f - fixed voxel rendering.
Still need to move the voxel textures into the texture manager but at least they render properly again.
2019-10-18 22:25:47 +02:00
Christoph Oelckers
00d59459a1 - fixed creation of true color textures and disabled fog in palette mode.
The fog should go away entirely but in palette mode it made everything too dark.
2019-10-18 22:09:19 +02:00
Christoph Oelckers
2ed722f329 - do not draw invalid textures. 2019-10-18 19:29:35 +02:00
Christoph Oelckers
9f357248e5 - fixed crash on shutdown. 2019-10-18 19:11:18 +02:00
Christoph Oelckers
dab7c43f7c - fixed all compiler errors.
It mostly works again, but still has a few glitches.
2019-10-18 19:06:57 +02:00
Christoph Oelckers
ed415c1fa0 - silenced a few warnings. 2019-10-18 17:55:22 +02:00
Christoph Oelckers
23265ad213 - rework of texture management for models
Voxels yet to do.
This also removes the redundant texture matrix for the glow texture.
2019-10-18 14:04:32 +02:00
Christoph Oelckers
542994cc20 - added lookup for brightmap palettes. 2019-10-18 12:11:53 +02:00
Christoph Oelckers
530a9944f7 - texture loader redone but not tested yet
Models are currently non-functional and need to reroute their texture handling to the global texture manager instead of handling everything themselves.

Voxels also need a bit of work to make their texture management more automated.
2019-10-18 11:37:07 +02:00
Christoph Oelckers
c6514949e3 - texture creation WIP. 2019-10-18 00:20:27 +02:00
Christoph Oelckers
3da49ad20a - safety commit: all relevant code for the texturing system has been moved to texcache.cpp. 2019-10-17 21:44:34 +02:00
Christoph Oelckers
bef8c9ae76 - hictinting cleanup.
This needs to be moved into the backend, and partially into the shader. So far this only removes the code from the main rendering logic, the final implementation is not done yet.
It had to go because it required the main rendering code to look deep into the texture data which would be a major blocker for refactoring.
2019-10-17 20:29:58 +02:00
Christoph Oelckers
304a906aa7 copy code 2019-10-17 14:21:51 +02:00
Christoph Oelckers
1426ebec20 Moved hightile replacement data into the textures
Not tested yet!
2019-10-17 12:45:25 +02:00
Christoph Oelckers
4f8e0dd936 - cleaned up a few copyright notices and unified licenses 2019-10-17 09:42:11 +02:00
Christoph Oelckers
6d7458fe42 - fixed bad endif() placing in CMake projects 2019-10-17 08:44:01 +02:00
Christoph Oelckers
452cfe385e - Blood's voxel loader override has somehow gotten lost. 2019-10-16 23:57:29 +02:00
Christoph Oelckers
0aa5db7969 - project rework to shorten compile times.
* subprojects fpr game frontends added and unsigned char option put into global flags.
2019-10-16 23:09:02 +02:00
Christoph Oelckers
c988165131 - added a temporary workaround for image-based tile replacements.
The texture management is not ready yet to seamlessly handle these textures so for now they always need to be installed as hightile replacements.
2019-10-16 22:02:27 +02:00
Christoph Oelckers
066a76c892 - missed this part. 2019-10-16 21:18:26 +02:00
Christoph Oelckers
4cd2c024fc - fixed crash in texture deinit code and ensure that everything gets deleted. 2019-10-16 21:16:40 +02:00
nukeykt
37322d001d Do not apply zero floorpal on color sectors 2019-10-16 20:40:54 +02:00
nukeykt
a94404232b Default target value to -1
# Conflicts:
#	source/blood/src/trig.cpp
2019-10-16 20:40:53 +02:00
nukeykt
97feb8d59c Fix mapedit compiling
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-10-16 20:40:41 +02:00
CommonLoon102
70b5e67e6f fix cultist respawn time (#220)
# Conflicts:
#	source/blood/src/actor.cpp
2019-10-16 20:40:34 +02:00
Christoph Oelckers
64e116a4b1 - use special classes with [] operators to redirect the frequently used global arrays to the newly implemented texture manager.
This allows to use the contained storage without changing all the code.
2019-10-16 20:39:59 +02:00
Christoph Oelckers
4dc69620b7 - cleanup 2019-10-15 23:56:29 +02:00
Christoph Oelckers
57c221644a - transitioned all texture options of the def file 2019-10-15 23:38:01 +02:00
Christoph Oelckers
bb78db71bc - tileDelete / tileSetDummy 2019-10-15 23:29:47 +02:00
Christoph Oelckers
9a52e8039c - rerouted tileCreate and tileSetExternal calls. 2019-10-15 23:18:52 +02:00
Christoph Oelckers
c3bc690e98 - more updating and bug in UpdatePicSize fixed. 2019-10-15 20:02:37 +02:00
Christoph Oelckers
0e165e40a3 - first batch of adjustments to the new tile management.
- consolidated Polymost precaching and removed precaching for static tiles because they now are always loaded.
- removed cache configurability. On modern systems this is relatively pointless - allocating 50 or 100 MB is a non-issue - and the cache is due for replacement anyway.
2019-10-15 00:54:14 +02:00
Christoph Oelckers
4b6f28e7c8 - hooked up the writable texture types. 2019-10-15 00:19:31 +02:00
Christoph Oelckers
039d948991 - update of new texture classes. 2019-10-14 23:11:01 +02:00
Grind Core
9dd46c1c7c - Fixes for refactor (wrong kills count)
- Fixes for refactor (proximity flag for dudes)
- Fixes for refactor (wrong kills count)

# Conflicts:
#	source/blood/src/actor.cpp
2019-10-14 22:42:43 +02:00
Grind Core
16d4aebbb4 - Fixes for refactor
- Some ThrowError() calls was replaced my viewSetSystemMessage()
- New modern type playQAV (WIP)

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/weapon.h
2019-10-14 22:42:43 +02:00
Grind Core
08dfee073c - Added names for callbacks
- Added names for sprite, wall and sector types
- Added gModernMap protection for using new features only on different version of map

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/callback.cpp
#	source/blood/src/callback.h
#	source/blood/src/triggers.h
2019-10-14 22:42:42 +02:00
Christoph Oelckers
9a4c07db27 - make it compile again. 2019-10-14 22:42:29 +02:00
Christoph Oelckers
17a4ddd51e - adjusted bit array helpers for the change of type for gotpic from (undefined) char to (defined) uint8_t. 2019-10-13 08:55:52 +02:00
Christoph Oelckers
a6ba81939a - reworked texture management, not yet active. 2019-10-12 22:49:46 +02:00
Christoph Oelckers
bb67a1ba38 - some reworking of the texture code to make integration of Build tiles easier. 2019-10-12 08:54:06 +02:00
Christoph Oelckers
fbc22e0125 - sanitized walock.
Sorry, but having a globally writable pointer to every texture is just insane and makes any functional management impossible.
This is merely a preparation for adding a real texture manager. That cannot be done if any code can write over the data at will. For that, it now has to make the texture writable first or create a writable empty texture.
2019-10-11 23:31:59 +02:00
Christoph Oelckers
3621aae3f0 - rerouted all write accesses to tilesiz and picsiz through a function interface.
These will have to do some texture management bookkeeping so directly changing the values is problematic.
This required changing the parameter interface in polymost.cpp because a few places hacked around with the global state to pass parameters to subfunctions.
2019-10-11 21:04:31 +02:00
Christoph Oelckers
fdbb27a796 - added back the paletted texture readers.
... after finding out what an inefficient and poorly working method the Build backend uses for downconverting true color textures.
2019-10-11 19:21:36 +02:00
Christoph Oelckers
14b21bab7a - merged playing_blood and bloodhack variables because they did the same thing.
The only difference was that bloodhack came from NBlood and playing_blood was added for unhandled differences between the backends of EDuke32 and NBlood.
2019-10-11 00:34:27 +02:00
Christoph Oelckers
d9d721bff6 - removed old sky code.
r_flatsky is now the only option.
2019-10-11 00:15:20 +02:00
Christoph Oelckers
79ef3413dc - removed a large block of fudging code for NPOT textures on non-supporting hardware.
We do not care about non-supporting hardware, so off this goes.
2019-10-10 23:38:06 +02:00
Christoph Oelckers
4d83a3c2a5 - moved all code related to texture creation to texache.cpp
Also go directly to the source when trying to determine translucency of a texture.
2019-10-10 23:29:13 +02:00
Christoph Oelckers
c588cd499a - let GLInstance::Draw set the palette indexing mode.
This can be trivially decided based on the texture type, so there's really no need to let the higher level code deal with this.
2019-10-10 23:14:57 +02:00
Christoph Oelckers
36ca38258e - hotfixed the transparency checkers to not create textures from regular tiles.
This caused some broken textures, apparently this gets called when not everything has been set up.
The hightile case will also have to be fixed.
2019-10-10 22:23:20 +02:00
Christoph Oelckers
fbc7e626e9 - removed the fullbright render pass, because this is better set up as a shader option.
- also removed the legacy fog modes because their implementation did not mix well with the texture system - they are also not really useful to begin with.

The last fog mode will most likely also be removed once true color shading is working but that one is less of an issue.
2019-10-10 21:05:10 +02:00
Christoph Oelckers
84b10bdb74 - cleaned up videoUpdatePalette function and removed the hardware texture invalidation from it.
This makes no sense because it'd toss out all the level textures that may still be needed for what probably is only a temporary palette change (like going underwater)
2019-10-10 20:28:41 +02:00
Christoph Oelckers
179076c4b1 - set up the texture matrix. 2019-10-10 19:46:46 +02:00
Christoph Oelckers
1407c18f8b - cleaned out some remains of the non-indexed render path.
All of this will be redone in the backend.
2019-10-10 19:40:33 +02:00
Christoph Oelckers
46ffea94a4 - cleanup of gloadtile_art. 2019-10-10 19:30:05 +02:00
Christoph Oelckers
34b7759b7e - removed the non-indexed parts of gloadtile_art.
This won't be needed anymore.
2019-10-10 19:25:03 +02:00
Christoph Oelckers
c428e367a0 - hotfix for texture filter settings.
This needs to be done differently later to choose the proper clamp setting.
2019-10-10 19:16:27 +02:00
Christoph Oelckers
1fee7a5f01 - cleanup of texture creation code.
There were several mostly pointless options complicating all of this.
2019-10-10 00:07:45 +02:00
Christoph Oelckers
eca099681a - hooked up the Shadow Warrior frontend.
It doesn't really work but this way it always gets compiled and linked so that it receives the changes to the backend code.
2019-10-09 20:14:04 +02:00
Christoph Oelckers
0f4abfa4f4 - SW compiles.
This required taking lots of function prototypes out of functions because they won't get a namespace in there.
2019-10-09 19:58:09 +02:00
Christoph Oelckers
70004665fd - added Shadow Warrior files to CMake project - not compiled yet. 2019-10-09 18:09:05 +02:00
nukeykt
1104065b47 Fix RR compiling on other platforms
Patch by NY00123
2019-10-09 17:31:13 +02:00
Christoph Oelckers
50a53bd2b9 - fixed: The precacher should not look for presence of the tile's pixel data.
For hardware rendered precaching this is meaningless.
2019-10-09 00:32:28 +02:00
Christoph Oelckers
9dc0ff08f5 - hotfixed compile error. 2019-10-09 00:26:54 +02:00
Grind Core
f5f012ccb9 - Added names for statnums
- Added names for system RX/TX channels
- Detect if map requires new features to work properly via special TX and command
- Effect Gen update

# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/eventq.h
#	source/blood/src/triggers.cpp
#	source/blood/src/triggers.h
2019-10-08 22:27:45 +02:00
Christoph Oelckers
ef0fd57367 - small bits of cleanup. 2019-10-08 22:23:48 +02:00
Christoph Oelckers
93f9303c62 - minor reorganization of tiles. 2019-10-08 19:46:39 +02:00
Christoph Oelckers
b78b53d75b - deleted unused function. 2019-10-08 18:48:14 +02:00
Christoph Oelckers
48a5dfe9a6 - skip -game in Blood menu 2019-10-08 01:38:01 +02:00
Christoph Oelckers
13115ad217 - another crash in Blood 2019-10-08 01:37:43 +02:00
Christoph Oelckers
50e6d364be - prevent crash on invalid textures. 2019-10-08 01:37:24 +02:00
Christoph Oelckers
7131fe6c6e - use separate textures for the palswap shade tables.
This creates a lot less mess than one big texture and also allows easier use of texelFetch in the server which is preferable for data textures.
2019-10-08 01:08:08 +02:00
Christoph Oelckers
06e9a60190 - nothing 2019-10-08 00:02:37 +02:00
Christoph Oelckers
82f6e2edb0 - fixed creation of paletted textures and added some palette debugging aids. 2019-10-07 23:32:38 +02:00
Christoph Oelckers
16dbb3526a - removed unused code. 2019-10-07 22:11:28 +02:00
Christoph Oelckers
dfaa162bb2 - finished the palswap handling in the palette manager. 2019-10-07 22:11:09 +02:00
CommonLoon102
3b463bc38e fix disappearing bodies in coop with respawning monsters (#211) 2019-10-07 17:41:16 +02:00
Christoph Oelckers
c050a0c4c8 - changed palswap management to handle the size of full lookup tables. 2019-10-07 00:34:15 +02:00
Christoph Oelckers
620897ecdd fix 2019-10-07 00:14:41 +02:00
Christoph Oelckers
7713860b63 wip. 2019-10-07 00:14:16 +02:00
CommonLoon102
70c4865ba4 Delete keybinding with delete or backspace (#208) 2019-10-07 00:10:04 +02:00
CommonLoon102
320eaae790 Fix F8 (#207) 2019-10-07 00:10:03 +02:00
Grind Core
05a1c94df4 - Changes for Enemy Target Changer
- Debris physics update

# Conflicts:
#	source/blood/src/actor.cpp
2019-10-07 00:09:32 +02:00
Christoph Oelckers
734d8b7d1e - moved the palette management into the backend. 2019-10-06 21:15:53 +02:00
Christoph Oelckers
b1aaafb973 - abstracted uploadpalswap out of the game code.
This needs special setup on the renderer side that needs to be done in a more controlled fashion.
2019-10-06 19:47:31 +02:00
Christoph Oelckers
ef2de97077 - the harmless changes of the failed refactoring of the shader. 2019-10-06 19:32:35 +02:00
Christoph Oelckers
e94ed3abf2 - fixed uninitialized bitmap object for texture generation. 2019-10-06 19:19:26 +02:00
Christoph Oelckers
cf30f5560b - upgraded the polymost fragment shader to GLSL 3.3 as well, removing all legacy features from it.
The only compatibility mode feature left is the main drawer function using glBegin/glEnd but changing that is not as urgent as the rest.
This also cleans up the fog application and adds the exponential fog mode again that somehow got lost over time.
2019-10-06 12:42:35 +02:00
Christoph Oelckers
3d538b4c8f - use explicit vertex attributes for everything.
No more glVertex, glTexCoord or glColor calls anywhere.
2019-10-06 10:46:23 +02:00
Christoph Oelckers
71d132b470 - use explicitly declared matrix uniforms.
The builtin matrices are no longer available in modern GLSL, preventing an upgrade of the shader.
Also perform better reporting of shader compilation errors.
2019-10-06 10:19:51 +02:00
Christoph Oelckers
126f670239 - draft class for in-game textures.
These will abstract away all the gory details so that the using code only sees a single entity to use.
2019-10-06 09:31:36 +02:00
Christoph Oelckers
4a866b0320 - use stb_image to read the image formats supported by kplib but not by GZDoom.
(No, sorry, kplib must go - a utility library like that being utterly dependent on a multitude of global variables is a no-go.)
2019-10-06 08:48:07 +02:00
Christoph Oelckers
d1a7c4225d - added a texture class for ART-format hightiles.
This allows to treat them like all other image formats.
2019-10-05 23:44:28 +02:00
Christoph Oelckers
0dfe99356d - stripped most of the image processing code from kplib, because it's not needed anymore - and also not salvageable for any refactoring. 2019-10-05 22:32:32 +02:00
Christoph Oelckers
93ad83b380 - use GZDoom's texture backend to read hightile textures. (Hightile tinting code moved to the shader but isn't active yet.
- remove all code for faking gamma correction through palette manipulated images.
2019-10-05 21:59:03 +02:00
Christoph Oelckers
cd0dabf2ae - this was missing 2019-10-05 19:39:41 +02:00
Christoph Oelckers
1a5e64329f - added stripped down versions of GZDoom's texture classes
We need something more manageable to deal with the textures - and the hightile code in particular needs a better backend to read the images.
2019-10-05 19:38:25 +02:00
Christoph Oelckers
bedfc262c4 - added a FileReader wrapper for kopen4load.
Needed when transitioning the hightile loader to GZDoom's texture loader.
2019-10-05 17:30:23 +02:00
Christoph Oelckers
3fb5154dc9 - make it work again. 2019-10-05 14:17:59 +02:00
Christoph Oelckers
f99492d6d5 - removed OpenGL headers from non-backend files. 2019-10-05 13:57:26 +02:00
Christoph Oelckers
3c193bb243 - moved the animvpx shader to the backend code.
This removes the final access to OpenGL from the rest of the source, with the exception of the glFinish call in the swap code.
2019-10-05 13:38:02 +02:00
Christoph Oelckers
0ee80628a2 - moved documentation out of the Source folder and added surface shader sources. 2019-10-05 13:17:26 +02:00
Christoph Oelckers
b83349fe6b - moved the surface shader to the backend and the shader source to the resource file. 2019-10-05 13:09:15 +02:00
Christoph Oelckers
644b07b718 - minor fixes. 2019-10-05 12:39:50 +02:00
Christoph Oelckers
bd4e4834e3 - moved the main shader and its entire uniform maintenance into the backend. 2019-10-05 12:28:08 +02:00
Christoph Oelckers
50c2065425 - removed miniz which is no longer in use. 2019-10-05 08:47:12 +02:00
Christoph Oelckers
d058084c10 - added an engine resource file.
Currently this only contains the main Polymost shaders and the resources from nblood.pk3.
The latter cannot be used yet because the Build resource management system is too stubborn to add the newly added file without some changes.
It's better to refactor the entire system instead.
2019-10-04 23:29:00 +02:00
Christoph Oelckers
ae1e090716 - all non-shader related GL calls are gone from the main code base. 2019-10-04 21:13:04 +02:00
Christoph Oelckers
f992aebf33 - two more 2019-10-04 19:17:55 +02:00
Christoph Oelckers
cb80e877ff - refactored fog and depth func setting into GLInterface. 2019-10-04 18:44:16 +02:00
Christoph Oelckers
204abab724 glColor calls refactored. 2019-10-04 18:25:18 +02:00
Christoph Oelckers
96c0c3197c - abstracted away more OpenGL calls, in particular all matrix access. 2019-10-04 18:12:03 +02:00
Christoph Oelckers
a86f1ffd4f - make it compile again. 2019-10-04 17:36:37 +02:00
Christoph Oelckers
1ff8ea6a19 - added matrix class for moving the GL matrix manipulation out of the engine code. 2019-10-04 01:41:57 +02:00
Christoph Oelckers
471f720d95 - consolidated console clear functions. 2019-10-04 01:25:10 +02:00
Christoph Oelckers
63a733b934 - Project file for last commit. 2019-10-04 00:52:48 +02:00
Christoph Oelckers
c5c92c1410 - removed the ZDoom CVAR code because it won't be needed and added its Zip file reader to maintain an engine file with needed assets.
The Build code for this is far too messy for this task, so an external solution is needed.
2019-10-04 00:52:19 +02:00
Christoph Oelckers
ebbe1803bb - made the game selector configurable (It's still Windows only...) 2019-10-04 00:26:13 +02:00
nukeykt
61f8b8c2d6 Hopefully fix map reloading 2019-09-30 20:31:12 +02:00
nukeykt
528e7f8320 More meaningful names for build object struct members 2019-09-30 20:31:11 +02:00
nukeykt
61b4fae6e0 Simplify voxel rotation handling
# Conflicts:
#	source/build/include/mdsprite.h
2019-09-30 20:31:09 +02:00
nukeykt
c00ff59579 Fix enemy respawning. Verified in disassembly 2019-09-30 20:30:57 +02:00
nukeykt
0d2567a808 Backport "bind showkeys" osdcmd crash fix from eduke32 2019-09-30 20:30:56 +02:00
CommonLoon102
ce61c38660 Fixing annoying item use after save game (#192) 2019-09-30 20:30:54 +02:00
Christoph Oelckers
5687b4c02e - added ZDoom's CVAR class.
No CVar transition has been done yet.
2019-09-26 00:20:16 +02:00
Christoph Oelckers
7fd395b5d7 - removed some legacy demo stuff from RedNukem backend. 2019-09-26 00:19:49 +02:00
nukeykt
c815e1c246 Minor sorting fix 2019-09-25 23:15:45 +02:00
nukeykt
9deb486626 Second attempt to fix polymost sprite sorting issue 2019-09-25 23:15:44 +02:00
nukeykt
402d9b8f02 long -> int 2019-09-25 23:15:43 +02:00
CommonLoon102
216ce4da9b Reverb effect deactivate bugfix (#190) 2019-09-25 23:15:41 +02:00
nukeykt
b1713d7e67 Add quickload/save osdcmd 2019-09-25 23:15:40 +02:00
Christoph Oelckers
d12563f644 - got rid of klzw and the legacy demo code along with it. 2019-09-25 23:12:29 +02:00
Christoph Oelckers
0261fef4a8 - removed some unused files. 2019-09-25 23:00:10 +02:00
Christoph Oelckers
18b1ca287e - moved the platform specific files out of the Build folder, mainly to get them out of the way. 2019-09-25 22:43:06 +02:00
Christoph Oelckers
cd920299d0 - moved winbits.cpp to the platform folder and cleaned out unused parts. 2019-09-25 22:38:47 +02:00
Christoph Oelckers
ad4527c8be - initialize the GL backend in the proper place.
As long as there are still video mode switches this needs to be in the video mode switching function.
2019-09-23 23:33:59 +02:00
Christoph Oelckers
a5441061e9 - always save the entire config.
It is a major hassle if values cannot be looked up and then change when switching between branches etc.
2019-09-23 21:27:23 +02:00
Christoph Oelckers
568f01792f - added ZDoom's configfile class. 2019-09-23 21:06:52 +02:00
Christoph Oelckers
86534c8a43 - more utilities, most importantly ZString without which it would be hard to use any ZDoom-based code at all. 2019-09-23 20:56:05 +02:00
Christoph Oelckers
034ce097c5 - added more utilities from GZDoom - TArray/TMap and FileReader. 2019-09-23 19:52:25 +02:00
Christoph Oelckers
330c80246e - added ZDoom's FArgs class for easier command line checking. 2019-09-23 19:29:25 +02:00
Christoph Oelckers
37907ddd06 - startup hacks.
Unfortunately nothing of this can be fixed before the resource management has been refactored from the ground up. Sp for now this ugliness needs to suffice.
2019-09-23 18:17:36 +02:00
Christoph Oelckers
07e38f3d12 - made enet a separate library. 2019-09-23 08:40:02 +02:00
nukeykt
895fb719d9 blooddemohack -> enginecompatibility_mode 2019-09-23 01:30:07 +02:00
CommonLoon102
c2e8cc6607 Do not target teammates (#187) 2019-09-23 01:30:06 +02:00
nukeykt
a9fcee742d RFS parser wip 2019-09-23 01:30:05 +02:00
CommonLoon102
3aa0ce5c3a Maphack support (#186)
# Conflicts:
#	.gitignore
2019-09-23 01:30:04 +02:00
CommonLoon102
67472623fe Friendly fire related fixes (#184) 2019-09-23 01:29:43 +02:00
CommonLoon102
d19e74b31a Added V1.0x WEAPONS BALANCE multiplayer setting (#185) 2019-09-23 01:29:42 +02:00
Christoph Oelckers
527d99008b - fixed the setup.
Renamed all elements still referring to zdoom.
removed the frontend specific resource data.
fixed startup dialog to accept ANSI date despite building as Unicode. This needed a bit of hackery because the macros in windowsx.h are not character set sensitive.
2019-09-23 01:28:18 +02:00
Christoph Oelckers
f49284d47c - made Blood start again by commenting out the fade functions which somehow broke during the CMake transition. 2019-09-22 23:55:45 +02:00
Christoph Oelckers
2cbe211e7c - transitioned project to CMake and deleted most of the old build system.
The EDuke32 and RedNukem frontends are working, Blood isn't yet.

Notes:

many of the CMake variables and its output still refer to zdoom. Before changing that I wanted to make sure to be able to commit something that works.
support code for Windows XP has been entirely removed. On Windows this will only target Vista and up.
the crc32.h header had to be renamed to deconflict from zlib.
several Windows API calls were changed to call the A-versions directly. Weirdly enough there were places that defined their parameters as T types but in a non-working way.
removed some remaining editor files and support for the native software rendering only Windows backend.
in a few simple cases, replaced 'char' with 'uint8_t'. The code as-is depends on chars being unsigned which is non-portable. This needs to be carefully reviewed.
2019-09-22 23:15:46 +02:00
Christoph Oelckers
0d98e7f256 - put all Blood game code into a namespace. 2019-09-22 08:39:22 +02:00
Christoph Oelckers
2dc051f7cf - put RedNukem game frontend into a namespace. 2019-09-22 00:10:48 +02:00
Christoph Oelckers
401a645ea1 - added a temorary requester to allow choosing the game until the code has been sufficiently refactored to do this in the startup dialog. 2019-09-21 23:45:57 +02:00
Christoph Oelckers
55a879fcc0 - put EDuke frontend source into a namespace.
This commit does not work yet!
2019-09-21 22:53:00 +02:00
Christoph Oelckers
30c47a8511 - include namespace file in all sources as the very first include. 2019-09-21 20:59:54 +02:00
Christoph Oelckers
92fa2cc030 - removed Mapster launcher images. 2019-09-21 20:28:55 +02:00
Christoph Oelckers
7721ed31c0 - removed Lunatic remains.
This looks as dead as it could be, so away it goes.
2019-09-21 20:27:29 +02:00
Christoph Oelckers
639d1fb4d3 - we do not want to build an editor here. 2019-09-21 20:24:11 +02:00
Christoph Oelckers
5050716bc0 - removed most extern "C" from the rest of the code base. 2019-09-21 20:14:34 +02:00
Christoph Oelckers
5855886a5f - removed extern "C" from rr and blood folders. 2019-09-21 19:57:41 +02:00
Christoph Oelckers
15f5a35fd8 - removed all extern "C" from EDuke32 folder, plus some other dead code I noticed. 2019-09-21 19:38:38 +02:00
Christoph Oelckers
71b332459b - removed Android and Mapster headers plus raw EDuke assets in Blood folder. 2019-09-21 19:30:20 +02:00
Alexey Khokholov
ac8d31e39f Oof, really silly typo 2019-09-21 13:17:01 +02:00
CommonLoon102
93fde9ba43 Fix coop frag count (#183) 2019-09-21 13:17:01 +02:00
Christoph Oelckers
a2b429ffe0 - removed unused declaration. 2019-09-21 13:16:02 +02:00
Christoph Oelckers
998ac01157 - manual merge of all NBlood changes that couldn't get cherry picked. 2019-09-21 13:02:17 +02:00
CommonLoon102
bc3d2e9aec Fix MSVC compilation (#181) 2019-09-21 11:48:35 +02:00
CommonLoon102
247655a3d7 Don't send or display chat messages which are whitespace only (#180) 2019-09-21 11:48:14 +02:00
CommonLoon102
c0b3e6f99f Don't allow the mouse to steal the focus when typing a save game name (#178) 2019-09-21 11:47:54 +02:00
CommonLoon102
edc6e2c0f7 Friendly fire and keep keys settings for multiplayer (#177)
# Conflicts:
#	source/blood/src/levels.h
#	source/blood/src/network.h
2019-09-21 11:47:54 +02:00
CommonLoon102
56365d65ce Don't show team flags and scores when no HUD is displayed (#176)
# Conflicts:
#	.gitignore
2019-09-21 11:47:40 +02:00
Jan200101
a28119ae30 Fix Linux compilation
- replaced stricmp with strcasecmp and strncasecmp
https://linux.die.net/man/3/strcasecmp

- replaced all Microsoft specific types with standard ones

- replaced all instances of MAX_PATH with BMAX_PATH
2019-09-21 11:47:14 +02:00
CommonLoon102
13a1861c8d Show messages by priority (#175)
# Conflicts:
#	source/blood/src/triggers.cpp
2019-09-21 11:46:54 +02:00
nukeykt
b13bdf50be RFS parser wip
# Conflicts:
#	.gitignore
#	platform/Windows/nblood.vcxproj.filters
2019-09-21 11:46:37 +02:00
CommonLoon102
9be59caef8 Colorful view messages (#173) 2019-09-21 11:45:13 +02:00
CommonLoon102
16e1b39fb3 CTF HUD fixes (#172) 2019-09-21 11:45:12 +02:00
CommonLoon102
61e40bad66 Fix the goonies cheat code and the kGDXItemMapLevel powerup (#171) 2019-09-21 11:44:59 +02:00
CommonLoon102
160c93f0ab Multiplayer suicide message was empty string (#170)
# Conflicts:
#	.gitignore
2019-09-21 11:44:59 +02:00
nukeykt
81f78c24b7 Implement rotate parameter for voxel definitions
# Conflicts:
#	source/build/include/build.h
#	source/build/include/mdsprite.h
#	source/build/src/defs.cpp
2019-09-21 11:43:50 +02:00
nukeykt
433fd62de5 Purge resource manager cache on level load 2019-09-21 11:41:26 +02:00
nukeykt
3f42df45fd Fix memory issues in resource manager 2019-09-21 11:41:26 +02:00
nukeykt
c91a85a353 Use C++ heap for resource manager
# Conflicts:
#	source/blood/src/actor.cpp
#	source/blood/src/mapedit.cpp
2019-09-21 11:41:25 +02:00
CommonLoon102
55de5230ca New HUD for CTF (#167)
# Conflicts:
#	source/blood/src/blood.cpp
2019-09-21 11:40:59 +02:00
nukeykt
4527da61a2 Ignore dosbox specific command line options 2019-09-21 11:40:44 +02:00
nukeykt
5a93d301b6 minor changes 2019-09-21 11:40:44 +02:00
nukeykt
90b005a44a Fix mouse centering in menu 2019-09-21 11:40:44 +02:00
CommonLoon102
3fbb171990 Powerup counter color (#166) 2019-09-21 11:40:43 +02:00
CommonLoon102
4423164ca5 More smooth fadeout for the map title. (#165) 2019-09-21 11:40:43 +02:00
nukeykt
996dfde6d0 Fix compile errors, backport input code for RR
# Conflicts:
#	platform/Windows/voidsw.vcxproj
#	source/blood/src/controls.cpp
#	source/blood/src/m32common.cpp
#	source/rr/src/actors.cpp
#	source/rr/src/anim.cpp
#	source/rr/src/demo.cpp
#	source/rr/src/game.cpp
#	source/rr/src/gameexec.cpp
#	source/rr/src/global.h
#	source/rr/src/menus.cpp
#	source/rr/src/menus.h
#	source/rr/src/net.cpp
#	source/rr/src/player.cpp
#	source/rr/src/premap.cpp
#	source/rr/src/savegame.cpp
#	source/rr/src/sbar.cpp
#	source/rr/src/screens.cpp
#	source/rr/src/sector.cpp
2019-09-21 11:39:19 +02:00
nukeykt
f6cd86d77e Simplify map title rendering code and enable alpha for classic renderer 2019-09-21 10:54:54 +02:00
Alexey Khokholov
2b443c2eac Account for 16384 sprites for sprite owner value 2019-09-21 10:54:13 +02:00
nukeykt
8b0fb8dfe2 Fix invisible player on mirror 2019-09-21 10:53:27 +02:00
CommonLoon102
e8337c783e Don't change item selection with mouse while scanning for new key bind (#159)
# Conflicts:
#	.gitignore
2019-09-21 10:53:17 +02:00
nukeykt
d6d8762400 Seamless ROR transition 2019-09-21 10:51:48 +02:00
nukeykt
ddf02bda17 Fix GetZRange regression 2019-09-21 10:51:47 +02:00
nukeykt
78a3240c3e Fix flat sky y offset 2019-09-21 10:51:47 +02:00
nukeykt
7a9209d857 Fix compile error
# Conflicts:
#	source/blood/src/ai.cpp
#	source/blood/src/aiunicult.cpp
#	source/blood/src/blood.cpp
#	source/blood/src/choke.cpp
#	source/blood/src/credits.cpp
#	source/blood/src/gamemenu.cpp
#	source/blood/src/gamemenu.h
#	source/blood/src/gui.cpp
#	source/blood/src/mapedit.cpp
#	source/blood/src/replace.cpp
2019-09-21 10:51:29 +02:00
CommonLoon102
9715b2281a extra can be -1 then pointer will point to random (#145) 2019-09-21 10:46:24 +02:00
CommonLoon102
44bcd26fab fix endgame credits listing (#140)
# Conflicts:
#	.gitignore
2019-09-21 10:46:12 +02:00
nukeykt
38f2fd209f Use fixed point number for XSPRITE scaling 2019-09-21 10:44:14 +02:00
nukeykt
0dcca3583f Backport frame limiter (again)
# Conflicts:
#	source/rr/src/game.cpp
2019-09-21 10:43:45 +02:00
nukeykt
99775a8fe0 Add surface type enum 2019-09-21 10:43:26 +02:00
nukeykt
316ddb1fb5 Mouse quick fix
# Conflicts:
#	source/blood/src/controls.cpp
2019-09-21 10:43:26 +02:00
nukeykt
fbd3bdb665 Backport new FPS limiter
# Conflicts:
#	source/rr/src/game.cpp
2019-09-21 10:40:54 +02:00
nukeykt
f87f38b8f0 Always load widescreen def file 2019-09-21 10:40:19 +02:00
nukeykt
0a74187512 Add blood specific parameters to tilefromtexture 2019-09-21 10:40:18 +02:00
nukeykt
f6ce571075 Fix improper callback id in FlareBurst.
Thanks to NoOne for report
2019-09-21 10:38:47 +02:00
nukeykt
68c7b8c402 Compile fix
# Conflicts:
#	source/build/include/build.h
2019-09-21 10:38:26 +02:00
nukeykt
d3994b0801 Revise polymost HOM issue workaround in Duke's E1L1. Add code to remove very thin spans.
This commit does not gain noticeable rendering performance, but at least should prevent weird polygon leakages
2019-09-21 10:31:34 +02:00
nukeykt
e999e2058c Do not mess up random seed in seq/qav 2019-09-21 10:31:34 +02:00
nukeykt
935084ae52 More hacks to emulate old clipping
# Conflicts:
#	source/build/src/clip.cpp
2019-09-21 10:28:10 +02:00
nukeykt
af2106c9d0 Finally Duke's DEMO1 is sync 2019-09-21 10:27:59 +02:00
nukeykt
05749679a8 I think this is enough 2019-09-21 10:27:59 +02:00
nukeykt
1aab7601df Add old lintersect implementation 2019-09-21 10:27:58 +02:00
nukeykt
5c099bea05 Start adding old collision code for demo compatibility.
DEMO2 and DEMO3 of Duke3D are sync again

# Conflicts:
#	source/build/src/clip.cpp
2019-09-21 10:27:58 +02:00
nukeykt
3458a88f8e Backport framelimitter fix
# Conflicts:
#	source/rr/src/demo.cpp
#	source/rr/src/game.cpp
#	source/rr/src/net.cpp
#	source/rr/src/screens.cpp
2019-09-21 10:26:47 +02:00
nukeykt
6fea4bf527 Fix compilation on linux 2019-09-21 10:24:13 +02:00
nukeykt
e6ffc816c9 Fix blood crash
# Conflicts:
#	source/build/src/engine.cpp
2019-09-21 10:24:13 +02:00
nukeykt
6c08ae1966 Fix 16-bit audio mixing 2019-09-21 10:21:27 +02:00
nukeykt
2762044313 Fix interpolation bitmap OOB issue 2019-09-21 10:21:26 +02:00
nukeykt
065cf13945 Fix in CanMove 2019-09-21 10:20:54 +02:00
nukeykt
a90711f328 Add extra field to tilefromtexture
# Conflicts:
#	source/build/src/defs.cpp
2019-09-21 10:20:43 +02:00
nukeykt
ce43103ae9 Use engine's cstat defines
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-09-21 10:18:24 +02:00
nukeykt
9c5cbd6308 Delete pqueue.cpp 2019-09-21 10:18:20 +02:00
nukeykt
1561ffae9e make PriorityQueue template class, and extend index field in EVENT struct 2019-09-21 10:17:04 +02:00
nukeykt
e4174d4f2d Extend xobject reference field size to fit 16384 sprites/walls 2019-09-21 10:16:53 +02:00
Grind Core
dd79c66f20 Changes in adjustSprites
# Conflicts:
#	source/blood/src/mapedit.cpp
#	source/build/src/2d.cpp
2019-09-21 10:15:58 +02:00
nukeykt
599f086fd9 Xobjects editor wip
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-09-21 10:13:02 +02:00
nukeykt
14401ca694 Fix TROR NULL texture 2019-09-21 10:11:03 +02:00
nukeykt
2f49b549df Oops 2019-09-21 10:11:02 +02:00
nukeykt
107a630883 Add TROR rendering
# Conflicts:
#	source/blood/src/mapedit.cpp
#	source/build/include/editor.h
#	source/build/include/polymer.h
#	source/build/src/build.cpp
#	source/build/src/polymer.cpp
2019-09-21 10:11:02 +02:00
nukeykt
1fe344d273 Free cstat bit 14
# Conflicts:
#	source/blood/src/mapedit.cpp
#	source/build/src/build.cpp
#	source/build/src/engine.cpp
#	source/duke3d/src/astub.cpp
2019-09-21 10:10:15 +02:00
nukeykt
858da4351c Semi-working map save 2019-09-21 10:08:04 +02:00
nukeykt
140174d1ee Minor tweaks
# Conflicts:
#	source/blood/src/m32common.cpp
#	source/blood/src/mapedit.cpp
2019-09-21 10:08:04 +02:00
nukeykt
db5c628b34 Fix silly error with yax stuff 2019-09-21 10:07:11 +02:00
nukeykt
2867131c86 Add ability to load blood maps
# Conflicts:
#	platform/Windows/nmapedit.vcxproj
#	platform/Windows/nmapedit.vcxproj.filters
#	source/blood/src/mapedit.cpp
#	source/build/src/build.cpp
#	source/build/src/engine.cpp
2019-09-21 10:06:57 +02:00
nukeykt
57e9ff2fbc Move stuff around
# Conflicts:
#	platform/Windows/nmapedit.vcxproj
#	platform/Windows/nmapedit.vcxproj.filters
#	source/blood/src/config.cpp
#	source/blood/src/config.h
#	source/blood/src/mapedit.cpp
#	source/blood/src/screen.cpp
#	source/blood/src/screen.h
2019-09-21 10:05:26 +02:00
nukeykt
381f5dcac2 Increase build objects count max size
# Conflicts:
#	source/blood/src/mapedit.cpp
2019-09-21 10:04:03 +02:00
nukeykt
4e0a563cfe Add macros.h 2019-09-21 10:03:34 +02:00
nukeykt
afff9ce61f wip
# Conflicts:
#	platform/Windows/nmapedit.vcxproj
#	platform/Windows/nmapedit.vcxproj.filters
#	source/blood/src/blood.cpp
#	source/blood/src/blood.h
#	source/blood/src/gui.cpp
#	source/blood/src/m32def.cpp
#	source/blood/src/m32def.h
#	source/blood/src/m32exec.cpp
#	source/blood/src/mapedit.cpp
2019-09-21 10:02:46 +02:00
nukeykt
8fd6e0e183 TROR related tweaks
# Conflicts:
#	source/blood/src/mirrors.cpp
2019-09-21 09:59:58 +02:00
nukeykt
388bf2665f Enable TROR code and rotated wall cstat bit for blood 2019-09-21 09:59:16 +02:00
nukeykt
d7865bfab4 nothing 2019-09-21 09:57:27 +02:00
nukeykt
d2c9734e9c Hope this fixes mp lags 2019-09-21 09:54:01 +02:00
nukeykt
dcc950378e Update prediction code to account for RR 2019-09-21 09:54:01 +02:00
nukeykt
dbe93a1671 Fix accept option in game setup not returning to host game menu
patch from Striker
2019-09-21 09:54:00 +02:00
nukeykt
976fb2c9e9 Fix squished player self fragging
patch from Striker
2019-09-21 09:54:00 +02:00
nukeykt
ab0cc0d578 Oops 2019-09-21 09:54:00 +02:00
nukeykt
222f9cc282 Network prediction 2019-09-21 09:53:59 +02:00
nukeykt
20420dc702 Semiworking mp 2019-09-21 09:53:59 +02:00
nukeykt
3ce70b7c3a Non mp stuff fix 2019-09-21 09:53:58 +02:00
nukeykt
5e182e2962 oldmp wip
# Conflicts:
#	source/rr/src/game.cpp
#	source/rr/src/net.cpp
2019-09-21 09:53:58 +02:00
nukeykt
c3fc897a3e oldmp wip
# Conflicts:
#	source/rr/src/net.cpp
2019-09-21 09:53:37 +02:00
nukeykt
fe80b46d54 OldMP wip 2019-09-21 09:53:19 +02:00
nukeykt
fb59a49342 Fix mirrors in polymost 2019-09-21 09:50:34 +02:00
nukeykt
6eaff57831 Accuracy fixes 2019-09-21 09:49:28 +02:00
nukeykt
36e932a6cb Fix BOSS2 RPG attack 2019-09-21 09:49:28 +02:00
nukeykt
6b7245ec97 Revert tripbomb logic 2019-09-21 09:49:27 +02:00
nukeykt
1fb877445c Fix player speed reduction logic 2019-09-21 09:49:27 +02:00
nukeykt
fdcf92e28b Hack to parse checkbossXseekstate like Todd's code did 2019-09-21 09:46:26 +02:00
nukeykt
24c2b2473d Off, thanks Todd for implicit if else conditions 2019-09-21 09:45:55 +02:00
nukeykt
7a877d8782 Remove EDuke32 VM leftovers 2019-09-21 09:45:15 +02:00
nukeykt
7b02bcbb3f DUKE -> !RR 2019-09-21 09:44:41 +02:00
nukeykt
eafeb27996 Add NAM/NAPALM support
Big thanks to NY00123 for his NAM.EXE reconstruction work
2019-09-21 09:38:57 +02:00
nukeykt
75d2e81e98 Move midi stuff to audiolib
# Conflicts:
#	platform/Windows/eduke32.vcxproj
#	platform/Windows/nblood.vcxproj.filters
#	source/audiolib/include/al_midi.h
#	source/audiolib/include/opl3.h
#	source/audiolib/include/oplmidi.h
#	source/audiolib/src/_al_midi.h
#	source/audiolib/src/_oplmidi.h
#	source/audiolib/src/al_midi.cpp
#	source/audiolib/src/opl3.cpp
#	source/audiolib/src/oplmidi.cpp
#	source/duke3d/Dependencies.mak
#	source/duke3d/src/sdlmusic.cpp
2019-09-21 09:37:07 +02:00
nukeykt
9b63ab5279 GNU makefile
# Conflicts:
#	GNUmakefile
2019-09-21 09:34:24 +02:00
Christoph Oelckers
6942d4c50b - added missing #define 2019-09-21 09:33:39 +02:00
nukeykt
bdd7bb72d8 NRedneck compiles with MSVC now
# Conflicts:
#	platform/Windows/eduke32.sln
#	source/build/src/tilepacker.cpp
#	source/rr/src/common.cpp
#	source/rr/src/duke3d.h
#	source/rr/src/game.cpp
#	source/rr/src/menus.cpp
#	source/rr/src/osdcmds.cpp
#	source/rr/src/screens.cpp
2019-09-21 09:25:29 +02:00
Christoph Oelckers
26c0490763 - this define is not needed. 2019-09-20 23:52:38 +02:00
terminx
6317706b03 Derp
git-svn-id: https://svn.eduke32.com/eduke32@8133 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:29:40 +02:00
terminx
8de955053c Update libxmp-lite
git-svn-id: https://svn.eduke32.com/eduke32@8132 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:29:40 +02:00
terminx
225be48aca Fix issue where the borderless windowed mode menu option wasn't starting out reflecting the current value
git-svn-id: https://svn.eduke32.com/eduke32@8130 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:27:47 +02:00
terminx
4ad6dd65b1 EDUKE32_STANDALONE does, however, need this
git-svn-id: https://svn.eduke32.com/eduke32@8129 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:27:32 +02:00
terminx
d3448c0ccc EDUKE32_STANDALONE doesn't need this
git-svn-id: https://svn.eduke32.com/eduke32@8128 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:27:32 +02:00
terminx
701c67eb9e "digital axis shit based on mouse movement should be eliminated"
git-svn-id: https://svn.eduke32.com/eduke32@8127 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/menus.cpp
2019-09-20 23:27:31 +02:00
terminx
97fd50e1ec Hook CONTROL_MouseAxesScale[] up to mousex/mousey in ControlInfo
git-svn-id: https://svn.eduke32.com/eduke32@8126 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:26:30 +02:00
terminx
b99ac8c4a0 This should help with some of the player movement fuckery
This fixes the bug that let you jump through the ticket booth window in E1L1 and the problems jumping into vents when run mode is disabled.

git-svn-id: https://svn.eduke32.com/eduke32@8119 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:25:40 +02:00
terminx
ce1a479ace Fix bugged height check in cliptestsector()
git-svn-id: https://svn.eduke32.com/eduke32@8118 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:25:39 +02:00
terminx
05fae1eb1a This fixes the shrinker in E1L4
I wonder what it breaks! :D

git-svn-id: https://svn.eduke32.com/eduke32@8117 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:25:39 +02:00
terminx
e6d72ae2b6 Add missing EDUKE32_STANDALONE ifdef
git-svn-id: https://svn.eduke32.com/eduke32@8111 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:18 +02:00
terminx
4e15b11571 Remove getzsofslope_player() and use yax_getzsofslope() and getcorrectzsofslope() to determine the player's .truecz and .truefz values
git-svn-id: https://svn.eduke32.com/eduke32@8110 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:18 +02:00
terminx
3e4f2de79a Add yax_getzsofslope(), based on getzsofslope_player()
git-svn-id: https://svn.eduke32.com/eduke32@8109 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:17 +02:00
terminx
062207b2e9 Fix polymost_dorotatesprite() clipping
git-svn-id: https://svn.eduke32.com/eduke32@8108 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:17 +02:00
terminx
a5dacd4b12 Fix bug dating back to the DOS version where actors on sector lines would sometimes fail to shoot hitscan projectiles
git-svn-id: https://svn.eduke32.com/eduke32@8107 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:16 +02:00
terminx
8f347bde0b Fix bug with SFLAG_NOWATERSECTOR in EDUKE32_STANDALONE (Fury) builds
git-svn-id: https://svn.eduke32.com/eduke32@8106 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:15 +02:00
terminx
b127997824 Just formatting...
git-svn-id: https://svn.eduke32.com/eduke32@8104 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:04 +02:00
terminx
ea66e1a8ee Expose control over the list of statnums that hitradius will damage to CON
git-svn-id: https://svn.eduke32.com/eduke32@8103 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:03 +02:00
terminx
1b12de0037 Fix a couple remaining issues with crouch toggle
git-svn-id: https://svn.eduke32.com/eduke32@8102 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:02 +02:00
terminx
48ca8f01aa Take slope heights into account in A_RadiusDamage()
git-svn-id: https://svn.eduke32.com/eduke32@8101 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:02 +02:00
terminx
0cba9d2036 This theoretically helps with cases in which the player is squished by geometry
git-svn-id: https://svn.eduke32.com/eduke32@8100 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:01 +02:00
terminx
35274783a9 Eliminate another goofy holdover from the old version of A_RadiusDamage()
git-svn-id: https://svn.eduke32.com/eduke32@8099 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:01 +02:00
terminx
22f67f17e9 Add missing abs() call to z check before EVENT_JUMP
git-svn-id: https://svn.eduke32.com/eduke32@8098 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:23:00 +02:00
hendricks266
47fc547532 Avoid a truncation warning in compat.h
git-svn-id: https://svn.eduke32.com/eduke32@8095 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:20:23 +02:00
hendricks266
1bd690c8c2 Fix warning in clip.cpp
git-svn-id: https://svn.eduke32.com/eduke32@8092 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:20:09 +02:00
hendricks266
475743424f Make sjson its own object
git-svn-id: https://svn.eduke32.com/eduke32@8091 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:19:58 +02:00
terminx
e3f1399484 Fix dumbass problem with A_RadiusDamage()
git-svn-id: https://svn.eduke32.com/eduke32@8090 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:18:48 +02:00
terminx
8aa8b7bef6 EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@8089 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:18:48 +02:00
terminx
5708b36d26 Fix qradarang calculation
git-svn-id: https://svn.eduke32.com/eduke32@8088 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:18:47 +02:00
terminx
d0a3b86c77 Fix relative aligned floor/ceiling texture wiggling
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@8087 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:18:00 +02:00
terminx
f144f1a0bc Relax SKIPWALLCHECK enforcement with SHRINKSPARK projectile in Duke3D
git-svn-id: https://svn.eduke32.com/eduke32@8086 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:59 +02:00
terminx
ad4afc2020 More A_RadiusDamage() work
git-svn-id: https://svn.eduke32.com/eduke32@8085 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:59 +02:00
terminx
11e9baa045 Add borderless windowed mode options to menu
git-svn-id: https://svn.eduke32.com/eduke32@8084 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:58 +02:00
terminx
12eea3740c EDUKE32_STANDALONE crap
git-svn-id: https://svn.eduke32.com/eduke32@8083 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:58 +02:00
terminx
aa8ce8d42a Fix USE_OPENGL=0 builds
git-svn-id: https://svn.eduke32.com/eduke32@8082 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:57 +02:00
terminx
0baced1d6c Fix obscure animlib bug
git-svn-id: https://svn.eduke32.com/eduke32@8081 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:22 +02:00
terminx
8ac4c6739a Change A_DamageWall() parameter from pointer to reference because we don't write to it
git-svn-id: https://svn.eduke32.com/eduke32@8080 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:22 +02:00
terminx
9cc608715e Fast A_RadiusDamage()
git-svn-id: https://svn.eduke32.com/eduke32@8079 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:21 +02:00
terminx
7849693aef Bump BMAXPAGESIZE to 16384
x86 stuff will only ever return 4096, but 64-bit ARM supports 16K.

git-svn-id: https://svn.eduke32.com/eduke32@8077 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 23:17:21 +02:00
terminx
c17db80734 Fix npot sky rendering in Polymost
Patch from Nuke.YKT.

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

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 23:16:01 +02:00
Christoph Oelckers
d0a49c3278 - moved 4 more. 2019-09-20 23:12:07 +02:00
Christoph Oelckers
b34c48962a - removed some unused files. 2019-09-20 22:55:44 +02:00
Christoph Oelckers
3b8b2b1fe0 - it compiles again. 2019-09-20 22:44:42 +02:00
Christoph Oelckers
be29d3a2df - removed the remains of the polymer renderer.
This cannot be reused in its current form, maybe it can help later.
2019-09-20 22:37:24 +02:00
Christoph Oelckers
1b20e5d4da - 3 more files moved out of 'build' folder.
# Conflicts:
#	platform/Windows/build.vcxproj
2019-09-20 22:34:34 +02:00
Christoph Oelckers
977614dea8 - two more headers to move to Thirdparty. 2019-09-20 22:33:47 +02:00
Christoph Oelckers
c9111a6c7a - one more.
# Conflicts:
#	platform/Windows/build.vcxproj.filters
2019-09-20 22:33:35 +02:00
Christoph Oelckers
0c6af775ad - got rid of editor.h.
# Conflicts:
#	source/build/include/editor.h
#	source/build/src/2d.cpp
#	source/build/src/softwarerenderer/engine_swr.cpp
2019-09-20 22:24:53 +02:00
Christoph Oelckers
46b4b6ffd4 - removed all editor related code from 2D.cpp.
# Conflicts:
#	source/build/include/build.h
#	source/build/src/2d.cpp
#	source/build/src/softwarerenderer/engine_swr.cpp
2019-09-20 22:24:03 +02:00
Christoph Oelckers
a3b6485b5e - removed some more inline assembly. 2019-09-20 22:21:43 +02:00
Christoph Oelckers
ce260526cb - moved fix16 to thirdparty as well and removed the now unused assembly files.
# Conflicts:
#	platform/Windows/build.vcxproj
2019-09-20 22:21:31 +02:00
Christoph Oelckers
f3d01e8244 - moved compression utilities to a 'thirdparty' folder to get them out of the way.
# Conflicts:
#	platform/Windows/build.vcxproj
#	platform/Windows/props/build_common.props
2019-09-20 22:20:53 +02:00
Christoph Oelckers
129cf2c76f - removed unused subprojects.
# Conflicts:
#	source/kenbuild/src/StartupWinController.game.mm
#	source/kenbuild/src/bstub.cpp
#	source/kenbuild/src/common.cpp
#	source/kenbuild/src/config.cpp
#	source/kenbuild/src/game.cpp
#	source/kenbuild/src/game.h
#	source/kenbuild/src/startgtk.game.cpp
#	source/kenbuild/src/startwin.game.cpp
#	source/tools/src/wad2map.cpp
2019-09-20 22:17:43 +02:00
Christoph Oelckers
625586b729 - delete unneeded content from rsrc folders.
None of these will be used in any way so they may just go.
2019-09-20 22:16:34 +02:00
Christoph Oelckers
ba73268470 - removed GLES support and most related files.
My future plans do not include mobile support due tp poor support of modern APIs so this is essentially just baggage.

# Conflicts:
#	source/build/src/2d.cpp
#	source/build/src/dxtfilter.cpp
#	source/build/src/mdsprite.cpp
#	source/build/src/polymost.cpp
#	source/build/src/sdlayer.cpp
#	source/build/src/texcache.cpp
2019-09-20 22:16:21 +02:00
Christoph Oelckers
19bcfecc67 - get rid of the non-inlined assembly as well. 2019-09-20 22:11:01 +02:00
Christoph Oelckers
6299d2fe86 - removed all inline assembly crap.
Since no division function was handled here this is totally pointless on modern systems and will even on 32 bit cause performance degradation due to lack of optimizability.
The rest of that code in pragmas.h and pragmas.cpp should probably also be put under review. Much of it made sense 20 years ago but not anymore.
2019-09-20 22:10:35 +02:00
Christoph Oelckers
b389c99bf5 - removed some SDL 1 parts. 2019-09-20 22:09:56 +02:00
Christoph Oelckers
afe5128c70 - Blood fixes for changes in timer and mouse input interface- 2019-09-20 22:08:06 +02:00
Christoph Oelckers
94cfcb4fbd - Redneck Rampage fixes for changes in timer and mouse input interface. 2019-09-20 22:07:53 +02:00
Christoph Oelckers
5503ee98a0 - fixed bad merge 2019-09-20 22:06:15 +02:00
terminx
3a071ae6b7 At some point these two lines got removed from CON_IFCANSHOOTTARGET
git-svn-id: https://svn.eduke32.com/eduke32@8075 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:15:15 +02:00
terminx
c8d42af954 Flat parallax skies in Polymost
Patch from Nuke.YKT.

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

# Conflicts:
#	source/build/src/polymost.cpp
#	source/build/src/voxmodel.cpp
2019-09-20 21:15:14 +02:00
terminx
4b6123f303 Change a couple of memcpys to just clear the whole size of the array instead of computing the size at runtime
git-svn-id: https://svn.eduke32.com/eduke32@8073 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:43 +02:00
terminx
c835219de0 Align cache1d memory blocks to system page size
git-svn-id: https://svn.eduke32.com/eduke32@8072 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:43 +02:00
terminx
e262135463 Use multiples of 5 for the HUD scale option and cap the range at 50-100
git-svn-id: https://svn.eduke32.com/eduke32@8071 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:42 +02:00
terminx
1ba0406b4d uint64_t in G_FPSLimit()
git-svn-id: https://svn.eduke32.com/eduke32@8070 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:42 +02:00
terminx
4d20afa9ed Use integer math for Polymost rotatesprite
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@8069 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:41 +02:00
terminx
598a0f2630 Allow up to fov 140 from console
git-svn-id: https://svn.eduke32.com/eduke32@8068 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:41 +02:00
terminx
5f8e7193d7 Bind medkit to mouse3 by default
git-svn-id: https://svn.eduke32.com/eduke32@8067 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:40 +02:00
terminx
c670cceb18 Remove C as alternate default bind for regular gamefunc_Crouch
git-svn-id: https://svn.eduke32.com/eduke32@8066 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:40 +02:00
terminx
de170848af Move r_borderless and r_displayindex definitions out of polymost.cpp and into baselayer
git-svn-id: https://svn.eduke32.com/eduke32@8065 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 21:10:39 +02:00
pogokeen
b13c0f1b43 clockticks.hpp: Fix issue where higher precision comparisons would cause unexpected behaviour with game loop code due to ototalclock being incremented rather than set to totalclock (causing a lack of subtick precision and potential doubled up/dropped game updates).
Provide compareHighPrecision() for any code that needs higher precision comparisons.

git-svn-id: https://svn.eduke32.com/eduke32@8064 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:10:23 +02:00
terminx
d0223fd744 Support fullscreening to the correct display in multiple monitor configurations
git-svn-id: https://svn.eduke32.com/eduke32@8063 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/baselayer.h
#	source/build/src/polymost.cpp
2019-09-20 21:10:22 +02:00
terminx
f868345670 More gamefunc_Toggle_Crouch improvements
git-svn-id: https://svn.eduke32.com/eduke32@8061 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:57 +02:00
terminx
f0ea646560 Fix SDL borderless windowed mode for real this time
Introduces r_borderless cvar. 0: never borderless, 1: always borderless, 2: borderless if resolution matches desktop resolution (default).

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

# Conflicts:
#	source/build/include/baselayer.h
#	source/build/src/baselayer.cpp
#	source/build/src/polymost.cpp
2019-09-20 21:09:56 +02:00
terminx
4300eb1a66 Rename gamefunc_Crouch_Toggle to gamefunc_Toggle_Crouch to match the only existing similarly named gamefunc, gamefunc_Toggle_Crosshair
Now bound to C by default.

git-svn-id: https://svn.eduke32.com/eduke32@8059 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:18 +02:00
terminx
e6cb2e4a8d Use a sound's volume offset parameter as the max distance if the explosion flag is set
git-svn-id: https://svn.eduke32.com/eduke32@8058 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:18 +02:00
terminx
dcf9768c20 Rework crouch toggle
This is almost entirely contained in P_GetInput() now. It still uses two separately mappable buttons but you can get away with only gamefunc_Crouch_Toggle.

git-svn-id: https://svn.eduke32.com/eduke32@8057 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:17 +02:00
terminx
cef3c33e5f clockticks header fix
git-svn-id: https://svn.eduke32.com/eduke32@8056 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:17 +02:00
terminx
9841b053ea Set actor .bpos after A_GetZLimits() in A_Spawn()
git-svn-id: https://svn.eduke32.com/eduke32@8055 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:16 +02:00
terminx
d27c705b15 Fix MSVC build
git-svn-id: https://svn.eduke32.com/eduke32@8053 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:15 +02:00
pogokeen
34700516c9 kenbuild/src/game.cpp: Fix compilation issue due to removal of sqr() from pragmas.h in r7597
git-svn-id: https://svn.eduke32.com/eduke32@8051 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 21:09:14 +02:00
pogokeen
222e593437 Change some clocks to support sub-tick precision using a new class, ClockTicks.
Using that higher precision, interpolate at a higher granularity.
Further, truncate the target interpolation time to vertical blank boundaries to avoid producing temporal artifacts.
Fix issues caused by interpolation calculations being handled differently in multiple places (and fix cases where smoothratios were being thrown away only to be redone without checking all proper conditions).
Ensure ClockTicks changes do not break other targets (EKenBuild, VoidSW), but note any interpolation there is not similarly updated.

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

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/sdlayer.cpp
2019-09-20 21:09:14 +02:00
terminx
ec7fce9ff2 Ultra minor clipping stuff
git-svn-id: https://svn.eduke32.com/eduke32@8048 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:11 +02:00
terminx
8a01335c26 Don't consider CLIPCURBHEIGHT for ceiling clipping
git-svn-id: https://svn.eduke32.com/eduke32@8047 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:10 +02:00
terminx
1f5866295c This should be MAXSECTORS
git-svn-id: https://svn.eduke32.com/eduke32@8046 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:10 +02:00
terminx
6acf3a958e Remove EDUKE32_PREDICT_ macro usage in clip.cpp so the game doesn't stall if a weird clipping malfunction occurs
git-svn-id: https://svn.eduke32.com/eduke32@8045 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:09 +02:00
hendricks266
ab14653bbc Make building Fury easier with FURY=1
git-svn-id: https://svn.eduke32.com/eduke32@8044 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:09 +02:00
hendricks266
3b419e9d04 Fix mouse buttons 4 and 5 on Linux with SDL2, at least for 2.0.9 and up
git-svn-id: https://svn.eduke32.com/eduke32@8043 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:19:08 +02:00
hendricks266
97a1dea887 Fix "bind showkeys" crash
git-svn-id: https://svn.eduke32.com/eduke32@8041 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:17:21 +02:00
terminx
10a909b0af Yeahhhhhh, this wasn't a great idea
git-svn-id: https://svn.eduke32.com/eduke32@8040 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:17:21 +02:00
hendricks266
5cd2b246e5 I don't know why I read this diff backwards.
git-svn-id: https://svn.eduke32.com/eduke32@8039 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:17:20 +02:00
hendricks266
8c285aafe6 Remove fav priority weapon switch setting from menu, still available as a cvar
git-svn-id: https://svn.eduke32.com/eduke32@8038 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:17:20 +02:00
hendricks266
c0cf31a28c Re-enable mouse dead zone and mouse bias in input code, follow-up to r8028
git-svn-id: https://svn.eduke32.com/eduke32@8037 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:17:19 +02:00
terminx
cbec65be68 Reduce stencil buffer size
Revert if it causes issues in anything.

git-svn-id: https://svn.eduke32.com/eduke32@8035 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:54 +02:00
terminx
78004b17de Ignore cstat 32768 sprites in map view
git-svn-id: https://svn.eduke32.com/eduke32@8034 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:53 +02:00
terminx
b2f96ade69 Tweak weapon autoswitch menu option text
git-svn-id: https://svn.eduke32.com/eduke32@8033 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:53 +02:00
terminx
1b5edf9551 Don't spawn TRANSPORTERSTAR if FURY
git-svn-id: https://svn.eduke32.com/eduke32@8032 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:15:52 +02:00
terminx
3dcbf9955d Add console/log output for when the player is killed by various internal things, to aid in debugging
git-svn-id: https://svn.eduke32.com/eduke32@8030 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:10 +02:00
terminx
b9e61fcb7f Use a vec3_t instead of separate vars to hold temporary position data in G_HandleMirror()
git-svn-id: https://svn.eduke32.com/eduke32@8029 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:10 +02:00
terminx
a8f621a989 if out the in_mousebias and in_mousedeadzone cvars
git-svn-id: https://svn.eduke32.com/eduke32@8028 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:09 +02:00
hendricks266
673bd16299 Input: Separate everything in AdvanceTrigger into a new TextSubmit except Space so it doesn't submit text fields such as savegames
git-svn-id: https://svn.eduke32.com/eduke32@8025 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:09 +02:00
hendricks266
757b19ad3f Menus: Move weapon switching to Control Setup
git-svn-id: https://svn.eduke32.com/eduke32@8023 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:08 +02:00
terminx
6c330bba1f Add option to disable the game side framerate limiter back into the menu
git-svn-id: https://svn.eduke32.com/eduke32@8022 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:08 +02:00
terminx
d1e9a4ec0d Add toggle for always run back to the menu
git-svn-id: https://svn.eduke32.com/eduke32@8021 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:08 +02:00
terminx
12cb46d94e Fix borderless windowed fullscreen mode
git-svn-id: https://svn.eduke32.com/eduke32@8020 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:14:07 +02:00
pogokeen
fd41554ad7 timer.cpp: fix order of operations issue with timerUpdate()
git-svn-id: https://svn.eduke32.com/eduke32@8018 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:22 +02:00
terminx
2895b36b72 Change skill alignment if FURY
git-svn-id: https://svn.eduke32.com/eduke32@8017 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:21 +02:00
hendricks266
4f5434dffe Don't clobber E1L8 for user maps
git-svn-id: https://svn.eduke32.com/eduke32@8016 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:21 +02:00
hendricks266
733cb636cd Return to the main menu after completing a user map
git-svn-id: https://svn.eduke32.com/eduke32@8015 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:20 +02:00
hendricks266
7bf4a722fb Menus: Fix Y/N options with three lines
git-svn-id: https://svn.eduke32.com/eduke32@8014 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:20 +02:00
hendricks266
98c4d8247f Menus: Fix the Sound and Music Volume options in a way that works for Duke too, using indentation
git-svn-id: https://svn.eduke32.com/eduke32@8013 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:19 +02:00
hendricks266
fafc8f1583 Menus: Disable the gamepad axes and buttons menus if opening them would cause an abort due to having no items
git-svn-id: https://svn.eduke32.com/eduke32@8012 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:19 +02:00
pogokeen
0855428a0c timer.cpp: avoid using floating point arithmetic in timerUpdate()
git-svn-id: https://svn.eduke32.com/eduke32@8011 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 20:12:18 +02:00
Christoph Oelckers
20f5972b9b - fixed everything to compile again. 2019-09-20 19:37:29 +02:00
pogokeen
021e1358c7 timer.cpp: improve cross-platform & cross-compiler issues relating to precision & period.
Handle timerlastsample such that we don't throw away time & run slow in certain cases.
Ensure when calculating n, we do the double division first before multiplying for sake of floating point precision.

git-svn-id: https://svn.eduke32.com/eduke32@8009 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:31 +02:00
hendricks266
002a52033d Amend r7987 to only clear input if actually in the menu
git-svn-id: https://svn.eduke32.com/eduke32@8008 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:29 +02:00
hendricks266
108a71cadb Update md3_vox_calcmat_common to solve a sporadic voxel flickering issue
Patch by Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@8007 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:27 +02:00
hendricks266
f47b44f4b2 Fix use of wrong macros for game controller buttons in game-side input.cpp
git-svn-id: https://svn.eduke32.com/eduke32@8006 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:25 +02:00
terminx
7ea2e4de54 Revert "This should be enough for SDL controller hotplug support but I haven't tested it"
git-svn-id: https://svn.eduke32.com/eduke32@8005 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:23 +02:00
terminx
59b0c0e3f7 Revise r8001
git-svn-id: https://svn.eduke32.com/eduke32@8004 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:21 +02:00
terminx
7ec6a6beca This should be enough for SDL controller hotplug support but I haven't tested it
git-svn-id: https://svn.eduke32.com/eduke32@8003 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:12:19 +02:00
terminx
c72a69ff6f This timing stuff actually works
It doesn't help when it turns out the compiler is broken and implementing std::chrono::high_resolution_clock as something that only counts in ms instead of properly aliasing it to std::chrono::steady_clock!

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

# Conflicts:
#	source/build/src/sdlayer.cpp
2019-09-20 16:12:16 +02:00
terminx
3b504975a2 Call A_GetZLimits() for sprites in the map at load time
git-svn-id: https://svn.eduke32.com/eduke32@8001 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:09 +02:00
hendricks266
25bdd9f6d5 Apply the BUILDART patch at long last.
git-svn-id: https://svn.eduke32.com/eduke32@8000 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:07 +02:00
hendricks266
00992a7ba5 Menus: Open the User Map menu to a folder named "usermaps" if one exists.
git-svn-id: https://svn.eduke32.com/eduke32@7999 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:05 +02:00
hendricks266
345497b271 newgamechoices: usercontent flag
git-svn-id: https://svn.eduke32.com/eduke32@7998 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:03 +02:00
hendricks266
6fa8a17c44 Don't adjust analog turning because of the Run gamefunc
git-svn-id: https://svn.eduke32.com/eduke32@7997 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:11:01 +02:00
hendricks266
addc919636 Amend r7993
git-svn-id: https://svn.eduke32.com/eduke32@7996 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:59 +02:00
hendricks266
446186d49a CON: Add userdef .gamepadactive
git-svn-id: https://svn.eduke32.com/eduke32@7995 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:57 +02:00
hendricks266
f7d6f66405 Menus: Use gamepad button names for Y/N prompts when most recently active
git-svn-id: https://svn.eduke32.com/eduke32@7994 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:55 +02:00
hendricks266
9c3ec69c86 CON: Add getgamefuncbind
git-svn-id: https://svn.eduke32.com/eduke32@7993 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:52 +02:00
hendricks266
cfd05db689 Track whether keyboard or gamepad input was last received
git-svn-id: https://svn.eduke32.com/eduke32@7992 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:50 +02:00
hendricks266
73fb1d467f Replace implementation of crouch toggle in a way that won't interfere with other uses of the crouch key, such as swimming and jetpacking.
TODO: Make this work over the network.

git-svn-id: https://svn.eduke32.com/eduke32@7991 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:48 +02:00
hendricks266
9a1a3f01e8 Fix grpinfo reading in Mapster32
Thanks to Doom64hunter.

git-svn-id: https://svn.eduke32.com/eduke32@7990 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:46 +02:00
hendricks266
ef0d79140c Disable drawing sprite arrows and borders in the automap in FURY mode
git-svn-id: https://svn.eduke32.com/eduke32@7989 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:44 +02:00
hendricks266
86aa23e394 Allow gamepads to accept text entry fields
git-svn-id: https://svn.eduke32.com/eduke32@7988 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:42 +02:00
hendricks266
a29869f86e Fix gamepad analogs not working in menus when in game
git-svn-id: https://svn.eduke32.com/eduke32@7987 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:40 +02:00
hendricks266
cb405ced52 Add gamepad axis inversion toggles
git-svn-id: https://svn.eduke32.com/eduke32@7986 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:38 +02:00
hendricks266
1bbd251bff Rescan for controllers when toggling gamepads back on
git-svn-id: https://svn.eduke32.com/eduke32@7985 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:37 +02:00
hendricks266
0bf4f744a8 Menus: Improve the "Status bar" option when there are only two settings and one is None
git-svn-id: https://svn.eduke32.com/eduke32@7984 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:34 +02:00
hendricks266
d143589f3d Menus: Fix the names of the Sound and Music Volume options
git-svn-id: https://svn.eduke32.com/eduke32@7983 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:32 +02:00
hendricks266
27e3194d27 Menus: Add Enable Gamepad toggle
git-svn-id: https://svn.eduke32.com/eduke32@7982 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:30 +02:00
hendricks266
e08b292598 Remix the gamepad layouts
git-svn-id: https://svn.eduke32.com/eduke32@7981 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:29 +02:00
hendricks266
cfdb57ac6d Make use of fix16 for controller aiming
git-svn-id: https://svn.eduke32.com/eduke32@7980 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:26 +02:00
hendricks266
314eaa7200 Fix analog turning rate being half of what it should be
git-svn-id: https://svn.eduke32.com/eduke32@7979 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:24 +02:00
hendricks266
ba730be6b6 Add Crouch Toggle gamefunc
git-svn-id: https://svn.eduke32.com/eduke32@7978 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:10:22 +02:00
terminx
04811f21f4 Replace separate timer implementations in SDL and Winlayer with a shared implementation based on std::chrono
git-svn-id: https://svn.eduke32.com/eduke32@7976 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	platform/Windows/build.vcxproj
#	platform/Windows/build.vcxproj.filters
#	source/build/src/mdsprite.cpp
2019-09-20 16:09:24 +02:00
terminx
55e3188afb There's no way this is correct.
git-svn-id: https://svn.eduke32.com/eduke32@7975 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/sdlayer.cpp
2019-09-20 16:08:12 +02:00
terminx
3a7ee79554 Name fix, I guess?
git-svn-id: https://svn.eduke32.com/eduke32@7974 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:39 +02:00
terminx
f76ca0a361 Fix remaining casts to vec2_t/vec3_t
git-svn-id: https://svn.eduke32.com/eduke32@7973 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 16:07:36 +02:00
hendricks266
32edf9a747 Rename "Joystick" to "Gamepad" in menus
git-svn-id: https://svn.eduke32.com/eduke32@7972 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:22 +02:00
hendricks266
fb78df76cd Add verification screens to color correction, keyboard, and joystick resetting options
git-svn-id: https://svn.eduke32.com/eduke32@7971 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:20 +02:00
hendricks266
791f8376b6 Implement contoller analog 0 in menus very hackishly
git-svn-id: https://svn.eduke32.com/eduke32@7970 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:18 +02:00
hendricks266
e19511cad7 Replace "Joystick" config strings with "Controller" to reset defaults
git-svn-id: https://svn.eduke32.com/eduke32@7969 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:16 +02:00
hendricks266
b4362aa6a9 Implement controller defaults
git-svn-id: https://svn.eduke32.com/eduke32@7968 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:14 +02:00
hendricks266
5c96fcb334 Add Third Person View gamefunc
git-svn-id: https://svn.eduke32.com/eduke32@7967 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:07:12 +02:00
hendricks266
3bfed33608 Add voxels option to menu, if at least one has been defined
git-svn-id: https://svn.eduke32.com/eduke32@7961 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/engine.cpp
2019-09-20 16:04:57 +02:00
hendricks266
284af9f5d9 Fix RENDERTYPE=WIN build
git-svn-id: https://svn.eduke32.com/eduke32@7960 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:04:43 +02:00
hendricks266
0aea2e92c6 Menus: Move auto aim option to Control Setup
git-svn-id: https://svn.eduke32.com/eduke32@7959 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:04:41 +02:00
hendricks266
01fa02e1c0 Make use of SDL2's Game Controller API.
Thanks to JonoF for his take on this.

git-svn-id: https://svn.eduke32.com/eduke32@7958 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:49 +02:00
hendricks266
5cc9d1e440 Fix binding joystick digital axes in the menu
git-svn-id: https://svn.eduke32.com/eduke32@7957 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:47 +02:00
hendricks266
56998c4840 Report 16-bit analog axis precision to the game instead of arbitrarily truncating it to ~14.3 bits.
git-svn-id: https://svn.eduke32.com/eduke32@7956 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:45 +02:00
terminx
44d5371ad3 Fix bug where "standing" on top of a sprite structure underwater would cause the player to act as if they were no longer underwater
git-svn-id: https://svn.eduke32.com/eduke32@7955 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:43 +02:00
terminx
620f0da65b Another attempt at improving/fixing the fps limiter
git-svn-id: https://svn.eduke32.com/eduke32@7954 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:41 +02:00
terminx
755de405c2 Add automapping var to Gv_RefreshPointers()
git-svn-id: https://svn.eduke32.com/eduke32@7953 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:39 +02:00
terminx
99a3c3393a Better behaved falling actors
git-svn-id: https://svn.eduke32.com/eduke32@7952 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:36 +02:00
terminx
49edf5f542 Change actor/player context of EVENT_SCREEN
git-svn-id: https://svn.eduke32.com/eduke32@7951 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:35 +02:00
terminx
d404f010c9 Fix some undefined behavior
git-svn-id: https://svn.eduke32.com/eduke32@7950 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:33 +02:00
terminx
2ef83e4a71 This can overflow
git-svn-id: https://svn.eduke32.com/eduke32@7949 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:31 +02:00
terminx
0ffc89fbb7 Remove dead declaration
git-svn-id: https://svn.eduke32.com/eduke32@7948 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:28 +02:00
hendricks266
c40a4b26ff Fix how analog axis values are used by the game code, part 2: aiming.
Mouse movement is no longer funneled through analog axis handling.

git-svn-id: https://svn.eduke32.com/eduke32@7947 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:27 +02:00
hendricks266
f1e67616a9 Fix how analog axis values are used by the game code, part 1: movement.
Turning and looking will require me to disentangle CONTROL_GetMouseDelta from the rest of CONTROL_PollDevices.

git-svn-id: https://svn.eduke32.com/eduke32@7946 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:24 +02:00
hendricks266
7338988b5e Fix mouse and joystick menu slider scales
git-svn-id: https://svn.eduke32.com/eduke32@7945 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:21 +02:00
hendricks266
618203489f Blank out old-style joystick defaults because they're irrelevant in 2019.
git-svn-id: https://svn.eduke32.com/eduke32@7944 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:19 +02:00
hendricks266
87c31bbdf5 Fix bugs with unbound mouse and joystick controls not saving properly.
git-svn-id: https://svn.eduke32.com/eduke32@7943 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:17 +02:00
hendricks266
47d8541cf3 Enable joysticks by default because better that than figuring out how to parse settings.cfg multiple times without breaking something.
git-svn-id: https://svn.eduke32.com/eduke32@7942 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:15 +02:00
pogokeen
5c11fc8889 sounds.cpp: fix infinite loop caused by removal of "else" in r7939
git-svn-id: https://svn.eduke32.com/eduke32@7941 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:12 +02:00
terminx
9ee310ce71 Fix sound issue
git-svn-id: https://svn.eduke32.com/eduke32@7940 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:10 +02:00
terminx
ef7f4f8a60 Oops
git-svn-id: https://svn.eduke32.com/eduke32@7939 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:08 +02:00
hendricks266
e7723efcf4 Fix skipping to the end of def blocks
git-svn-id: https://svn.eduke32.com/eduke32@7938 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:06 +02:00
terminx
36366c0c98 M-M-M-MUTEX MADNESS
git-svn-id: https://svn.eduke32.com/eduke32@7937 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:04 +02:00
terminx
6fddd30eaa Remove lockclock from mapstates
git-svn-id: https://svn.eduke32.com/eduke32@7936 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:02 +02:00
terminx
564a68f1a7 Improve frame limiter logic
git-svn-id: https://svn.eduke32.com/eduke32@7935 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:03:00 +02:00
terminx
0a5cdea62a Run savegame events as myconnectindex instead of screenpeek
This doesn't really matter right now, but it's wrong.

git-svn-id: https://svn.eduke32.com/eduke32@7934 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:58 +02:00
terminx
41ff733fcd Happier try_facespr_intersect()
I'm prejudiced against 30-line functions with statements nested 5 levels deep.

git-svn-id: https://svn.eduke32.com/eduke32@7933 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:56 +02:00
terminx
3b98ba6561 Attempt to work around odd behavior when attempting to use stuff like wall aligned sprites with the new version of clipmove
The behavior was always "wrong" as clipmove does not handle movement of lines, just movement of clip boxes against lines and face sprite points, but the newer version of clipmove actively bounces sprites away from lines they would otherwise clip into. This was causing wall-aligned sprites that called any functions that ended up calling clipmove to get pushed away from the wall unintentionally.

git-svn-id: https://svn.eduke32.com/eduke32@7932 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:53 +02:00
terminx
53cd67b0f2 Add ifdef guard
git-svn-id: https://svn.eduke32.com/eduke32@7931 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:02:51 +02:00
hendricks266
67b7d2408b newgamechoices
git-svn-id: https://svn.eduke32.com/eduke32@7930 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/defs.cpp
2019-09-20 16:02:49 +02:00
pogokeen
284adb6ac6 Fix issue with indexed colour textures where in the case that tiles entered the texcache while !waloff[picnum] & were later (re)loaded, the earlier pth pointing to the tilesheet containing the blank tile would never be properly replaced with an updated gl texture.
git-svn-id: https://svn.eduke32.com/eduke32@7929 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 16:01:54 +02:00
hendricks266
ea79d74953 Revert r7908 because it introduces a race on dabuf
git-svn-id: https://svn.eduke32.com/eduke32@7928 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:27 +02:00
terminx
0f5f35aa85 Fix build error
git-svn-id: https://svn.eduke32.com/eduke32@7927 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:24 +02:00
terminx
128510a6d9 Change audiolib's SDL driver's mutex stuff to use our implementation
git-svn-id: https://svn.eduke32.com/eduke32@7926 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:22 +02:00
terminx
1413c7fd5c Tiny error message cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7925 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:20 +02:00
hendricks266
ca8f8c0dbd save name in exts
git-svn-id: https://svn.eduke32.com/eduke32@7924 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:18 +02:00
hendricks266
03b63470b9 Add fallthrough__ in gameexec
git-svn-id: https://svn.eduke32.com/eduke32@7923 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:16 +02:00
terminx
0d431a390f Reverse the order video modes are sorted in
git-svn-id: https://svn.eduke32.com/eduke32@7922 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 16:01:14 +02:00
terminx
32cd1ae4dd Tweak the fatal engine initialization error and game already running dialog boxes a bit
git-svn-id: https://svn.eduke32.com/eduke32@7921 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 16:01:11 +02:00
Christoph Oelckers
4189e9d287 - Function renaming 2019-09-20 16:00:14 +02:00
terminx
635a929359 Audiolib housekeeping
git-svn-id: https://svn.eduke32.com/eduke32@7918 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/audiolib/src/multivoc.cpp
2019-09-20 15:50:09 +02:00
terminx
9302e48cef Use a LUT instead of a switch to handle choosing which audiolib mixer function to use for a voice
git-svn-id: https://svn.eduke32.com/eduke32@7917 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:48:58 +02:00
terminx
b8f668aa9b Polymost projection changes to correct the perspective in widescreen and ultrawide resolutions.
Patch from Nuke.YKT and Fox.

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

# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/polymost.cpp
2019-09-20 15:48:55 +02:00
terminx
b7f349cd92 Sound cleanups
git-svn-id: https://svn.eduke32.com/eduke32@7915 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/sounds.h
2019-09-20 15:47:13 +02:00
terminx
48f9edf743 New feature: combine SF_GLOBAL and SF_DTAG definesound flags to get Duke3D explosion sound behavior
git-svn-id: https://svn.eduke32.com/eduke32@7914 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:47 +02:00
terminx
789be3cf35 Add S_SetProperties() function to handle repetitious setting of a few sound structure members
git-svn-id: https://svn.eduke32.com/eduke32@7913 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:45 +02:00
terminx
40e54fdbbb Tweak how the semaphore used to detect multiple running copies of the game is utilized
git-svn-id: https://svn.eduke32.com/eduke32@7912 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:43 +02:00
terminx
4e0325e0d4 Add FURY checks for some EDUKE32_STANDALONE stuff
git-svn-id: https://svn.eduke32.com/eduke32@7911 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:41 +02:00
terminx
2307160c4a Tweak DirectSound error
git-svn-id: https://svn.eduke32.com/eduke32@7910 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:39 +02:00
terminx
24aba0220d Replace some of the mutex usage in the DirectSound driver with our own implementation
git-svn-id: https://svn.eduke32.com/eduke32@7909 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:37 +02:00
terminx
c1aff49e4c Improve usage of initprintf mutex
git-svn-id: https://svn.eduke32.com/eduke32@7908 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:35 +02:00
terminx
064516c050 Re-implement our mutex_lock() family of functions using SDL's atomic spinlocks
git-svn-id: https://svn.eduke32.com/eduke32@7907 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:32 +02:00
terminx
aec48c73c1 'If' out a couple of instances of g_soundlocks[] manipulation I somehow missed during my first pass
git-svn-id: https://svn.eduke32.com/eduke32@7906 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:46:30 +02:00
terminx
9021b885d6 Eliminate pos_as_vec2 from anything that had it
git-svn-id: https://svn.eduke32.com/eduke32@7905 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymost.cpp
2019-09-20 15:46:28 +02:00
terminx
81882aa1a3 Fix issue clipping against sloped ceilings
git-svn-id: https://svn.eduke32.com/eduke32@7903 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:21 +02:00
hendricks266
2e325b0f5b Tweak map start message printed to the log
git-svn-id: https://svn.eduke32.com/eduke32@7902 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:19 +02:00
hendricks266
4523515a33 ext updates
git-svn-id: https://svn.eduke32.com/eduke32@7901 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:17 +02:00
pogokeen
091a2961ab game.cpp: move check for quitevent during start-up so that if start-up is cancelled during definitions parsing, the game won't continue to play in a half-loaded state.
git-svn-id: https://svn.eduke32.com/eduke32@7900 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:15 +02:00
hendricks266
90568878a5 Allow MOUSEINACTIVECONDITIONAL when out of menu. Fixes left clicking screens.
git-svn-id: https://svn.eduke32.com/eduke32@7899 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:13 +02:00
hendricks266
7d96aba66d Add CONTROL_ClearAllButtons
git-svn-id: https://svn.eduke32.com/eduke32@7898 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:12 +02:00
hendricks266
640b1c4461 Remove RTS names from standalone builds
git-svn-id: https://svn.eduke32.com/eduke32@7897 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:10 +02:00
hendricks266
dcdabd30d3 definecheatdescription
git-svn-id: https://svn.eduke32.com/eduke32@7896 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:07 +02:00
hendricks266
ba91dd0120 Move cheat descriptions from menus.cpp to cheats.cpp
git-svn-id: https://svn.eduke32.com/eduke32@7895 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:06 +02:00
hendricks266
29d4a7e634 Add I_GeneralTrigger as a combination of Advance and Return and use it for skipping screens so that Esc works.
git-svn-id: https://svn.eduke32.com/eduke32@7894 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:03 +02:00
pogokeen
c80b01cfda gameexec.cpp: allow G_ShowView() to execute regardless of the state of g_screenCapture.
This fixes skyboxes not rendering in TILE_SAVESHOT.

git-svn-id: https://svn.eduke32.com/eduke32@7893 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:44:00 +02:00
pogokeen
4d22a44a5d tiles.cpp: backup & restore picsiz, walock, & waloff alongside other per tile arrays in artClearMapArt() and artSetupMapArt()
This fixes an issue with viewscreens as tiles that are setup game-side after a map is loaded could have their sizes reset to 0 while not being properly cleared from walock/waloff

git-svn-id: https://svn.eduke32.com/eduke32@7892 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:58 +02:00
pogokeen
67522909c5 sector.cpp: ensure that if scripts have told us not to render normally to the tile, that we still handle restoring our target & setting up the tile appropriately for what the script may have rendered
git-svn-id: https://svn.eduke32.com/eduke32@7891 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:56 +02:00
pogokeen
5fad944ed1 engine.cpp: make renderSetTarget() more robust so that passing an xsiz or ysiz <= 0 is not accepted and can't cause a segmentation fault
git-svn-id: https://svn.eduke32.com/eduke32@7890 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:43:55 +02:00
pogokeen
a844fd4b13 polymost.cpp: Fix issue where tiles whose dimensions had grown would not have their sizes updated in GL and could fail to update their texture data
git-svn-id: https://svn.eduke32.com/eduke32@7888 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 15:42:29 +02:00
terminx
6931d448ff Oops
git-svn-id: https://svn.eduke32.com/eduke32@7884 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:30 +02:00
terminx
2126d215ed Fix crashes when passing invalid variable names to a couple of debugging commands in the console
git-svn-id: https://svn.eduke32.com/eduke32@7883 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:26 +02:00
terminx
3c28f6cfc6 Don't attempt to draw TILE_LOADSHOT unless it's already in memory
This works around a flaw in the .ext loading logic that I don't have time to debug right now.

git-svn-id: https://svn.eduke32.com/eduke32@7882 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:23 +02:00
terminx
c5dbbe892c Fix automapping not working when looking at the textured map mode
git-svn-id: https://svn.eduke32.com/eduke32@7881 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:21 +02:00
terminx
7553bb043f Skip drawing invalid polygons in polymost_drawpoly()
git-svn-id: https://svn.eduke32.com/eduke32@7880 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:18 +02:00
terminx
e9e9067251 Fix warning
git-svn-id: https://svn.eduke32.com/eduke32@7879 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:16 +02:00
terminx
95598e08f9 getwalldist() tweak
git-svn-id: https://svn.eduke32.com/eduke32@7878 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:14 +02:00
terminx
db85a55dfd Use I_AdvanceTrigger() instead of I_CheckAllInput() for the skip condition in Anim_Play()
git-svn-id: https://svn.eduke32.com/eduke32@7877 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:34:11 +02:00
terminx
9f9a158946 Replace runtime pow2 calculations with pow2char LUT usage
I don't know that this is any faster, but there's something to be said for standardization and consistency. I will be making most of this stuff use bitmap_set/test/clear() soon.

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

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymost.cpp
2019-09-20 15:34:08 +02:00
terminx
9c5db5aac0 Sanitize walock[] usage
git-svn-id: https://svn.eduke32.com/eduke32@7875 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:33:07 +02:00
terminx
2a3c80f95d Fix issue with sounds being expired from cache
git-svn-id: https://svn.eduke32.com/eduke32@7874 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:33:05 +02:00
terminx
1a0c56f0f1 This adds back in the engine's old automapping feature
This was removed a long time ago because Duke3D and Shadow Warrior don't use it.

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

# Conflicts:
#	source/build/src/polymer.cpp
#	source/build/src/polymost.cpp
2019-09-20 15:32:13 +02:00
terminx
6ad445d47b Make most things in screens.cpp use I_AdvanceTrigger() instead of I_CheckAllInput()
git-svn-id: https://svn.eduke32.com/eduke32@7872 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:40 +02:00
terminx
1a83ec15e4 Fix silly branching logic in engineLoadBoard()
git-svn-id: https://svn.eduke32.com/eduke32@7871 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:38 +02:00
terminx
c7e403619b Don't blow away wall cstat bit 14 for use as a temp flag in the editor
Patch from Nuke.YKT.

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

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 15:29:35 +02:00
terminx
a949665f26 Work around an issue with far plane clipping with voxels without mipmaps in software mode
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@7869 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:20 +02:00
terminx
9335b339b0 Emulate slope overflow in Polymost in order to match the rest of the engine's slope algorithms
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@7868 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:19 +02:00
terminx
0f4ccaf970 Hopefully work around more Polymost polygon leakages
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@7867 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:17 +02:00
terminx
acc0b527a9 Cache the distrecip[] table
Patch from Nuke.YKT.

git-svn-id: https://svn.eduke32.com/eduke32@7866 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:15 +02:00
terminx
0091acc858 "Another dumb polymost optimization. Probably worth few fps in heavy scenes"
Patch from Nuke.YKT

git-svn-id: https://svn.eduke32.com/eduke32@7865 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:12 +02:00
terminx
0652b5b6d6 Make ksgn() return int instead of int32_t
git-svn-id: https://svn.eduke32.com/eduke32@7864 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:09 +02:00
terminx
26272f6755 if 0 out our klabs() function and just define it as abs()
The compiler generates much better code for this now.

git-svn-id: https://svn.eduke32.com/eduke32@7863 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:06 +02:00
terminx
752cf77887 Untabify a couple of headers
git-svn-id: https://svn.eduke32.com/eduke32@7862 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:05 +02:00
terminx
24a53db8f5 I'm not aware of any particular issues this change fixes, but I definitely don't intend this hack to ever affect anything while the player is on the ground
git-svn-id: https://svn.eduke32.com/eduke32@7861 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:02 +02:00
terminx
ed40842bad Apply "reset object trackers on savegame load" patch
git-svn-id: https://svn.eduke32.com/eduke32@7860 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:29:01 +02:00
terminx
f84e161e52 Wahhh, I'm MSVC and I cry about applying unary negation to a boolean
git-svn-id: https://svn.eduke32.com/eduke32@7859 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:59 +02:00
terminx
751b734795 Fix issue rendering TROR when the camera's z coordinate is right on the portal
git-svn-id: https://svn.eduke32.com/eduke32@7858 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:57 +02:00
terminx
6e4951bdb6 Another clipping fix
git-svn-id: https://svn.eduke32.com/eduke32@7857 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:53 +02:00
terminx
762c3ebbf6 Add sc_Space to I_AdvanceTrigger() and I_AdvanceTriggerClear()
git-svn-id: https://svn.eduke32.com/eduke32@7856 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:50 +02:00
terminx
e65fb8ab2a Switch fadepal() and fadepaltile() over to using I_CheckAllInput()/I_ClearAllInput() instead of checking for the spacebar exclusively
git-svn-id: https://svn.eduke32.com/eduke32@7855 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:47 +02:00
pogokeen
a0231cf90c polymost_scansector(): avoid using a culling method not designed for voxels when handling 1-sided wall aligned sprites that have voxel replacements
git-svn-id: https://svn.eduke32.com/eduke32@7854 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:45 +02:00
pogokeen
83e863422a Fix mixing offscreenrendering (render targets) and mirrors. Don't allow recursing beyond 1 level of mirroring through multiple levels of render targets.
git-svn-id: https://svn.eduke32.com/eduke32@7853 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:42 +02:00
pogokeen
5377b128a9 Fix rendering skyboxes to a tile by altering renderSetTarget() & renderRestoreTarget() to set & reset xdim & ydim so that G_ShowView() can render while a render target is set,
and additionally modifying G_SetupCamTile() to call EVENT_DISPLAYROOMSCAMERATILE after calling renderSetTarget()

git-svn-id: https://svn.eduke32.com/eduke32@7852 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:28:41 +02:00
hendricks266
fdaee03dfb ext loading
git-svn-id: https://svn.eduke32.com/eduke32@7850 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:26:44 +02:00
terminx
ae36202ac7 Fix for emerging from TROR water
git-svn-id: https://svn.eduke32.com/eduke32@7848 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:26:24 +02:00
terminx
e0e517aaed Revise r7838 again
git-svn-id: https://svn.eduke32.com/eduke32@7847 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:26:22 +02:00
terminx
f3e4dd4463 Patch from Nuke.YKT to work around precision-based inaccuracy problems in Polymost TROR
git-svn-id: https://svn.eduke32.com/eduke32@7846 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:31 +02:00
terminx
1d14991acc Add MERGE_NODES macro for Polymost... this will be used in the following commit
git-svn-id: https://svn.eduke32.com/eduke32@7845 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:28 +02:00
terminx
ee92304087 Patch from Nuke.YKT to clip bunches to screen boundaries in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7844 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:25:24 +02:00
terminx
47fa1eccd4 Patch from Nuke.YKT to fix sloped floor and ceiling textures wiggling around in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7843 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/polymost.cpp
2019-09-20 15:24:54 +02:00
terminx
a3b6d0e70b Revise r7838: one less dumbass typo
git-svn-id: https://svn.eduke32.com/eduke32@7842 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:57 +02:00
terminx
56604e5e25 Make it easier to jump into vents
git-svn-id: https://svn.eduke32.com/eduke32@7841 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:55 +02:00
terminx
7c88548074 Remember to delete .esv.ext file when deleting .esv file itself
git-svn-id: https://svn.eduke32.com/eduke32@7840 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:52 +02:00
terminx
28c778c8a3 Automatic source file dependency generation for GNUmakefile
This automatically saves the dependencies used for a given object file during the first compilation, then uses the generated data for each subsequent compile to determine if the object needs to be rebuilt. Why? Because if I see one more warning about the C++ One Definition Rule, I'm going to fucking snap.

git-svn-id: https://svn.eduke32.com/eduke32@7839 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:50 +02:00
terminx
565383e1d2 Revise r7835: instead of not testing wall sprites, we'll just ignore the side blockers
git-svn-id: https://svn.eduke32.com/eduke32@7838 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:47 +02:00
terminx
686a906c78 Move RCtrl keybind for gamefunc_Fire to slot 1 instead of 2
git-svn-id: https://svn.eduke32.com/eduke32@7837 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:45 +02:00
terminx
bf573ff2c9 Fix issue with the autorun key when resetting controls to defaults, and give gamefunc_Last_Used_Weapon a default key binding of X
git-svn-id: https://svn.eduke32.com/eduke32@7836 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:43 +02:00
terminx
4beaeb5426 Don't check clip objects for sprites in the keepaway() loop in clipmove()
This prevents some hilarious issues with deadly wall decorations. The "side blocker" clip lines that already exist for these sprites should already prevent the kinds of clipping issues this loop is intended to address, anyway.

git-svn-id: https://svn.eduke32.com/eduke32@7835 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:40 +02:00
terminx
dad28df269 OK, this is just a bit too restrictive
git-svn-id: https://svn.eduke32.com/eduke32@7834 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:38 +02:00
terminx
6d2ca41b9c Fix clipping issue with jumping
git-svn-id: https://svn.eduke32.com/eduke32@7833 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:36 +02:00
terminx
dc7ec3b2fe Fix additional clipmove() issue
git-svn-id: https://svn.eduke32.com/eduke32@7832 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:33 +02:00
terminx
1da1331299 Clean up raytrace() and rename it to cliptrace()
git-svn-id: https://svn.eduke32.com/eduke32@7831 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:31 +02:00
terminx
490b7249a2 Allow reading vec3_whatever_t as vec2 directly
It's a union in a struct in a union in a struct. Oh god, what have I done.

git-svn-id: https://svn.eduke32.com/eduke32@7830 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:28 +02:00
terminx
52db0e37f7 Additional clipmove() reworks
This fixes a LOT of clipping errors but needs thorough testing.

git-svn-id: https://svn.eduke32.com/eduke32@7829 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:25 +02:00
terminx
17d3c302a3 Switch a few iterators in clipmove() from int to native_t
git-svn-id: https://svn.eduke32.com/eduke32@7828 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:23 +02:00
terminx
417318c271 clipmove() patch from Nuke.YKT:
"In some edge cases posx/y might be 'inside' of neighbor sector. I've added double check for this case"

git-svn-id: https://svn.eduke32.com/eduke32@7827 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:20 +02:00
terminx
df28860bad Add divscale64()
git-svn-id: https://svn.eduke32.com/eduke32@7826 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:18 +02:00
terminx
dc0130625a Minor pushmove() cleanup
git-svn-id: https://svn.eduke32.com/eduke32@7825 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:15 +02:00
terminx
ed457895f1 Replace check_floor_curb() with cliptestsector()
git-svn-id: https://svn.eduke32.com/eduke32@7824 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:12 +02:00
terminx
0fb77f8af3 Use corrected slope heights in getzrange() and pushmove()
git-svn-id: https://svn.eduke32.com/eduke32@7823 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:10 +02:00
terminx
2482cddbb5 Add getcorrectzsofslope()
git-svn-id: https://svn.eduke32.com/eduke32@7822 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:08 +02:00
terminx
2bb93967e1 Fix an issue where looping sound effects would play at full volume for a tic after playback began, regardless of distance to the sound
git-svn-id: https://svn.eduke32.com/eduke32@7821 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:23:05 +02:00
terminx
e6b700cf9b Promote divisor argument to tabledivide64 to int64_t and replace a couple of 64-bit divides in rintersect() and inflineintersect()
git-svn-id: https://svn.eduke32.com/eduke32@7820 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 15:23:03 +02:00
hendricks266
dc87150f2a update esv exts
git-svn-id: https://svn.eduke32.com/eduke32@7817 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:18:01 +02:00
hendricks266
3a1e4a445f new special purpose gamevar flag
git-svn-id: https://svn.eduke32.com/eduke32@7816 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:57 +02:00
hendricks266
66032defbb Don't lock out cheats in skill 4 if FURY
git-svn-id: https://svn.eduke32.com/eduke32@7815 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:53 +02:00
hendricks266
36bde42d8c This may be my worst commit ever.
git-svn-id: https://svn.eduke32.com/eduke32@7814 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:49 +02:00
hendricks266
e49e8f4cd6 Fix warnings in sjson
git-svn-id: https://svn.eduke32.com/eduke32@7813 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:45 +02:00
hendricks266
0cd74a6782 Add sjson to project
git-svn-id: https://svn.eduke32.com/eduke32@7812 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:43 +02:00
terminx
165b320f64 Amend r7805
'Murica.

git-svn-id: https://svn.eduke32.com/eduke32@7811 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:40 +02:00
terminx
763b4b8d7f Throw a warning when attempting to use CON_DEFINESOUND with a sound index that has already been defined
git-svn-id: https://svn.eduke32.com/eduke32@7810 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:37 +02:00
terminx
67dc0cb5f8 Fix mirrors in Polymer
git-svn-id: https://svn.eduke32.com/eduke32@7809 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:34 +02:00
terminx
48f602ae68 Rename IONMAIDEN -> FURY
git-svn-id: https://svn.eduke32.com/eduke32@7808 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:31 +02:00
terminx
43f263fc65 Try walldist + 8 instead of walldist << 1 in clipupdatesector()
git-svn-id: https://svn.eduke32.com/eduke32@7807 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:17:28 +02:00
terminx
97390c1ff4 Fix another bunch of improperly sized bitmap arrays
git-svn-id: https://svn.eduke32.com/eduke32@7806 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
2019-09-20 15:17:25 +02:00
pogokeen
3d63d1b720 Add updatesectorneighbour() and updatesectorneighbourz() and make them accessible to CON to allow searching for nearby neighbouring sectors from a known sector.
These updatesector counterparts are more performant for tasks that require determining whether nearby sectors exist at a point as they will not exhaustively search the map.
This also leads to more correct behaviour when sectors are disjoint, as queries will breadth-first search neighbouring sectors rather than risk accidentally stumbling first across accomodating disjoint sectors.

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

# Conflicts:
#	source/build/include/build.h
2019-09-20 15:16:47 +02:00
hendricks266
844ec0bd63 Expose the current episode and skill selection in ud.m_volume_number and ud.m_player_skill while in their respective menus
git-svn-id: https://svn.eduke32.com/eduke32@7804 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:33 +02:00
pogokeen
1ec5547a9c Fix edge case where mirrors & TROR could interact and render over skyboxes in the classic software renderer
git-svn-id: https://svn.eduke32.com/eduke32@7803 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:31 +02:00
hendricks266
83e1a6902d Implement "usermap" music definition slot
git-svn-id: https://svn.eduke32.com/eduke32@7802 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:29 +02:00
hendricks266
ba7c266f89 CON_MUSIC: Accept "." as meaning "do nothing to this slot"
git-svn-id: https://svn.eduke32.com/eduke32@7801 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:27 +02:00
hendricks266
d1b43acc06 Use std::numeric_limits instead of float.h
git-svn-id: https://svn.eduke32.com/eduke32@7799 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:14:23 +02:00
hendricks266
48b2cfef59 Fix compilation of linklist.h in C++11 mode with clang
git-svn-id: https://svn.eduke32.com/eduke32@7796 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:11:03 +02:00
hendricks266
6b4d64bde5 Tweak previous commit so clipmove takes precedence over getzrange
git-svn-id: https://svn.eduke32.com/eduke32@7795 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:11:01 +02:00
hendricks266
df609ccfbc Fix an OG Duke bug where projectiles would bounce off the tops of sprites instead of registering a hit
git-svn-id: https://svn.eduke32.com/eduke32@7794 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:59 +02:00
pogokeen
12ce6a78fe Fix parallel build by switching to generating .obj files from .glsl files and treat the shader source as an externed global resolved at link time.
Additionally, remove the no longer necessary shader generated headers folder from .gitignore

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

# Conflicts:
#	.gitignore
#	source/build/src/polymost.cpp
2019-09-20 15:10:56 +02:00
terminx
9fde5434f8 Fix translucent masked wall sorting issue in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7792 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:23 +02:00
terminx
fe4245dfc3 Voxel fix
git-svn-id: https://svn.eduke32.com/eduke32@7791 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:21 +02:00
terminx
2313e3d374 Rename "autosaves" to "checkpoints" in menu
git-svn-id: https://svn.eduke32.com/eduke32@7790 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:18 +02:00
terminx
b4d3a76793 Fix stupid bug with sprite shadows in Polymost
git-svn-id: https://svn.eduke32.com/eduke32@7789 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:16 +02:00
terminx
f46db45970 Voxel fixes from Nuke
git-svn-id: https://svn.eduke32.com/eduke32@7788 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:14 +02:00
hendricks266
4e04e4a096 Fix issue with shader compilation
git-svn-id: https://svn.eduke32.com/eduke32@7787 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:12 +02:00
hendricks266
616b0c2347 Fix sequential GNUmakefile build
git-svn-id: https://svn.eduke32.com/eduke32@7786 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:09 +02:00
pogokeen
07df3ffc42 osdfuncs.cpp: fix OSD background sometimes not rendering with the correct gl state
git-svn-id: https://svn.eduke32.com/eduke32@7784 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 15:10:05 +02:00
pogokeen
1664310159 Support clamping in polymost1Frag.glsl and use it for sprites
git-svn-id: https://svn.eduke32.com/eduke32@7783 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/include/polymost.h
#	source/build/src/polymost1Frag.glsl
#	source/build/src/voxmodel.cpp
2019-09-20 15:10:02 +02:00
Christoph Oelckers
a55e19ed83 - fixed the shader. 2019-09-20 15:02:49 +02:00
pogokeen
f6993940e5 Separate out polymost1Frag and polymost1Vert shaders from polymost.cpp and add rules for building in the GNUmakefile.
Additionally, git ignore the shader's generated headers folder.

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

# Conflicts:
#	.gitignore
#	source/build/src/polymost.cpp
2019-09-20 14:57:42 +02:00
pogokeen
fe36034e43 polymost.cpp: Adjust shaders to use texture2DGradARB() if available
git-svn-id: https://svn.eduke32.com/eduke32@7781 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:53:22 +02:00
terminx
cfa40f33df Fix volume slider bug introduced in r7773
git-svn-id: https://svn.eduke32.com/eduke32@7780 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:40:17 +02:00
terminx
c233d58cf8 QOL change: print save filename to console for manual savegames, too, not just ones generated through the script
git-svn-id: https://svn.eduke32.com/eduke32@7779 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:40:15 +02:00
terminx
a075a89304 Voxel fixes from Nuke.YKT
git-svn-id: https://svn.eduke32.com/eduke32@7778 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:40 +02:00
terminx
2882609822 Don't attempt to animate sprites drawn as voxels by picnum
git-svn-id: https://svn.eduke32.com/eduke32@7777 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:10 +02:00
terminx
c96ec9d440 This is just syntax and formatting
No functional changes.

git-svn-id: https://svn.eduke32.com/eduke32@7776 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:09 +02:00
terminx
fa5ff547c8 Rename stupid structure member I probably named when I was high
git-svn-id: https://svn.eduke32.com/eduke32@7775 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:06 +02:00
terminx
19e54dc1ad Stop trying to make CTRL-ALT-DEL happen
It's not going to happen.

git-svn-id: https://svn.eduke32.com/eduke32@7774 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:03 +02:00
terminx
027afc2347 Patch from Nuke.YKT to replace audiolib's volume table with floating point calculations
This fixes an issue where rapidly changing the player's angle could result in the audio "popping" due to the sudden change to a new position in the volume table, and the resulting difference in volume between one sample and the next. This also fixes a DC offset issue when applying the volume level to certain sample types.

git-svn-id: https://svn.eduke32.com/eduke32@7773 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:39:01 +02:00
terminx
cf7ac8f16e Untie EVENT_ALTFIRE from the conditions required to trigger EVENT_FIRE
git-svn-id: https://svn.eduke32.com/eduke32@7772 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:54 +02:00
terminx
4c290ab4ec Add gamefunc_Alt_Weapon and EVENT_ALTWEAPON back in
git-svn-id: https://svn.eduke32.com/eduke32@7771 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:50 +02:00
terminx
dc9c7bc7b0 Make shadows on voxels in Polymost look like they do in classic
git-svn-id: https://svn.eduke32.com/eduke32@7770 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:47 +02:00
terminx
bf94922b27 Even more minor fix to previous commit
git-svn-id: https://svn.eduke32.com/eduke32@7769 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:45 +02:00
terminx
8e8a1334e9 Minor fix to last commit
git-svn-id: https://svn.eduke32.com/eduke32@7768 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:42 +02:00
terminx
7e7f19b5fd Add tilehasmodelorvoxel() function and fix instances where voxels for multi-sided sprites would get flipped based on the viewing angle
git-svn-id: https://svn.eduke32.com/eduke32@7767 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:40 +02:00
terminx
31f66f7de4 Fix audio position updating in automap mode
git-svn-id: https://svn.eduke32.com/eduke32@7766 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:38 +02:00
terminx
465403a199 Prevent addlogvar from accepting constants, which causes a crash
git-svn-id: https://svn.eduke32.com/eduke32@7765 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:36 +02:00
terminx
940df04eb6 Make cache1d try a little harder to find a suitable block before bailing with "CACHE SPACE ALL LOCKED UP!"
git-svn-id: https://svn.eduke32.com/eduke32@7764 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:34 +02:00
terminx
53000d1f31 Make cacheAgeEntries() do a more consistent amount of work per frame
git-svn-id: https://svn.eduke32.com/eduke32@7763 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:32 +02:00
terminx
5cfcb96768 Swap indexes for gamefunc_AutoRun and gamefunc_Alt_Fire
Normally I wouldn't be in favor of changing indexes that are already exposed to scripts around, but gamefunc_AutoRun is a locally handled key that doesn't have any script events associated with it, and gamefunc_Alt_Fire is pretty important to have up near the top wherever gamefuncs are listed.

git-svn-id: https://svn.eduke32.com/eduke32@7762 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:30 +02:00
terminx
4e81b4e2f0 Replace gamefunc_Alt_Weapon with a gamefunc_Alt_Fire that works as expected
git-svn-id: https://svn.eduke32.com/eduke32@7761 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:28 +02:00
terminx
6f54235b7a Fix edge case in clipupdatesector()
git-svn-id: https://svn.eduke32.com/eduke32@7760 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:26 +02:00
terminx
82c37b78cc Prevent uninitialized access to hitwalls[] in clipmove()
git-svn-id: https://svn.eduke32.com/eduke32@7759 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:24 +02:00
terminx
130649b017 Move cacheAllSounds() out of G_CacheMapData() and into G_Startup()
git-svn-id: https://svn.eduke32.com/eduke32@7758 1a8010ca-5511-0410-912e-c29ae57300e0
2019-09-20 14:36:21 +02:00
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