Skip to content

Releases: thefifthmatt/ESDLang

esdtool v0.4.1

09 Nov 01:00
Compare
Choose a tag to compare

Major bug fix for v0.4 (see v0.4 patch notes) which fixes compilation in all games. There are no changes to decompilation, so any decompiled files can remain as-is, but they will need to be recompiled with v0.4.1 if previously compiled with v0.4.

This is a community tool which only exists because of the hard work of many volunteers. Documentation and naming contributions are greatly appreciated. Do not intentionally obfuscate game files produced by this tool. Thank you.

esdtool v0.4

07 Nov 20:22
Compare
Choose a tag to compare
  • Full support for Elden Ring and AC6, including adding many names for commands/functions.
  • Partial support for Demon's Souls, decompilation only.
  • New JSON documentation format which incorporates args/enums from ESDStudio XMLs, thanks to Gomp and ESDStudio contributors. As a result, decompiled files will now use the same enums and names as ESDStudio, or in the case of updated names, they should be backwards compatible (this may require some tweaks). The idea is that functions and bank 1 commands could be shared between editors, including any editor-specific metadata. Corrections and suggestions are welcome! See ESDLang/Doc/ESDDocumentation.cs for more info.
  • Readability improvements: in addition to enum support, there is a feature to remove redundant equals checks, so GetEventFlag(50) == FlagState.On is becomes GetEventFlag(50) and (IsPlayerDead() == False) == True becomes not IsPlayerDead(). I have determined from reverse engineering that all functions eligible for this only ever return 0 or 1, but if you prefer it can be disabled with -nosimplifybools.
  • All dialogue in a conversation is added when decompiling, with one line per adjacent TalkParam row. Use -nodialogue for the previous behavior of only the first line of dialogue.
  • Adding extra ESDs to bnds works finally. The feature previously did not work because they were incorrectly filtered out after they got compiled.
  • New mod directory argument -moddir which can use data from mods when decompiling.
  • The drag-and-drop interface uses a file selection dialog rather than pasting in file paths, and more modes are now supported, including launching esdtool.exe directly, which copies files into a mod directory and then decompiles them.
  • Update the parser from Python 2 to 3. This should have no effect.
  • Migrate to SoulsFormatsNEXT, though I haven't figured out a good workflow for submodules yet.
  • Read the correct regulation file from DS2.

This is a community tool which only exists because of the hard work of many volunteers. Documentation and naming contributions are greatly appreciated. Do not intentionally obfuscate game files produced by this tool. Thank you.

esdtool v0.3

03 Apr 13:59
Compare
Choose a tag to compare
  • Support for Elden Ring talk ESD with tentative command names
  • Support for DS2 AI ESD with translated command names and EDDs
  • Drag-and-drop to compile and decompile
  • Add unused states to decompilation output by default (configurable option)
  • Misc language features like SetREG verification, pass block support, automatic conditional commands

esdtool v0.2

17 Sep 04:39
Compare
Choose a tag to compare

DS2 support, with annotation improvements (comments and EDD), better writebnd behavior, and misc fixes.

esdtool v0.1

27 Jun 23:28
Compare
Choose a tag to compare

Initial release