Rickzzs Posted February 9, 2023 Share Posted February 9, 2023 I. Introduction As we all know, Don't Starve(DS) and Don't Starve Together(DST) animations are composed of 3 parts, each being separated: anim.bin, build.bin and atlas-0.tex. But it is very usual than the layers in anim.bin does not match those in build.bin and atlas-0.tex. While there is no immediate tool to solve this problem, there are two indirect methods. II. Tools 1.autocompiler.exe It can be found in Don't Starve Mod Tools. You can find it in Steam's library or Github (maybe not up to date) or this forums. All other tools can be found here (my platform is Windows 10 x64, I have only tested them myself): https://forums.kleientertainment.com/forums/topic/142963-tool-some-animation-tools 2.Klei Anim You need animc.exe and animd.exe. There is an alternative in case you can't run the two applications. For decompiling, use python2 script deanim.py and debuild.py. For compiling, use enanim.py. However, the author of these scripts did not write a compiler for build.xml, the work is then done by buildanimation.py at C:\Steam\steamapps\common\Don't Starve Mod Tools\mod_tools\tools\scripts\. Python2 is already included in Don't Starve Mod Tools. 3.Notepad A text editor of any kind, like Notepad++, Notepad3, VS Code. 4.Ktools You need krane.exe to extract animation. 5.TEX tool or something that can view atlas-0.tex, not necessary. 6.Spriter III. Find Files In DST, most animation files are in C:\Steam\steamapps\common\Don't Starve Together\data\anim\, the same with DS. There are two exceptions with DST, DLC contents go to \anim\dynamic\ and \databundles\anim_dynamic.zip\anim\dynamic\. Most DLC contents are encrypted into an unextractable file *.dyn, but non-DLC contents are just an archive renamed to *.dyn. Therefore, wilson.dyn(aka. wilson.zip) can be extracted into some atlas-0.tex while wanda.dyn can't. There are some simple rules to name a file. The most obvious way to name a file is to name it the same as its prefab, like spider.zip. Next there can be some suffix like spider_basic.zip, spider_build.zip, spider_wolf_build.zip. Otherwise you can just open scripts\prefabs\*.lua to see how many animation files are registered, and the same with every other related prefabs. This may not be enough sometimes. IV. Decompile build.bin Extract each of *.zip to a folder, for each build.bin, decompile it into build.xml. Open build.xml and you see a lot of <Symbol> like Quote <Symbol name="swap_object"> <Frame framenum="0" duration="3" x="9.25" y="-48.2999992" w="73" h="306" /> <Frame framenum="5" duration="1" x="6.89081717" y="-55.9839592" w="59" h="236" /> <Frame framenum="6" duration="1" x="17.0354004" y="-54.4175987" w="85" h="263" /> <Frame framenum="7" duration="1" x="18.125" y="-53.375" w="104" h="259" /> <Frame framenum="8" duration="1" x="7.08941984" y="-131.259201" w="112" h="288" /> </Symbol> Your task is to collect these <Symbol> from all the build.xml. If <Symbol> name collides, you can decide on your own which image you want to see according to those atlas-0.tex. Say you get a new build.xml loaded with all <Symbol>, and a <Atlas name="atlas-0.tex" />(This is required for krane.exe to proceed without error). Compile this xml into bin file. Now you get a new build.bin. If you use animc.exe just compile it together with any anim.xml. If you use buildanimation.py, make sure you do it correctly because I didn't try that way. V. Extract Images krane.exe demands anim.bin, build.bin and atlas-0.tex, so you need to fulfill it in order to get all images. The only thing you need to ensure is that anim.bin covers all layers in build.bin. Any of such anim.bin is capable. Or you can easily decompile and edit anim.xml and compile to create one. Say you have every atlas extracted. Now gather all image folders. VI. Extract Animation krane.exe demands anim.bin, build.bin and atlas-0.tex, so you need to fulfill it in order to get all animations. Use new build.bin that contains all layers. Use any atlas-0.tex. Say you get many *.scml, gather them (and rename them). VII. Clean Workspace In the above two steps krane.exe has generated many unwanted files. Just delete them. VIII. View them in Spriter Open *.scml in Spriter. Method2: IV. Extract Image krane.exe demands anim.bin, build.bin and atlas-0.tex, so you need to fulfill it in order to get all animations. The only thing you need to ensure is that anim.bin covers all layers in build.bin. Any of such anim.bin is capable. Or you can easily decompile and edit anim.xml and compile to create one. V. Gather Images Say you have many Spriter projects, open *.scml and gather <folder>. If folder name collides, you can decide on your own which image you want to see according to those images. Make sure <folder>'s id is unique. Meanwhile, gather images according to folder name. VI. Compile to build.bin Say you have a scml file with all folders included. Use autocompiler.exe to compile the Spriter project into a zip with anim.bin, build.bin and atlas-0.tex. VII. Extract Animation The new build.bin and atlas-0.tex contains all layers. Use them to extract anim.bin via krane.exe. VIII. View them in Spriter Open *.scml in Spriter. 1 Link to comment Share on other sites More sharing options...
Games2play Posted February 14, 2023 Share Posted February 14, 2023 (edited) I'm having issues decompiling the build.bin files, how do you use the animd.exe? edit: nvm figured it out Edited February 16, 2023 by Games2play Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now