752 Commits over 700 Days - 0.04cph!
Make compile error dialog paths slightly more readable
Initial custom window frames v2
Initial titlebar buttons, just used for layout at the moment
Make it so titlebar handles mouse events, title label is transparent to mouse events
Style tweaks
Slim titlebar test (personally not a fan)
Link to orgs in account flyout
Methods with TitleBarButton attribute get caller as parameter
System window manager handles moving window, gives us aero snap etc
Split TitleBar.cs up
Refactor non-client hit tests
Make compile error dialog paths slightly more readable
Initial custom window frames v2
Initial titlebar buttons, just used for layout at the moment
Make it so titlebar handles mouse events, title label is transparent to mouse events
Style tweaks
Slim titlebar test (personally not a fan)
Link to orgs in account flyout
Methods with TitleBarButton attribute get caller as parameter
System window manager handles moving window, gives us aero snap etc
Split TitleBar.cs up
Refactor non-client hit tests
Start refactoring non-client hit tests, but even though we're doing the same thing, this now acts differently, for whatever reason
It's because we changed margins, so change it back
Native cleanup
Clear margins when window isn't maximized for sexier window controls
https://files.facepunch.com/alexguthrie/1b1411b1/explorer_DbcrjLTuhA.png
Check if we have maximize/minimize boxes before checking if pointer is inside them
Split TitleBar.cs up
See if we can do snap layout support
We can but it's a pain in the ass and doesn't quite work how I want it to
https://files.facepunch.com/alexguthrie/1b1411b1/explorer_EkeUR6XCKt.png
System window manager handles moving window, gives us aero snap etc
https://files.facepunch.com/alexguthrie/1b1411b1/lSatfk6v73.mp4
AuxiliaryButton -> TitleBarButton
Methods with auxiliary button attribute get caller as parameter
Link to orgs in account flyout
https://files.facepunch.com/alexguthrie/1b1311b1/sbox-dev_0NGXYxcapp.png
Slim titlebar has no minimize/maximize
Red color for close button
Slim titlebar test (personally not a fan)
https://files.facepunch.com/alexguthrie/1b1311b1/explorer_izANZMwEXz.png
Forget it
Menu bar style tweaks
https://files.facepunch.com/alexguthrie/1b1311b1/sbox-dev_tdHsQSldVw.png
Make it so titlebar handles mouse events, title label is transparent to mouse events
Change maximize icon on maximize
Disable maximizing on windows that can't do it (dialogs)
Turn this into a popup instead of just a menu
https://files.facepunch.com/alexguthrie/1b1311b1/explorer_rsmj8rxLw5.png
Initial auxiliary buttons, just used for layout at the moment
https://files.facepunch.com/alexguthrie/1b1311b1/explorer_xSDxuoqmSL.png
Un-fuck this
Instead of doing dumb layout stuff as an auxiliary button, add a profile section
Links to docs, api, etc
https://files.facepunch.com/alexguthrie/1b1311b1/explorer_kTdj5z2eoE.mp4
Make compile error dialog paths slightly more readable
Change font globally to Inter to see if it looks smoother
Custom window frames v2
Uses dwm calls instead of Qt frameless windows to preserve some system
window decorations (border, shadow)
https://files.facepunch.com/alexguthrie/1b1311b1/sbox-launcher_ba2t9H4VPt.png
CFramelessMainWindow uses dwm calls too
https://files.facepunch.com/alexguthrie/1b1311b1/explorer_64qvsu25BU.jpg
Launcher: clean up UI, make a few things contextual rather than showing everything all at once
https://files.facepunch.com/alexguthrie/1b1111b1/explorer_2JWhMC4P0r.mp4
Sweeper .sbproj update
Forgot to commit this with the object-fit stuff
UI: add support for `object-fit`, move aspect ratio code into source text template
Added `Color.LerpTo` for consistency with `Vector3.LerpTo`, `Rotation.LerpTo`, etc.
UI: linear gradients use premultiplied interpolation in & have quadratic easing on alpha channel to more closely match web
https://files.facepunch.com/alexguthrie/1b0611b1/sbox-dev_YziN6zZgp3.png
Asset browser: Fix drag-dropping of files from explorer onto asset browser, don't allow inside cloud browser
Cloud browser: update list after uninstalling a package
Don't reference `facepunch.concrete_barrier` inside `default.surface` 🙈
Cloud browser: allow setting default view, shows when cloud browser initialises, persists between sessions
https://files.facepunch.com/alexguthrie/1b0511b1/sbox-dev_x9RRYJZp8G.mp4
Standalone: initial support for /unsafe, clean up compiler options, rework project settings stuff to use "Standalone Only" instead of "Whitelist Enabled"
GenerateMipMaps shouldn't generate mips smaller than 1x1 (which might happen on textures with weird dimensions, e.g. 3x3)
UI: support border-radius shorthand transitions
VR: Fix toggling VR inside the editor after launch
Standalone: differentiate between failing to copy (e.g. no disk space) and not finding a file
Standalone: locate code resources in non-core locations (e.g. addons/base), fixes a couple of missing files
Standalone: tweak wizard layout to move all executable stuff together
Standalone: clean up exporter code, move into its own folder
Standalone: fix base assets path
Standalone: remove IsDevelopmentBuild and Version, move VersionDate to BuildDate & make it implicit
Standalone: better widgets for branding - can't figure out how to lay these out nicely right now though
https://files.facepunch.com/alexguthrie/1b0711b1/sbox-dev_WR7bhtL8E4.png
Standalone: make it clearer when we've finished an export
Standalone: we might need this DLL actually 🙈
Standalone: Separate operations up into build steps & sort
Standalone: ignore dxcompiler
Standalone: projects that only have the VR control mode enabled should automatically launch in VR, otherwise default to using the `-vr` launch param
Standalone: build page shows failures and progress more clearly, don't auto advance so we can see what's fucking up
https://files.facepunch.com/alexguthrie/1b3011b1/sbox-dev_1Nb5BFbmtw.png
Standalone: export presets
https://files.facepunch.com/alexguthrie/1b3011b1/sbox-dev_zi12A4W7uN.mp4
Standalone: move stuff over to whitelist system, remove EnabledAddons (we only have `base` now)
Standalone: core file whitelist, reduces minimal export size by 300MB (1.2GB -> 800MB)
https://files.facepunch.com/alexguthrie/1b3011b1/WizTree64_hoaOoWymnw.png
Editor: add non-collapsable group widget
Standalone: make initial wizard page more bearable
Standalone: don't export citizen addon separately (we already work out which assets we need)
Standalone: skip Sentry
Load startup backgrounds from vtex
Standalone: can pick custom startup image
Standalone: Custom icon support
Standalone: Don't set icon/splash screen if not specified
VR: Remove obsolete controller checking bools that nobody's using
VR: Add IsHandTracked bool to VRController, update fpxr to 5cf7ff24f5b157166102c8e4898bb84b4accb952
VR: Add MotionRange to VRController.GetJoints, update fpxr to 8822f0461709fbd2eda8fe004d51af79d47e6aa9
e.g.
```csharp
Input.VR.LeftHand.GetJoints( MotionRange.Hand ); // default
Input.VR.LeftHand.GetJoints( MotionRange.Controller ); // tries to wrap hands around the controller
```
VR: Better controller interactions in menu, move panel to a more comfortable height
In VR, menu defaults to having VR tag enabled
Move VRSceneSwitcher + add warning and move back to OnAwake, recompile main menu
Force add compiled VR menu scene
Move VR scene switcher logic into OnStart
Editor: Launch dedicated server option (we probably want some way to join it from editor?)
VR: More stuttering-related fixes, don't alloc joint data every frame
VR: Improved main menu scene
VR: Only create debug callback if `-vrdebug` is specified as a launch parameter
VR: Deprecate List-based `VRController.GetJointData()`, replace with array-based `VRController.GetJoints()`
VR: clean up logging
VR: Synchronization refactor, update Facepunch.XR to 1c1b65ae7ec5ef89ff2f1e508f4bcdbea58ebd3c
Removes Sync() call, should remove jittering(!), and reduces unnecessary logging
Fix missing standalone files
sbox-issues/issues/7241
Generated csproj LangVersion 11 -> 13
Clean up and optimize shader
Clamp to viewport again