Skip to content

Save Editing Documentation

AsteriskAmpersand edited this page Nov 21, 2018 · 10 revisions

General Save Structure

General Remarks

The save is blowfish encrypted, the key is "xieZjoe#P2134-3zmaghgpqoe0z8$3azeq".
The save stores its own checksum. The Checksum is SHA1 from position 64 to the end.
The save stores the steam id of the player's account. To load someone else's save you need to edit the steam ID to yours.

Structure

struct SaveFile
{
    Header header;
    Data data;
    byte[0x08] padding;
};
struct  Header {
    UInt32 signature;
    UInt32 unknown;
    UInt32 unknown;
    Byte[0x14] dataHash;
    UInt64 dataSize;
    UInt64 steamID;
    Byte[0x10] padding;
};    
struct  data {
    UInt64[0x04] sectionIndex;
    Controls sectionControls;
    Options sectionOptionss;
    Unknown sectionUnknown;
    SaveSlots sectionSaves;
    Byte[0x08] padding;
};

Sections

Sections follow a generic structure but have widely varying section contents.

struct section {
    UInt32 signature;
    UInt32 unknown;
    UInt64 sectionSize;
    SectionContents sectionData;
};

Sections follow a generic structure but have widely varying section contents. Controls and Unknown are yet unmapped.

Options

struct Options
{
	blob         unknown[0x08];
	byte soundOutputDevice;
	byte dynamicRange;
	byte _3dAudio;
	byte voiceVolume;        // 0-100
	byte bgmVolume;          // 0-100
	byte soundEffectVolume;  // 0-100
	byte[0x02] unknown;
	byte textLanguage;
	byte voiceLanguage;
	byte subtitles;
	byte voiceLanguageB;
	byte voiceChat;
	byte subtitleTextSize;
	byte hudHelpTextSize;
	byte confirmationButton;
	byte[0x10] unknown;
	FLOAT brightness;         // 1.2-3.2, Def: 2.2
	byte[0x0C] unknown;
	DLCTYPE DLCOwned[0x0100];
	byte[0x1C8] unknown;
};

Save Contents

struct saveSlots
{
    UInt32 unknown;
    saveSlot[0x03] Saves
    byte[0x31DCCC] empty;
};
struct saveSlot {
        UChar[0x40] hunterName;
        UInt32 hunterRank;
        UInt32 zeni;
        UInt32 researchPoints;
        UInt32 hunterXP;
        UInt32 playTime_s;
        byte[0x04] unknown;
        hunterAppearance hunterAppearance;
        palicoAppearance palicoAppearance;
        Guildcard hunterGC;
        Guildcard[100] sharedGC;
        byte[0x019e36] unknown;
        itemLoadoutStructure loadouts
        byte[0x08] unknown;
        itemPouch pouch;
        itemBox box;
        equipmentSlot[1000] equipmentList;
        byte[0x2449c] unknown;
        investigations[250] investigationList;
        byte[0x0FB9] unknown;
        equipLoadout[0x70] loadouts;
        Byte[0x6521] unknown;
        DLCTYPE[256] DLCClaimed;
        byte[0x1D5] unknown;
        bool SlotActive;
        byte[0x2887] unknown;
};
Clone this wiki locally