ETJump 2.4.0

- fixed connection interrupted icon not moving with lagometer
- added ETPro's extended 'cg_drawweaponIconFlash' '2'
  - white - ready
  - yellow - reload/switch
  - red - shooting
- spectator messages ('cg_descriptiveText') are now hidden when in-game menu is up to improve readability
- unlocked 'cg_centertime'
- vote system improvements and fixes
  - fixed calling 'callvote' without arguments not printing callvote help
  - 'callvote randommap' now correctly respects 'g_blockedMaps'
  - added 'g_enableVote' to toggle voting
  - removed unused 'vote_allow_' cvars
    - added 'vote_allow_randommap' to control random map voting
  - voting can now be correctly disabled by setting all 'vote_allow_' cvars to 0
  - added 'g_spectatorVote' to control spectator voting
    - '1' spectators can cast votes
    - '2' spectators can also call votes
    - only spectators who cast votes are count towards 'vote_percent' to prevent votes never passing on servers with multiple afk spectators
  - removed in-game vote -> misc menu and replaced it with map restart & random map buttons
  - various string formatting and spelling fixes
  - 'callvote map' now lists matched maps if more than one match was found
- added 'await' command. Works similar to 'wait' except doesn't interrupt other user actions
  - syntax: 'await <frames> <command1> | <command2> | <command3>...'
  - 'await' is not available during timeruns, and command queue is cleared on timerun starts
- added new color parsing support for crosshair
- fixed a bug in color parser which interpreted hex colors with '00' as single channeled color
- fixed an old etmain bug where changing crosshair via console would not instantly update crosshair preview in menu
- added playercounts to altscoreboard 3 headers
- fixed a bug where players were unable to go to/get up from prone when server reached > 1.07b ms uptime
- fixed a bug that caused demos recorded in ETJump 2.3.0 RC3 and earlier to crash
- added CHS 53 to display Z angle of a plane
- added 'etj_extraTrace' cvar to toggle tracing of playerclips on various detectors
  - takes bitmask value
    - '1' = OB detector
    - '2' = slick detector
    - '4' = no jump delay detector
    - '8' = CHS 10-11
    - '16' = CHS 12
    - '32' = CHS 13-15
    - '64' = CHS 16
    - '128' = CHS 53
  - the list above can be checked in game with 'extraTrace' console command
- character strings now always draw at least 1px high/wide characters even if scaled to very low size
- added spawnflag '1' 'SILENT' to 'target/trigger_savereset' to omit the print it makes
- OB watcher no longer shows OBs if you are below your saved Z coordinate and have negative Z velocity
- fixed 'func_static' not opening doors when spawnflag '2' was used
- players who die during timeruns are now put into limbo instantly without leaving a corpse or gun to the floor
- fixed a crash when player reached over 83884088ups while CGaz 2 was enabled
- fixed 'setoffset' always adding 1 unit to Z origin
- added shader 'deformVertexes' text directive support
- added autodemo support to start recording whenever player loads (unless timerun is active) or spawns
  - 'etj_autoDemo 0/1/2' - Enables autodemo for time run maps only ('1') or for any type of map ('2').
  - 'etj_ad_savePBOnly 0/1' - Save only PBs ('1') or all demos ('0') when timerun finishes. Default '0'.
  - 'etj_ad_stopDelay <ms>' - Delay demo stop after timerun finishes. Default '2000'. Valid range '0-10000'.
  - 'etj_ad_targetPath <path>' - Folder inside demos folder where autodemo saves demos. Default 'autodemo' (saves in demos/autodemo).
  - 'ad_save <demoname>' - Save currently active demo manually. Format: 'playername_map_demoname[DD-MM-YYYY-HHMMSS]'.
  - '/man ad_save' prints usage description.
- fixed unlocked cvars resetting on map changes/restarts
- fixed rounding errors with virtual screen on widescreen resolutions
- extended 'etj_popupGrouped'
  - '1' = group popups, print duplicates in console
  - '2' = group popups and console prints
- reorganized settings menu
- 'ranks <runname>' command now shows time differences relative to your time
- added 'etj_speedColorUsesAccel' to color 'etj_drawSpeed2' based on accel/decel
- fixed Connection Interrupted message font & scaling to match updated HQ font
- added adrenaline syringe for medics
- fixed a bug where firing a syringe would give you syringe ammo
- updated nosave, noprone, & timerun icons to better match original HUD icons
- fixed chat background drawing a solid line on the right side
- added 'etj_chatScale' cvar to control chat size
- fixed color coding breaking on long console prints (such as '/ranks runname') by making splits at previous newline when message length is > 998 chars
- renamed confusingly named "ghostPlayers" cvars
  - 'etj_ghostPlayersAlt' -> 'etj_drawSimplePlayers'
  - 'etj_ghostPlayersColor' -> 'etj_simplePlayersColor'
  - 'etj_ghostPlayerOpacity' -> 'etj_playerOpacity'
  - 'etj_ghostPlayerFadeRange' -> 'etj_hideFadeRange'
- tracker debugger fixes
  - added feedback prints when trying to use 'tracker_set' or 'tracker_print' while 'g_debugTrackers' is '0'
  - fixed not being able to set negative tracker values
  - fixed not being able to set tracker value outside of 1-50 when omitting index (setting value to index 1)
- implemented proper prone noclipping
- added '/clearsaves' command to remove your own saves
- fixed limbo menu/fireteam menu shifting to right randomly
- fixed incorrect shaders displaying during loading screen
- 'etj_drawCGaz' '2' no longer shows the side "wings" when movement speed is < 352ups
- fixed 'func_invisible_user' playing sounds at world origin (0 0 0)
- fixed incorrect math with 'target/trigger_push' spawnflag '2'
  - added spawnflag '4' 'ADD_Z' to 'target/trigger_push'
- added 'etj_CHSUseFeet' to toggle shifting Z origin to feet level on positional calculations
- added velocity snapping HUD
  - 'etj_drawSnapHUD' - Toggle velocity snapping HUD
  - 'etj_snapHUDOffsetY' - Y offset for snaphud position
  - 'etj_snapHUDHeight' - height of the snaphud
  - 'etj_snapHUDFov' - FOV of the snaphud, valid range is '1-180', '0' = use current FOV
  - 'etj_snapHUDColor1' - 1st RGBA color of snapzones
  - 'etj_snapHUDColor2' - 2nd RGBA color of snapzones
- added 'etj_drawCGaz' '5' - equivalent of DeFRaG's 'df_hud_cgaz' '13'
  - 'etj_CGaz5Color1-4' to set colors of no accel zone, min angle, accel zone and max angle, respectively
  - 'etj_CGaz5Fov' to set FOV, valid range is '1-180', '0' = use current FOV
- fixed '!rename' passing other client commands to renamed player
- adjusted rendering order of crosshair & crosshairnames
  - crosshair no longer draws when scoreboard is up
- silenced warnings about missing portalgun models
- fixed client's missiles and mines are now removed on timerun start
- changed 'etj_altScoreboard' to default to standard scoreboard
- added center print on timerun start if 'pmove_fixed' is not enabled
- added 'etj_gunSway' to toggle gun idle/movement sway and landing bobbing
- removed unused 'etj_drawCGazUsers' cvar
- fixed duplicate popup indicator getting colored based on the popup
- fixed skyportal drawing incorrectly on widescreen aspect when 'etj_realFov' was used