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.1.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.1-py3-none-any.whl (8.7 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: soulstruct-2.4.1.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.1.tar.gz
Algorithm Hash digest
SHA256 0bac7d85b1cb5a2e06b0cb98033166bef35e6679eb37cd35f6db122c12516c4e
MD5 bb42c7392ae554c4da224aacb5a3ec43
BLAKE2b-256 c65d27d689eb20e3dfde90fc80bb16176f27d4ea3948bdadda9e99575fcd811c

See more details on using hashes here.

Provenance

The following attestation bundles were made for soulstruct-2.4.1.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.1-py3-none-any.whl.

File metadata

  • Download URL: soulstruct-2.4.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5727fea30111c733aa33d4aee6d631df5f1b43068f84ba83d9b8f394f9ee69ac
MD5 7734325eb915d1b28581f87ba55cd703
BLAKE2b-256 d69b15dbe78c0fc4fa5ba27e5863c4d06b353409a26c08b765a8ea2e35e9a12f

See more details on using hashes here.

Provenance

The following attestation bundles were made for soulstruct-2.4.1-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

2.4.2

2 files

This release

2.4.1 This release

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