PPSSPP.ini and Controls.ini are moved into the memstick directory.Ĭ:\PPSSPP.exe, no portable.txt, and we find the Documents directory: C:\Users\YourUsername\Documents\PPSSPP becomes the new memory stick root(not hardcoded, found again with SHGetFolderPath), and PPSSPP loads/saves its data in that folder(and the PSP/* subfolders). As a continuation of 2, we store PPSSPP.ini and Controls.ini in the PPSSPP folder that we created in the documents directory.Ĭ:\PPSSPP\PPSSPP.exe and C:\PPSSPP\portable.txt(or it fails to find the My Documents/documents directory via SHGetFolderPath) -> Old behaviour: look in the same directory(in this example C:\PPSSPP) for the memstick directory.
The memory stick root is the PPSSPP folder, and it'll create the PSP/GAME, PSP/SAVEDATA, and PSP/PPSSPP_STATE folders as needed.Ģa. If we are using the documents directory, save files in a directory called PPSSPP.
If we find the file 'portable.txt' in the same directory as PPSSPP.exe, OR we can't determine the user's Documents folder(found via SHGetFolderPath with CSIDL_PERSONAL), fall back to the current behaviour(meaning we look for everything in the same directory, though ppsspp.ini and controls.ini have moved to the memstick folder to keep the code simple).I've been tinkering with making PPSSPP more flexible with where it stores its config file and memstick directory, and here's what I've come up with: