This repo contains:
convert_vita2pc.py
, a utility that converts P4G PS Vita saves to P4G PC saves:
data00XX.bin
and system.bin
files are converted to the PC format (see FAQ #1).sdslot.dat
file is converted to PC data00XX.binslot
files (see FAQ #2).remotecache.vdf
file is generated with valid entries for each save file (see FAQ #3).This tool will convert the above into proper PC .bin
/.binslot
files.
There's no need to edit any hashes manually.
convert_pc2vita.py
, a utility that converts P4G PC saves to P4G PS Vita saves.
WARNING: REMEMBER TO BACKUP YOUR SAVES BEFORE CONVERSION.
PS Vita | PC |
---|---|
PCSE00120
(USA)PCSB00245
(EUR)Use VitaShell or vita-savemgr to export a save. Transfer the exported save directory to PC using FTP/USB.
For example, using VitaShell:
ux0:user/00/savedata/
.PCSE00120
directory.The directory you exported to PC should look like the following, if all save slots were populated:
PCSE00120/
|- sce_sys/
| \- sdslot.dat
|- data0001.bin
|- data0002.bin
|- ...
|- data0016.bin
\- system.bin
Note that the sce_sys
directory contains other files, but they are not relevant to the conversion process.
Clone or download this repository.
Convert your PS Vita saves using:
python convert_vita2pc.py [--custom-diff {disable,enable}] save_dir
This utility will generate:
<save_dir>_conv
directory containing the converted savesremotecache.vdf
fileExit Steam - make sure Steam is not running in the background.
Backup the contents of the %PROGRAMFILES(X86)%/Steam/userdata/<user_id>/1113000/
dir.
Copy the converted saves in <save_dir>_conv
to %PROGRAMFILES(X86)%/Steam/userdata/<user_id>/1113000/remote/
, overwriting files as necessary.
Copy the generated remotecache.vdf
to %PROGRAMFILES(X86)%/Steam/userdata/<user_id>/1113000/
, overwriting the original file if necessary.
Start Steam and launch the game. In case of a Steam Cloud sync conflict, choose to upload local files to the cloud.
Your imported saves should now appear in the LOAD GAME menu.
Clone or download this repository.
Copy the saves in %PROGRAMFILES(X86)%/Steam/userdata/<user_id>/1113000/remote/
to another location as a precaution.
Run the following on the directory you've copied:
python convert_pc2vita.py [--custom-diff {disable,enable}] save_dir
This utility will generate a <save_dir>_conv
directory containing the converted saves.
Move the converted saves to PS Vita (see here) and launch the game.
Your imported saves should now appear in the LOAD GAME menu.
Copy the converted saves in <save_dir>_conv
to ux0:user/00/savedata/PCSE00120/
using VitaShell FTP/USB.
Overwrite files as needed (remember to backup the saves already on PS Vita too).
You should only need to overwrite data00XX.bin
, system.bin
and the sce_sys/sdslot.dat
file.
Do not replace the entire save directory on PS Vita.
Only overwrite the .bin
files within the save directory (as needed) + sce_sys/sdslot.dat
.
Why do I need to convert the saves? PS Vita saves seem to work fine without conversion.
The PC save format is slightly different (see Save Format Changes). If you load a PS Vita save directly without conversion, you might get the following error:
This can be avoided by converting the saves properly.
Why do I need to include sdslot.dat
?
sdslot.dat
file, which can be found in ux0:user/00/savedata/PCSE00120/sce_sys/
.
PC saves store metadata in binslot
files.
This converter takes data found in sdslot.dat
and converts it to the PC binslot
format (see Save Format Changes).Why can't I see some of my saves in the save select screen?
Why am I getting a "Load failed." message when trying to load a save?
Why do I need a remotecache.vdf
file?
The game uses the Steam Storage API to enumerate game saves.
Each save file needs to have a valid entry in %PROGRAMFILES(X86)%/Steam/userdata/<user_id>/1113000/remotecache.vdf
.
This program will generate a valid remotecache.vdf
file when converting saves.
You can also use remotecache.py
to regenerate a valid remotecache.vdf
.
Why does my Clear Data save look like this? Why aren't NG+ saves colored pink/purple in the save select screen?
This is by a bug in the game itself. Note that the saves work as they should, the only issue is with how the save metadata is displayed. Wait for a patch, or use this mod to fix the issue.
Also note that when converting a Clear Data (save 13 below) or NG+ save (save 14 below) generated on PC to PS Vita format, the save metadata is read correctly by the PS Vita version of the game:
PC | PS Vita |
---|---|
Config settings are no longer saved in system.bin
, instead there's a config P4G.ini
file in %LOCALAPPDATA%/Sega/P4G/
.
.bin
Files0x2908
bytes (PS Vita) to 0x3FAC
bytes (PC).0x30
bytes) which stores the Hero's name.0x38000
bytes with garbage data from PS Vita memory. PC saves aren't padded (0x34D3D
bytes)..binslot
FilesBINslot files are the PC alternative to sdslot.dat
.
Stored metadata is identical to PS Vita apart from a new LANG%d
parameter.
BINslot file structure:
typedef struct
{
char Magic[ 0x08 ]; // SAVE0001
ubyte SlotFile_MD5[ 0x10 ]; // md5sum of bytes 0x28 to EOF (SlotData)
// *** with P4GOLDEN appended to the end ***
ubyte SaveFile_MD5[ 0x10 ]; // md5sum of corresponding data00XX.bin or system.bin file
ubyte SlotData[ 0x34C ]; // slot data, same as sdslot.dat data
// at offset 0x400 + <save_num> * 0x400
// save 0 == system.bin
// save 1 == data0001.bin
// etc.
} BINslot;
BINslot Slot;