# ETJump 3.2.0

## Added
- native support for Apple Silicon on macOS (universal binaries)
- __etj_drawAccel__ to display acceleration on x/y vectors
- value __2__ for__etj_accel/speedColorUsesAccel__ to displaying "advanced" accel color
  - not available while spectating/on demo playback due to interpolation inaccuracy
- __func_portaltarget__ entity - portals fired on this entity area always centered on the face that they hit
- __etj_CGaz1DrawSnapZone__ cvar to draw current snap zone on CGaz 1
  - uses __etj_CGazFov__, will not align to snaphud if using different fov on both
- __callvote rtv <list>__ to call RTV with maps from a custom vote list
- __wait__ key for __trigger_push__ to limit time between activations (default __100ms__, valid range __0 - 65535__)
- __etj_CGaz2NoVelocityDir 2__ to hide velocity direction only while under wishspeed
- __etj_snapHUDActiveIsPrimary__ cvar - always use __etj_snapHUDColor1__ for active zone and flip colors when changing zones
- __spawnflag 8__ for __func_invisible_user__ to pass activator to mapscript for per-client actions
- __usetarget__ mapscript action - similar to __alertentity__ but passes activator to the targeted entity
- mapscripting support for progression trackers
- bit support for tracker entities
- center print when trying to noclip in a __nonoclip__ area
- support for __weapon_grenadelauncher__ and __weapon_grenadepineapple__ entities (axis/allied hand grenade)
- __func_missilepad__ entity - explodes hand & rifle grenades on impact
- __etj_muzzleFlash__ to control muzzleflash drawing
- icons for replay menu for directories and up/home options
- background toggler in ETJump settings menu
- __writeconfig__ button in ETJump settings menu
- support for __classname_nospawn__ key with __set__ script action to change entity's __classname__ without calling it's spawn method
- support for modifying __trigger_objective_info__ via __set__ mapscript action

## Changed
- overhauled settings menu with tab-based layout + submenus
- entity health bar now has gradient color and a small border
- static coronas are fully client sided, freeing up entity slots
- __etj_autoPortalBinds__ default is now __1__
- reworked __cg_autoswitch__ cvar to allow more granularity on autoswitch logic
- improved callvote texts on some votes
  - __callvote map__ -> __Change map to <mapname>__
  - __callvote devmap__ -> __Change map to <mapname> (cheats enabled)__
  - __callvote randommap <maplist>__ -> __Random map from <listname>__
- __goto/call/iwant__ copies stance from the target/caller
- __entitylist__ displays __scriptname__ field of entites and the amount of brush entities in a map
- __!rename__ no longer reduces name change limit (unless using it on yourself)
- re-vote cooldown reduced from __2s__ to __1s__
- speaker editor visuals match rest of the UI style better
- __map/devmap__ commands force mapname to lowercase for consistency with callvote

## Fixed
- client side (__com_maxFPS__) framerate dependencies
  - pmove related (only relevant with __pmove_fixed 0__):
    - weapon recoil normalized to ~125FPS (slightly deviates on >333FPS)
    - stamina recharge is consistent on any FPS
    - weapon overheating normalized to 125FPS
    - viewbob cycle & footsteps normalized to 125FPS
    - corpse movement normalized to 125FPS
  - visual fixes:
    - screenshakes from explosions normalized to 125FPs
    - kickangles (viewkick from shooting) normalized to 333FPS
    - particle effect rotation (__cg_wolfparticles__) normalized to 125FPS
- crash when timerun started or player activated __target_init__ with __spawnflag 128__ while cooking a grenade and selfkilling afterwards
- __setoffset__ could be used to go into/through __nonoclip__ areas
- __etj_autoLoad__ was not working correctly when switching between Axis and Allies
- noclip was not deactivating for spectators when entering a __nonoclip__ area
- __tracker_not_eq__ ignored failed checks from other tracker keys
- chat mentions broke team/fireteam chat color
- user database could sometimes write garbage data when storing nicknames
- OB detector ignored __nooverbounce__ on demo playback
- timeruns with __spawnflag 16__ blocked other save slots from being loaded when the slot was not a timerun save
- changing __sv_fps__ did not work without reloading a map
- __misc_gamemodel__ entities using weapon models were drawing with a semi-transparent shader
- __set__ mapscript action could crash the game when used to change __classname__ key
- __!rename__ could be used on same level/higher admins
- __load__ could be used to get into prone stance with mortar set
- __target_remove_portals__ only played sound for client 0
- __target_init__ with __spawnflags 4/128__ was not respecting __spawnflags 8__
- noclipping was possible while dead if activated on the same frame as the player died
- dlights were not correctly updated if __set__ was used to change an existing entity into a dlight
- noclipping spectators appeared as Axis soldiers in 3rd person and freecam
- __HOME/END__ keys broke input for numeric fields in menus
- speaker editor strings displayed garbage data
- speaker editor was not correctly working on widescreen resolutions
- multiline tooltips sometimes rendered at incorrect height
- UI memory pool increased to make the mod work on Linux 2.60b
- class and skill icon mouseover areas were misaligned in limbo menu on widescreen resolutions