DSCSTools are tools to extract and repack the game files for the Steam release of "Digimon Story Cyber Sleuth: Complete Edition". They should work with other releases of the game as well as potentially other games based on the same engine, with some caveats.
A library version to be linked by other tools is also available.
The tool itself is command line only. The MBE functionality requires you to have the structures
folder relative from where you're calling the tool from.
Hence it's recommended to navigate to the folder containing the DSCSTools binary first.
Pherakki's SimpleDSCSModManager provides an easy to use GUI for the tools, while also serving as a general mod manager.
Do not use Microsoft Excel to modify extracted CSV files, it does not create RFC 4180 compliant CSV. Use LibreOffice/OpenOffice as an alternative.
Extract: DSCSTools --extract <sourceFile> <targetDirectory>
File Extract: DSCSTools --extractFile <sourceFile> <targetDirectory> <fileName>
Repack: DSCSTools --pack <sourceDirectory> <targetFile> [--disable-compression|--advanced-compression]
MBE Extract: DSCSTools --mbeextract <source> <targetFolder>
MBE Repack: DSCSTools --mbepack <sourceFolder> <targetFile>
AFS2 Extract: DSCSTools --afs2extract <source> <targetFolder>
AFS2 Repackk: DSCSTools --afs2pack <sourceFolder> <targetFile>
En/Decrypt: DSCSTools --crypt <sourceFile> <targetFile>
Save Decrypt: DSCSTools --savedecrypt <sourceFile> <targetFile>
Save Encrypt: DSCSTools --saveencrypt <sourceFile> <targetFile>
In order for the MBE functions to work it needs to assume a data structure. For this a structure.json
must be present in the structures
folder of the tool or whereever you're calling it from.
It contains simple regexPattern: structureDefinition.json
associations. The tool match the currently handled file path with the patterns in the structure.json and pick the first match.
You may need to maintain the folder structure of the files (most notably text and message files) for the tool to detect them properly.
The structure definition is another JSON file following this format:
Currently supported field types are byte
(int8), short
(int16), int
(int32), float
, int array
and string
.
{
tableName1: {
fieldName1: fieldType1,
fieldName2: fieldType2,
fieldNameN: fieldTypeN
},
tableName2: {
fieldName1: "string",
fieldName2: "int",
fieldNameN: "int"
},
tableNameN: {
fieldName1: fieldType1,
fieldName2: fieldType2,
fieldNameN: fieldTypeN
}
}
The tool can also be used as a library by other software. You can find the shared library+documented headers in the downloads.
You can also use the library as Python module. Simply install the shared library in a place your Python program searchs for modules and you should be able
to import it via import DSCSTools
. Note, on Windows you'll have to rename the DSCSTools.dll
to DSCSTools.pyd
.
Please note, the currently prebuild binaries only work on Python 3.8. Other Python versions require the library to be recompiled.
For Python documentation head to the Wiki Entry
The project uses CMake. On Windows you can use Visual Studio's CMake integration.
On *nix systems compiling should be a simple
$ git clone git@github.com:SydMontague/DSCSTools.git
$ cd <project dir>
$ cmake .
$ make install
With the binary being located in /DSCSTools/
The tool uses: