Build 8351
SVN-
General
Fix STARTUP_WINDOW=0 on modern macOS
SVN handles and Git names are merged into one person.
Fix STARTUP_WINDOW=0 on modern macOS
Move HIT_PLAX_WALL out of the bit range used for limit raised struct IDs
Activate ASSERT macro with RELEASE=0 builds
Fix assertions and OOB so that the player can noclip OOB
Address Sanitization commenceth
Get widescreen aspect working
Take screenshots as PNG, not TGA
Fix cheats only granting one Uzi instead of two
Add Alt Weapon Mode gamefunc and bind it to MOUSE3 by default
Fix CONTROL_ClearUserInput so menu input is reliable
Fix NUMGAMEFUNCTIONS and mouse button select menu
Enable Run mode by default
Set up very basic OSD appearance
Add Redux's -addon1 and -addon2 command line parameters
Add support for loading dependent GRPs -- and Redux's Twin Dragon
Port more efficient startup window game data selection infrastructure
This includes saving the user's selection to the cfg.
Clean up sign casts in kplib
Rename the poorly named "Cool Stuff" menu entry to "Credits" and clean it up
Fix saves
Dynamically-allocated structs strike again.
Fix an error in the the inline header version of initmultiplayers
Disable xxhash's xxh3 because we don't use it and it generates the following annoying warning on 32-bit:
In file included from source/build/src/xxhash.c:1105: source/build/include/xxh3.h:279:41: warning: SSE instruction set disabled, using 387 arithmetics 279 | XXH_mult64to128(xxh_u64 lhs, xxh_u64 rhs) | ^ source/build/include/xxh3.h:393:44: warning: SSE instruction set disabled, using 387 arithmetics 393 | XXH3_mul128_fold64(xxh_u64 lhs, xxh_u64 rhs) | ^
Sanitize all uses of wall.nextwall to prevent OOBs
Minor cleanup
Fix a bug with mouse cursor position in the keyboard keys menu
Sort mutex.cpp by preference of implementation and replace Win32 Mutex with CriticalSection
Add mesa_glthread=true to our automatically enabled threaded optimizations
Templatize the branchless negation method used for GV_FLAG_NEGATIVE
Fix "MV_GetVoice(): bad handle" log spam
Fix widescreen flickering in end of level screen
Allow the Run key to Walk when AutoRun is enabled
Fix non-debug builds on Windows
Update the port credits
Still far from perfect.
Copy the sln==1 GetUpperLowerSector case from the editor to the game
This avoids upper and lower remaining unmodified. Sector 469 in Seppuku Station causes it!
Improve the modern key defaults
cpuid.cpp: Apply another fix for Mingw-w64 builds
Use fix16_t instead of float for MV volume control. This is otherwise still doing calculations as brought into r7773 from Nuke.YKT.
Add fix16_fast_trunc_mul and fix16_fast_trunc_mul_int_by_fix16
Remove assignment of volume, leave it for MV_SetVoiceVolume
Fix HAVE_FLAC=0 HAVE_VORBIS=0 builds
Make the secondary backslash key of the standard 102-keys PC keyboard layout, also known as a "less than" key, usable. This is the key generally sitting in-between the left shift and Z keys, for the 102-keys QWERTY layout.
Fix SDL 1.2 build of sdlayer.cpp and apply minor changes to sdlayer12.cpp
Fix SDL 1.2 build of timer.cpp
Load swtimbr.tmb
Add MIDI_GetDevice and use it so that the default driver value doesn't show as "Custom" in the menu
Fix calls to FX_ErrorString and MUSIC_ErrorString
Prefer early return on error in sound and MIDI init functions
Prefer "MIDI driver" to "Music device"
Fix keyboard layout change console message and make sure windowsPlatformCleanup() gets called from uninitsystem()
I swear, the amount of trivial differences between toolchain setups drives me up the wall sometimes
Use stat() instead of fopen() to detect existing files when saving screenshots
This helps the player not fall off of the edges of certain types of moving sectors as easily
Don't activate gamefunc_Toggle_Crouch if cheat_phase is non-zero
This fixes most issues with the player clipping through the walls of rotating sectors
Boost OPL3 output to about the level of WinMM
Retain friendly names for audiolib drivers disabled at compile time
Add mus_al_additive to control the behavior mentioned in r8232 and rename mus_adlibstereo to mus_al_stereo
Better stereo suppport in OPL3 emulator
Patch from Nuke.YKT
Fix issue with tempo when changing back and forth between OPL3 and WinMM MIDI output
Apparently, a long while back when I limited snd_numvoices to 128 I forgot to change the menu to reflect it
Fix mus_adlibstereo
Revert a copy/paste error fix in the AdLib code because the fixed version doesn't work right with the timbres Blood ships with
Fix AdLib timbre loading
Fix min/max values for audiolib cvars
I thought this would work but I'm stupid :D
Tweak the priority classes set by win_priorityclass
Fix issue causing maps to sometimes fail to load
Band-aid fix an issue with the tile packer preventing MSVC builds from working
Prefer uint32_t over unsigned int
startgtk.game.cpp edits:
1. Fix USE_OPENGL=0 builds. 2. Don't ignore the user's choice of BPP. 3. If eduke32.cfg has Polymer set to 1 and ScreenBPP set to 8 (e.g., the user changed from Polymer to Classic), don't tick Polymer and don't select an OpenGL mode.
Derp
Update libxmp-lite
Use -fvisibility=hidden for Voidwrap on Linux
Fix issue where the borderless windowed mode menu option wasn't starting out reflecting the current value