RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Error saving controller profile

    Scheduled Pinned Locked Moved Help and Support
    remapping
    6 Posts 2 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.
    • S
      sleve_mcdichael
      last edited by

      Pi 4
      RetroPie 4.7.14
      RetroArch 1.9.4
      (lr-) FinalBurn Neo v1.0.0.03

      Game Xain'D Sleena (xsleena.zip) requires use of P2 start button to continue after Game Over. I can map P2 Start to an unused button on my P1 gamepad via RGUI (hotkey+X) Main Menu >> Settings >> Input >> Port 2 Controls. I change Device Index from Disabled to {my gamepad ID} then scroll down to Start Button and map it to an unused button like X.

      This works. I can now use X to select a 2-player game or to continue after Game Over.

      But when I try to Save Controller Profile from this Port 2 Controls menu I get "Error saving controller profile", and then when I quit the game and restart, my settings are not retained. Changing it and then going to Quick Menu >> Controls >> Save Game Remap File saves the remap file (with any "normal" remaps like AB->BY for SMW-like controls) but the Device Index stuff where I map P2 Start button to P1 gamepad is not retained.

      How can I make this setting persist across play sessions?

      1 Reply Last reply Reply Quote 0
      • S
        sleve_mcdichael
        last edited by

        Verbose log after trying to save controller profile and getting the error: https://pastebin.com/dkHsViYy

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator
          last edited by

          Saving a controller profile will not save the index change and the button mapping, but will create a (player agnostic) configuration for the gamepad used.
          Remapping not including the P2 mapping sounds like a bug.
          You could manually edit the game override configuration and add the lines needed:

          input_player2_joypad_index=0
          input_player2_start_btn='X'
          

          where X is the button code from your gamepad for Start.

          S 1 Reply Last reply Reply Quote 0
          • S
            sleve_mcdichael @mitu
            last edited by sleve_mcdichael

            @mitu said in Error saving controller profile:

            You could manually edit the game override configuration and add the lines needed:

            input_player2_joypad_index=0
            input_player2_start_btn='X'
            

            where X is the button code from your gamepad for Start.

            That (almost) did it, thanks! I had to add some spaces and quote marks to the syntax, and 'X' needed to be the code, not for Start on the controller but for the unused button on the controller I wanted to map to the player2_start_btn function, of course.

            For reference, this goes in /opt/retropie/configs/all/retroarch/config/[core]/[game].cfg or in my case:

            /opt/retropie/configs/all/retroarch/config/FinalBurn\ Neo/xsleena.cfg
            
            
            input_player2_joypad_index = "0"
            input_player2_start_btn = "{n}" # where {n} is the button code for the button TO BE USED as P2 Start
            
            S 1 Reply Last reply Reply Quote 0
            • S
              sleve_mcdichael @sleve_mcdichael
              last edited by sleve_mcdichael

              A thought occurs:

              input_playe2_start_btn = "{n}" # where {n} is the button code for the button TO BE USED as P2 Start
              

              If I swap to a different gamepad, this will be mapped to whatever that button code is on the new gamepad, which might or might not be the same. Can I use a variable like

              input_player2_start_btn = "$(input_player1_x_btn)"
              

              or something to make it universal?

              mituM 1 Reply Last reply Reply Quote 0
              • mituM
                mitu Global Moderator @sleve_mcdichael
                last edited by

                @sleve_mcdichael No, that's not going to work.

                1 Reply Last reply Reply Quote 0
                • 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.