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
fix a bunch of improperly written checks for sprites that have been deleted or wound up outside of playable space
update miniz to 8714fd3cd8788eb18304200607247926f9728d1f
update lz4 to c537f782c44a0ced71bcf271356aef9506f1375c
add CON_YIELD
Allows long-running CON execution to yield to rendering and player input handling.
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
add .ang member for walls in CON
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
only update a maximum of one VIEWSCREEN tile per frame
Improves performance greatly in all renderers in scenes using more than one concurrent VIEWSCREEN sprite displaying unique cameras.
move glGetGraphicsReset() shenanigans to videoShowFrame()
uspriteptr_t in spriteGetSlope()/spriteGetZOfSlope()
remove unneeded assert
add player actor floorz and ceilingz to cl_showcoords
improve 2d mode sprite color calculation to avoid returning illegible colors
make FATAL and ERROR level log messages purposefully screw up the log formatting a little bit so they stand out more
add floorzcutoff and floorzrebound player members to control additional aspects of how the player's position reacts to traversing sectors with differing floor heights
Not recommended to use these in mods until after Ion Fury: Aftershock ships because they might still change some.
CONSTEXPR nextPow2
fix warning
alter libxmp-lite to use the engine's memory allocation routines instead of the system's
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
use engine memory allocation functions
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
skip bpos update for STAT_EFFECTOR sprites
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
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