Skip to main content

soulstruct

Python tools for inspecting and modding FromSoftware games.

YouTube channel with some 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:

  • DS1PTDE: Dark Souls: Prepare to Die Edition
  • DS1R: Dark Souls Remastered
  • DS2: Dark Souls II (either version)
  • BB: Bloodborne
  • DS3: Dark Souls III
  • SEK: Sekiro: Shadows Die Twice
  • ER: Elden Ring

Related libraries:

  • soulstruct-havok: Havok classes and tools for Soulstruct, supporting map collision, character collision, animation, ragdolls, and more.
  • soulstruct-vanilla: Vanilla event scripts (.evs.py) and other vanilla dumps from Soulstruct.
  • soulstruct-gui: Graphical interface for Soulstruct-based modding projects, including tabs for Maps, Events, Params, Lighting, Text, AI, and Talk scripts (plus some Runtime utilities for supported games).
  • Firelink: My FromSoftware modding framework written in C++, which is MUCH faster than Soulstruct for core classes such as FLVERs and Binders. Also includes memory-hooking implementations for supported games and an Elden Ring MSB class (Python is generally too slow for these).

Features

  • Unified graphical application for modifying maps, events, parameters, text, AI, and talk scripts in Dark Souls (both versions) and Bloodborne. Game data is imported as a project, edited in the window (or in Python if you prefer), and exported back to game-ready files whenever you want. Keep track of map entities, quickly navigate between data types, and view custom syntax highlighting for event scripts and AI scripts.

    • Supported games: DS1PTDE, DS1R, BB
  • Event scripts (EMEVD) and EzState state machines (ESD) can be translated to and from valid Python-based languages with high-level programming features.

    • Supported games: DS1PTDE, DS1R, DS2 (ESD only), BB, DS3
  • Map data (MSB), game parameters (GameParam), lighting parameters (DrawParam), text data (FMG) can be loaded into Python structures, edited, and repacked.

    • Supported games: DS1PTDE, DS1R, BB (map, game parameters, and text only), DS3 (map and text only)
  • AI scripts in can be decompiled, edited, and recompiled.

    • Supported games: DS1PTDE (no decompiling), DS1R
  • Unpack/repack BND archives and automatically manage DCX compression.

    • Supported games: all

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

soulstruct-2.4.2.tar.gz (8.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

soulstruct-2.4.2-py3-none-any.whl (8.7 MB view details)

Uploaded Python 3

File details

Details for the file soulstruct-2.4.2.tar.gz.

File metadata

  • Download URL: soulstruct-2.4.2.tar.gz
  • Upload date:
  • Size: 8.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for soulstruct-2.4.2.tar.gz
Algorithm Hash digest
SHA256 80f2f2e99884e61ffcdf4d056109e48adbda8398210831b95e6fcfa03b311222
MD5 6de88a7344922a300887083eeec27d44
BLAKE2b-256 29a322c7eddb9d57434063edb5ec5a4b23c04309fee2b1c7515673180ec1a54d

See more details on using hashes here.

Provenance

The following attestation bundles were made for soulstruct-2.4.2.tar.gz:

Publisher: publish.yml on Grimrukh/soulstruct

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file soulstruct-2.4.2-py3-none-any.whl.

File metadata

  • Download URL: soulstruct-2.4.2-py3-none-any.whl
  • Upload date:
  • Size: 8.7 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for soulstruct-2.4.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b69d784594b94d350f7f3c077397ceb57e9365349199ea384316d76c271db3aa
MD5 cd24105e0802601df5fbe916f4158b0e
BLAKE2b-256 d3578c66e202facb66d886f96da16535b541e3faf5ea81272e085c2652092152

See more details on using hashes here.

Provenance

The following attestation bundles were made for soulstruct-2.4.2-py3-none-any.whl:

Publisher: publish.yml on Grimrukh/soulstruct

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

2.4.3

2 files

This release

2.4.2 This release

2 files

2.4.1

2 files

2.4.0

2 files

2.3.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page