Build 9141
GIT-
disable SDL's automatic relative mouse input scaling that is applied when the rendering output is scaled
Show details
SVN handles and Git names are merged into one person.
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...
Fix bad call to updatesector in G_CollectSpawnPoints that broke spawns in overlapping sectors and TROR. p->cursectnum should equal the sprite's sectnum on initial spawn.
Fix bad call to updatesector in G_CollectSpawnPoints that broke spawns in overlapping sectors and TROR. p->cursectnum should equal the sprite's sectnum on initial spawn.
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. (!!)
fix sprite sorting issue that caused broken voxel rendering in polymost
SW - interpso.cpp: Imperfect hack for jittery coolies in level 1's train
(with SO interpolation turned on). It would be nicer to have something better structured than the given hack, but this currently seems to work, while not breaking the sprites on the boat in the beginning of level 5.
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.
sw/src/demo.cpp:DemoPlayBack: Add a call to timerUpdateClock, which
is now required. Previously, it would be called from faketimerhandler, which in turn is called from the engine.
sw/src/copysect.cpp: Temporarily disable interpolation of sector object
if any of its sectors is impacted by CopySectorWalls. Fixes a possible flicker with the drill at the end of level 2.
Don't interpolate a sector object if the corresponding lasttic value is 0
While not exactly a favorite of mine, this fixes the floorz updates
of the secret rotating pillar in level 1 with SO interpolation. The drill in level 2 is also covered. So far, SetVatorActive seems to be the only place where interpolation of ceiling/floorz may be set, outside of the SO interpolation code.