Build 9887
GIT-
fix TROR regression caused by 421b54a8abb51e91cc539ec3a323e8581e2e05f7
Nickname SVN e nomi Git sono unificati per persona.
fix TROR regression caused by 421b54a8abb51e91cc539ec3a323e8581e2e05f7
fix building against SDL older than 2.0.9
extra const in libtess2
fix use of value before validation in polymer_updatewall()
prevent potential deferencing of null ptr
this sort of type punning isn't necessary anymore
fix copy/paste error in screentextRender()
For some reason, this error didn't propagate into screentextGetSize().
tiny polymost optimization; swap 4 floating point divisions for multiplications in polymost_bindPth()
Reset all actor vars in prelevel() regardless of the sprite's statnum
Previously, only sprites with statnum 0 would have their per-actor variables reset to the default on map load. This meant that sprites with statnums that were pre-defined in the map would inherit the actor var values of the sprites with corresponding spriteNums from the previous map. Additionally, the per-actor var reset is now performed before EVENT_PRELEVEL, meaning that any changes to actorvar that occur in this event will now persist. Previously, altering actor vars for sprites with statnum 0 in this event would not have any effect, as they would be reset to their defaults afterwards.
fix more stupid errors in b6740a7b32d352e6d71a5be0bc118f381599933e
fix dumbass GL state oversights
fix stupid copy/paste error in b6740a7b32d352e6d71a5be0bc118f381599933e
work on controller features
fix oversight in current A_RadiusDamage() implementation that allowed a sprite to inflict radius damage on itself
fix animvpx
Fix regression causing KV6 voxels to render black.
allow r_pr_shadowdetail 6 (8192x8192)
add missing buildgl_bindSamplerObject() calls
Get forcefilter working with models when sampler objects are enabled. Factored out some related code duplication.
add SAMPLER_NEAREST_NEAREST_CLAMP and SAMPLER_NEAREST_NEAREST_WRAP, samplers which use GL_NEAREST_MIPMAP_NEAREST for the minification filter
It looks like mipmapping actually works with the indexed color texture shader in Polymost as-is, but it doesn't work with Polymer art mapping so we're disabling it there.
Add actor struct members `htfloorzoffset` and `htwaterzoffset`
Values range from -128 to 127. The former defines the distance of the actor from all floors, the latter applies additively to the hardcoded offset applied when on lotag 1 sectors. Positive values lift the actor off the ground, negative values move the actor into the floor. The default values for both struct members is 0. To achieve a net zero displacement, htfloorzoffset needs to be set to -1, and htwaterzoffset must be set to 24. Also note that internally, the offset is multiplied by 256 to receive the actual z coordinates (like `iffloordistl`).
eliminate krecipasm in wall sprite rendering code
fix integer overflow in wall sprite x coordinate calculations
bind a sampler object when drawing voxels.
oops, this still needs to be called here for Polymer to work in the editor
fix warning
Add linear sampler object, fixes forcefilter DEF token in polymost.
fix integer overflow of globalzd in floor sprite rendering code
This commit also simplifies previous x/y panning fix
fix integer overflow of x/y panning in floor sprite rendering code
Increase MAXSOUNDS to 16384 to match the game-side limit
add amalgamated version of the vector math library found at https://github.com/glampert/vectormath
clean up r_persistentstreambuffer so you can turn it on and off without having to restart anything
move all the cvars in polymost.cpp so that they're at least in the same spot
fix a few polymer lighting bugs, add interpolation to light positions, etc
improve GL state management, add support for GL sampler objects, add libtess2 and implement in polymer in place of the GLU tesselator, drop dependency on libGLU, improve GL debug output (in debug builds), fix various GL resource leaks
This should prevent a few more state changes, and address issues arising from rendermode changes wiping our state but not any of our accounting data for said state. Because libtess2 seems to be abandoned and because there were a few issues I needed to fix anyway, I went ahead and made a custom single-file header-only version for improved performance.
detect GL_ARB_sampler_objects, drop detection of GL_ARB_vertex_buffer_object, GL_EXT_texture_edge_clamp, and GL_SGIS_texture_edge_clamp
remove unfinished x86_64 port of the original x86 classic renderer
It never worked.
Add parameter to hictinting_applypixcolor to allow disabling r/b channel swapping. Improved readability of hictinting_applypixcolor as well.
move yax_updown[] reset to yax_update()
don't use SDL_WINDOW_FULLSCREEN_DESKTOP and don't call SDL_SetWindowBordered in fullscreen
ignore SDL_WINDOWEVENT_MOVED and SDL_WINDOWEVENT_RESIZED in fullscreen
I'm not sure if this is going to end up being the correct thing to do here, but it's what we shipped in the Fury 2.0 binary.
better multi-monitor support
fix console logging issue on Linux introduced by logging rework
TIL vsnprintf and _vsnprintf are not, in fact, the same thing.
Fix updatesectorz() not checking z height in fallback, and add fallback optimization to updatesectorexclude()
Make floor-aligned model z offset behaviour in Polymost consistent with Polymer.
Fix a fuckup where I accidentally removed the color swap from gloadtile_art.
add "notrans" .def token for voxels to disable drawing with translucency in GL modes
address defect in c653ba7fc09257ed3590cd2ce29d155ef6752032