About this image
The MapMenu now has full gamepad support, including special-case code for moving a map cursor and using it to interact with map markers. I didn't want to write code to manage showing and hiding the K&M cursor based on gamepad input (if I do non-essentials like that it'll be post-launch), so I just made the map cursor use a unique texture with the image of a gamepad on it.
Aside from that, menu navigation has context-sensitive gamepad mappings. Generally, you'll use the bumpers to switch contexts (e.g. between the maps, active quest progress, and other quests), the Y button to switch views within a context, and the X and A buttons for context-sensitive actions. Between that and the map patches, the menu is now fully gamepad-accessible and I never have to touch it ever again.
There's no real way to actually show the gamepad-enabled map in action. Even a video wouldn't really convey how much more convenient it is to just use the gamepad instead of swapping to the mouse -- and how much more natural a joystick feels than clicking and dragging. Guess you'll just have to see for yourself when I publish!
4 comments
Do you plan on adding the controller support as stand-alone, to use with the vanilla UI somehow? Because I actually quite like the vanilla UI but would really like to play Oblivion with a controller. :)
However, most of the Xbox-specific UI elements that Bethesda added (e.g. displayed button mappings, and in particular the cursors in the maps) are set to be shown or hidden based on variables ("xbox" or "xenon") that Bethesda hardcoded to always be "false." For now, NorthernUI doesn't change those variables, which means that button mappings and other Xbox-specific elements will work, but they won't be visible in the vanilla UI. I could add the option to change those hardcoded variables, but I'd prefer to do that in an update; for now, I'd like to just focus on getting things ready to publish. (Besides, the common mod manager setups for Oblivion don't make it particularly quick to test what happens if you remove 90% of your mod, and that's definitely not a change I'd like to make without at least a cursory test.)
(As for how NorthernUI knows a gamepad is plugged in: I just added a different way to check. I had to. Those "xbox" and "xenon" variables are actually constants: they can only have one value, whereas the UI needs to be able to handle a gamepad disconnecting and reconnecting.)
Thank you for your extensive reply. I really appreciate it. :)