Build 10600
GIT-
fix RELEASE=0 build with GCC 14.x
-
update xxhash to 2bf8313b934633b2a5b7e8fd239645b85e10c852
-
update libdivide to e72d8272fef23d9cbec3039fd313258be336e514
SVN handles and Git names are merged into one person.
fix RELEASE=0 build with GCC 14.x
update xxhash to 2bf8313b934633b2a5b7e8fd239645b85e10c852
update libdivide to e72d8272fef23d9cbec3039fd313258be336e514
update miniz to 8714fd3cd8788eb18304200607247926f9728d1f
update lz4 to c537f782c44a0ced71bcf271356aef9506f1375c
bump GL depth buffer size
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
Can now build with USE_MIMALLOC=0 if desired.
update mio.hpp
bump max bunches to 8192
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
Prevents rendering errors with low fov.
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()
Kinda shit tier, but whatever.
avoid passing -1 as bunchnum to SECTORS_OF_BUNCH
minor optimization of 209bc8793d0838bb02d487bd8a74e6199a9911d1 + similar blocks in fgrouscan
update xxHash to 6f9771f2c014a703f151ac646d5f8074b6236c84
move glGetGraphicsReset() shenanigans to videoShowFrame()
fix bugs with 90 degree texture rotation wall cstat bit
uspriteptr_t in spriteGetSlope()/spriteGetZOfSlope()
remove unneeded assert
make FATAL and ERROR level log messages purposefully screw up the log formatting a little bit so they stand out more
CONSTEXPR nextPow2
fix warning
odd-numbered SDL patch levels aren't dev snapshots anymore
move tile size check in maskwallscan() to occur after the call to setgotpic() like the rest of the drawing functions
fix bugged hightile skyboxes in polymer when artmapping is enabled
bump MAXSPRITESONSCREEN to 4096, add r_maxspritesonscreen cvar, improve handling of cutoff
update ImGui to 9e30fb0ec1b44dc1b041db6bdd53b130b2a18509
update minicoro to 8673ca62ed938c0b436bc2a548f172865f65bf1d
fix Linux home directory detection issue, respect XDG_CONFIG_HOME env var
fix polymost masked wall regression introduced in fd598dfe12c6d0af6c65a96b4ee9450e7c1472ec
revert more of 8cc49790938f2419c885167cdb6b732d165191fb
bail out of voxcache_fetchvoxmodel() if the offsets found in texturecache.index don't lead to the expected data
disable the rainbow background in the editor in yax_drawrooms()
don't attempt to tear down ImGui in destroy_window_resources() if we didn't even make it far enough through initialization to get it set up
fix vox2poly crash caused by part of 8cc49790938f2419c885167cdb6b732d165191fb
This worked with all of the voxels I tested it with, but caused issues with some in Alien Armageddon.
fix polymost crash
fix warning
fix a couple of Windows API error messages to match the others
enable mimalloc abandoned_page_reset option and call mi_collect() during enginePrepareLoadBoard()
rework win_systemtimermode stuff, enable by default
remove precompiled SDL2 and libvpx for Windows on ARM64
The rationale here is that it's better to provide the build instructions for these libraries (as we already do) with no binary than it is to provide outdated binaries that don't actually match the provided headers anymore.
fix "twitching" of models drawn with rotatesprite when the viewangle changes in polymost and polymer
break glBufferData()/glBufferSubData() stuff out of polymost_drawpoly() and into polymost_startBufferedDrawing()/polymost_bufferVert()/polymost_finishBufferedDrawing() and use for polymost_printtext256() and polymer_drawartskyquad()
set polymer sky according to the first sector drawn per frame instead of predetermining it at map load time
This allows maps that use more than one parallax sky texture to look more correct in polymer, assuming only one type of sky is visible at once.
improve SDL 1.2 support
work around GCC 12.1 issue with RELEASE=0 builds due to xxHash specifying forced inlining after inlining has been disabled via -O0/-Og
this should fix logged messages not displaying in the console in edge cases where an exact multiple of 1024 messages were logged in between actual refreshes of the drawn console
fix mimalloc debug output
slightly less shitty engineVerbosityCallback()
limit block size alignment waste in cache1d a little bit
suppress all 0 counts from bucketlist console command output
add parameter to videoSet2dMode() to control fullscreen, like videoSetGameMode() uses
This allows fullscreen to be toggled in the editor without having to change to 3d mode first.
print display name to console when detecting video modes
only redetect video modes if the window was actually moved to a different display
invalidate stored window position when changing video mode if the combination of origin position and new window size would place the window outside the bounds of the display
add forgotten "PR" loguru verbosity label
block repeated attempts to load a particular hightile in software mode after failure
merge upstream loguru changes
add ImGui (https://github.com/ocornut/imgui/tree/docking)
Everything is hooked up to the engine and functional, but nothing in this branch is utilizing this yet.
add optional throttle parameter to engineFPSLimit() to limit the framerate to the refresh rate in menus, etc
fix bug where the desktop refresh rate was being ignored in windowed mode, always print refresh rate to console on video mode change
cap framerate to 1000 even if r_maxfps is 0
For anyone that really thinks they need more than 1000 fps, "r_maxfps -2" will revert to the previous completely unthrottled behavior.
these uses of EDUKE32_PREDICT_FALSE probably aren't helpful
remove dead OSD_FlushLog() function
q16 wallvisible()
send events to zero rumble after rumble period has elapsed
This shouldn't be necessary, but I got a report of the controller continuing to rumble indefinitely (even after terminating the game process)
templatize bitmap functions and transition direct manipulation of bitmap arrays over to use of the functions