Jump to content
LaunchBox Community Forums

gurninator

Members
  • Posts

    1
  • Joined

  • Last visited

Everything posted by gurninator

  1. Dynamic Controls – controller button overlay plugin [Preview] Most pause screen themes show a static image - the same artwork every time you pause, regardless of what game you're playing or how your controller is configured. Dynamic Controls takes a different approach: rather than one image, the overlay is assembled on demand from individual button images and XML configuration files, so it can automatically show the right button art and labels for the platform, controller variant, and game. What it does Shows the actual buttons for each platform - Genesis A/B/C, SNES A/B/X/Y, and so on - mapped to the right positions on your physical controller Displays per-game button labels (Jump, Fire, Block, etc.) when configured Picks up your game-specific RetroArch button remaps and controller type automatically from your cfg/remap files Reads your game-specific MAME cfg files to detect per-game button assignments; add the BYOAC controls.xml for automatic labels across thousands of arcade games Ships with support for ~50 platforms, including custom button art for the Xbox Series X template Everything is configurable via simple XML files, no static images required per game or platform Requirements LaunchBox / Big Box 13.3 or newer, with the pause screen feature enabled. Getting started There are three parts to install: the plugin itself, the pause theme (based on PauseShift by Faeran), and the assets (button art and configuration files for ~50 platforms). To keep things simple they're bundled into a single zip, though the three parts are also available to download separately on the GitHub releases page if needed. Download launchbox-dynamic-controls-ALL-1.0.0-preview.1.zip from this post, or from the GitHub releases page Extract into your LaunchBox folder (wherever your LaunchBox.exe lives) In your BigBox settings, set the pause theme to Dynamic Controls Adding labels The plugin doesn't ship with game labels - that's where the community comes in. Under the hood, it knows how each platform's original buttons map to your physical controller - for example, that the Sega Genesis B button sits on the A position of an Xbox controller, and C sits on B. You don't need to worry about any of that. Label files just use the button names printed on the original hardware, and the plugin takes care of putting them in the right place. Labels are simple XML files you create under Data\Dynamic Controls\User\Labels\{Platform}\{Game}.xml, where the platform and game name match LaunchBox exactly: <!-- User\Labels\Sega Genesis\Streets of Rage 2 (USA).xml --> <InputLabels> <A>Jump</A> <B>Attack</B> <C>Special</C> <Dpad-Any>Move</Dpad-Any> <Start>Pause</Start> </InputLabels> You can also set labels that apply to every game on a platform using _DefaultLabels.xml in the same folder - useful for things like <Start>Pause</Start> that are the same across most games. The valid button names for each platform are listed in Data\Dynamic Controls\Defaults\Controllers\{Platform}.xml. Because label files use the original hardware button names, everyone playing the same game on the same platform with the default controls will have identical label files. If you put one together, please share it! Pull requests to the GitHub repo are welcome, or just post it in this thread. Current limitations Label files match on exact game filename. For example, Labels\{Platform}\Streets of Rage 2 (USA).xml won't apply to Streets of Rage 2 (Europe).xml - regional variants need their own file. This is a high-priority item for a future release. One controller template ships: Xbox Series X. There is only one controller overlay template for xbox controllers. In the longer term we want to support Playstation controllers, Mouse & Keyboard, Wiimotes etc... MAME and RetroArch integration covers game-specific overrides only. The plugin still needs a baseline platform configuration (Defaults\Controllers\{Platform}.xml) that matches what your emulator is doing generically. The MAME and RetroArch integration then operates on top of that - detecting per-game button remaps and controller variants. If your emulator's default button assignments differ from the shipped files, you'll need to provide a corrected User\Controllers\{Platform}.xml. Full documentation, configuration options and source code are available on GitHub: https://github.com/tmstedman/launchbox-dynamic-controls This is a preview release - I'm looking for community feedback before the full release. Dynamic Controls pause theme based on [Pause Shift](https://forums.launchbox-app.com/files/file/3229-pauseshift/) by Faeran. launchbox-dynamic-controls-ALL-v1.0-preview.1.zip
×
×
  • Create New...