A simple tool for parsing Darkspore binary files.
- Parses various Darkspore file types
- Exports parsed data in XML or YAML format
- Supports recursive parsing of directories containing Darkspore files
.AffixTuning.AiDefinitionCatalog (catalog_131)ChainLevels.CharacterAnimation.CharacterType.ClassAttributes.Condition.CrystalTuning.DifficultyTuning.DirectorTuning.EliteNPCGlobals.Level.LevelConfig.LevelObjectives.LootPreferences.LootPrefix.LootRigblock.LootSuffix[5.3.0.103 / 5.3.0.127].MagicNumbers.MarkerSet.NavPowerTuning.NonPlayerClass.Noun.NpcAffix.ObjectExtents.Phase.PlayerClass.PVPLevels.SectionConfig.ServerEventDef.SpaceshipTuning.TestAsset.UnlocksTuning.WeaponTuning
recap_parser [options] <file|directory>--help, -h- Show help message--xml- Export to XML format--yaml, -y- Export to YAML format--silent- Removes all logs, except error logs--debug, -d- Enable debug mode to show offsets--recursive, -r [extension]- Process all supported files recursively. Optionally filter by extension--output, -o <directory>- Specify output directory for exported files--log, -l- Export complete log to a text file--sort-ext, -s- : Organize output files in subdirectories by file extension--game-version- : Specify game version (5.3.0.103, 5.3.0.127)
recap_parser file.noun --xml -o output/recap_parser --recursive --xml -o ./output/ ./AssetData_Binary/recap_parser --recursive --xml --sort-ext -o ./AssetData_Binary_Parsed ./AssetData_Binary
# Or using the short alias:
recap_parser -r --xml -s -o ./AssetData_Binary_Parsed ./AssetData_BinaryThis will create a structure like:
AssetData_Binary_Parsed/
├── aidefinition/
│ ├── file1.AiDefinition.xml
│ └── file2.AiDefinition.xml
├── noun/
│ ├── creature1.Noun.xml
│ └── creature2.Noun.xml
├── level/
│ ├── level1.Level.xml
│ └── level2.Level.xml
├── nonplayerclass/
│ └── npc1.NonPlayerClass.xml
├── npcaffix/
│ └── affix1.NpcAffix.xml
├── phase/
│ └── phase1.Phase.xml
└── playerclass/
└── class1.PlayerClass.xml
recap_parser --recursive .noun --xml -o ./output/ ./AssetData_Binary/By default, all exported files are placed directly in the output directory with their original extension preserved:
output/
├── creature1.Noun.xml
├── level1.Level.xml
├── npc1.NonPlayerClass.xml
└── ...
When using --sort-ext, files are automatically organized into subdirectories based on their extension:
- Extension names are converted to lowercase
- The leading dot is removed from the extension
- Files without extensions go to an "others" folder
Benefits:
- Better organization for large datasets
- Easier to find specific file types
- Cleaner directory structure
- Perfect for processing entire game data directories
- Download the latest release from the Releases page
- Extract the executable to your desired location
- Run from command line as shown in the examples above
# Using CMake (Linux/macOS)
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
# Using Visual Studio (Windows)
# Open recap_parser.sln in Visual Studio and build- dalkon for the original parser and findings on how these formats are interpreted within the game executable
