I fixed the crash I reported a few days ago:
I'm not 100% sure why it was an issue in the first place, but one of the characters must work a little differently than others, so substituting animations broke something.
Remember last week's blog post? Turns out it causes a crash during the final boss battle. I'm working on fixing it, and everything should work fine until the final boss battle, but everyone should be prepared to recreate any starter modification projects made since I announced the new feature:
It has something to do with substituted animations, and that's all I know. No idea why this is an issue yet.
User-friendly interface over vague, impossible-to-guess-without-documentation step
I have a new build of Sky Editor's ROM editor available that adds some fun new features. First up is the new wizard you can see above. This should make the whole process more user-friendly (I hope). At the time of posting, there is a glitch where the Finish button won't be enabled when the extraction is complete, but this can be worked around by clicking Back then Next. The second feature is the addition of PSMD substitute animations in the starter project that was hinted at 2 months ago and showcased in the Mystery Dungeon Hacking club. The demonstration shows major spoilers, so if you haven't played the game, you should not follow this link here.
As always, please let me know what you think or if you encounter any issues.
Yesterday, I managed to extract models and animations from pokemon_graphic.bin, so they can be viewed with standard 3DS model viewers. Today, I did the next logical step, and wrote code to change these animations. Observe:
I don't have special builds ready just yet, but if you're a developer who's anxious to make changes, I have some sample code here. (That link might be dead if you're reading this a week or so after this post was published.)
Since the release of Pokémon Super Mystery Dungeon, it has been unknown how a proprietary archive file called FARC linked filenames to files. It functions like a hash table, where the game gets a filename somehow, does something to hash the filename, then corresponds that with a file. Until recently, the somehow and something have been unknown. Editing files in these archives required either putting up with the lack of filenames, or somehow knowing which filenames corresponded to which hashes. A little over a month ago, I discovered the something was a simple CRC32 hash. While I previously tried this hashing algorithm, I was unaware that in the files I was testing, the somehow involved appending a ".bin" file extension to the end of a file. While it is not possible to determine the filenames of files, it is possible to infer filenames from other parts of the game, and use coding and algorithms to match them to the appropriate file. Knowing how to do this makes it possible to do so much more with Pokémon Super Mystery Dungeon.
The first practical application of this was updating Sky Editor's starter editing project to replace placeholder Pokémon portraits with the default emotion. This makes it so that when one plays the game as a non-standard starter, the game no longer shows emotions like surprised without the face of that Pokémon.
The next practical application that is planned is to start substituting certain story-related models. For example, right now, when a non-standard Pokémon sleeps in a bed, the default attack animation is used instead. The player Pokémon just can't get a good night's sleep apparently. I hope to change that soon by substituting that animation with the sleep animation used in dungeons. If model behavior in Ohana3DS is any indicator, things should work out well. That is as long as the correct animation is used. Things can get amusing if the wrong one is used:
A Zorua, using Riolu's walking animation
While seeing this in-game will take more work, I've have a new build of Sky Editor that comes with support for extracting pokemon_graphic.bin with all the filenames. This is only useful for researchers or those who want to play around with models with Ohana3DS or SPICA or something. Basic instructions can be found here, and look for the new PsmdPokemonGraphicsProject project, which can repack the pokemon_graphic.bin file for anyone who's brave enough to try manual model edits. Download it here.
[Edit] Updated the build link to fix a memory leak. I don't think I mentioned it before, but you'll need 1-2 GB of free RAM because using all the RAM makes things go like 10x faster. I didn't do any actual measurements, but that's what it feels like at least.
For about 8 months, the latest build of the ROM editor had a fatal error in the patcher, used when building a ROM from a project. I put off fixing it because it required updating and cleaning up all of the ROM Editor's dependencies, but today I finally got around to it. Look here for the Usage Guide, which should work with the latest version.
Download (Build 53)
I have a new development build of Sky Editor ready. Since Build 33, the following changes have been made:
Add: UI for editing held items in Friend Rescue
Add: Controls for parameters for adding new items are enabled or disabled as appropriate
Fix: New held items aren't saved
Download (Log in as a guest if prompted)
There's a lot that needs to be done before the next version of Sky Editor can be fully released. However, I intend to keep releasing development builds until then. If there's a particular feature you'd like to see in a development build, please vote in the poll or leave a comment below.
I'm working on releasing a new version of Sky Editor at some point. I currently have no ETA, because the new version will come with a pretty heavy refactor, and things are currently a bit unstable. However, I have a development version ready for anyone who wants to try the latest features.
This version (Build 33) comes with the following enhancements to inventory management for PMD: Explorers of Sky save files:
View and Edit the stack size of stack-able items like sticks and rocks
View and Edit the contained item of a box
View and Edit what a Used TM used to teach
Disclaimer: Back up your save files before using this. This may corrupt saves for PMD: Explorers of Sky, and this will corrupt saves for PMD: Red and Blue Rescue Team and PMD: Explorers of Time and Darkness. Use this at your own risk.
Download (Log in as a guest if prompted for login)
If you encounter any problems, please let me know by commenting on this blog post, opening an issue on GitHub, or by sending me a PM.
Project Pokémon now has blogs. As the creator of Sky Editor and admin of Project Pokémon, I've moved the Sky Editor blog to Project Pokémon.
I'm currently rewriting the save editing library in C# so I can finally move away from the PCL project towards a .Net Standard project that can target both .Net Standard and the .Net Framework. I tried the lastest VS2017 preview which supposedly supports Visual Basic in .Net Standard; however it lacks understanding of basic VB features such as the "vbCRLF" constant and inferred variable types The advantage of multiple framework targets is that any .Net Framework applications that reference SkyEdtior.SaveEditor will no longer have to carry around all of those those .Net Core DLLs. Last week I introduced this same change to PKHeX, and so far it's working well.
After rewriting the save editing library, I'll likely keep the WPF UI in VB. I do, however, intend to touch some things up, perhaps finally getting around to adding item management features such as editing what's inside of a Box, or what a Used TM used to be.
As always, please feel free to suggest new features, since I'm more likely to prioritize suggestions.