laughingleader / bg3moddingtools Goto Github PK
View Code? Open in Web Editor NEWA collection is miscellaneous snippets and scripts to make life easier when modding Baldur's Gate 3.
License: MIT License
A collection is miscellaneous snippets and scripts to make life easier when modding Baldur's Gate 3.
License: MIT License
With the latest stable LSLib (1.18.7) and a save file, extract_databases.py gives basically the same error shown in Norbyte/lslib#209.
(When given story.div.osi instead of a save file, it doesn't error but also doesn't output anything.)
But with the pre-release version of LSLib that apparently fixes that (1.19.3), extract_databases.py gives what looks like an import error:
Traceback (most recent call last):
File "D:\GitHub\BG3ModdingTools\scripts\extract_databases.py", line 94, in <module>
from LSLib.LS import PackageReader, Package, AbstractFileInfo, LSFReader # type: ignore
ModuleNotFoundError: No module named 'LSLib'
Please advise?
Also, what exact version of python are you using? Because 3.10.11 is giving me huge problems when trying to install all the requirements.
I'm trying as simple of a command as python .\scripts\extract_game.py -g All
, I see a successful scrollbar, but I do not have any actual extraction. The reason why is my files are being stored in a folder with an apostrophe.
Extracting game data to C:\Users\woovi\Baldur's Gate 3 Modding\Extracted
Extracting Assets.pak...
[divine]
'C:\Users\woovi\Baldur's' is not recognized as an internal or external command,
operable program or batch file.
[divine] exited with code [1]
As well, I was never able to see output via CLI beyond that loading bar. If I pass no parameters, I get no output. I temporarily modified log()
in common.py
, setting do_print
to True
by default instead. It was difficult to understand exactly what was going on with no feedback and no output.
If we add a debug print of the final cmd
variable passed to asyncio.create_subprocess_shell()
, the issue is clear:
on 27: Extracting English.pak...
on 27: C:\Users\woovi\Baldur's Gate 3 Modding\ExportTool-v1.18.5\divine.exe -g bg3 -s "C:\Program Files (x86)\Steam\steamapps\common\Baldurs Gate 3\Data\Localization\English.pak" -a extract-package -d "C:\Users\woovi\Baldur's Gate 3 Modding\Extracted" -i pa
https://github.com/LaughingLeader/BG3ModdingTools/blob/master/scripts/extract_game.py#L91-L92
I tried a few things, like doing .replace("'", "''")
along side single quotes around the entire path and &
before the process name, couldn't figure out a good solution. Ultimately I gave up and renamed the folder. I would like maybe some error output if divine.exe had a non-zero exit code? I am not sure about fixing the quote issue, I tried a few things, hopefully someone can find a good solution.
Assembly.LoadFrom seems to work
as well as clr.AddReference
but from LSLib.LS import ...
& from LSLib.LS.Enums import ...
shows **ModuleNotFoundError**
Traceback (most recent call last): File "E:\BG3 Mods\Modding Tools\For Upload\scripts\convert_lsf.py", line 97, in <module> run(lslib_dll, input_file, output_file, batch, in_type, out_type) File "E:\BG3 Mods\Modding Tools\For Upload\scripts\convert_lsf.py", line 29, in run from LSLib.LS import ResourceUtils, ResourceConversionParameters, ResourceLoadParameters # type: ignore ^^^^^^^^^^^^^^ModuleNotFoundError: No module named 'LSLib'
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.