254 Commits over 610 Days - 0.02cph!
Generated csproj LangVersion 11 -> 13
UI: Set Button.Active inside TabContainer rather than setting active class directly (consistent with ButtonGroup)
UI: Fix worldpanel filters, save off default viewport Z range when setting a render target (solves depth issues after pushing/popping worldpanel filters)
https://files.facepunch.com/alexguthrie/1b2911b1/sbox-dev_Nl7AwCZeb5.mp4
VR: more logging, always enable debug callback
VR: add -novr force disable
Update fpxr to 8e70816536da3c657eb9f9a7b815268c5ef7a729, improves headset checks
UI: Expose UI.WorldInput.Hovered inside WorldInput component
VR: check for headset in PreInit() instead of Init()
VR: init g_pVrSystem before finishing material system setup
Update Facepunch.XR to 1dce6d64669f0c19b0e43936bf53b1770d50a6f8, cache HasHeadset value
Don't build VR Toggle Widget if there's no headset or runtime
Update Facepunch.XR and defs to 24b8e70e5c89d04b3f42d8b022bf97e05b82349f, adds check for headset/runtime availablity
VR initialization changes - always load VR extensions if there's a runtime and headset available, so we can init mid-session
Editor: Make ToggleSwitch look nicer
Add toggle switch in editor for VR
https://files.facepunch.com/alexguthrie/1b0711b1/sbox-dev_k3x5LXNKca.png
Remove unused OpenXR launch environment variables
Update Facepunch.XR to ec56d1c119e0251cbc105be8a26792e266b68ed3, fixes some minor launching issues
VR hand component fixes
VR world input component
Remove unused VR bits in MenuSystem
Basic VR scene menu, loads automatically if VR is enabled
Clean up EditorUtility.PlayAssetSound a bit
Ignore edging when drawing text outlines, helps with `font-smooth: never;` in combination with `text-stroke`
Facepunch/sbox-issues/issues/6764
EditorUtility.PlayAssetSound supports sound events
Asset browser: Play overlay for sounds
Asset browser: double clicking a folder in the left pane expands it + highlight current folder in sidebar
Asset browser: Re-build sidebar locations when we make a new folder
Asset browser: can highlight scene file by right clicking the tab
https://files.facepunch.com/alexguthrie/1b0411b1/sbox-dev_glaXsIVvIP.mp4
Mouse back/forward buttons in asset browser
Clean up history logic a bit
Add "Go To Folder" in recents
Fix compiled asset filtering
Don't hide compiled assets if no source file is available
Show 'open with' dialog if we can't open a file
Set hammer material when selected (both in cloud and asset browsers)
Moving selected facet dropdown entry fetches from current facet entries rather than copying
Add 'copy absolute path' option
Find root paths automatically instead of just using current project
Show base, citizen, and core
Better sidebar separation
Hide cloud browser when not requested
Limit file count for now, need pagination
Docs
Set D_WORLDPANEL properly when pushing and popping layers
Fixes WorldPanel rendering regression sbox-issues/issues/6632
Move & scale scene camera speed overlay based on DPI
Fixes it being out of place on HiDPI monitors https://files.facepunch.com/alexguthrie/1b1711b1/sbox-dev_59G1WDRdBm.png
SCSS calc tests for bare literal values, variables
UI: Push root values between building style and cascaded PreLayout
Treat worldpanels as layers
Whitelist System.Int128
sbox-issues/issues/6627
UI: Use correct defaults for rem/em, classify them as dynamic so they update more frequently
UI: When pushing matrices, multiply by parent matrix if there is one
Fixes sbox-issues/issues/646
When going through networked files, if it doesn't exist, log a warning instead of failing outright
Standalone exporter keeps track of file type (e.g. executable, dll, project asset), shows source + destination in log window
Make VRController.GetJointData() public so people can make their own hand components
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
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)
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 🤦♂️🤦♂️