8 Months Ago
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 Update sdl2 lib Didn't mean to push this launch setting Remove legacy sdl haptics code, replace with SDL_GameControllerRumble Implement default LED colors based on instance, rumble the gamepad on every button press test Test passing controller input to input context Parse analog inputs local to each controller, add virtual trigger buttons based from axis result Hook up AnalogLook/AnalogMove for first controller (test) Make prints less obnoxious Re-add Input.UsingController (simpler now) Temporary generated glyphs for gamepad Look for input glyph svgs Plug in a bunch of glyph icons for xbox controller 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 Documentation Support analog input glyphs Add methods for fetching gyroscope and accelerometer readings from specific controllers Remove controller binding panel (not used) Forgot to get rid of this method 🤦 Move GameController ctor to implementation Remove FindControllers, does nothing, was a test for me Native cleanup, add safety, fixed controller disconnect crashing game Make Controller internal + sealed Remove my #ifdef V_COMPILER_MSVC usage Change InputMotionData to reflect new API Make sure to set the size of svg glyphs Keep current glyph API intact, add new version to control outline Docs, GameControllerExtensions to internal Why the fuck are you there