2020.8.20.234 - UIX Modal Dialog system, saving screenshots, MipMap bias, fixes
Another new subsystem was added for the new World UI - modal dialog system for UIX. I've switched over the Login page to it if you'd like to see it in action.
This build also has a bunch of other smaller additions, like ability to save photos captured by others as you local screenshots or exposed MipMap bias property on textures, as well as several bugfixes (e.g. making the new LogiX wire grabbing work with multitools).
[h2]New Features:[/h2]
- Added ModalOverlayManager component (UIX/Interaction) which will take care of instantiating modal dialogs for any elements under its hierarchy that requests them
-- It allow configuring the root where the modal dialog is spawned and the modal UI template
- Added ModalOverlay component which is the base behavior for the modal overlays, exposing ShowLerp property which allows animating the modal overlay in and out (you can use this to build your custom visuals)
- Added RadiantModalOverlay component which is a programmatic ModalOverlay template that blurs and partially fades the background and displays the content on top
- Added "InteractionBlock" component (under UIX/Interaction) which allows explicitly blocking any UIX interactions from passing through the graphic it's on (it will respect the Enabled state)
- Added "FillRect" to RawGraphic, which allows controlling the relative size of the generated quad to the RectTransform it's on
- Added a diagnostic of unread notifications by pressing the F9 key, which will print out where the number is coming from to the log (based on report by @Faolan (RAD))
- Added ability to save photos captured by other users as own screenshots, by grabbing them and selecting "Save as screenshot" in the context menu (requested by @orange)
-- This will save the screenshot to all locations (Steam Screenshots, "Pictures" folder in Documents and any other future locations) as if it was photo captured by you
- Added "MipMap Bias" property to Static Texture 2D and procedural textures (requested by @H3BO3)
-- Negative values will make the textures sharper (at cost of performance impact), while positive ones will make them blurrier
-- Asset variant system will automatically combine texture requests to use the lowest bias requested. If there is a request for texture with lower bias, it will affect all textures
[h2]Tweaks:[/h2]
- The login dialog now uses the new modal overlay system instead of a separate dash screen
- RTF tags are now stripped from world name when generating debugging strings (this is mostly internal change, will improve readability of logs and other debugging information)
- Additional security improvements (based on report from @Rue Shejn | Artist 3D)
- Upgraded Oculus SDK to 19.1 (this includes OVRPlugin upgrade to 1.51.0 from 1.48.0)
- Neos will now auto-initialize SR Anipal (HTC Vive Eye & Lip tracking) if it finds it installed in default location ("C:\Program Files\VIVE\SRanipal") (based on feedback from @フリック)
[h2]Bugfixes:[/h2]
- Fixed TooltipMultiplexer not passing through grabbing events
-- This fixes the LogiX tooltip grab to create new relays not working with multitools (reported by @Alex from Alaska)
- Fixed LogiX tip breaking when trying to drag-grab wires on some wires with missing targets (reported by @Gunnar0 and @Shifty | Quality Control Lead)
- Added guard to prevent user from getting respawned due to errors in OnGrabbing event in ToolTips (based on report by @Gunnar0)
- InteractiveCamera will cleanup itself on startup if it's corrupted (missing main or secondary camera) (found in a log from @Enverex)
- Fixed potential bugs in the cloud message fetching mechanism due to local system timezone issues due to not using UTC time
- Fixed "Recieved" typo when receiving tokens (NCR, CDFT, KFC) in the friends list (reported by @Blaze)

This build also has a bunch of other smaller additions, like ability to save photos captured by others as you local screenshots or exposed MipMap bias property on textures, as well as several bugfixes (e.g. making the new LogiX wire grabbing work with multitools).
[h2]New Features:[/h2]
- Added ModalOverlayManager component (UIX/Interaction) which will take care of instantiating modal dialogs for any elements under its hierarchy that requests them
-- It allow configuring the root where the modal dialog is spawned and the modal UI template
- Added ModalOverlay component which is the base behavior for the modal overlays, exposing ShowLerp property which allows animating the modal overlay in and out (you can use this to build your custom visuals)
- Added RadiantModalOverlay component which is a programmatic ModalOverlay template that blurs and partially fades the background and displays the content on top
- Added "InteractionBlock" component (under UIX/Interaction) which allows explicitly blocking any UIX interactions from passing through the graphic it's on (it will respect the Enabled state)
- Added "FillRect" to RawGraphic, which allows controlling the relative size of the generated quad to the RectTransform it's on
- Added a diagnostic of unread notifications by pressing the F9 key, which will print out where the number is coming from to the log (based on report by @Faolan (RAD))
- Added ability to save photos captured by other users as own screenshots, by grabbing them and selecting "Save as screenshot" in the context menu (requested by @orange)
-- This will save the screenshot to all locations (Steam Screenshots, "Pictures" folder in Documents and any other future locations) as if it was photo captured by you
- Added "MipMap Bias" property to Static Texture 2D and procedural textures (requested by @H3BO3)
-- Negative values will make the textures sharper (at cost of performance impact), while positive ones will make them blurrier
-- Asset variant system will automatically combine texture requests to use the lowest bias requested. If there is a request for texture with lower bias, it will affect all textures
[h2]Tweaks:[/h2]
- The login dialog now uses the new modal overlay system instead of a separate dash screen
- RTF tags are now stripped from world name when generating debugging strings (this is mostly internal change, will improve readability of logs and other debugging information)
- Additional security improvements (based on report from @Rue Shejn | Artist 3D)
- Upgraded Oculus SDK to 19.1 (this includes OVRPlugin upgrade to 1.51.0 from 1.48.0)
- Neos will now auto-initialize SR Anipal (HTC Vive Eye & Lip tracking) if it finds it installed in default location ("C:\Program Files\VIVE\SRanipal") (based on feedback from @フリック)
[h2]Bugfixes:[/h2]
- Fixed TooltipMultiplexer not passing through grabbing events
-- This fixes the LogiX tooltip grab to create new relays not working with multitools (reported by @Alex from Alaska)
- Fixed LogiX tip breaking when trying to drag-grab wires on some wires with missing targets (reported by @Gunnar0 and @Shifty | Quality Control Lead)
- Added guard to prevent user from getting respawned due to errors in OnGrabbing event in ToolTips (based on report by @Gunnar0)
- InteractiveCamera will cleanup itself on startup if it's corrupted (missing main or secondary camera) (found in a log from @Enverex)
- Fixed potential bugs in the cloud message fetching mechanism due to local system timezone issues due to not using UTC time
- Fixed "Recieved" typo when receiving tokens (NCR, CDFT, KFC) in the friends list (reported by @Blaze)


