RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Controller info overlay in the game

    Scheduled Pinned Locked Moved Ideas and Development
    mamecontrolleroverlayhoykey
    4 Posts 3 Posters 2.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      dask
      last edited by

      In an arcade cabinet, the hotkey is very useful to extend features like pause, quit, save state and so on, BUT I never remember what button does each thing.

      I had this idea of overlay this info when the hotkey is pressed (a picture of the Controller with labels)

      Can someone suggest me what should I look at to accomplish this? My first thought was to make use a bezel system, and turn the bezel on and off when the hotkey is pressed. Can the bezels be place in the middle and overlay the image?

      Note: It would be useful to use this in several emulators, but my main concern is mame.

      1 Reply Last reply Reply Quote 0
      • synackS
        synack
        last edited by synack

        I'm not aware of any RetroArch functionality that would display an image in-game, but one option is to use a splash screen prior to game launch with the controls/button layout information. If you want to explore this option, the links below will get you started.

        Familiarize yourself with the RetroPie guide for adding custom launching images
        https://github.com/RetroPie/RetroPie-Setup/wiki/runcommand#adding-custom-launching-images

        On a Windows machine, install a copy of CPWizard (Control Panel Wizard)
        http://headsoft.com.au/index.php?category=cpwizard&page=download

        You'll also need a copy of controls.xml for CPWizard (MAME controller information)
        http://web.archive.org/web/20150908135203/http://controls.arcadecontrols.com/controls.xml.0.141.1.zip

        Using CPWizard, you can mass/batch generate images for the control panel layout of each game (once you go through a fair amount of configuration). The image below is from a system I had done this for several years back (game is mortal kombat 3). If anyone has a better way to do this sort of thing, would love to hear about it.

        0_1542672547041_mk3.png

        1 Reply Last reply Reply Quote 0
        • D
          dask
          last edited by

          Thanks @synack, very useful info, but I won't work for my user case.
          We have the arcade machine in a hackerspace, connected to a domotic system. When someone opens the space in the morning, the arcade automatically turns on with a random game (so the user won't see the splash screen)
          My fist idea was to put an sticker in the corner with the instructions, but If we could make this on screen display it would be way cooler.
          I'll keep researching and I'll post here my findings. All the advice will be welcome.

          1 Reply Last reply Reply Quote 1
          • chipsnblipC
            chipsnblip
            last edited by

            hey @dask, i spent a little time with this and managed to figure out a few things..

            expanding on your idea of using the overlay/bezel system, it's possible to (using a hotkey combo) swap a transparent overlay with a control image overlay. this can be done on a per-system basis using the retroarch.cfg files located in /opt/retropie/configs/<system>

            retroarch.cfg:

            overlay_directory = "/your/path/to/overlays"
            input_overlay_enable = true
            input_overlay_hide_in_menu = true
            input_overlay = "/your/path/to/overlays/mame-controls.cfg"
            input_overlay_opacity = 0.9
            input_overlay_scale = 1.0
            input_overlay_next_btn = "6"
            

            i think you can substitute the last line with input_overlay_next = "<keyboard key>" and input_overlay_next_axis = "<joystick axis>" to adapt this to your hardware scheme.

            next, create the two images needed: transparent.png, and mame-controls.png

            and here are the contents of mame-controls.cfg:

            overlays = 2
            
            overlay0_overlay = transparent.png
            overlay1_overlay = mame-controls.png
            overlay1_name = "mame-controls"
            
            overlay0_full_screen = true
            overlay1_full_screen = true
            
            overlay0_descs = 1
            overlay0_desc0 = "overlay_next,400,460,rect,40,20"
            overlay0_desc0_next_target = "mame-controls"
            
            overlay1_descs = 0
            

            there probably already exists a much better way of doing it, so this is just a proof of concept.
            either way, hope it's enough to help you get started.

            1 Reply Last reply Reply Quote 3
            • First post
              Last post

            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.