File eduke32.changes of Package eduke32

-------------------------------------------------------------------
Tue Jan 06 07:57:00 UTC 2026 - Boris Manojlovic <boris@steki.net>

- Update to version 20251111.39967d866:
  * audiolib: fix adlib additive mode
  * SW: Fix null pointer dereferences in case of showing inventory bar right before player kill
  * SW: Comment out definition and declaration of unused function _ErrMsg
  * SW: Use TerminateWithMsg in _Assert
  * SW: Use TerminateWithMsg in JS_DrawMirrors
  * SW: Use TerminateWithMsg in JS_PlockError as well
  * SW: Cleanup of what was non-RENDERTYPEWIN code
  * SW: Remove not fully ported heap check code and related definitions
  * SW: Remove DEBUG-specific console commands mem, checkheap, dumpheap
  * SW: Replace a few more printf calls, none being compiled, with LOG_F/VLOG_F
  * SW: Replace a few printf calls with uses of LOG_F(ERROR, ...)
  * SW: Do replace multiple calls to TerminateGame+print/wm_msgbox+exit
  * SW: Add template function TerminateWithMsg and wrapper TerminateWithSimpleMsg
  * SW: Move #endif directive to the end of game.h
  * Engine: Increase mmulti.cpp's MAXPAKSIZE (size of pakbuf in bytes) to 2048.
  * Engine: Log a warning from mmulti.cpp:dosendpackets in case output pakbuf lacks space for all data.
  * SW: Improve prediction of interpolated bob_z value
  * SW: Fixed player movement prediction, now actually based on predicted angle
  * SW: Fix switch to double Uzi for multiplayer games upon pick-up of second Uzi
  * SW: Simplify HandleWeaponAutoSwitch usage to go through the DamageData array
  * SW: Fix multiplayer sync errors with the weapon auto-switching toggle
  * SW: Introduce new weapon auto-switch PF2 flags for a follow-up commit
  * SW: Fix voxels introducing glitched sprites in ROR sectors
  * Update credits
  * Duke3D: Add detection for GOG version of WWII GI
  * Increase MAXVOXELS to 2048
  * Fix bug with unit art loading
  * Duke3D: Add userdef quote_yoffset
  * engine: flush colmatch cache if input data is changed
  * duke3d: fix timing issue in input code after rate is changed
  * Mapster32: Fix lighting preview when multiple SEs are in a sector
  * Duke3D: Add EVENT_OPERATEACTIVATORS
  * Mapster32: Fix selection bug affecting sector pal
  * Fix `includeoptional` in Mapster32's sound parser
  * Implement `includeoptional` in Mapster32's CON parsing
  * Engine: Clean up rusted EDUKE32_GLES so that it at least builds
  * glad: Add GL_KHR_debug
  * glad: Add gles2=3.0
  * glad: Update to 0.1.36
  * Defs: Avoid unused parameter warning during release builds
  * Engine: Update C and C++ language standard version detection
  * Engine: Tweak xxhash_config.h so xxhash.c needs fewer changes on update
  * engine: fix voxel shading in polymost
  * Add "includeoptional" CON token, that doesn't error out if the included file is absent.
  * Duke3D: Ignore invalid wchoice values
  * Duke3D: Failed tripbomb placements no longer consume ammo (accurate to Duke 1.5)
  * SW: Add `classic` subdirectory to search path when Redux is detected
  * SW: Handle the absence of voxel and parental lock .txt files correctly
  * Fix bug in game data scanning when an add-on is found without its parent
  * Duke3D: Fix crash in startup window code when no game data is recognized
  * Engine: Bump MAXXDIM from 7680 to 10240
  * KenBuild: Eliminate use of MAXXDIM for temporary buffer sizes
  * Windows: SDL 2.30.10
  * engine: fix RELEASE=0 build with GCC 14.x
  * engine: update xxhash to 2bf8313b934633b2a5b7e8fd239645b85e10c852
  * engine: update libdivide to e72d8272fef23d9cbec3039fd313258be336e514
  * Update gamecontrollerdb.txt
  * mimalloc: update to 30640233a182210c3e8b4c8381d53786d4cbb352
  * Explicitly disable SSSE3 when optimizing for x86_64
  * Fix rumble detection
  * SW: Add Quick Save and Quick Load gamefuncs
  * Windows: SDL 2.30.4
  * Update gamecontrollerdb.txt
  * Duke3d: fix a bunch of improperly written checks for sprites that have been deleted or wound up outside of playable space
  * engine: update miniz to 8714fd3cd8788eb18304200607247926f9728d1f
  * mimalloc: cherry pick 03020fbf81541651e24289d2f7033a772a50f480
  * mimalloc: update to v1.8.7
  * engine: update lz4 to c537f782c44a0ced71bcf271356aef9506f1375c
  * Windows: SDL 2.30.3
  * Duke3d: disable drawframe coroutine (the coroutine is not actually required for vm_preempt operation)
  * Duke3d: improve frame pacing
  * Duke3d: allow frame drawing between segments of EVENT_WORLD/EVENT_PREWORLD chains
  * Duke3d: add CON_YIELD
  * engine: bump GL depth buffer size
  * Defs: Implement ifmatch subtoken for voxel token
  * Defs: Factor out ifmatch/ifcrc handling into TileMatchChecker class
  * Engine: Factor a new vox_clearid() out from vox_undefine()
  * Defs: Apply minor cosmetic cleanup to voxel token code
  * SW: Fix GRP checksumming log messages
  * Duke3D: Fix `-s` command line parameter with values >= 5 when valid
  * Clean up references to removed/replaced libraries
  * Duke3D: Fix highlight of Incinerator ammo in full status bar
  * Update Visual Studio project for mimalloc v1.8.6
  * mimalloc: _mi_page_malloc_zero can't be "extern inline"
  * mimalloc: Restore allow_large_os_pages and abandoned_page_purge options
  * mimalloc: update to v1.8.6
  * macOS: Fix build error due to changes in headers conflicting with mimalloc
  * Include FLAC headers using <angle brackets> rather than "quotes" on Linux
  * Duke3D: Fix playback volumes of "Duke-Tag!" announcement sounds
  * Duke3D: Implement accurate CON_SIZETO behavior for v1.3D mode
  * SW: Restore reverb delay to original value on toggle
  * TSFLib: Convert attenuation from centibels to decibels
  * Duke3D: Remove several unused variables and definitions
  * Duke3D: Separate viewscreen reset out into its own function
  * Duke3D: Refresh "gotsector", "radiusdmgstatnums" and "show2dsector" in Gv_RefreshPointers()
  * Duke3D: Extend mouse x-sensitivity slider to 0 (backport from tmyqlfpir)
  * Apply minor followup to 49773f74823ea79c3385089ff1a2e88a0a906acf
  * Apply slight pedantic cleanup to USE_MIMALLOC=0
  * Move g_controllerSupportFlags from sdlayer.cpp to baselayer.cpp
  * Fix RENDERTYPE=WIN build
  * macOS: Remove GL frameworks from build-time linking
  * Backport TinySoundFont improvements by tmyqlfpir
  * SDL: Actually get name of current video driver instead of index 0
  * macOS: Fix build
  * engine: fix screentext problem introduced in 5997fee3c6b9c2bda5aa31e8a80782f3901c4be1 by folding the relevant change into the new screentext flag introduced in 03a39f4d64a9131138eeecab08003d5c6b67da1c
  * engine: update lz4
  * engine: clean up mimalloc integration
  * Duke3d: fix OOB memory access when saving
  * Duke3d, SW: add -nodinput and -noxinput parameters
  * engine: update mio.hpp
  * engine: bump max bunches to 8192
  * Windows: SDL 2.28.5
  * Revert "loguru: Fix possibly lossy truncation from uint64_t/long to unsigned"
  * Duke3d: fix stupid CON_QSPRINTF bug
  * engine: add failed allocation size to out of memory error just to get an idea of what's going wrong when they occur in release builds
  * Duke3d: fix screentext issue where characters with missing tiles would end up null and signify the end of the string
  * Duke3d: fix compile warnings
  * Duke3D: Avoid calling dragpoint on invalid wall indexes in SE 20 code
  * Duke3D: Fix renderer menu option hiding logic
  * compat.h: Remove macOS cctype shims
  * Duke3D: Make CON_GETGAMEFUNCBIND properly detect and return mouse binds
  * startgtk: Check if grp is null
  * Duke3D: Fix sloped sprite shading preview in editor
  * Duke3D: Fix sloped sprites to once again take on ceiling/floor shade
  * Engine: If the texturecache.index file cannot be read, invalidate it
  * SW: Update port credits
  * Makefile: Condition mimalloc's -Wno-class-memaccess on GCC version
  * loguru: On FreeBSD and OpenBSD use `pthread_get_name_np` spelling instead of `pthread_getname_np`
  * loguru: Use strerror_r() on FreeBSD and OpenBSD
  * loguru: Fix -Wundef warning: check that _POSIX_C_SOURCE is defined before checking it
  * loguru: Fix possibly lossy truncation from uint64_t/long to unsigned
  * loguru: Use getthrid() on OpenBSD for fallback thread global thread id
  * loguru: Fix minor warning about unused variable
  * Add polyfills for std::vector to GrowArray for easy replacement
  * Update TinySoundFont library
  * macOS: Fix ld: warning: ignoring duplicate libraries: '-lm'
  * Fix libxmp-lite build failure on Intel Mac
  * Partially fix building FURY=1 on macOS
  * engine: add new TEXT_CENTERCONSTWIDTH flag for screentext to center glyphs within their allotted region in constant width mode
  * engine: respect xbetween value for screentext between chars in constant width mode
  * Update gamecontrollerdb.txt
  * Duke3d: fix edge case where a zero-byte .dat file would be misdetected as a .grp file
  * Duke3d: the most minor of minor fixes to windowsCheckForUpdates()
  * Duke3d: support sensible conversions between gamearray types when loading savegames
  * Makefile: specify minimum Windows version when linking
  * engine: only use debugbreak.h when actually debugging
  * engine: undef SMMALLOC_DLL
  * Revert "Duke3d: replace custom HTTP version check with https://github.com/yhirose/cpp-httplib"
  * engine: lower Polymost SCISDIST to 0.1f
  * Duke3d: disable "restartmap" console command in Fury mode
  * engine: avoid directly branching on the result of the CPUID instruction as it seems to contribute to setting off false malware reports
  * engine: rip out GetSystemTimeAsFileTime() implementation of enet_gettime() as it seems to contribute to setting off false malware reports
  * engine: #if 0 out Wine detection code as it seems to contribute to setting off false malware reports
  * Duke3d: update message for loading old saves
  * engine: drop -mssse3 from x86_64 compile flags so the binary runs on Phenom II again
  * Duke3d: update player sprite angle in P_UpdateAngles()
  * Duke3d: support actual volume control as an extra parameter to definesound
  * Duke3d: fix 6220b0d988592cd7bcfc87a501fedd33cc95c211
  * Duke3d: #ifndef EDUKE32_STANDALONE the HTTP update checker
  * Duke3d: fix USE_OPENGL=0 build
  * Duke3d: add -nocontroller parameter to completely disable SDL controller support
  * engine: add warning if TROR somehow tries to draw the same wall more than once per frame
  * Duke3d: use "--" instead of "-" for unbound keys in the keyboard configuration menu
  * engine: don't pass SDL_INIT_HAPTIC to SDL_InitSubSystem() because it's not actually used for game controllers
  * Duke3d: fix population of startup window input device drop-down by moving their values back to the launcher configuration (eduke32.cfg)
  * Duke3d: add volume control for Duke Talk and an extra sound flag for other speech that should respect the same volume level (64)
  * Duke3d: replace custom HTTP version check with https://github.com/yhirose/cpp-httplib
  * Duke3d: add .ang member for walls in CON
  * Duke: make sounds permanent in cache again for the time being
  * Windows: SDL 2.28.4
  * Duke3d: fix error in d0e4efe55c39781654b7f3973bedf557f0c3dfd0
  * engine: clarify windowsHandleFocusChange() logic
  * Duke3d: allow the user to choose whether to continue with internal scripts once bad CON files are encountered in their game directory
  * engine: disable glGetGraphicsResetStatus() stuff for now
  * Duke3d: make Gv_Clear() actually clear and Gv_Init() actually re-init
  * Duke3d: don't EDUKE32_PREDICT in the sound functions
  * Duke3d: use internal CONs if external CON compilation fails, like the DOS version did.
  * Duke3d: fix regression where trying to play an undefined sound with an index higher than the highest defined index could crash the game
  * Fury: fix a rare input issue involving creating savegames while the CON script execution is lagging
  * Fury: fix Aftershock accessibility issue
  * Duke3d: maybe fix player's view pseudo-randomly returning to center
  * Duke3d: implement GAMEFLAG_NOCLASSIC and GAMEFLAG_NOPOLYMER grpinfo flags
  * Duke3d: resolve issue where eduke32.log ended up in whatever the cwd was when the binary was launched
  * Update gamecontrollerdb.txt
  * Duke3d: detect invalid .sectnum and .statnum with setactor
  * editor: fix M32_PRINTERROR macro
  * editor: fix updatesector/updatesectorz/updatesectorneighbor/updatesectorneighborz
  * Duke3d: though it's assumed that whatever set the player's cursectnum to -1 was correct in doing so, it probably doesn't hurt to double check before fragging the player
  * Fury: revise 1b25e6fcf6f61bfef45efc92d773546b9b36a02b
  * Duke3d: fix bug in CON EVENT_SCREEN where keypresses weren't being cleared between loop iterations, preventing animations where each keypress skips a segment without bailing out of the whole thing
  * Duke3d: these should have been in 3f4e11c25af76a0dcce1ab66fa97c9083c951a06
  * Duke: print sound precache warning in release builds
  * engine: print sprite number and tile of sprite when clipsectnum >= MAXCLIPSECTORS in clipmove()
  * Engine: Increase YAX_MAXCLIPSECTORS from 64 to 256
  * Duke3D: Comment out log message in appendstate/prependstate
  * Engine/Duke3D: Several changes to TROR traversal in clipping functions
  * Duke3D: Only store boardfilename in the savegame if we have a usermap
  * Engine: Don't try to interpolate rotatesprite calls if the clock difference is negative.
  * Update gamecontrollerdb.txt
  * Duke3d: avoid passing -1 as bunchnum to SECTORS_OF_BUNCH
  * engine: avoid passing -1 as bunchnum to SECTORS_OF_BUNCH
  * engine: minor optimization of 209bc8793d0838bb02d487bd8a74e6199a9911d1 + similar blocks in fgrouscan
  * engine: improve slope sprite interpolation on edges
  * engine: update xxHash to 6f9771f2c014a703f151ac646d5f8074b6236c84
  * Duke3d: tweak controlflow struct added to VM in 4eb6cbe190cf79d758a4a64b9fa10af64d4609ad
  * Duke3d: only update a maximum of one VIEWSCREEN tile per frame
  * Duke3d: remove a bunch of EDUKE32_PREDICT macro usage from gameexec
  * engine: move glGetGraphicsReset() shenanigans to videoShowFrame()
  * engine: fix bugs with 90 degree texture rotation wall cstat bit
  * Duke3d: allow sound data to expire out of cache1d again
  * Duke3d: change G_ReadGLFrame() to use regular memory allocation instead of pulling a block from cache1d because glReadPixels() is so slow anyway
  * engine: revert cache1d to mostly Ken's version
  * engine: update lz4 to 76106cba6fbbf8efb63d9fa90f052d384d212c56
  * Windows: SDL 2.28.3
  * engine: additional sloped sprite clipping fixes
  * Fury: more comprehensive player getzrange checks
  * EDuke32: Blackhole any accumulated input when clearing the input FIFO/starting a level, prevents you from being spun around the wrong way when you spawn in.
  * Duke3D: Fix CON_EXIT not working correctly in while loops
  * Mapster32: Fix globalsound being broken in 3D Mode
  * Engine: Revert clipupdatesector() changes from df868267 and replace with a different approach
  * Engine: Rework the cansee() changes from 86e5fe7f to only affect TROR transitions
  * Duke3D: Add same sectnum checks as in hitscan() to A_RadiusDamage()
  * Engine: Fix hitscan() and clipmove() by checking for invalid sectnums
  * CON: Add missing GAMEVAR_RAWQ16PTR case in VM_GAMEVAR_OPERATOR
  * Duke3D: Add detection for new DOS crash-fixed VACATION.GRP (and DUKEDC.GRP)
  * Duke3D: fix actors on lotag 1 sectors not being squishable
  * Engine: fix regressions with clipupdatesector() from df868267
  * Engine: Fix clipmove() problems with TROR wall geometry resulting from commit 7f00d5ce
  * Fix potential enginecompatibilitymode regression in cansee()
  * Fix enginecompatibilitymode regression in hitscan()
  * Duke3D: Improvements to A_RadiusDamage()
  * Engine: Fix many cases in which cansee() would fail with TROR
  * Duke3D: Properly split TROR code from commit 19fd0915 into YAX_ENABLE blocks
  * Duke3D: Fix sprite shadows being drawn on transparent TROR layers
  * EDuke32: EVENT_PRE/POSTWEAPONSHOOT: Set ud.return[0]/userdef.return 1 to the number of the current shot we're processing in a burst
  * Duke3D: Make some actors work properly with TROR
  * Duke3D: Fix "return to center" triggering after CON_SAVE is executed
  * Use buildvfs_exists in OutputFileCounter::opennextfile
  * Engine: Account for floor and ceiling slopes in renderAddTsprite
  * Engine: Fix tsprite cutoff if the sprite stretches across multiple TROR layers
  * Engine: Overhaul TROR handling for hitscan() and clipmove()
  * Engine: Add TROR-awareness to sprite clipping in hitscan()
  * Engine: Add TROR-awareness to sprite clipping in clipmove()
  * Engine: Make clipupdatesector() TROR-aware with compatibility ENGINE_EDUKE32
  * Fix build failure and warnings if YAX_ENABLE is undefined
  * SW: Fix build error that originated from commit 003320f1
  * Engine: Disable Loguru's unsafe signal handler
  * Engine: Fix mapart tiles not reloading properly on map change in Polymost
  * Mapster32: Allow decreasing sprite repeat down to size of 1x1 in 3D mode
  * Mapster32: Don't lock up the editor while testing a map
  * Engine: Add new tsprite flag TSPR_FLAGS_NO_GLOW (32, hex: 0x20)
  * engine: fix wall aligned sprite lwall calculation overflow
  * Duke3D: Completely revert attempted jitter fix from 5977025e
  * KenBuild: Fix build after big updates in ae4a71a199773d77445a47e6ea80787969b2fd97
  * EDuke32: Give EVENT_POSTWEAPONSHOOT the return value of A_Shoot.
  * EDuke32: Port EVENT_PREWEAPONSHOOT and EVENT_POSTWEAPONSHOOT from NetDuke32.
  * Make port metadata like path loading more consistent
  * Duke: During the 3DR screen, handle events outside the FPS-limited section
  * Engine: Clean up voxflags[] a little bit
  * Engine: Fix voxel visibility rolloff in classic mode to match sprites
  * Added Visual Studio Code configuration file
  * CON: Add warning when `terminate` found outside state or event
  * CON: Add warning when `break` found inside loop (and not inside `switch`)
  * CON: Add terminate
  * CON: Add exit and continue
  * CON: Add prependstate and appendstate
  * CON: Internal cosmetic cleanup
  * CON/VM: Remove VM_NOEXECUTE as redundant to VM_RETURN
  * SW: Fix regression in 611edc9672272fe651d66734c0448be7695b256d
  * Remove TSPR_FLAGS_SLOPE_SPRITE and use only CSTAT_SPRITE_ALIGNMENT_SLOPE
  * Engine: Add to 33bac7ce741da0d058b31465e86af37ed862679d
  * Engine: Fix logic oversights in 6e6b82d4cc9a0434d1ff7a122ae267c3b0e7b21e
  * Use a tspr->clipdist bit to specify legacy voxels instead of tspr->cstat 48
  * Engine: Factor out tspr->clipdist accesses into local variable tsprflags
  * Polymost: Factor out rendering tests for whether a sprite is a voxel
  * Duke3D: Ensure some hardcoded switch behavior maintains applicability only to wall sprites, not sloped (floor), consistent with the rest of the code
  * Engine: Enumify uses of CSTAT_SPRITE_ALIGNMENT (cosmetic cleanup)
  * Engine: Fix assertion in get_floorspr_center with regard to sloped sprites
  * SW: Fix screen border tile in Polymer
  * Fix up many print statements to use loguru so they actually work
  * Clean up uses of buildvfs_kfd types
  * SW: Clean up exit screen code
  * KenBuild: Avoid OOBs
  * SW: Make some variables and literals related to movefifo unsigned
  * Duke3D: Avoid OOB access in A_DamageWall_Internal with invalid overpicnum
  * SW: Fix maybe-uninitialized warnings
  * Defs: Cleanup to avoid future merge conflicts downstream
  * SW: Add new alt reverb option for sound menu
  * Duke3D: Don't call pushmove from DamageObject if sprite has invalid sectnum
  * Duke3D: Properly reset Viewscreens when loading a savegame
  * Duke3D: Fix keyboard function override message not showing the keys
  * EDuke32: Fix weapon behavior with FIREDELAY set to 1
  * Duke3D: Fix rapid-tap chaingun glitch
  * Polymer: Fix OOB access
  * OPL3: Use only unsigned literals inside array indexes
  * Avoid OOB access in G_GetCrosshairColor
  * engine: Move alpha==255 check up in dorotatesprite.
  * Engine: Skip screentextRender() if provided zoom smaller or equal zero
  * Duke3D: Display r_maxfps == -1 as "Auto" on the display menu
  * Duke3D: Fix savegames made before floorzrebound and floorzcutoff were introduced.
  * Clean up integration of mimalloc into smmalloc_generic.cpp
  * engine: Fix ordering issues with rotatesprite interpolation that were causing insane jitter and pacing issues.
  * Engine: Bugfix polymost1Frag.glsl
  * Engine: Return from mi_log if msg is null or contains only a newline
  * Engine: Add buildgl_uLookAt to glbuild.h
  * Engine: Add USE_OPENGL guard around fullscreen_tint_gl() declaration
  * Duke3D: Revert interpolation changes on non-water VM_Fall cases
  * engine: add a few rotatesprite flags for fine control of interpolation.
  * Duke3D: Fix z interpolation problems in VM_Fall() and A_Fall()
  * Use SW_AddPathAndMusic in more places
  * Fix name and use of XDG_CONFIG_HOME environment variable
  * SW: Search XDG paths for music
  * Duke3D: Fix pathsearchmode when using a .def which loads a GRP
  * Mapster32: Remove "pathsearchmode" backup from menuselect()
  * Engine: Initialize mysock in mmulti.cpp with INVALID_SOCKET
  * Do not free strings returned by getenv
  * Purge trailing whitespaces from audiolib, duke3d, sw, mact and build folder.
  * Audiolib: Replace remaining instances of MV_Printf with LOG_F
  * Engine: Replace all instances of strtok() with Bstrtoken()
  * Engine: Only poll glGetGraphicsReset() once every 100ms in handleevents()
  * Make all remaining int bitfields of size 1 unsigned
  * startosx.editor.mm: Use Allman braces
  * Engine: Fix cstat parameter in "classicDrawVoxel()" being int8_t instead of int16_t
  * Engine: Fix parameter in "polymost_drawtilescreen" being called "wallnum" instead of "tilenum"
  * Duke3D: SMALLSMOKE projectile cleanup
  * Duke3D: Remove unused function "A_DoGutsDir()" from actors.cpp
  * Duke3D/Editor: Add "whilevare" CON command
  * SDK: Add MONK, LUKE, INDY and JURYGUY to "respawn" tilegroup
  * Duke3D: Fix typo in PR light offset for EXPLOSION2. Also fixes attempts to read data for sprite no. -1 in case of no parent sprite.
  * Engine: Reduce EXTRATILES from 3840 to 1792 (= 32512 - MAXTILES)
  * Use bitmap macros in more places
  * Duke3D: Always write boardfilename to savefile, and set app title on save load.
  * Makefile: Fix FURY=1 build removing the "obj/fury/" folder after linking.
  * Fix crash on init with microprofile when GL is not available at runtime
  * Fix crash on exit when GL is not available at runtime
  * Fix crash on `setrendermode 3` when GL is not available at runtime
  * More bitmap_size
  * compat.h: Implement WARN_UNUSED_RESULT macro for MSVC
  * compat.h: Update EDUKE32_PREDICT_* macros
  * compat.h: Add EDUKE32_ICC_PREREQ macro
  * Duke, SW: Fix game data search paths
  * engine: uspriteptr_t in spriteGetSlope()/spriteGetZOfSlope()
  * editor: add map start position to undo/redo state
  * editor: fix F11 brightness adjustment and enable function in 2D mode
  * Duke3d: add console error spew for a couple conditions which can cause creating a savegame to fail to capture a meaningful screenshot
  * Fix terminx/eduke32#267
  * engine: remove unneeded assert
  * Duke: add player actor floorz and ceilingz to cl_showcoords
  * Update gamecontrollerdb.txt
  * debugbreak: Fix building with GCC targeting Apple Silicon
  * Disable undefined and signed-integer-overflow sanitizers
  * compat.h: Add CSTD definition for C17
  * SW, KenBuild: Fix Allman brace styling in macOS startup window
  * Add bitmap_size macro
  * Use std::numeric_limits instead of cfloat's FLT_MAX and DBL_MAX
  * voxmodel: Fix signed integer overflow in setzrange
  * capi: Fix unused parameter warning
  * weapons.sample.con: Implement EVENT_DISPLAYTIP and EVENT_DISPLAYACCESS
  * weapons.sample.con: Fix knuckle shade and position
  * weapons.sample.con: Replace "ifand N xor N" with "and -N-1"
  * weapons.sample.con: Make use of scalevar where appropriate
  * weapons.sample.con: Replace multiplications by -1 with inv and abs
  * weapons.sample.con: Replace "[THISACTOR]" with "[]"
  * weapons.sample.con: Replace "var" and "varvar" tokens with short forms
  * weapons.sample.con: Implement EVENT_DISPLAYKNUCKLES
  * weapons.sample.con: Implement Incinerator
  * Fixes for MIPS handhelds
  * Quick fixes for winlayer warnings
  * Quick fixes for winlayer errors
  * SW: Fix minor warnings
  * Fix warning: implicit truncation from 'int' to a one-bit wide bit-field changes value from 1 to -1 [-Wsingle-bit-bitfield-constant-conversion]
  * SW: Fix warning: 'basepal_' violates the C++ One Definition Rule [-Wodr]
  * SW: Fix misleading indentation in MP text chat code
  * SW: Remove unused globals relating to mouse axes
  * Avoid maybe-uninitialized warning in clip.cpp
  * Fix comparison sign mismatch in 2d.cpp
  * SW: Fix warning C4805: '==': unsafe mix of type 'short' and type 'bool' in operation
  * KenBuild: Fix warning C4804: '<<': unsafe use of type 'bool' in operation
  * Rename VS project for kenbuild to ekenbuild
  * SW: Include config.h from network.cpp for CommPlayerName
  * SW: Remove unnecessary `extern "C"`
  * Remove platform/Windows/.gitignore as useless
  * Manual cleanup of *.vcxproj
  * Functional fixes to VS projects
  * Duke3D: Reset pathsearchmode to the original value after getting mod dir names in the GTK startup window.
  * Makefile: Fix whitespace issues
  * Fix USE_OPENGL=0 build
  * slope sprite collision improvements
  * fix various integer overflows in floor sprite rendering code
  * samples: Add screentext.con as previously present under source/duke3d/src/lunatic
  * KenBuild: Replace startup window with working code from SW
  * KenBuild: Add macOS .app bundles
  * KenBuild: Replace space in editor's proper name with hyphen
  * Fix logic of voxflags lookup in polymost_voxdraw, avoiding OOB access
  * voxmodel: Cleanup in gloadtex, loadvox, loadkvx, loadkv6
  * voxmodel: Factor out variables in setzrange
  * Fix a small number of whitespace issues
  * Mark nextPow2 CONSTEXPR_CXX14 due to while loop
  * Avoid signed integer overflow in calc_smoothratio
  * Bail from buildgl_resetSamplerObjects if !samplerobjects
  * macOS: Use Xstrdup in osxbits.mm
  * macOS: Implement startwin_isopen
  * Makefile: Disable LF on macOS
  * Makefile: Improve LF thing
  * Makefile: Add consideration of IMPLICIT_ARCH=arm64 to logic
  * Makefile: Don't use LLD on macOS
  * Makefile: Use correct location of Homebrew when building on Apple Silicon
  * macOS: Remove 2D mode selection from editor startup window
  * ebacktrace: Slightly improve generation of ExceptionPrinted message
  * ebacktrace: Fix warning: 'strncpy' specified bound 260 equals destination size [-Wstringop-truncation]
  * ebacktrace: Add stub for libintl_asprintf
  * ebacktrace: Replace bfd_get_section_{flags,size,vma} with bfd_section_*
  * editor: improve 2d mode sprite color calculation to avoid returning illegible colors
  * Fury: change crouch jump handling to short-circuit CON VM "ifp pducking" instead of short-circuiting how the player code chooses which autostep value to use
  * engine: make FATAL and ERROR level log messages purposefully screw up the log formatting a little bit so they stand out more
  * editor: set asksave to 0 when saving from menu
  * Duke3d: add floorzcutoff and floorzrebound player members to control additional aspects of how the player's position reacts to traversing sectors with differing floor heights
  * Duke3d: add cl_kickmode cvar to select between 1.3D or 1.4+ quick kick behavior ;)
  * engine: CONSTEXPR nextPow2
  * engine: fix warning
  * Makefile: silence libxmp warnings
  * Duke3d: fix overlapping cl_showcoords text, enable sprite counters w/ cl_showcoords 2, add cl_showcoords 3 for the previously unreadable rendering cvar printouts
  * Duke3d: fix minor bug with visibility menu option
  * engine: odd-numbered SDL patch levels aren't dev snapshots anymore
  * Windows: SDL 2.26.5
  * mimalloc: update to 53433225d3c506b883156230e6f12b2af4296c3b
  * VS: disable ASan in 64-bit debug
  * Fury: fix status bar size menu option regression
  * Duke3d: fix SE40 drawing oversight found when porting the current version of the effect to the editor
  * engine: move tile size check in maskwallscan() to occur after the call to setgotpic() like the rest of the drawing functions
  * engine: fix warning
  * editor: add Ctrl+Alt+W hotkey to toggle clipping of sprite insertions against blocking sprite geometry instead of hitscan
  * Duke3d: this should be a bitmap
  * Duke3d: this is hilariously incorrect.
  * editor: fix m32script crash
  * editor: add file drop callback/SDL_DROPFILE support
  * editor: add Ctrl+Alt+R hotkey to toggle the display of grayed-out sectors
  * editor: skip showing the radii of ambient sounds within grayed-out sectors
  * Makefile: fix problems with 36af1bb2881ac1ec58d6d80142adc12a285fa7d3 and ee2d323fe0682c3b95d8f85509f289502520318c
  * engine: handle a couple edge cases not covered by ae9b0d412455e36f22139494daa3e8ca8dbea520
  * Duke3d: allow startup window in Steam big picture mode if the -setup parameter is passed
  * Update gamecontrollerdb.txt
  * mimalloc: update to 92556e0e629b0cb59183f264b800cd0f88b14e22
  * audiolib: re-enable mus_xmp_interpolation cvar
  * audiolib: alter libxmp-lite to use the engine's memory allocation routines instead of the system's
  * audiolib: update libxmp-lite to 1cb557ce338e86eb1e911e971fdf93674cd4db3b
  * Makefile: this was needed to get automatic dependency generation to work with source files that exist in subdirectories below a target's main source dir, but I don't really like it.
  * Makefile: parameterize wildcard portion of getfiltered function
  * engine: fix bugged hightile skyboxes in polymer when artmapping is enabled
  * engine: bump MAXSPRITESONSCREEN to 4096, add r_maxspritesonscreen cvar, improve handling of cutoff
  * Duke3d: fix problems with the automatic view angle adjustment for playing without a mouse. This fixes #265.
  * Makefile: make using LTO=xx for multithreaded linking work on Windows without the error spew, and default it to 12 threads if unspecified
  * engine: update ImGui to 9e30fb0ec1b44dc1b041db6bdd53b130b2a18509
  * samples: add manual test case 'mask_drawing_order.map'
  * Duke3D: in 'msaveloadtext()', prevent read of 'g_skillNames[-1]', fixing issue #225.
  * Engine: in "draw tsprite before mask?" check, consider tile offsets for sloped sprites.
  * Engine: in "draw tsprite before mask?" check, consider offsets for floor sprites.
  * Engine: in "draw tsprite before mask?" check, consider xoffset for wall sprites.
  * Editor: in 'editorDraw2dSprite()', don't redundantly (over)draw a line.
  * Editor: in 'editorDraw2dSprite()', rename '[xy]2' -> 'd[xy]' + other NIFC tweaks.
  * Engine: in 'renderDrawMasks()', simplify a condition.
  * Editor: fix "search for named tile" [S] in the tile selection view.
  * Editor: NIFC tweaks around tile selection.
  * Engine: from 'renderDrawMasks()', pull out 'GetCornerPoints()'.
  * Engine: in mask/tsprite sorting, NIFC tweaks (round 3: common rendering).
  * Engine: in mask/tsprite sorting, NIFC tweaks (round 2: +1 local, +3 functions).
  * Engine: in mask/tsprite sorting, NIFC tweaks (round 1: clang-format, locals, const).
  * Engine+Duke3D: address various UBSan and [-Wunused-but-set-variable] warnings.
  * Engine+Duke3d: pull out 'find_usermaphack()', also handling '!usermaphacks' case.
  * Common.mak: drop 'unsigned-integer-overflow' and 'float-divide-by-zero' from 'ASAN_FLAGS'.
  * Windows: update libcompat-to-msvc to fix linking against the newest SDL with MSVC
  * SDL: update to 20e17559e545c5d3cfe86c1c4772365e70090779
  * asyncplusplus: use engine memory allocation functions
  * asyncplusplus: update to 4159da79e20ad6d0eb1f13baa0f10e989edd9fba
  * engine: update minicoro to 8673ca62ed938c0b436bc2a548f172865f65bf1d
  * engine: fix Linux home directory detection issue, respect XDG_CONFIG_HOME env var
  * Duke3d: fix mouse sensitivity slider values, allow a vertical sensitivity of 0
  * engine: fix crash on old GPUs that don't support GL sampler objects
  * voidwrap: Linux build fix
  * engine: fix Linux SDL_STATIC=1 builds with newer versions of SDL
  * Duke3d: remove explicit VM compiler checks at use time for whether a label is a keyword or not
  * Duke3d: fix copy/paste error on bounds check in CON_GETPLAYER/CON_SETPLAYER
  * editor: add an EVENT_INIT that fires once per explicit `include` of a script filename from the console (including from within m32_autoexec.cfg)
  * engine: this was supposed to be part of 122aee012e7d45c48636d4e38b5af6c37c1ef8ad
  * Duke3D: Fix overwrite confirmation appending to save name

