Build 6917
SVN-
General
anim.cpp: timerUpdate() before setting the start time of the animation so that delays outside of animation playback won't cause animations to skip
SVN handles and Git names are merged into one person.
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
Fix conveyor belt speed in IM, but not Duke because it breaks gameplay
Rename KXDWN macro and GAMEFLAG_KXDWN to IONMAIDEN and GAMEFLAG_IONMAIDEN
Remove dead code branch from A_DoWaterTracers() and rename the function to Proj_DoWaterTracers()
Don't spawn hardcoded Duke3D debris/guts/glass sprites when compiled as EDUKE32_STANDALONE
Rework SE26 movement to function more like SE14 than SE24
Fix issues with running the game fullscreen on Windows 10 with high DPI setups
Fix SFLAG_WAKEUPBADGUYS
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
Add "swaparrays" command, which performs a pointer-swap on arrays of the same storage class.
Factor out the parsing of gamearray names.
Remix resizearray in the following ways:
Make only one allocation instead of two. Calculate array byte sizes in a way compatible with GAMEARRAY_BOOLEAN. Clear the expanded part of grown arrays using correct counts for non-int32 sizes. Support resizing an array to 0 to free it.
Implement the copy command for GAMEARRAY_BOOLEAN.
Fix two regressions completely breaking the correctness of the copy command, introduced in r6343.
Ensure that anywhere the def parser takes a tilenum or palnum accepts defined tokens in addition to integer literals, if it doesn't already.
Affects fogpal, nofloorpalrange, setuptilerange, dummytilerange, undefinetilerange, definemodelframe, definevoxeltiles, texhitscanrange, nofullbrightrange, and light.
Move some of the more commonly used CON functions to the top of the switch in VM_Execute(), and promote some of the loop's variables to native_t. Unfortunately, Visual Studio's new clang-format integration took it upon itself to reformat everything. Use diff -w.
make setting a sector's .wallptr call setfirstwall() instead of setting it directly and corrupting the map
actors.cpp: improve SE_11_SWINGING_DOOR detection and handling of players that block a door's path
Revert r6526 and r6527. This restores the longstanding behavior of the killit command, and setting sprites' xrepeat to zero, to not actually delete sprites unless their statnum is STAT_ACTOR or STAT_MISC. Be sure to set a sprite's statnum to one of these statnums if you want it to be deleted.
This should fix the broken E1L1 sector warp in the existing release of the Duke 64 mod, and the Polymer light culling used in HHR.
Slight cosmetic cleanup
Implement graceful playback failure
Fix MIDI playback on non-Windows platforms
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