Build 9218
GIT-
General
Fix applying sprite[].yoffset to models
Show details
Backported from NBlood.
SVN handles and Git names are merged into one person.
Fix applying sprite[].yoffset to models
Backported from NBlood.
Apply pogokeen's fix for hightile texture seams in polymost.
Fix tilescreen drawing for Polymer renderer.
According to pogo in a previous commit, GL_TEXTURE_2D is deprecated. However, polymer cannot draw the tiles in the tilescreen correctly without enabling it first, else it shows white boxes instead. This fixes terminx/eduke32#93
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.
Switch to mmulti.cpp from EDuke32-OldMP repo. Loses IPv6 support, but gains stability and XP support.
enable xoffset for face sprite voxel replacements
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()
do not change GL_ALPHA_TEST state in model rendering code
fix sprite rendering order in polymost
Fix 3D model animation depending on the number of sprites present on the map.
Fixes terminx/eduke32#64.
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.
Remove lunatic.h and lunatic.cpp
Let's not define CLASSIC_NONPOW2_YSIZE_WALLS for now, regardless
of LUNATIC, but keep the code, since it may become useful in the future.
Remove a few more LUNATIC-specific definitions
Adjust krand for removal of LUNATIC
This should hopefully be a better way of fixing the lack of
interpolation of player turning/aiming/movement, while being carried by a sector object, without SO interpolation. This is a continuation of 73a0aa394e906a65633d61f3c749c9b9b7e66aaa and bf31bc2987a3eccd31d343622327bd4ee0f9c5a1, aiming to fix a jitter in case the player is continuously getting pushed by a wall (e.g., on the boat in level 5). Basically, this moves the relevant assignments from track.cpp:MovePlayer and MovePoints to player.cpp:DoPlayerMove. Unless a call to one of these functions has been missed, pushwall and clipmove can be called from player.cpp in the following instances, which should be covered: - Via DoPlayerMove, which is the function getting the fix now. - Via DoPlayerSlide, which is called in the beginning of DoPlayerMove. - Via DoPlayerCurrent when called from DoPlayerCrawl/DoPlayerWade, followed by DoPlayerMove. - Via DoPlayerCurrent when called from DoPlayerDive, followed by DoPlayerMove if the player doesn't stop diving.
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...