Build 6960
SVN-
Generale
polymost.cpp/glsurface.cpp: Don't print shader compile status to the console on success.
Nickname SVN e nomi Git sono unificati per persona.
polymost.cpp/glsurface.cpp: Don't print shader compile status to the console on success.
menus.cpp: Don't show texture filtering, anisotropy, or palette emulation options when EDUKE32_STANDALONE is defined
Support software renderer upscaling engine-side in sdlayer and sdlayer12 with various scaling factors (beyond just pixel doubling).
When glsurface is available, use GL to upscale the render buffer. Additionally, fix build issues with sdlayer12 introduced by GLAD changes (r6656).
sdlayer.cpp: Don't destroy window resouces if switching between software rendering on glsurface and Polymost/Polymer
polymost.cpp: make c_wrapThreshold consistent between POLYMOST1_BASIC_FRAGMENT_SHADER_CODE and POLYMOST1_EXTENDED_FRAGMENT_SHADER_CODE
polymost.cpp: fix rendering for indexed colour textures to match original behaviour when !r_usetileshades or globalflags & GLOBAL_NO_GL_TILESHADES
Additionally, fix issue in polymost_setShade() where shade calculation was happening after a check for whether or not the shade needed to be updated.
sdlayer.cpp: fix software renderer crash affecting Mapster32 due to improper handling of lockcount in videoBeginDrawing()/videoEndDrawing() when using glsurface
glsurface.h/.cpp: change how the palette is handled and fix tinting/fading
Add glsurface.cpp/h and tilepacker.cpp/h to Visual Studio Project
Don't allow GL modes if GL Major Version is less than 2.
Additionally, fix build issues for RENDERTYPE=WIN introduced in r6827.
sdlayer.cpp: don't alter desktop composition using win_setvideomode() if we're creating an SDL window for rendering GL
When OpenGL is available, prefer using the new glsurface to blit the classic renderer's 8-bit buffer to the screen.
tilepacker.cpp: instead of maintaining the heap on each insertion, maxheap_buildHeap() on tilepacker_pack()
anim.cpp: timerUpdate() before setting the start time of the animation so that delays outside of animation playback won't cause animations to skip
astub.cpp: fix issue where globalpal was not declared if polymost.h was not included
palette.cpp: don't call uploadbasepalette() if USE_OPENGL is not defined
engine.cpp: fix issue introduced in r6905 where voxels with fractional scaling would not be handled correctly in Polymost
tiles.cpp: fix texcache.cpp:CLEAR_GL_ERRORS() hang on some drivers when trying to create GL textures for tiles when we have no GL context.
This could occur when returning to 2D mode from 3D mode in Mapster32 as videoSet2DMode() does not affect the result of videoGetRenderMode() despite destroying the GL context.
engine.cpp: fix issue with voxmodel_t voxels not having their scale set properly due to defs being processed before PolymostProcessVoxels()
engine.cpp: fix classicDrawVoxel() positioning bugs by:
+avoid adding the pivot's z offset again after it was already added in classicDrawSprite() +offset the voxel object by half of the voxel object's z size
actors.cpp: improve SE_11_SWINGING_DOOR detection and handling of players that block a door's path
polymost_drawpoly(): fix issue where mirrors wouldn't update the depth buffer
G_HandleMirror(): When choosing which mirror to render, only choose from mirrors that are potentially visible.
engine.cpp/.h: clean up & fix lintersect(). Additionally, add support for finding intersections of collinear line segments.
polymost_bindPth(): Fix issue where non-indexed colour, non-hightile textures (including those with polytintflags HICTINT_USEONART or HICTINT_ALWAYSUSEART) would not render correctly while r_useindexedcolortextures is set.
Incrementing ud.executions is now done in app_main() instead of CONFIG_WriteSetup() so that it is only incremented once per execution.
Dynamic tilepacking for indexed colour textures
ud.showfps > 2 now shows Game Update time and Game Update & Draw time (along with the min & max Game Update time) for easier performance analysis
polymost_resetVertexPointers(): remove erroneous glBindBuffer call
Temporarily remove the option to enable texture filtering when building with EDUKE32_STANDALONE until indexed colour texture rendering supports filtering.
Switched Duke3D to use new LZ4 dfwrite()/kdfread() implementations to improve compression/decompression speed.
SV_MINOR_VER is incremented as using this alternate compression algorithm is not backwards compatible with older saves/demos.