704 Commits over 610 Days - 0.05cph!
Tweak categories
Group asset types with a toggle
https://files.facepunch.com/alexguthrie/1b1211b1/NVIDIA_Overlay_IwtzsHuw5A.mp4
Revert "Test rendering asset thumbnails as animated images, see if it works"
This reverts commit 3df3c676a41be1aeacddc99c8a0640e2c6c976a6.
Basic search
Make search progressive
Search through subdirectories
https://files.facepunch.com/alexguthrie/1b1211b1/NVIDIA_Overlay_JJc4EiRmM9.mp4
Basic filters
https://files.facepunch.com/alexguthrie/1b1111b1/NVIDIA_Overlay_CsbSssrrui.png
Tag prefix provider
Don't need prefix for autocomplete
https://files.facepunch.com/alexguthrie/1b1111b1/NVIDIA_Overlay_8lj3rVaSwA.png
Make VRController.GetJointData() public so people can make their own hand components
Test rendering asset thumbnails as animated images, see if it works
Means we're not loading an asset when you hover over something.
Works nicely but not sure about thumbnail generation times or cached
thumbnail sizes
https://files.facepunch.com/alexguthrie/1b0611b1/NVIDIA_Overlay_4Y9sYV1MfZ.mp4
Live preview test
Live preview cleanup, fade
https://files.facepunch.com/alexguthrie/1b0511b1/NVIDIA_Overlay_6A9K6s7Uiv.mp4
LivePreview fixes
Search widget
Get rid of live preview, not a good idea right now
Image & prefab preview tweaks
Use poppins for "add..." button
Asset highlight tweaks
Gradient backgrounds
https://files.facepunch.com/alexguthrie/1b0511b1/sbox-dev_jeVfRAn7hg.png
Tweak mini icon position
PathWidget defaults to not editing
Add "new..." toolbar button
Remove "Add..." icon that was placed alongside assets
AssetEntry tweaks
Move small icon to bottom left
https://files.facepunch.com/alexguthrie/1b0411b1/sbox-dev_ErwJGSWqRl.png
PathWidget fixes
Fuck calling GetFileThumbnail(), create bespoke icons for unknown file types
I was hoping that the qt api stuff I was using here would show nice
previews, but it's just a really slow way to get the default Windows
thumbnail for a file, which kinda sucks
Takes loading a folder of 10,000 files from 20 seconds down to virtually
instant
Initial breadcrumb path widget (stole this idea from Sol)
https://files.facepunch.com/alexguthrie/1b0411b1/sbox-dev_kd5mxUPugL.png
Click path widget to edit
Folder icons
https://files.facepunch.com/alexguthrie/1b0411b1/sbox-dev_ybsrWWIkvk.png
Asset types use game resource background color if available
Nav
Better lighting on material preview
Marginally better, just to differentiate from textures inside asset browser
https://files.facepunch.com/alexguthrie/1b0411b1/chrome_PKtw8FvsR0.png
Might revisit and make these animated or something later?
Test 'new entry' button, asset entries handle overlay & icon rendering themselves
New theming test for asset list
https://files.facepunch.com/alexguthrie/1b0411b1/NVIDIA_Overlay_BMbGEdG72f.png
Use asset type colors inside FileUsageWidget
Assets have colors - these all suck right now, will go back through and pick some less sucky colours later
Refactor AssetList
Standalone wizard has its own log, shows progress bar
https://files.facepunch.com/alexguthrie/1b0211b1/sbox-dev_ox4GI7O0Iv.png
Clean up standalone wizard
Don't create downloads folder in standalone
Disable error reporter / sentry for standalone
QFile bindings for thumbnails
Can specify width/height for file thumb
Initial - strip everything down (remove filtering etc)
UI: Unset values if unit is undefined
Basic version property editor
Standalone: move ExportConfig into Sandbox.Tools, allow setting version/date/development build
Standalone: load version/date/development build info from manifest on startup, open up Standalone class
`Standalone.IsDevelopmentBuild`
`Standalone.Version`
`Standalone.VersionDate`
When accessed from outside standalone, will return default values
Default to private in editor mode
Add editor options for lobby privacy
Currently very boolean - either private or public - would like to do
something org-based in future, or have custom filters
https://files.facepunch.com/alexguthrie/1b2811b1/NVIDIA_Overlay_L6ZTVFAOVc.png
Automatically look for stylesheets based on `Internal.ClassFileLocationAttribute`, added by Razor codegen, to implicitly load stylesheets based on class filename
Means that [StyleSheet] is no longer required to load `MyClass.razor.scss` etc.
Update fpxr to cf91368, fixes EXCEPTION_ACCESS_VIOLATION_EXEC inside InitHandTracking
Stick loading percentages & speed next to ETA
https://files.facepunch.com/alexguthrie/1b2811b1/NVIDIA_Overlay_HHsui18lvO.png
Loading screen styling tweaks
https://files.facepunch.com/alexguthrie/1b2811b1/NVIDIA_Overlay_Bul8fCTXAG.jpg
Tweak game starting card, no longer stretches and skews thumbnails
VR: Fix skyboxes by using the override frustum given if rendering in stereo, and then apply skybox-related modifications on top
(e.g. skybox scale, skybox world origin, etc).
We also push a middle eye origin + angles through to CCameraRenderer now.
VR: HapticEffect sends duration in milliseconds, as expected
VR: Hook WorldScale up directly to IPD
VR: Always use tracked device transform, even if hand tracking is available (for now)
Fixes controller tracking
Show ETA on loading screen
https://files.facepunch.com/alexguthrie/1b2211b1/sbox_Ai6NLIszih.png
In standalone, run CreateGame after doing all our standalone setup - because otherwise we'll be loading the game assembly without any info
(cherry picked from commit 1102b357f284b26b2bab11bedfc23bb5e15c47a1)
Separate DevUI (console, errors) addon code out into its own addon
Clean up MenuSystem and MainMenuPanel
In standalone, run CreateGame after doing all our standalone setup - because otherwise we'll be loading the game assembly without any info
DevUI gets its own ContextLocal scope
Add DevUIDll
Test for DevUI
Standalone: move IsWhitelistDisabled option into project config, so that it saves into the .sbproj like everything else
Standalone: blacklist DLLs we don't need (cuts down export size by ~130mb)
Mark scenes as needing to call OnJoined before we call OnStart() on components etc.
I don't know if this is the best way to do this - please change
if there's something better
Don't tell the network system we've finished loading if we're loading an editor scene
Don't call NetworkSpawnRecursive in editor 🤦♂️🤦♂️
Networked scene load (#1648)
Loading a scene over the network now just sends a fresh snapshot and re-handshakes with clients, rather than telling them to reconnect later and disconnecting them all.
OnChangingLevelMsg -> OnSceneLoadMsg
Separate scene loading & finished loading, broadcast to clients as soon as we start loading a new scene
Move SceneLoadOptions into Sandbox.Engine, forward to Sandbox.Game
Send SceneLoadOptions over network
We only need to worry about ShowLoadingScreen - both IsAdditive and
DeleteEverything would be handled by the host and then applied to the
fresh snapshot that we send over, so we shouldn't have to worry about
those
Remove auto-added using
protocol++
Cut all this down some more so we're not changing things for no reason
Register handler instead of using internal message type (same as before)
Make it clear that all of this is called after the scene has loaded, clean up
Enable lingering on TCP channel
Reload scene data on clients rather than disconnecting and rejoining when calling `Scene.Load` on a networked game
UI: Layered backdrop filters require different UVs (because they render in a different space)
Fixes broken rendering when both filters/masks and backdrop filters are used in conjunction with each other