Shell 0.01%Smalltalk 0.27%C# 97.40%F# 0.02%XSLT 0.19%Batchfile 0.01%HLSL 1.68%Rich Text Format 0.41%
dsanimstudio's Introduction
Basic User Instructions (Unpacked Game):
Run application.
Go to File->Open
Load a .anibnd or .anibnd.dcx.
Enter the information required, such as game executable, ModEngine folder (if applicable), etc.
Select where the unpacked ANIBND should be saved (the "project directory").
Select an animation ID on the left pane
Drag some events around or otherwise mess with things (try the bottom-right pane for editing the highlighted event)
(Optional) Play with the model/animation viewer pane on the top-right.
(Optional) Play with the options in the menu bar.
Hit Ctrl+S to save.
Make sure your game is setup to load the edited loose ANIBND file. This is more of a general Souls modding thing that is too specific to cover here.
Basic User Instructions (Packed Game):
Run application.
Go to File->Open From Packed Game Data Archives...
Enter the information required, such as game executable, ModEngine folder (if applicable), etc.
Select which ANIBND/CHRBND you would like to use.
Select where the unpacked ANIBND should be saved (the "project directory").
Select an animation ID on the left pane
Drag some events around or otherwise mess with things (try the bottom-right pane for editing the highlighted event)
(Optional) Play with the model/animation viewer pane on the top-right.
(Optional) Play with the options in the menu bar.
Hit Ctrl+S to save.
Make sure your game is setup to load the edited loose ANIBND file. This is more of a general Souls modding thing that is too specific to cover here.
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.
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
Lots of them
Yes
Sekiro: Shadows Die Twice
Yes
Lots of them
Yes
Elden Ring
Yes
Lots of them
Yes
* For DS1R/Sekiro/Elden Ring, an animation downgrade process is no longer needed.
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. He also helped me understand Sekiro and Elden Ring shaders for the new versions of the application.
Libraries Utilized
A slightly modified version of TKGP's SoulsFormats library, currently just included in this repo instead of its own thing.
An edited version of MonoGame Framework where I added support for newer texture types.
A small portion of HavokLib, specifically the spline-compressed animation decompressor, adapted for C#
A small portion of Horkrux's copy of my fork of Wulf's BND Rebuilder, specifically the headerization and deswizzling of PS4 and PS3 textures, adapted for C# and modified to load the texture directly into MonoGame instead of save to a file.