- fixed: The Hexen bridge must make its balls disappear when it gets destroyed.

Hexen did this with a call to A_BridgeRemove in Thing_Destroy which merely set a flag in the bridge object, which cannot be done safely in ZDoom because it's not guaranteed that the ball object calls A_BridgeOrbit and the garbage collector may delete the bridge actor before it can be checked so now the Bridge's Destroy method deletes all balls attached to the bridge object itself.
Merge branch 'maint'
Consolidate special path functions into m_specialpaths.cpp

- Also remove CDROM_DIR while I'm at it.
Add support for standard file paths on Windows.

- If the current user does not have write permissions for the directory
  zdoom.exe is located in, use standard folder paths located in their home
  directory instead. This is a common scenario when people put ZDoom into
  Program Files. (Ironically, zdoom.ini used to be in AppData, buth then
  people complained when it wasn't in the same directory as zdoom.exe, so
  it got turned into zdoom-<user>.ini so at least it could retain some
  multi-user support. I'm not sure when the AppData support was removed,
  though, since it should have still been kept around for migrating
  configs to the new name.)
- fixed the Linux portion of m_specialpaths.cpp which had a section of GetUserFile duplicated.
- fixed: Bridge needs to call Super::Destroy.
Merge branch 'maint'
Fixed: SHGetKnownFolderPath needs to be declared as WINAPI.
Merge branch 'master' of github.com:rheit/zdoom
Improve NoDelay reliability.

- Instead of tying NoDelay behavior to OF_JustSpawned, use a new actor
  flag, MF7_HANDLENODELAY. This only gets cleared once it has actually
  been checked by Tick(). This is necessary because freeze mode delays the
  initial run of Tick() past the initial spawn, so OF_JustSpawned will no
  longer be set when it does the initial tick.
- Delay NoDelay processing if an actor is spawned dormant. Actors spawned
  dormant have Deactivate() called before they tick, so MF7_HANDLENODELAY
  will remain set as long as an actor is dormant. This allows the NoDelay
  handling to occur as expected once it is activated.
- fixed: saving the config to the user's known folders should use the GAME_DIR #define, not 'zdoom' so that child ports can have their own.
Merge branch 'master' of https://github.com/rheit/zdoom
- Fixed: m_specialpaths.cpp did not compile under Linux.
Fixed: wi_noautostartmap was not sync safe

- Make wi_noautostartmap a userinfo cvar. This allows it to be
  communicated across the network and saved in demos. If any player has it
  set, then the intermission screen will not automatically advance to the
  next level.
Overload operator = for player_t

- This fixes crashes when quitting multiplayer games because the default
  byte-for-byte copy caused PredictionPlayerBackup and the console player
  to point to the exact same userinfo data and to both try and free it
  when they are deleted.
Switch true to LAF_ISMELEEATTACK inside A_Punch's call to P_LineAttack()
Add missing prantheses for A_CustomPunch's puffFlags calculation

- Fixed: Need parentheses for precedence when setting puffFlags in
  A_CustomPunch. Otherwise, it's completely broken.
GetSelectedSize() needs to check for a valid selection.

- With mouse navigation, there's no guarantee that there even is a
  selected item.
Do not enter testing mode if a valid mode is not selected.

- It doesn't make much sense to "test" the current mode if a non-video
  mode is selected in the menu, so don't.
- Fixed: Do not apply AVOIDMELEE logic when moving toward a goal