Build 9296
GIT-
include xxhash.h instead of xxh3.h and update data types to account for 64-bit hash values
SVN handles and Git names are merged into one person.
include xxhash.h instead of xxh3.h and update data types to account for 64-bit hash values
switch a few things over to xxh3
update xxHash
only bypass SDL_SetWindowGrab() for SDL 2.0.12 and lower
fixes for including compat.h in a C program built with MSVC
I needed to change the weird VS workaround in order for the EDUKE32_STATIC_ASSERT on line 850 to succeed. Things seemed OK when I tested them, but I'd like more information on the suspected compiler bug in question and why this was necessary in the first place.
move osdstrings cleanup out of engineUnInit() and into OSD_Cleanup()
update spriteext_t structure
Like DukePlayer_t, I do not intend to modify this structure again in a way that breaks backwards compatibility, unless 100% absolutely necessary.
FORCE_INLINE mutex_lock() and mutex_unlock(), make mutex_try() actually work
return length from printf-style functions
re-enable EDUKE32_PREDICT_TRUE and EDUKE32_PREDICT_FALSE
#define EDUKE32_UNREACHABLE_SECTION as debug_break() in DEBUG builds
more fix16 cleanup
There's an optimization or two in here, but tbh I just like deleting shit.
add klabs() back into ksqrtasm_old()
fix function signatures of ksqrtasm_old() and clip_nsqrtasm()
These functions were specified as accepting int32_t values, but wrap functions (or are wrapped by functions) that take uint32_t.
set g_loadedMapVersion in engineLoadBoardV5V6()
disable SDL's automatic relative mouse input scaling that is applied when the rendering output is scaled
update libdivide
add divideu64()/divideu64_noinline()
fix compiler warnings
add error checking to and slightly clean up engineLoadBoardV5V6()
add error checking to engineLoadBoard()
potentially improve dealing with corrupt .md2/.md3 models
I didn't test any actual corrupt models, just noticed the lack of any error checking when looking at something else.
use kread_and_test() instead of regular kread() where appropriate
move REVSTR stuff to rev.h so it doesn't need to be duplicated between rev.cpp and windows_inc.h
fix rev.cpp so it works properly outside of builds on Windows
fix winlayer wm_setapptitle() to deal with being passed a pointer to apptitle[]
move swallf[] and lookups[] allocation to videoAllocateBuffers()
change calcFrameDelay() to no longer reduce the frame limit by 1 fps per 60Hz of refresh rate with r_maxfps -1
This worked fine with G-SYNC displays, but I guess it sucked for regular 60Hz setups for some people. This should be tested for regressions...
use an additional bitmap in clipupdatesector() to mark which sectors have been checked with inside()
disable annoying clipupdatesector() console warning in release builds
make a few things in clipmove() const that I must have missed the last time I worked on it
Not a particularly exciting set of changes.
better handle the GL driver enforcing a particular SwapInterval
fix poorly written time comparison in vsync handling
This only affected KMT mode, and only on certain system configurations.
remove weird framejitter shit from FPS limiter because it doesn't do what I wanted it to
comment the reason SetWindowGrab exists
bypass SDL_SetWindowGrab on Windows
add yax_getflorzofslope() and yax_getceilzofslope()
make cliptestsector() (used by clipmove(), etc) TROR aware
This is intended to help with issues where enemies get stuck in thin TROR layers.
clean up classic mode sloped sprite drawing a little
add mutex_try()
Not used anywhere yet.