Build 7927
SVN-
General
Fix build error
SVN handles and Git names are merged into one person.
Fix build error
Change audiolib's SDL driver's mutex stuff to use our implementation
Tiny error message cleanup
save name in exts
Add fallthrough__ in gameexec
Reverse the order video modes are sorted in
Tweak the fatal engine initialization error and game already running dialog boxes a bit
Fix linking with SDL 2.0.10
SDL 2.0.10
Audiolib housekeeping
Use a LUT instead of a switch to handle choosing which audiolib mixer function to use for a voice
Polymost projection changes to correct the perspective in widescreen and ultrawide resolutions.
Patch from Nuke.YKT and Fox.
Sound cleanups
New feature: combine SF_GLOBAL and SF_DTAG definesound flags to get Duke3D explosion sound behavior
Tweak map start message printed to the log
ext updates
game.cpp: move check for quitevent during start-up so that if start-up is cancelled during definitions parsing, the game won't continue to play in a half-loaded state.
Allow MOUSEINACTIVECONDITIONAL when out of menu. Fixes left clicking screens.
Add CONTROL_ClearAllButtons
Remove RTS names from standalone builds
definecheatdescription
Move cheat descriptions from menus.cpp to cheats.cpp
Add I_GeneralTrigger as a combination of Advance and Return and use it for skipping screens so that Esc works.
gameexec.cpp: allow G_ShowView() to execute regardless of the state of g_screenCapture.
This fixes skyboxes not rendering in TILE_SAVESHOT.
tiles.cpp: backup & restore picsiz, walock, & waloff alongside other per tile arrays in artClearMapArt() and artSetupMapArt()
This fixes an issue with viewscreens as tiles that are setup game-side after a map is loaded could have their sizes reset to 0 while not being properly cleared from walock/waloff
sector.cpp: ensure that if scripts have told us not to render normally to the tile, that we still handle restoring our target & setting up the tile appropriately for what the script may have rendered
engine.cpp: make renderSetTarget() more robust so that passing an xsiz or ysiz <= 0 is not accepted and can't cause a segmentation fault
polymer.cpp: fix issue where assert could fail due to HUD model sprites having an owner >= MAXSPRITES
polymost.cpp: Fix issue where tiles whose dimensions had grown would not have their sizes updated in GL and could fail to update their texture data
polymost.cpp: If a tile in the tilesheet is large enough to fit a redefined tile, use that space rather than allocating a new texture
polymost.cpp: if an indexed colour tile is being reloaded, changed dimensions, and no longer matches the calculated tilesheets, generate a separate texture for it.
Similarly, if the tile does match the calculated tilesheets but was a separate texture, delete the texture and load the tile back into the tilesheet.
build.vcxproj: Execute custom build tools & step before BuildGenerateSources
Oops
Fix crashes when passing invalid variable names to a couple of debugging commands in the console
Don't attempt to draw TILE_LOADSHOT unless it's already in memory
This works around a flaw in the .ext loading logic that I don't have time to debug right now.
Fix automapping not working when looking at the textured map mode
Skip drawing invalid polygons in polymost_drawpoly()
Fix issue with sounds being expired from cache
This adds back in the engine's old automapping feature
This was removed a long time ago because Duke3D and Shadow Warrior don't use it.
Make most things in screens.cpp use I_AdvanceTrigger() instead of I_CheckAllInput()
Fix silly branching logic in engineLoadBoard()
Don't blow away wall cstat bit 14 for use as a temp flag in the editor
Patch from Nuke.YKT.
Work around an issue with far plane clipping with voxels without mipmaps in software mode
Patch from Nuke.YKT.
Apply "reset object trackers on savegame load" patch
Wahhh, I'm MSVC and I cry about applying unary negation to a boolean
Fix issue rendering TROR when the camera's z coordinate is right on the portal
Another clipping fix
Add sc_Space to I_AdvanceTrigger() and I_AdvanceTriggerClear()
polymost_scansector(): avoid using a culling method not designed for voxels when handling 1-sided wall aligned sprites that have voxel replacements
Fix mixing offscreenrendering (render targets) and mirrors. Don't allow recursing beyond 1 level of mirroring through multiple levels of render targets.
Fix rendering skyboxes to a tile by altering renderSetTarget() & renderRestoreTarget() to set & reset xdim & ydim so that G_ShowView() can render while a render target is set,
and additionally modifying G_SetupCamTile() to call EVENT_DISPLAYROOMSCAMERATILE after calling renderSetTarget()
tilepacker.cpp: enclose macro substituted values in parenthesis