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