Just like
Throwaway7777, I can't get every scene in game…
But I can decode the gallery data file, so, here is the modified gallery data file with every scene unlocked.
Gallery data location is the same with your save:
Code:
%APPDATA%\..\LocalLow\Pyorgara\SL
- You should at least have original galleryData.dat and SLSave1.dat within this directory, maybe more SLSaveX.dat for more saves
- Delete, rename or move away the original galleryData.dat, put this one there instead
If you would like to do it by yourselves, then:
Both galleryData.dat and SLSave1.dat shares the same C# Assembly binary format, uses ANSI ASCII encoding for the text inside. Use a
You must be registered to see the links
to modify them.
For the description below, when referring both files, the former one is always to galleryData.dat, and the latter one is always to SLSave1.dat;
If you are new to binary file editing, just remember everything the hex editor shows is hexadecimal, especially numbers larger than 9, or
09
. You need convert them between hex and decimal if you can't think & count in hexadecimal. The rest is just like editing the blocks in game maps, except for there is no grass, water or houses, just numbers, strings, and everything else, shown as hexadecimal.
If you do it wrong, or very wrong, the game may fail to read the dat file and something bad may happen. backup if you would like to edit those dat files.
- Starts with:
- 23 bytes:
0001000000FFFFFFFF01000000000000000C020000000F
- 15 bytes:
417373656D626C792D435368617270
or Assembly-CSharp
- 5 bytes:
0501000000
- 1 byte:
12
or 11
for me, I don't know what does it mean
- Data name, length & content is variable, but 18 bytes for both of the file:
534C6D61696E2B47616C6C65727944617461
or SLmain+GalleryData
534C6D61696E2B506C617965724461746141
or SLmain+PlayerDataA
- 4 or 3 bytes:
18000000
or 000000
, don't know why they differs
- Then the names, all text, enable string preview in ANSI ASCII encoding in your hex editor to see them.
For each name:
- Starts with the length of this name in bytes, a 1 byte hex number;
(For example, if a name starts with 12
or 18 in decimal, then the length of this name is 18 bytes.)
- Then the name in ANSI ASCII encoding, with the exact same length.
- Then the values, mostly binary or numeric, with some text:
- For galleryData.dat, it's about arrays (or lists) of binaries.
For each entry in the gallery, there is a list of scenes;
and so for each name in galleryData.dat, there is an array of binaries indicating whether this scene is unlocked or not.
- It starts with 52 bytes, still, I don't know what it is:
07070707070707070707070707070707070707070707070708080808080808080808080808080808080808080808080802000000
- Then, for each value, there is:
- 1 byte:
09
- 1 byte: hex number for the index of the array
- 3 bytes:
000000
- (For example, if the 8th name is
galleryVeils
and the 8th value got 090A000000
, then the index of the value of galleryVeils
is 0A
, or 10 in decimal.)
- After the
09XX000000
indexes, we finally reach the value, or the array, itself.
For each array, there is:
- 1 byte:
0F
- 1 byte: hex number for the index of the array
- 3 byte:
000000
- 1 byte: hex number for the length of the array
- 4 byte:
00000008
- (For example, for
galleryVeils
, the array with the index of 10, we got 0F0A0000000400000008
, the index is again 0A
, or 10 in decimal, and it has a length of 04
or 4 in decimal.)
- Then, for the content of each array, there is some 4 bytes
00000000
(false) or 01000000
(true) with their amount matching the length of the array, with false for this scene is locked, and true for this scene is unlocked.
- (For example, for
galleryVeils
, the array with the index of 10, we may got 00000000010000000100000001000000
, then there is 1 scene locked and 3 scene unlocked.)
- For SLSave1.dat, it's much more difficult. You had better edit your save with signed 16 bit / signed 32 bit number preview support and preview randomly between the value part of your save file, to see if there is a matching number at the right place, and edit it accordingly; or just use the buildin cheat feature with that heartwarming password already.
- End with 1 byte
0B