-------------------------------------------------------------------
Wed Jul  2 19:16:38 UTC 2025 - Carsten Ziepke <kieltux@gmail.com>

- Use %patch -P N instead of deprecated %patchN, 
  Prepare for RPM 4.20 

-------------------------------------------------------------------
Wed Jan 25 18:41:27 UTC 2023 - Carsten Ziepke <kieltux@gmail.com>

- Update to version 20230118.1a90b98
- Removed man page building, because the generated man pages were
  empty, removed BuildRequires help2man
- Removed unneeded BuildRequires nasm
- Add ExcludeArch i586, because building fails even with nasm
- Add eduke32-disable-rpath-linking.patch,fix for "The binary or
  shared library defines `RPATH' (or `RUNPATH') that points to a
  non-system library path."
- Removed conditional LTO use
- Run spec-cleaner

-------------------------------------------------------------------
Sun Oct 17 14:48:18 UTC 2021 - boris@steki.net

- Update to version 1633892719.d307f703c:
  * Fix dumbass oversight in 6839e418e34bff05bdd5debad9bf9146a09d9d72
  * Revert "engine: make floor sprites clip a little more like floors"
  * SW: fix buffer overflow preventing the game from starting, exposed by switching to the new memory allocation systems
  * engine: fix SDL fullscreen issues
  * engine: remove r_pr_vbos cvar and the code paths used for values 0 and 1
  * engine: add GL context version to glinfo, allow in 8 bpp mode (it's still backed by a GL surface, after all...)
  * engine: manually flush console log file ptr in crash handler
  * editor: fix "gameexecutable" option in configuration file
  * Fury: don't block input when player .hard_landing is set
  * Duke3d: zero player .horizRecenter and .horizSkew when zeroing return_to_center from CON

-------------------------------------------------------------------
Sun Apr 11 03:01:31 UTC 2021 - Ferdinand Thiessen <rpm@fthiessen.de>

- Update to latest revision 9321 on 20210404

-------------------------------------------------------------------
Thu Aug 27 19:52:59 UTC 2020 - Matthias Mailänder <mailaender@opensuse.org>

- Update to latest revision 8798 snapshot on 20200404

-------------------------------------------------------------------
Sat Apr 20 19:46:08 UTC 2019 - Martin Hauke <mardnh@gmx.de>

- Update to latest revision 7615 snapshot on 20190419
- Use switch to SDL2
- Build with CFLAGS
- Run spec-cleaner

-------------------------------------------------------------------
Sat Apr 22 22:05:04 UTC 2017 - boris@steki.net

- update to latest revision 6120 snapshot on 20170412

-------------------------------------------------------------------
Fri Jul 22 19:07:03 UTC 2016 - boris@steki.net

- updated to latest revision 5811 snapshot on 20160704 
- added gcc-c++ as build requirement

-------------------------------------------------------------------
Sat Nov  8 07:18:02 UTC 2014 - kieltux@gmail.com

- Update to 2.0.0rev4584 (20140831)
  Still building against SDL because of a bug in the timidity 
  implementation of SDL2_mixer which has already been fixed 
  upstream, but there has not been any release since.
  https://hg.libsdl.org/SDL_mixer/rev/8ef083375857
- Removed subpackage eduke32-gui, eduke32-console
  It is now just eduke32 without a non-gui version.
- Updated eduke32-demo-install.sh, because ftp.3drealms.com is down.
  Using now archive.org.
- Spec file cleaning.
- Using _service for source download.

-------------------------------------------------------------------
Sat Aug 27 12:39:18 UTC 2011 - boris@steki.net
- updated package to 2.0.0 rev 1992
  a lot of fixes some highlights
  Engine stuff:
  * Polymer light access to m32script (light[<lightidx>].<field>).
    As an application, provide a state 'insertlights' that takes the
    currently active lights and puts them into the map as SEs (e.g. for
    maphack recovery).
  * Prototype of a mechanism to gray out certain portion of a map,
    making them inactive to various, but not all, editing operations.
    Highlighting a set of sectors and pressing Ctrl-R will make the Z
    bounds be [(least ceiling z), (greatest floor z)] of all selected
    ones, pressing Ctrl-R when no sectors are highlighted will reset
    them. Not sure if it's for production use at this stage.
  * The 'align walls' feature [.] now has three independently
    toggleable behaviours: recurse nextwalls (toggled when Ctrl is
    pressed), iterate point2s (disabled when Shift is pressed), and also
    copy pixel width (toggled when Alt is pressed).
  * Make shades clamp instead of overflowing in the editor
  * Add 'r_shadescale_unbounded' cvar. When set to 0, OpenGL
    renderers should never draw completely black objects (currently
    only implemented for Polymost)
  * sector-like sprite clipping now works with x- xor y-flipped
    actual sprites

  Mapster32:
  * Add 'r_shadescale' to config
  * In 3D mode, make SPACE behave the same as holding down a mose
    button: the currently pointed-at object is locked. Required some
    modification of a.m32 to play well (i.e. not reset SPACE).
    This is useful by itself but more so in conjunction with the next point
  * make Alt behave as a modifier with PGUP/PGDN: when aiming at a
    2-sided wall, move the other side's sector's ceiling or floor (only
    this is new).
  * Auto-alignment of walls can be controlled in a finer grained
    fashion now:
    When pressing '.', only the immediate neighbors get aligned.
    Use Ctrl-. for the old behaviour.
  * When inserting a point in 2D mode, auto-align the neighboring
    wall
  * corruption checker has been hooked up to loading/saving
    routines to inform/warn the user
  * also warn if mouse pointer is over corrupt wall which is shown 
    in pink then: you should not move such a wall!
  * faster map loading by deferring polymer_loadboard to 3d mode 
    entrance (also removes some 'glGetTexLevelParameteriv returned 
    GL_FALSE' warnings)
  * more logical maphack light handling, the logic is still a bit 
    dodgy though
  * some menu and misc. function fixup
  * redundancy elimination...

  API:
  * added consts various for 'char *filename' parameters
  * loadboard() now accepts bit 4 for flags (formerly 'fromwhere') 

-------------------------------------------------------------------
Sat Jul  2 16:33:01 UTC 2011 - jengelh@medozas.de
- Use %_smp_mflags for parallel building
- Strip %clean section (not needed on BS)

-------------------------------------------------------------------
Tue Nov  2 13:21:14 UTC 2010 - boris@steki.net

- updated package to 2.0.0 rev 1723
  * Polymost-style HUD model support for Polymer. 
    It properly displays all HRP HUD models as far as I can tell.
  * New CON commands
  * mostly multiplayer fixes among other things
  * SDL and menu joystick fixes
  * Link debug builds with -rdynamic in order to get symbol 
    names when printing backtraces from the signal handler.
  * Make the "Start" button of the GTK start-up window the default 
    button of the window, which means pressing Enter now works at 
    you'd expect.
  + Lot of other bugs fixed  

------------------------------------------------------
Tue Jan 19 16:43:51 2010 - boris@steki.net

- Added demo files installation script called
  eduke32-demo-install which will download package
  extract it and show its license to user and force
  him to accept terms within

------------------------------------------------------
Tue Jan 19 01:26:14 2010 - boris@steki.net

- Added obsolete tag in spec file for removing -common
  package on upgrade

------------------------------------------------------
Mon Jan 18 22:14:15 2010 - boris@steki.net

- Removed -common package as it was unnecessary and
  was just confusing
------------------------------------------------------
Sat Jan 16 04:21:03 2010 - boris@steki.net

- Added Desktop integration files and icons
------------------------------------------------------
Sat Jan 16 02:00:13 2010 - boris@steki.net

- Packages for gui,console and mapeditor are created
  so now it can be selected on install or after can 
  be changed with use of update-alternatives
------------------------------------------------------
Fri Jan 15 01:39:54 2010 - boris@steki.net

- Created inital rpm package from svn export
openSUSE Build Service is sponsored by