Norbyte / lslib

Tools for manipulating Divinity Original Sin and Baldur's Gate 3 files
MIT License
762 stars 141 forks source link

Command line conversion of LSF to LSX file #16

Closed MatejVitek closed 6 years ago

MatejVitek commented 6 years ago

I'm having a bit of difficulty converting from an LSF file to LSX from the command line using v1.9.1, downloaded from https://docs.larian.game/Pak_Extractor_Guide (marked as the latest version).

The conversion works fine from ConverterApp.exe: Image of Yaktocat and gives me a proper .lsx file in XML format (about 10x as large as the original .lsf)

However, running from the command line as: .\divine.exe -s "D:\Games\Steam\steamapps\comm on\Divinity Original Sin 2\PAK Extractor\Save\Fishworks Cellar - 59h10m\globals.lsf" -d "D:\Games\Steam\steamapps\common \Divinity Original Sin 2\PAK Extractor\Save\Fishworks Cellar - 59h10m\globals.lsx" -a convert-resource creates the .lsx as a binary file (unreadable in text editors) of roughly the same size as the original .lsf.

I've also tried adding -i "lsf" -o "lsx", but got the same result.

Am I using the command wrong?

Norbyte commented 6 years ago

I've checked the cli conversion with v1.9.1 with the same parameters (different file path obviously), and the generated globals.lsx is a properly formatted XML for me, although it takes a while to load as it is ~83 megs. Maybe it is an issue with this specific LSF file?

MatejVitek commented 6 years ago

I've tried running it on a globals.lsf from a different save file but still have the same problem. I've also tried it on meta.lsf and also got a binary file as a result.

These were the exact commands I used:

.\divine.exe -s "C:\Users\Matej\Documents\Larian Studios\Divinity Original Sin 2\PlayerProfiles\M d V\Savegames\Story\QuickSave_7\QuickSave_7.lsv" -d "D:\Games\Steam\steamapps\common\Divinity Original Sin 2\PAK Extractor\Save" -a extract-package
.\divine.exe -s "D:\Games\Steam\steamapps\common\Divinity Original Sin 2\PAK Extractor\Save\QuickSave_7\globals.lsf" -d "D:\Games\Steam\steamapps\common\Divinity Original Sin 2\PAK Extractor\Save\QuickSave_7\globals.lsx" -a convert-resource

and these were the .lsv of the save file and the resulting globals.lsf and globals.lsx file: QuickSave_7.zip

There were also no error messages in the console, all I got was

[INFO] Extracted package to: D:\Games\Steam\steamapps\common\Divinity Original Sin 2\PAK Extractor\Save\QuickSave_7 [INFO] Wrote resource to: D:\Games\Steam\steamapps\common\Divinity Original Sin 2\PAK Extractor\Save\QuickSave_7\globals.lsx

I do use a few mods in my game (DOS2), which might affect the save games though. But conversion with the GUI Converter works fine. I'll try on a fresh unmodded profile and see what happens when I get home.

Norbyte commented 6 years ago

It seems that the 1.9.1 package had an old version of the cli tool bundled which had bugs in resource format handling. New one is here: https://s3.eu-central-1.amazonaws.com/nb-stor/dos/ExportTool/ExportTool-v1.9.1b.zip

MatejVitek commented 6 years ago

That fixes it, thank you. 👍