- Pokémon shapes are now dumped
- Machines were being dumped slightly out of order; they are now correct
- Item price is now dumped correctly
- Identifiers are now computed to match veekun for all Pokémon
- Several bugs with evolutions were fixed
- Shedinja is now special-cased, alas
- Items are now loaded into the db
- Pokémon are now loaded into the db, mostly correctly
Specifically:
- Add support for detecting FLIM format
- Add support for more color formats
- Add a small decoded image type that knows how to write itself out as
a PNG
- Improve ETC1 decoder to work with images whose dimensions are not
powers of two, images with no alpha channel, and images with the
strange FLIM pixel order
- Port the gen 6/7 extractor to Construct 2.8
- Switch to using script tags in language names, to distinguish Japanese
kana from kanji and Simplified from Traditional Chinese
- Drop the load-time merging of kanji and kana
- Add paths to various text files in SUMO
- Add form names for SUMO Pokémon
- Clean up identifiers a bit, especially the distinction between species
and Pokémon
- Use the Pokémon schema type to dump what we have so far, and give it a
couple more fields that didn't exist in gen 1
- Get movesets dumping correctly
- Special-case a bunch of weirdness, where the number of dex sprites
doesn't match the number of models in SUMO
The bulk of the data is in the same format as ORAS, so most of the
changes were just tracking down where files moved to.
The code was a mess, and is still a mess. Oh, well.
- Made pretty good progress on dumping ORAS encounters; remaining work
largely boils down to figuring out names for individual zones.
- Hacked the CLIM decoder to also work with SUMO's slightly modified box
sprite format, FLIM.
- Added a Nintendo-flavored ETC1 decoder; this is the format used for
Pokédex sprites in SUMO.
- Cleaned up sprite dumping a wee bit.
Box sprites are now ripped paletted, complete with an sBIT chunk. Box
sprites are also saved with the right form names. A lot of
name-mangling and error-checking code was pulled out of the binary
parsing stuff and shared between both types of sprites.