Build 9887
GIT-
fix TROR regression caused by 421b54a8abb51e91cc539ec3a323e8581e2e05f7
SVN handles and Git names are merged into one person.
fix TROR regression caused by 421b54a8abb51e91cc539ec3a323e8581e2e05f7
Introduce modern default keybind ordering
Can be changed with the cvar cl_keybindorder. Settings the value to 0 restores the original classic keybind order, 1 uses the modern ordering. Either mode is overridden by custom keybind orders.
apply reordering to mouse and controller config as well
Implement reordering of keyboard menu entries via DEF command
List the gamefunc names (or corresponding indices) separated by whitespace. This will define the order of gamefuncs on the keyboard configuration menu. Any omitted gamefuncs will not be listed in the menu. Usage: ``` keyconfig { gamefunc_Move_Forward gamefunc_Move_Backward gamefunc_Strafe_Left gamefunc_Strafe_Right ... } ```
Decouple keybind menu ordering from assigned gamefunc index
replace NUMGAMEFUNCTIONS macro with an enum value
Fix an error with the bonus tile, and extend EVENT_GETBONUSTILE
Within EVENT_GETBONUSTILE, you can now set ud.return[0] to ud.return[4] to change each frame of the bonus screen animation separately.
Add event EVENT_GETBONUSTILE to change bonus screen pic
The RETURN value will be set to the current base bonusscreen tile, and changing it will change the tiles displayed in the bonusscreen.
fix building against SDL older than 2.0.9
use CONTROL_SetAnalogAxisSensitivity() instead of CONTROL_SetAnalogAxisScale() for mouse
I don't think this is perfect but it should be an improvement.
fix an error in the autoaim logic where the z coord wouldn't be adjusted for CSTAT_SPRITE_YCENTER when playing Fury in EDuke32 (retail Fury builds were not affected)
add STANDALONE_EVAL macro
add menu option to control OPL3 volume post-amplification
add mjr4077au to contributors
fix misleading usage of A_CheckSpriteFlags() (comparison with 0 implied the function returns the flag bits instead of `true` or `false`; it does not)
extra const in libtess2
fix redundant assignment
Only attempt to switch subweapon if we actually have the weapon
This fixes a bug in World Tour where trying to switch to the flamethrower while the current weapon is the freezer, and you have flamethrower ammo but not the actual weapon itself, then this instead locks the weapon key, preventing you from switching back to the freezer from other weapons. This bug also affected the Shrinker, but only if CON code changes the 'gotweapon 11' value to 0 after the player obtains the weapon.
Remove the 'previousboardfilename' mapart hack
This was a bandaid that prevented repeatedly loading the same mapart when loading savegames. This meant having to constantly update the buffer whenever clearing mapart, which is undesirable. Fixes mapart not reloading after quitting to title, or ending an episode and then loading a savegame.
use FX_GetPosition() in S_GetSlot() to take the age of a voice into account when selecting a voice to cancel when attempting to play more than MAXSOUNDINSTANCES of a single sound simultaneously
basic MV_GetPosition() support for FMT_VOC/FMT_WAV
move a debug assertion
bump GL version to 3.0, drop GLES APIs since we don't use them
fix crash trying to play negative sound indexes from mistagged switches
Disable Rumble menu item if no controller found
fix more stupid errors in b6740a7b32d352e6d71a5be0bc118f381599933e
Prevent segfaults when no sounds are defined.
Add sanity checking to CON decimals, hex constants and labels
* Scripts no longer compile if a hex constant is malformed (e.g. 0x, 0xz) * Compiler will now warn if a decimal or hex constant isn't terminated in a sane manner. (example: digit is followed by letters: "100ab") * Compiler will now warn if a label starts with digits. This is done to prevent ambiguity between integer constants and actual labels.
fix dumbass GL state oversights
fix stupid copy/paste error in b6740a7b32d352e6d71a5be0bc118f381599933e
WIP controller force feedback (rumble) support
Currently hard-coded with no real customization; algorithm and range of values will certainly change but the current implementation attempts to automatically discern appropriate force feedback values based on the potential damage inflicted by projectiles the player fires, events occurring in the map such as explosions and earthquakes, and on the damage the player receives. A future commit will likely contain a way to send the force feedback impulses from CON.
work on controller features
fix oversight in current A_RadiusDamage() implementation that allowed a sprite to inflict radius damage on itself
Add ud member "folsvel" and allow strafing in map follow mode
`userdef[].folsvel` represents the strafe velocity.
Fix regression causing KV6 voxels to render black.
Fix crash with jumping to menu options with letter keys
allow r_pr_shadowdetail 6 (8192x8192)
add mus_tryformats cvar and menu option to control loading OGG/FLAC replacements for MIDI
Based on MR !175.
fix sound regression causing sound #0 (KICK_HIT) to play when doors were opened
Update gamecontrollerdb.txt
add missing buildgl_bindSamplerObject() calls
eliminate krecipasm in wall sprite rendering code
fix integer overflow in wall sprite x coordinate calculations
bind a sampler object when drawing voxels.
Revert "Duke3d: ACTIVATOR/MASTERSWITCH parity for SE2, SE3, SE18, SE21, SE31, SE32, and SE36"
mimalloc 2.0.3
throw errors when vorbis and XMP decoder initialization in a worker thread fails, validate result of worker thread decoder initialization before allowing MV_Mix() to proceed with working with the voice
Untested beyond the obvious stuff like verifying the non-failure cases still produce non-failure results. These errors were still being handled before this commit, but it was in more of a rudimentary "do nothing and silently fail" sort of way.
properly handle the rejection of sound data that can't be identified by file header again
oops, this still needs to be called here for Polymer to work in the editor
Stuttering fix
fix integer overflow of globalzd in floor sprite rendering code
This commit also simplifies previous x/y panning fix
fix integer overflow of x/y panning in floor sprite rendering code