* implement per-PWAD savegame directories
Fixs #793
* do not report savegame directory
* save savegames in `savegames` subdirectory
* do not call M_ForceUppercase() on string of unknown length
* fix infinite loop for WADs not containing maps
* Use consistent purge tag
* Add comment
* Revert "Add comment"
This reverts commit 070f291d451c197b77886b8fdd7ab544871a68ad.
* Revert "Use consistent purge tag"
This reverts commit 5507bd368674df34390d0cd9c6ffcdc331a368ef.
* Always use `PU_CACHE`
* Update pointer just before drawing
* Use accurate comments
* Use local variables for `PU_CACHE`
* Allocate status bar buffer based on sbar height
* Add warning
* Handle status bar for Doom versions prior to 1.2
* Don't handle Doom versions prior to 1.2
* Prep for additional lumps
* Handle `STARMS`
* Handle bezel `BRDR_B`
* Handle `STFB*`
* Refactor warnings
* Prevent visual artifacts with blocky fuzz
* Simplify
* Apply blocky fuzz fix in `R_DrawMaskedColumn()`
* Revert changes to `R_DrawMaskedColumn()`
* Round up to even value
* Fix autoaim for direct vertical aiming
* Increase autoaim range for direct vertical aiming
* Calculate `actualheight` from current sprite
* Use `actualheight` for lock-on crosshair
* Use `actualheight` for check/aim/shoot
* Remove unused `spriteheight`
* Revert "Fix autoaim for direct vertical aiming"
This reverts commit 3a82190a6a0806f2f031ff23ccf61381b1924279.
* Revert "Increase autoaim range for direct vertical aiming"
This reverts commit 6c0e819567bcd0518709146ba1e97fd53b0653db.
* strip leading newlines from warnings
* warnings always get their own new line
* all prios but VB_INFO should start on their own line
* remove some more leading newlines
* finish progress line in R_InitTranMap()
* add I_ShutdownModule, cosmetic changes
* move the volume adjusting to `I_PCS_UpdateSoundParams`
* use vanilla S_AdjustSoundParams
* stop all sources before shutdown the module
* reset menu string editing with ESC
* consider ESC is catched early
* call action routine even if string change is aborted
* M_StringDuplicate() instead of strdup()