Build 9983
GIT-
fix broken USE_OPENGL=0 build
SVN handles and Git names are merged into one person.
fix broken USE_OPENGL=0 build
app_main macOS fix (the #endif used to be followed by OSD_SetLogFile)
don't check FX_SoundValidAndActive() in S_ChangeSoundPitch() because FX_SetPitch() ends up forcing synchronization anyway
uncomment G_AddSearchPaths() call accidentally commented out for debugging in b689f9974f32acfa6200ba354ee2e21aea10702d
fix crash at startup when running with no video output
Linux warning fixes
fix frame time counter logic typo
fix undefined behavior
prevent potential overflows of szScratch[] in minidumper
fix stupid projectile flag interaction bug between PROJECTILE_EXPLODEONTIMER and the ones that make them bounce
This allowed projectiles with both PROJECTILE_EXPLODEONTIMER and PROJECTILE_BOUNCESOFFWHATEVER flags set to run .yvel until it was negative and then bounce forever.
fix .ogg sounds defined for Duke talk sometimes not playing when used in the skill selection menu
We were hitting the FX_SoundActive() check for ud.skill_voice in G_NewGame() before the worker threads completed the decoder initialization work scheduled by the S_PlaySound() call in the MENU_SKILL case in Menu_EntryLinkActivate()--the code in G_NewGame() was proceeding to the next stage because FX_SoundActive() returned false, but our check occurred before it had a chance to return true. This also swaps the call to FX_StopAllSounds() in G_EnterLevel() out for a call to S_StopAllSounds() instead, and alters S_StopAllSounds() to set g_dukeTalk to false.
Fix an error with the bonus tile, and extend EVENT_GETBONUSTILE
Within EVENT_GETBONUSTILE, you can now set ud.return[0] to ud.return[4] to change each frame of the bonus screen animation separately.
fix an error in the autoaim logic where the z coord wouldn't be adjusted for CSTAT_SPRITE_YCENTER when playing Fury in EDuke32 (retail Fury builds were not affected)
fix misleading usage of A_CheckSpriteFlags() (comparison with 0 implied the function returns the flag bits instead of `true` or `false`; it does not)
fix redundant assignment
fix copy/paste error
fix accidental use of initprintf() instead of buildprint()
Only attempt to switch subweapon if we actually have the weapon
This fixes a bug in World Tour where trying to switch to the flamethrower while the current weapon is the freezer, and you have flamethrower ammo but not the actual weapon itself, then this instead locks the weapon key, preventing you from switching back to the freezer from other weapons. This bug also affected the Shrinker, but only if CON code changes the 'gotweapon 11' value to 0 after the player obtains the weapon.
Remove the 'previousboardfilename' mapart hack
This was a bandaid that prevented repeatedly loading the same mapart when loading savegames. This meant having to constantly update the buffer whenever clearing mapart, which is undesirable. Fixes mapart not reloading after quitting to title, or ending an episode and then loading a savegame.
fix crash trying to play negative sound indexes from mistagged switches
Prevent segfaults when no sounds are defined.
fix oversight in current A_RadiusDamage() implementation that allowed a sprite to inflict radius damage on itself
fix Fury build
Fix crash with jumping to menu options with letter keys
fix sound regression causing sound #0 (KICK_HIT) to play when doors were opened
Prevent savemapstate during gamemodes EOL, RESTART and DEMO
This prevents accidentally overwriting the wrong map slot.
fix a few polymer lighting bugs, add interpolation to light positions, etc
fix extra counters shown with r_showfps values greater than 1 to account for frames being rendered in places where they previously weren't
fix map console command to work correctly with coroutine setup
Adds MODE_NEWGAME to player .gm