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. 2 1 Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/ 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 https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1620884 Share on other sites More sharing options...
Nolli_Ds Posted September 8, 2024 Share Posted September 8, 2024 Hello i extract nightmarefuel from game and when i downoload the gif its all black not transparent what can i do? Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1746518 Share on other sites More sharing options...
Rickzzs Posted September 8, 2024 Author Share Posted September 8, 2024 3 hours ago, Nolli_Ds said: Hello i extract nightmarefuel from game and when i downoload the gif its all black not transparent what can i do? The transparency is written in code, not animation. inst.AnimState:SetMultColour(1, 1, 1, 0.5) Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1746546 Share on other sites More sharing options...
Nolli_Ds Posted September 8, 2024 Share Posted September 8, 2024 1 hour ago, Rickzzs said: The transparency is written in code, not animation. inst.AnimState:SetMultColour(1, 1, 1, 0.5) so how can i get transparent nightmarefuel gif? Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1746553 Share on other sites More sharing options...
Rickzzs Posted September 9, 2024 Author Share Posted September 9, 2024 11 hours ago, Nolli_Ds said: so how can i get transparent nightmarefuel gif? just make the images transparent. Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1746655 Share on other sites More sharing options...
HighFlyinMayan Posted November 21, 2024 Share Posted November 21, 2024 This is a gem thank you for the comprehensive breakdown. By chance, can this process be used to extract ONI and Rotwood animations as well? I’ve decided not to continue waiting on klei to release a Rotwood Press Kit to their official website and have been compiling one of my own for the wiki, this described process would prove incredibly useful towards my goal if it is indeed backcompatable. Otherwise is there a separate walkthru you could provide? thanks again, mayan Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1758178 Share on other sites More sharing options...
Rickzzs Posted December 2, 2024 Author Share Posted December 2, 2024 On 11/22/2024 at 6:37 AM, HighFlyinMayan said: This is a gem thank you for the comprehensive breakdown. By chance, can this process be used to extract ONI and Rotwood animations as well? I’ve decided not to continue waiting on klei to release a Rotwood Press Kit to their official website and have been compiling one of my own for the wiki, this described process would prove incredibly useful towards my goal if it is indeed backcompatable. Otherwise is there a separate walkthru you could provide? thanks again, mayan Rotwood has different organization with binary files. Unfortunately you must change something to decompile rotwood's animations and images. You may want to consult people equipped with the technique of decompilation, aka. who invented ktools, ztools, etc.. 1 Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1767005 Share on other sites More sharing options...
HighFlyinMayan Posted December 3, 2024 Share Posted December 3, 2024 16 hours ago, Rickzzs said: Rotwood has different organization with binary files. Unfortunately you must change something to decompile rotwood's animations and images. You may want to consult people equipped with the technique of decompilation, aka. who invented ktools, ztools, etc.. Thank you, I've managed to dip the big toe into ONI extractions recently, perhaps this combined with your suggestion will prove a desirable solution Link to comment https://forums.kleientertainment.com/forums/topic/145978-tutorialhow-to-fully-extract-animation-with-all-layers/#findComment-1767471 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