Added input.ads_sensitivity to control mouse sensitivity while aiming
ADS sensitivity is a multiplier on the base sensitivity. eg. 0.5 base sensitivity with 0.5 ads sensitivity = 0.25 sensitivity while aiming
Exposed in options menu
Refactored PhotoEntity and moved it's image loading processes into a new ImageStorageEntity
PhotoEntity and SignContent now derive from ImageStorageEntity (so both have the ability to load saved images for displaying in the UI)
Can now see the painting on a sign when it's selected in the inventory
F4 and F9 keys are no longer hardcoded to normal/hi res screenshots
Added new screenshots.takescreenshot and screenshots.takehiresscreenshot convars (could bind these to convars to achieve old behaviour)
Added option to have TriggerParent accept mounted players. Turned it on for WorkCart and Cargo Ship.
Being mounting inside the trigger lets a player dismount in local trigger-space, which means client and server will sync up. Otherwise the client/server delay can have them dismounting into invalid space.
I had previously added "unparentOnMount" to BaseMountable as an option for the Cargo Ship microphone to fix the same bug. Refactored it to the new system; it can just check whether the trigger has parentMountedPlayers set to true now.