Grimrukh / soulstruct

Python tools for inspecting and modifying FromSoft games (mainly Dark Souls 1).
145 stars 16 forks source link

soulstruct

Python tools for inspecting and modding From Software games, including an "all-in-one" graphical interface.

YouTube channel with tutorials: https://youtube.com/grimrukh

Like my stuff? Consider supporting me on Patreon <3 https://patreon.com/Grimrukh

Game abbreviations used below and in package:

Features

One-Click Executable

Soulstruct can be downloaded as an executable, which is basically just a bundle that includes Python and runs the __main__.py script when clicked (i.e. the command python -m soulstruct). You might find this easier to use, but there will be a slight delay every time you run it as the bundle unpacks itself. Note that this executable will be updated less often than the main package and does not grant access to many of the utilities that can be imported in Python!

Important

Soulstruct is very much a work in progress. Internal code structure should be fairly stable as of version 1.0.0 (Feb 12, 2021), but it is still possible that changes will break backward compatibility with past versions of Soulstruct for existing project files (.ssp files). If you update Soulstruct to a new major version, you may need to export all game files from your old version's project first and import them into a new project created with the new Soulstruct, since the new Soulstruct version may not be able to read the old .ssp files. Luckily, this is straightforward.

Any event/ESD/AI scripts can be simply copied into the new project. If any EMEVD or ESD instruction/argument names have been updated (as we constantly discover new things), the old names will be deprecated first and eventually removed. A simple find-and-replace should fix any issues here.