1,004 Commits over 914 Days - 0.05cph!
When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor)
Remove unused code, documentation pass
Only use pointer-events on elements we want to click on for SocialBar
Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input
Scope UI simulation
Remove context hacks
Run Input.SetFocus( null ) on IControllerInputSystem.Destroy
Add IControllerInputSystem.Destroy
Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around
Minor cleanup
Traverse blocks relative to the screen size, instead of set pixels
When enabling VCS, use the mouse's current position
Remove PanelTraversalOverlay, it looked shit
Start drafting out UI navigation with controller, by traversing panels
Refactor so we can switch between panel traversal and virtual cursor based on input
Don't revert back to PanelTraversalSystem if analog is empty
Add basic working virtual cursor using PanelInput.UpdateMouse
Fixed calculation of virtual cursor position
Use stylesheet to style virtual cursor, add ScrollSpeed
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Make VirtualCursorOverlay a razor panel
Update SteamInput manifest to include joystick inputs for Menu action set
Hide mouse cursor while we have controller input active
Support processing any number of root panels, make it work in GameMenu
Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed
Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu
Process inputs in MenuDll
Remove some direct controller access, use Input.AnalogMove/AnalogLook instead
VCS: only tick for panels that want mouse input
VCS: fix is-pressed style
Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection
Add PanelTraversalOverlay (for lack of a better name)
Work on finding panels from delta, fixed not finding an initial focused panel
Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling
Decrease block increment size, can get finer selections (i.e PackageCard modal button)
Fix FindPanelsAt never finding more than 1 panel
Check to see if an asset gets deleted from explorer - and mark it as deleted in the asset system
Update asset browser list on content.changed
Fix tooltips not being visible in the main menu, removed unused main menu style
Look for .sbproj in DownloadCloudProjectAsync instead of .addon
Editor: set gamemode to CurrentGame, loading map manually / from hammer should use active game
Editor: Add Min/MaxLength to ProjectConfig.Title to match asset manifest spec
Editor: Add Project.Config.Title to review wizard
Editor: check for validation attributes on review wizard page, can't continue if it fails
Added Tags to Surface (HasTag, HasAnyTag, HasAllTags - define tags in resource)
Remove ClientEntity.HasPermission (unused)
Set known Game.Server fields when running Game.Menu.StartServerAsync (sboxgame/issues#3980)
Decrease block increment size, can get finer selections (i.e PackageCard modal button)
Fix FindPanelsAt never finding more than 1 panel
Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling
Work on finding panels from delta, fixed not finding an initial focused panel
Add PanelTraversalOverlay (for lack of a better name)
Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection
VCS: only tick for panels that want mouse input
VCS: fix is-pressed style
Start drafting out UI navigation with controller, by traversing panels
Refactor so we can switch between panel traversal and virtual cursor based on input
Don't revert back to PanelTraversalSystem if analog is empty
Add basic working virtual cursor using PanelInput.UpdateMouse
Fixed calculation of virtual cursor position
Use stylesheet to style virtual cursor, add ScrollSpeed
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Make VirtualCursorOverlay a razor panel
Update SteamInput manifest to include joystick inputs for Menu action set
Hide mouse cursor while we have controller input active
Support processing any number of root panels, make it work in GameMenu
Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed
Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu
Process inputs in MenuDll
Remove some direct controller access, use Input.AnalogMove/AnalogLook instead
Don't moan about missing voice input
Process inputs in MenuDll
Remove some direct controller access, use Input.AnalogMove/AnalogLook instead
Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed
Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu
Make VirtualCursorOverlay a razor panel
Update SteamInput manifest to include joystick inputs for Menu action set
Hide mouse cursor while we have controller input active
Support processing any number of root panels, make it work in GameMenu
Start drafting out UI navigation with controller, by traversing panels
Refactor so we can switch between panel traversal and virtual cursor based on input
Don't revert back to PanelTraversalSystem if analog is empty
Add basic working virtual cursor using PanelInput.UpdateMouse
Fixed calculation of virtual cursor position
Use stylesheet to style virtual cursor, add ScrollSpeed
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access
Disable system if mouse is moving at all
Use stylesheet to style virtual cursor, add ScrollSpeed
Fixed calculation of virtual cursor position
Add basic working virtual cursor using PanelInput.UpdateMouse
Don't revert back to PanelTraversalSystem if analog is empty
Refactor so we can switch between panel traversal and virtual cursor based on input
Start drafting out UI navigation with controller, by traversing panels
Add SteamInput manifest file for deck
At the moment, all it does is make the right trackpad work
Run RichPresenceSystem.Tick in GameMenuDll instead, fixes presence being incorrect while in a game's menu
Run ServerConfig.UpdateFromPackage after ServerInformation gets set, fixes bind collection failing to load in GameMenu
Remove unneeded rich presence setter
Fixed invalid grouping of members in rich presence, need to find out why the server's SteamID can become this
Make gamepad input poll properly in GameMenu
Game.AssertClientOrMenu includes GameMenu, fix Input.GetGlyph not working in GameMenu
Update BaseFileSystem.ReadJson<T> docs
SteamInput: fixed left trigger action being bound to right trigger
Input: fixed AnalogInput being incorrect for right trigger
Would be good if I reflected all use of RequestAsync and not break everything, thank god for unit tests
Http.RequestAsync( string method, string requestUri ) changed to Http.RequestAsync( string requestUri, string method = "GET" ) to match all other methods
This is a breaking change, please update your code (I assume not many people are using this)
Gamepad Support Refactor (#1218)
- No manifest codegen
- Gamepads work again (including Steam Deck)
- Goes against what SteamInput is all about 😢
Rip out manifest codegen entirely
Remove Sandbox.Gamepad
Add Sandbox.GamepadCode
Add InputAction.DigitalAction which maps GamepadCode to something SteamInput can parse immediately
Refactor Input to grab action.DigitalAction
Fix up GetButtonOrigin and glyphs
Update manifest.vdf to use new actions
Only process input actions with a valid gamepad code
Remove Input.ActionSetName, Controller.GetDigitalActionOriginName( string, InputActionSetHandle_t )
Update default manifest again
Fixed controller actions not being reflected serverside
Add rich presence system class which is polled every so often, instead of updating presence from 7 different classes
Fix NRE in ServerDll.UpdateServerDetails if playing locally, my bad
Pass gamemode version tag to ServerList so games can decide what to do with servers that are out of date