/DSAnimStudio

Direct3D-Accelerated Dark Souls TAE Editor

Primary LanguageC#MIT LicenseMIT

About DS Anim Studio:

  • Edits the TimeAct Editor files of Dark Souls, Bloodborne, Dark Souls 3, and Sekiro. These files control everything that happens on a specific frame of an animation, such as:
    • Activating invulnerability frames.
    • Parry windows
    • Applying an "SpEffect" (special temporary statuses such as ring effects, poisoning, buffs, AI triggers, etc)
    • Allowing animation cancelling
    • Setting the flag for YOU DIED and respawning
    • Creating "SFX" / "FFX" (both refer to the exact same files: visual effects)
    • Playing sound effects such as footsteps, sword swooshes, etc.
    • Invoking an attack behavior (does damage to opponent, drains stamina from player, etc all in one event)
    • Invoking a "bullet" (projectile) behavior (fires projectile, drains stamina from player, etc all in one event)
    • Invoking a "common" behavior (like attack behaviors but for simpler things such as falling on someone's head causing stagger)
    • Creating motion blur on weapon swings
    • Setting the opacity of a character (used for getting summoned into other worlds, dying, etc)
    • Setting attack aim tracking speed of a character
    • Playing a "RumbleCam" file (relative screen movement e.g. Smough's footsteps shaking screen)
    • Playing additional animation layers (e.g. all of Gwyn's animations have events to play his clothes-blowing-in-wind animation layered on top of the other animations)
    • Adjusting model render masks (showing/hiding specific parts of characters)
    • Many more that we haven't even figured out yet.
  • Shows an actual physical graph full of events represented as boxes.
  • Snaps to 30-fps increments just like the vanilla files do.
  • Allows you to add new events to animations by right-clicking (if a template is loaded).
  • Allows you to delete events by highlighting them and pressing the Delete key.
  • Allows you to modify the parameters passed to each event (click an event to highlight it, then the parameters appear in the pane on the right side of the window)
  • Has full undo/redo functionality with Ctrl+Z/Ctrl+Y
  • Has full copy/paste functionality:
    • Ctrl+C: Copy
    • Ctrl+V: Paste at Mouse Cursor
    • Ctrl+Shift+V: Paste In-Place (keeps original start/end times, useful for copying between animations)
  • Edits the .anibnd or .anibnd.dcx files of the games directly. No need to use BND rebuilders.

User Instructions:

  1. Run application.
  2. Go to File -> Open
  3. Load a .anibnd or .anibnd.dcx.
  4. Select an animation ID on the left pane
  5. Drag some events around or otherwise mess with things (try the bottom-right pane for editing the highlighted event)
  6. (Optional) Play with the model/animation viewer pane on the top-right.
  7. (Optional) Play with the options in the menu bar.
  8. Hit Ctrl+S to save.

Breakdown of Game Support:

Game Edit Support Events Mapped / Identified Anim Viewer Support
Dark Souls: Prepare to Die Edition Yes Lots of them Yes
Dark Souls Remastered Yes Lots of them Sort of*...
Dark Souls II No No No (Never)
Dark Souls II: Scholar of the First Sin No (may change in the future) No No (Never)
Dark Souls III Yes Lots of them Yes
Bloodborne Yes No Yes
Sekiro: Shadows Die Twice Yes Lots of them Sort of*...
* For DS1R and Sekiro, you must do a slow and annoying downgrade process. See Version 2.0 changelog for more info.

System Requirements:

Special Thanks

  • River Nyxx - General .TAE file structure.
  • TKGP - Made some discoveries about the TAE format + made SoulsFormats, which this application depends on greatly.
  • Pav - Tons and tons of TAE events mapped across all the games.
  • Katalash - Much help with animation file understanding.
  • PredatorCZ - Reverse engineered Spline-Compressed Animation entirely.
  • Horkrux - Reverse engineered the header and swizzling used on non-PC platform textures.
  • StaydMcButtermuffin - Many hours of helping me write and debug the shaders + reversing some basic Dark Souls 3 shaders to aid in the process.

Libraries Utilized