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

Individual per game profiles for pcsx2 [x86 only]



  • Since the pcsx2 emulator does not natively support per game profiles i came up with this custom solution to make it possible to use indivudual configs.

    What it does:

    • Extracts the ps exe id from the passed rom.
    • Creates a folder based on the extracted id under the directory "/opt/retropie/configs/ps2/game_configs" and copy over the default config inis to the folder.
    • Changes the SettingsFolder to the newly created folder.

    I chose to use psisotool since it does not matter then what the rom file is named, because the id is extracted from within the iso itself.

    Requirements:

    Compile psisotool:

    1. Download the achive.
    2. tar xvzf psiso_tool_v1.03.1_alpha_(linux_support).tar.gz
    3. cd psiso_tool
    4. make cleanup
    5. make

    The compiled tool will then reside in the bin folder.
    Compliation on Ubuntu 16.04.3 worked without problems for me.

    set_settingfolder_pcsx2.sh:

    #!/bin/bash
    ## This script makes it possible to user individual per game configurationfiles for PCSX2.
    ## With the default install PCSX2 will only use the default configfolder under "$HOME/.config/PCSX2/inis_1.4.0/"
    ## 20171026sh
    
    
    pcsx2_ini="$HOME/.config/PCSX2/PCSX2-reg.ini"
    game_configpath="/opt/retropie/configs/ps2/game_configs"
    pcsx2_config_default="$HOME/.config/PCSX2/inis_1.4.0"
    psiso_tool_bin="/opt/Retropie_Skripte/additional_binaries_and_sources/psiso_tool/bin/psiso_tool"
    
    
    
    ## If no parameter was passed set default path and exit
    if [[ ! $1 ]]
    then
            ## Exchange the configpath
            sed -i s@"^SettingsFolder=.*"@"SettingsFolder=\"$pcsx2_config_default\""@g "$pcsx2_ini"
            exit
    fi
    
    
    ## Get Titleid with psiso_tool
    title_id=$($psiso_tool_bin --ps2  "$1" | grep "TITLE ID:" | awk '{printf $4}')
    
    ## When the config folder does not exist then create it and copy over the default inis from the default ini folder
    if [[ ! -e "$game_configpath/$title_id"  ]]
    then
            ## Create folder based on the ps2 exe id
            mkdir -p "$game_configpath/$title_id/"
            ## Copy over the default inis from default directory for a start.
            cp -a "$pcsx2_config_default"/*.ini "$game_configpath/$title_id/"
    fi
    
    ## Make sure the customsettingsfolder get used actually used.
    sed -i s@"^UseDefaultSettingsFolder=enabled"@"UseDefaultSettingsFolder=disabled"@g "$pcsx2_ini"
    ## Exchange the configpath
    sed -i s@"^SettingsFolder=.*"@"SettingsFolder=\"$game_configpath/$title_id\""@g "$pcsx2_ini"
    

    Note:
    You will have to edit the path in variable "psiso_tool_bin" to point to your compiled ps_iso_tool
    Everything else should be generic enough to work out of the box.

    Modifications to :/opt/retropie/configs/all/runcommand-onstart.sh

    # get the system name
    system=$1
    # get the full path filename of the ROM
    rom=$3
    
    ## Call the set_settingfolder_pcsx2.sh if the ps2 emulator is run. The Script modifiys the PCSX2 config to point to the new settingfolder based on the games executable id
    if [[ "$system" == "ps2" ]]
    then
            ## Needs to pass the romfullpath to the script
            /opt/Retropie_Skripte/set_settingfolder_pcsx2.sh "$rom"
    fi
    

    Note:
    Obviously you will need the modify the path to the script to point where it is located on your system.



  • @parasven after -onstart execution doesn't runcommand.sh try to launch the game again?



  • @meleu
    What do you mean by "try to launch the game again"?
    As far as i saw the -onstart script get executed and after that the normal runcommand finishes its job and starts the emulator?

    What i was originally trying to do is:
    Modify the passed "startcommand" within -onstart and then execute the emulator with the modified "startcommand"



  • @parasven oh. sorry, I misunderstood your script. I thought it was to to actually launch the game. Now everything is clear.

    Thanks for sharing this trick!

    I'll add it to the "useful topics" post. ;-)



  • @meleu
    No worries, thanks for hinting to the"Useful topics" havent seen that thread before.
    I will definatly take a look into that.
    Btw. i found your joystick selection script quite handy.

    Do you by any change know if there is a guide or wikipage, in case i would want to create a scriptmodule?



  • @parasven said in Individual per game profiles for pcsx2 [x86 only]:

    Do you by any change know if there is a guide or wikipage, in case i would want to create a scriptmodule?

    I answered this kind of question here.


Log in to reply
 

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.