NorthernUI - MapMenu gamepad support

Image information

Added on

Uploaded by

DavidJCobb

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

  1. PukinDumpling
    PukinDumpling
    • premium
    • 105 kudos
    Hey there. Looking great! I'm really enjoying the progression on this one.
    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. :)
    1. DavidJCobb
      DavidJCobb
      • premium
      • 383 kudos
      Several of NorthernUI's patches should be standalone, yes, so any gamepad mappings that exist in the vanilla menus should work. I'm trying to design the mod's DLL (the thing what tampers with the game engine) so that it can run independently of all of the mod's actual content.

      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.)
    2. PukinDumpling
      PukinDumpling
      • premium
      • 105 kudos
      Excellent. I'll just wait. Take your time! The new UI you're working on looks awesome, btw.
      Thank you for your extensive reply. I really appreciate it. :)
  2. Room207
    Room207
    • premium
    • 229 kudos
    I can't believe this is real. *__*