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.
engine and Duke3d: fix a bunch of direct calls to libc free() to call Bfree() instead
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
split [get/set][wall/sector] into separate opcodes for direct access through VM_GetStruct()/VM_SetStruct()
This makes them match [get/set]actor.
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 regression with the Devastator's ability to damage sprites in sectors other than the sector the rocket hit
Fixes terminx/eduke32#62.
fix jittery view on moving sectors
This also fixes the interpolation for gamefunc_TurnAround and stomping on enemies. Fixes terminx/eduke32#60.
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
Merge branch 'goodbye_lunatic' into 'master'
Remove Lunatic-related code This removes almost anything related to Lunatic, not just LunaCON. It may remove a bit more than desired, e.g., functions that can be used as possible hooks (I believe that this was one purpose of LUNATIC_EXTERN, now replaced with static anywhere). Some bits like the optional fix for software rendering of walls with non-POT tile heights remain, albeit they're still compile-time disabled. As previously written, I still know that Philipp Kutin was spending a lot of time on this.
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...
optimize A_RadiusDamage()
This results in far fewer calls to getwalldist(), inside(), and cansee(), which should significantly lessen the performance hit from a large number of A_RadiusDamage() calls in areas with many small detail sectors.
improve nextsectorneighborz() return value checks
Improves the messages printed to console when bailing out of sector effect processing due to nextsectorneighborz() returning -1. This also adds such a check to ST_21_FLOOR_DOOR, which was missing it entirely. (!!)
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.