SPICA
SPICA copied to clipboard
Multiple Animation Export (DAE - Pokemon)
Pokemon Motivations
This began with attempting to export multiple animations using spica. This kind of operation was not possible. The following code aims to make multiple animation export possible for at least pokemon sun moon models. Through great community effort, most file locations are known. Knowledge is a bit scattered over the internet. Hopefully this concatenation of information in executable form is helpful to more than just myself.
Target features
- [x] adjustable CLI tool for exporting without the need to render a UI
- [x] include frame start-end numbers for the animations that were exported
- [x] exported files compatible with unity3d

dev note
I hope that it is obvious that this is still a work in progress, but since it is already working and doing what i need, i think it is time to open up for discussion to see if it is possible and/or worthy to merge into the main codebase.
todo list
- [x] gather all modder notes in a single place
- additionally attach links for the other 3rd party software
- gather garc 0/9/4 model-bin map from community
- [x] export multiple animations
- [x] support UI operation for multiple animation exports
- multiple animation selection support
- [x] create CLI operation for exports
- incorporate garc 0/9/4 model-bin map as a text lookup
- [x] include animation frame ranges txt file on export
- ~~refactor manipulations to
Daegeneric class~~- ~~discuss if the anim concatenation is generic enough for the dae base class. i already know that the motion name lookup is too specific. Perhaps there is more to consider here. potentially create
PokemonDae : Daewhich will truly isolate the functionality to just pokemon sun moon~~
- ~~discuss if the anim concatenation is generic enough for the dae base class. i already know that the motion name lookup is too specific. Perhaps there is more to consider here. potentially create
- [x] try to fix build by getting dependencies added properly
stretch goals
- ~~support .dae
library_animation_clips~~- (i only care about this if unity supports it)
example of the cli lookup. the converted format is in yaml so that users can easily fix keys by hand if need be. Since the source list was manually written painstakingly over time and by hand, there will have to be manual corrections as well to the machine generated file that the cli aspect of the application can use.
This is going to be super useful. Hope @gdkchan comes back to merge this when it's finished
even though the app compiles and runs just fine locally. the automated build doesn't seem to load the cli parser and yaml parser dependencies to the project. I am not keen on csproj and dependency handling in these .net projects (i am a js python guy myself). I added the packages.config, yet appveyor does not seem to ever run a nuget command. (when ctrl+f the page)
Hope to see this finished soon, really difficult to batch export animations.
It does currently work @Skeeve2 :) I've exported many models with their textures and animations using the cli version.
Once you have the dependencies from this commit; which i installed using nuget, then it should work.
Just wanted to say this was really helpful!
How do I download it?
How do I download it?
You are supposed to build it, but here is a link that is good till Friday 2021-07-30
https://www.dropbox.com/sh/xcm9rt021b8d74p/AAAjMJ5BrhsOYDvf-UuYSphga?dl=0
Okay, thanks!
It has been four years and people still email me for the build lol I'll send it cause I love Pokemon, but it would be more expedient for people if someone here knew how to fix the appveyor build and could merge this? Pretty please?
@Wambosa hello. For CI builds, you may need pre-scripts to download nuget packages, I have forked your repository to test the build process.
The following is the content of the pre-script
cd **sln-dir**
nuget resore
in Build

Thank you @Haleclipse! Your findings make complete sense!
Only, I do not appear to have access to the underlying settings in appveyor When I log in, my dashboard is completely empty. And when I attempt to visit any of
https://ci.appveyor.com/project/gdkchan/spica/builds/25886830
https://ci.appveyor.com/project/gdkchan/spica/builds
https://ci.appveyor.com/project/gdkchan/spica
all of them just redirect me to a login page; Which I have already authenticated with and can change various other personal settings about appveyor, but no access to this project itself on this branch where the build is failing.
Okay okay, so all this and a few years more experience with ci/cd pipelines has taught me there should also be a way to override the settings from the repo via a config file.
After quickly looking for it, there appears to be a way here:
https://www.appveyor.com/docs/build-configuration/#appveyoryml-and-ui-coexistence

I am not in a position to spend time digging into appveyor's config file novelties, however, this does appear to be a way forward.
My motivation to do it has waned since it appears this repo is not going to accept any additional merges anyways. At least the cli tool does work swimmingly 🤓 even if the ci/cd is busted
Thank you @Haleclipse! Your findings make complete sense!
Only, I do not appear to have access to the underlying settings in
appveyorWhen I log in, my dashboard is completely empty. And when I attempt to visit any ofhttps://ci.appveyor.com/project/gdkchan/spica/builds/25886830 https://ci.appveyor.com/project/gdkchan/spica/builds https://ci.appveyor.com/project/gdkchan/spicaall of them just redirect me to a login page; Which I have already authenticated with and can change various other personal settings about appveyor, but no access to this project itself on this branch where the build is failing.
Okay okay, so all this and a few years more experience with ci/cd pipelines has taught me there should also be a way to override the settings from the repo via a config file.
After quickly looking for it, there appears to be a way here: https://www.appveyor.com/docs/build-configuration/#appveyoryml-and-ui-coexistence
I am not in a position to spend time digging into appveyor's config file novelties, however, this does appear to be a way forward.
My motivation to do it has waned since it appears this repo is not going to accept any additional merges anyways. At least the cli tool does work swimmingly 🤓 even if the ci/cd is busted
Although I don't really know how other pull requests get past the build task, and I'm a beginner at this aspect of CI/CD.
But what you said is true, because the settings in the UI panel actually correspond to the appveyor.yml file (see appveyor.yml), but it's strange that others have successfully passed the build without creating this file.
Lastly, I would like to add that the "Details" of the pull request build check below jumps to the login screen after clicking on it because you don't have permission (not the owner)
Thank you for the clear guidance @Haleclipse! That appears to have removed the build error