# ETJump 3.3.2

## Breaking
- new cvar parsing system for cvars expecting size or scale values
  - any cvar that expects a size or scale can now either take one or two values
    - if a single value is given, size/scale is set uniformly
    - if two values are given, size/scale is set independently on X/Y axes, respectively
- __etj_spectatorInfoSize__ has been removed in favor of __etj_spectatorInfoScale__
- __etj_crosshairScaleX/Y__ are removed, same functionality can now be achieved with __cg_crosshairSize X Y__

## Added
- support for per-client delays in __target_delay__ (__spawnflag 1__)
- __g_adminLog__ now logs admin system and authentication related events
  - admin commands using flags __b__, __C__, __A__, __k__, __m__, __P__, __R__, __s__, __T__ and __c__ are logged
  - authentication related events are logged (potential GUID/HWID spoofs, rejected connections due to a ban)
- alternating row colors for changelog UI
- __toggleETJumpSettings__ console command to open/close ETJump settings menu
- __func_button__ and __func_invisible_user__ can show __wait__ time as progress bar (__spawnflag 16__)
  - slight inaccuracy with __func_button__ - does not account for the travel time when the button returns to it's starting position
- __cursorhint__ key support for __set/delete__ script actions
- __changeskin__ script action for changing skin used on an entity

## Changed
- brush entity limit increased from __255__ to __511__
- admin chats are now logged in __g_adminLog__ instead of regular log file
- __nojumpdelay__ in __solstice__ and __stonehalls2__ now replicate a bug that was present in ETJump 2.3.0 - 2.5.0
- changelog UI now dims the screen for improved readability
- slightly reduced window and font size of the changelog UI
- improved error messages for some configstring overflows (commonly faced by mappers)
- __entitylist__ now shows the model number of brush entities
- chat replay timestamp calculations are now performed on the server
  - helps with system clock inaccuracies, which might cause a negative time display
- increased the number of files that can be read from a directory

## Fixed
- __etj_autoSprint__ broke if clients FPS dropped below 125 with __pmove_fixed 1__
- players were producing water impacts when shot
- __shooter_rocket__ was calculating target deviation incorrectly
- saving while dead could be used to get stuck in walls
- players spawned at incorrect locations if another player was occupying a spawnpoint
- chat name tagging broke on encoded chat messages if a player had __=__ character in their name
- flamethower now correctly ignores nonsolid players
- portalgun was able to fire through solid players
- __etj_drawSnapHUD 3__ no longer draws borders at screen edges for zones which are off screen
- __etj_hide__ & __etj_hideDistance__ was affecting __cg_drawCrosshairNames__ draw range when fireteam collision was enabled
- inconsistency in grouped popup counter formatting
- timerun entity validation was not working correctly
- mover health bar drawing was not respecting __cg_drawCrosshairNames__
- minor memory leak in UI
- console prints were duplicated in some scenarios on localhost
- ETJump custom crosshairs were not drawing correctly in speaker editor
- crosshair no longer disappears when zooming in speaker editor
- __etj_fixedCompassShader__ was missing from the settings menu
- mounted MG42 overheat event wasn't correctly predicted
- skins were not working on __misc_constructiblemarker__ entities using a __model2__ key