Commit Graph

1353 Commits

Author SHA1 Message Date
Christoph Oelckers 1b96861615 - consolidated RTS code, because there were 3 copies.
Also completely rewritten to get rid of the cache dependency.
2019-10-20 19:13:44 +02:00
Christoph Oelckers bf8a2ee573 - started refactoring of file handling, starting with some nasty bits in Shadow Warrior. 2019-10-20 17:09:58 +02:00
Christoph Oelckers 75205ca69c - do not throw exceptions to exit without proper handling. 2019-10-20 11:28:16 +02:00
Christoph Oelckers 489170b12c - fixed compilation again. 2019-10-20 10:52:38 +02:00
terminx 63d6e70e21 Apparently, a long while back when I limited snd_numvoices to 128 I forgot to change the menu to reflect it
git-svn-id: https://svn.eduke32.com/eduke32@8234 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:51 +02:00
Christoph Oelckers 76bceb81cd - removed time consuming load indicator from Duke3D frontend as well. 2019-10-20 10:45:50 +02:00
terminx c68c50ddca Add snd_tryformats cvar to disable automatic loading of .ogg and .flac versions of sound and music
git-svn-id: https://svn.eduke32.com/eduke32@8212 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:50 +02:00
terminx 873440f06c Fix tiny header issue
git-svn-id: https://svn.eduke32.com/eduke32@8208 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/duke3d/src/osdcmds.cpp
#	source/duke3d/src/osdcmds.h
2019-10-20 10:45:50 +02:00
terminx b8f4651ab4 Don't try videoSetGameMode() if there aren't any valid modes
git-svn-id: https://svn.eduke32.com/eduke32@8207 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:50 +02:00
Christoph Oelckers 215a7cdff3 - removed unused animlock variable. 2019-10-20 10:45:49 +02:00
terminx ca789dc4d0 Wait to run G_MoveLoop() until a frame has just been rendered
This should give G_MoveLoop() a better chance to not run past the time when another frame is to be drawn.

git-svn-id: https://svn.eduke32.com/eduke32@8195 1a8010ca-5511-0410-912e-c29ae57300e0
2019-10-20 10:45:49 +02:00
terminx ba02bbaf67 Add #pragma once to debugbreak.h and remove it from separate inclusion in a couple of translation units as we're including it directly in compat.h now
git-svn-id: https://svn.eduke32.com/eduke32@8192 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/sdlayer.cpp
#	source/duke3d/src/gamedef.cpp
2019-10-20 10:45:48 +02:00
terminx d7f779eaec Use EXIT_FAILURE and EXIT_SUCCESS from stdlib.h when calling exit()
git-svn-id: https://svn.eduke32.com/eduke32@8190 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	source/build/src/build.cpp
#	source/build/src/polymost.cpp
#	source/build/src/tiles.cpp
#	source/duke3d/src/astub.cpp
2019-10-20 10:45:48 +02:00
Christoph Oelckers 462bd8d292 - cleaned out some commented out code. 2019-10-20 10:44:51 +02:00
Christoph Oelckers 2316957026 - made things compile again after updating enet. Also removed the redundant dumb and game_music_emu libraries which just got imported by accident when using other things from GZDoom.
Note: enet uses 'malloc' and 'free' as field names in a struct - this does not work with any compiler using some sort of heap instrumentation that #defines these names!
This had to be changed to allow MSVC debug builds to compile again.
2019-10-20 09:16:01 +02:00
terminx 63713002b3 Swap out our old deprecated version of ENet for a single-file header-based fork, including features like IPv6 support
git-svn-id: https://svn.eduke32.com/eduke32@8175 1a8010ca-5511-0410-912e-c29ae57300e0

# Conflicts:
#	GNUmakefile
#	libraries/enet/LICENSE
#	libraries/enet/callbacks.c
#	libraries/enet/compress.c
#	libraries/enet/enet/callbacks.h
#	libraries/enet/enet/enet.h
#	libraries/enet/enet/list.h
#	libraries/enet/enet/protocol.h
#	libraries/enet/enet/time.h
#	libraries/enet/enet/types.h
#	libraries/enet/enet/unix.h
#	libraries/enet/enet/utility.h
#	libraries/enet/enet/win32.h
#	libraries/enet/host.c
#	libraries/enet/list.c
#	libraries/enet/packet.c
#	libraries/enet/peer.c
#	libraries/enet/protocol.c
#	libraries/enet/unix.c
#	libraries/enet/win32.c
#	platform/Windows/build.vcxproj
#	platform/Windows/build.vcxproj.filters
#	platform/Windows/eduke32.sln
#	platform/Windows/eduke32.vcxproj
#	source/duke3d/src/player.cpp
2019-10-20 08:43:36 +02:00
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 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
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 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 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 cd7bbe35a8 - removed all legacy fog code. 2019-10-19 15:52:46 +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 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 6d7458fe42 - fixed bad endif() placing in CMake projects 2019-10-17 08:44:01 +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 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 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 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 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 16dbb3526a - removed unused code. 2019-10-07 22:11:28 +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 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 ae1e090716 - all non-shader related GL calls are gone from the main code base. 2019-10-04 21:13:04 +02:00
Christoph Oelckers a86f1ffd4f - make it compile again. 2019-10-04 17:36:37 +02:00
Christoph Oelckers 471f720d95 - consolidated console clear functions. 2019-10-04 01:25:10 +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 cd920299d0 - moved winbits.cpp to the platform folder and cleaned out unused parts. 2019-09-25 22:38:47 +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 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 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 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 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
Christoph Oelckers 998ac01157 - manual merge of all NBlood changes that couldn't get cherry picked. 2019-09-21 13:02:17 +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 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
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 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 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 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 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 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 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
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
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 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 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 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 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 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 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
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 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 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 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
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 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 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 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 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 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