1,004 Commits over 914 Days - 0.05cph!
Change InputMotionData to reflect new API
Remove my #ifdef V_COMPILER_MSVC usage
Make Controller internal + sealed
Move GameController ctor to implementation
Remove FindControllers, does nothing, was a test for me
Native cleanup, add safety, fixed controller disconnect crashing game
Forgot to get rid of this method 🤦
Remove controller binding panel (not used)
GameObjectInspector: reused component sheets get added to used list so we don't end up duplicating the same component type
Use component.ToString for ComponentControlWidget, to make it easier to override what's shown
Fix NRE when running Game.Close in the editor
Toggle play when running Game.Close in the editor
Better warning if we can't find ITagset
Fixed ManualHitbox.HitboxTags being uneditable in the inspector (fixes Facepunch/sbox-issues#5231)
Fixed editing input action group not showing visible changes until re-opening project settings menu. Fixes Facepunch/sbox-issues#5235
Fixed delete prompt having no content
Messed with input action panel dialogs, fix Facepunch/sbox-issues#5232
Add methods for fetching gyroscope and accelerometer readings from specific controllers
Documentation
Support analog input glyphs
Add GameControllerType_t, expose ControllerType to managed, add GlyphVendor
LoadGlyphTexture will look for the controller's vendor and fall back to default if not found
Add a few PlayStation glyphs
Look for input glyph svgs
Plug in a bunch of glyph icons for xbox controller
Temporary generated glyphs for gamepad
Re-add Input.UsingController (simpler now)
Make prints less obnoxious
Parse analog inputs local to each controller, add virtual trigger buttons based from axis result
Hook up AnalogLook/AnalogMove for first controller (test)
Test passing controller input to input context
Implement default LED colors based on instance, rumble the gamepad on every button press test
Remove legacy sdl haptics code, replace with SDL_GameControllerRumble
Didn't mean to push this launch setting
Rip out SteamInput and our Controller API
Init SDL_GAMECONTROLLER, add standard mappings file (will move this later), find all of our game controllers on startup, hook up events for handling controller lifetime, button events and analog inputs
Turn off steam overlay in the editor again
Forward controller button events to managed
Forward controller axis events to managed
Simple device instance memory (disconnect and reconnecting the same controller should point to the same device), all events pass controller ID
Delete Input.AnalogInputs/GetAnalog (might re-add later)
GameController -> CGameController, some code refactor, Controller is a handle
Resolve sbox-issues/issues/5171 by making dragValue match
GameController -> CGameController, some code refactor, Controller is a handle
Rip out SteamInput and our Controller API
Init SDL_GAMECONTROLLER, add standard mappings file (will move this later), find all of our game controllers on startup, hook up events for handling controller lifetime, button events and analog inputs
Turn off steam overlay in the editor again
Forward controller button events to managed
Forward controller axis events to managed
Simple device instance memory (disconnect and reconnecting the same controller should point to the same device), all events pass controller ID
Delete Input.AnalogInputs/GetAnalog (might re-add later)
Delete Input.AnalogInputs/GetAnalog (might re-add later)
Simple device instance memory (disconnect and reconnecting the same controller should point to the same device), all events pass controller ID
Forward controller axis events to managed
Forward controller button events to managed
Rip out SteamInput and our Controller API
Init SDL_GAMECONTROLLER, add standard mappings file (will move this later), find all of our game controllers on startup, hook up events for handling controller lifetime, button events and analog inputs
Turn off steam overlay in the editor again
Initial proof of concept for scoping gamepad inputs
- Push input scope if a GameObject has an InputScope component, which pushes the active input context
- Don't use Controller.First anywhere other than UI
- Poll every gamepad input and store an InputContext per controller, instead of just the first one
Todo:
- Fallback to first controller if we don't define any input scopes at all
- Let the keyboard and mouse easily be the "non-scoped" input, so we can have two player games with just one gamepad
Can drop into hierarchy (resolves Facepunch/sbox-issues#4453)
F1 console: copy exception stack to clipboard when clicking entry (resolves Facepunch/sbox-issues#5038)
Add scroll area to EnumControlWidget
Update IntegerControlWidget label color
GameManager -> Game
Populate some missing TypeSerializedField virtuals (fixes Facepunch/sbox-issues#5042)
Support serializing field containers
Fix Facepunch/sbox-issues#5048, Facepunch/sbox-issues#5044
Scope to the active scene when running commands
Tentative fix for Facepunch/sbox-issues#5021
Add ability to fullscreen the scene viewport https://files.facepunch.com/tony/1b2911b1/sbox-dev_kpYpHqbHbE.mp4
Use SerializedObject.OnPropertyChanged for more reliable update, instead of relying on OnChildValuesChanged
Signal value changes for ResourceControlWidget too
Signal value changes for GameObjectControlWidget
Compile GameResource if their source changes (external changes, disk saving)
Add toggle grid option pending review of scene toolbar binds (sbox-issues/issues/4767)