# ETJump 3.6.0

## Added
- __etj_ccMenu_width__ cvar to set width of custom command menu (__204 - 620__)
- __etj_ccMenu_showEmptyPages__ cvar to toggle showing empty pages in custom command menu (default __0__)
- __etj_ccMenu_browseWithOpen__ cvar to make __openCustomCommandMenu__ command browse to next page when custom command menu is open
- left/right arrow navigation for previous/next page in custom command menu, respectively
- server info button in quick connect menu
- new portal trail shaders
- __etj_snapHUDCrop__ cvar to crop snaphud drawing against the current strafe direction
  - __1__ - crop when moving, __2__ - crop always
  - __etj_snapHUDCropOffsets <center> <edge>__ offsets the cropping points (__0 - 320__, two values required)
- __record-details__ command to view detailed information about a timerun record
- __etj_jumpSpeedsMaxJumps__ cvar to set maximum number of jumps in jump speeds list (__1-100__)
- __etj_jumpSpeedsMaxJumpsPerColumn__ cvar to set maximum number of jumps in jump speeds list column (__1-100__)
- __etj_jumpSpeedsMaxJumpsPerRow__ cvar to set maximum number of jumps in jump speeds list row (__1-100__)
- __etj_jumpSpeedsShowUpmove__ cvar to display full upmove values next to jump speeds
- __etj_drawCHS3__ + related cvars - same as CHS2, just a different set of data
- __etj_CHS2/3HideLabels__ cvar to toggle drawing info labels on CHS2/3, respectively
- CHS infos __70 - 74__ to display upmove values
- __modelscale/modelscale_vec__ support for __func_static_client__
- __angle/angles__ support for __func_static_client__ (sets model angle)
- __enabled/disabled__ mapscript triggers for __func_static_client__
- spawnflag __32__ for __func_static_client__ to mimic behavior of __func_portaltarget__
  - if set, __portalsize__  key is also supported
- in-game menu for sending private messages, opens with __privateMessage__ console command
  - allows sending extended ASCII characters in private messages
- dynamically sized scrollbars for UI
- __etj_speed/MaxSpeedPrecision__ cvar to set the number of decimals on speed/max speed meter, respectively (__0 - 6__, default __0__)
- __etj_CHS1DistanceScale__ cvar to scale the distance of CHS1 infos from crosshair (__0.25 - 10.0__)
- __etj_portalTrailTime__ cvar to set lifetime of portal trails (in milliseconds, __0 - 10000__, default __400__)
- tab completion support for arguments to some mod commands (ET: Legacy only)
- __etj/g_mapAutoexecDir__ cvar to set directory to load map-specific autoexec files from (client/server, respectively)

## Changed
- changing __etj_ccMenu_filename__ resets custom command menu to first page
- __fireteam invite__ accepts __all__ or team name as an argument to invite multiple clients to fireteam
- __name__ is now optional for custom command entries
  - the actual command is drawn as the name in the menu if __name__ is empty
- __etj_drawAccel__ is disabled in spec/demo playback (in some scenarios) due to interpolation inaccuracy
  - demo playback drawing is enabled if demo was recorded at __sv_fps/snaps 125__, and not spectating
- enabled advanced accel coloring for ETJump speed meter & accel meter on demo playback
  - only enabled if demo was recorded at __sv_fps/snaps 125__, and not spectating
- snaphud shows proper zones for crouch/prone while on ground
- __etj_drawspeed2__ turns white if __etj_speedColorUsesAccel__ is enabled while noclipping
- scrollbar no longer draws on listboxes if it's not needed
- server info menu displays more characters for values/player names
- removed quotes from player names in server info menu
- mod bundled mapscript fixes are now always loaded unless server overrides them

## Fixed
- CGaz was rendering 1 frame behind while playing
- snaphud had ~0.05 degree inaccuracy at snapzone edges
- __etj_CGaz1DrawSnap__ was not fully accurate
- strafe quality scored frames with upmove held with full score
  - as a result, overall scores are now slightly lower, on average ~0.7% with a decent sample size
- interpolated strafe quality broke non-interpolated CGaz
- jump speed list showed unrelated jump speeds when joining team/switching followed client
- jump speed list colors were not updating for existing jumps, and required a jump event to trigger color change
- options -> game menu updated player name on every keypress, triggering kick for rename spam
- __etj_speedAlpha__ and __etj_accelAlpha__ were calculated incorrectly
- __etj_accelColorUsesAccel__ ignored __etj_accelAlpha__ while noclipping
- __etj_drawAccel__ showed incorrect accel values for 1 frame after noclip ended
- __!tokens delete__ did not work for token indices > 6
- __!kick__ did not concatenate arguments for __reason__ parameter
- server side __autoexec_mapname.cfg__ leaked a file handle
- __fireteam__ usage print was missing some options
- server info menu could not be refreshed on localhost
- help print for private messages was not working if sent from server console
- various feedback prints were colored by user input
- potential crash when __callvote map__ vote passed