February 2026
October 2025
-
Increase mmulti.cpp's MAXPAKSIZE (size of pakbuf in bytes) to 2048.
Show details
This appeared to fix a long-standing issue, where a relatively high ping between two players (say, about 750ms) could start increasing over time due to accumulated messages not being sent sufficiently fast.
-
Log a warning from mmulti.cpp:dosendpackets in case output pakbuf lacks space for all data.
Show details
Do so with a given threshold, i.e., turn off the warning until there are 16 consecutive calls to dosendpackets in which pakbuf has enough space for all data to send.
August 2025
-
flush colmatch cache if input data is changed
March 2025
-
Clean up rusted EDUKE32_GLES so that it at least builds
-
Update C and C++ language standard version detection
-
Tweak xxhash_config.h so xxhash.c needs fewer changes on update
Show details
- Follow-up to
- 4f58b06 — engine: fix RELEASE=0 build with GCC 14.x (Build 10600)
-
fix voxel shading in polymost
December 2024
June 2024
December 2023
-
fix screentext problem introduced in 5997fee3c6b9c2bda5aa31e8a80782f3901c4be1 by folding the relevant change into the new screentext flag introduced in 03a39f4d64a9131138eeecab08003d5c6b67da1c
-
update lz4
-
clean up mimalloc integration
Show details
Can now build with USE_MIMALLOC=0 if desired.
-
update mio.hpp
-
bump max bunches to 8192
-
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
November 2023
-
If the texturecache.index file cannot be read, invalidate it
Show details
This fixes a problem where the texcache file could grow without limit if something managed to corrupt the texcache index.
October 2023
-
add new TEXT_CENTERCONSTWIDTH flag for screentext to center glyphs within their allotted region in constant width mode
-
respect xbetween value for screentext between chars in constant width mode
-
only use debugbreak.h when actually debugging
-
undef SMMALLOC_DLL
-
lower Polymost SCISDIST to 0.1f
Show details
Prevents rendering errors with low fov.
-
avoid directly branching on the result of the CPUID instruction as it seems to contribute to setting off false malware reports
-
rip out GetSystemTimeAsFileTime() implementation of enet_gettime() as it seems to contribute to setting off false malware reports
Show details
This would only ever have been used on systems we don't even support, like Windows 2000 and earlier.
-
#if 0 out Wine detection code as it seems to contribute to setting off false malware reports
-
drop -mssse3 from x86_64 compile flags so the binary runs on Phenom II again
-
add warning if TROR somehow tries to draw the same wall more than once per frame
-
don't pass SDL_INIT_HAPTIC to SDL_InitSubSystem() because it's not actually used for game controllers
-
clarify windowsHandleFocusChange() logic
-
disable glGetGraphicsResetStatus() stuff for now
-
print sprite number and tile of sprite when clipsectnum >= MAXCLIPSECTORS in clipmove()
Show details
Kinda shit tier, but whatever.
September 2023
-
Increase YAX_MAXCLIPSECTORS from 64 to 256
Show details
Some TROR layers were blocking hitscan shots because of the low limit.
-
Don't try to interpolate rotatesprite calls if the clock difference is negative.
-
avoid passing -1 as bunchnum to SECTORS_OF_BUNCH
-
minor optimization of 209bc8793d0838bb02d487bd8a74e6199a9911d1 + similar blocks in fgrouscan
-
improve slope sprite interpolation on edges
-
update xxHash to 6f9771f2c014a703f151ac646d5f8074b6236c84
-
move glGetGraphicsReset() shenanigans to videoShowFrame()
-
fix bugs with 90 degree texture rotation wall cstat bit
-
revert cache1d to mostly Ken's version
Show details
Throws out a half-assed refactor that seems to contain a mistake somewhere that results in occasional cache1d data corruption.
-
update lz4 to 76106cba6fbbf8efb63d9fa90f052d384d212c56
-
additional sloped sprite clipping fixes
-
Revert clipupdatesector() changes from df868267 and replace with a different approach
Show details
If the sector contains a TROR bunch, then whenever clipupdatesector() would normally return 1, instead run updatesector() and return 0 instead. The old approach did not work out in all situations. In Fury, certain flying enemies could not pass some TROR layers properly, and in AMC, trying to submerge in TROR water had the player glitch out on the surface. This exact approach had previously been used in AMC without any major issues for 2 years, before the recent TROR changes.