In Emerald, the box behind the mapname is themed. It looks like wood sometimes, or stone othertimes. Add in the palettes, background graphics, outline graphics, and the mapping data that connects each map name to its theme.
Note that the theme table starts out just like the map name table, but then skips 109 elements (the kanto maps) before putting on the last 16 elements. Because of this, the last 16 elements are mislabeled, and actually refer to the last 16 maps, not the first 16 Kanto maps.
When upgrading TOML and a table length changes, observe the anchor instead of just observing the run.
Upgrade tests need to verify that no tables are missing.
Move items.stats to the top, since lots of other tables depend on it and it doesn't depend on other tables.
LzTilesets need to create LzTilesets when duplicated (matters during upgrade, since duplication is used to change the palette hint.)
Add DebugDictionary, a DictionaryDecorator (thanks Autoimplement) that makes it possible to observe when an element is removed from a dictionary.
Change the name of the "moveeffects" list to "moveeffectoptions". This is to avoid colliding with the previously expected name "moveeffects" in the tableReference file, which is the old name of scripts.moves.effects.
In the Upgrade Tests, verify that all the names in the fresh list exist in the upgraded list. It's ok if there's some cruft names in the upgrade list that don't appear in the fresh list.
the movement enum is different between FR/LG and R/S/E.
To support this, add default.*.toml files which include extra defaults specific to one or more games. Right now, only a single list is there. But this feature should allow for more interesting game-specific defaults in the future.
I was considering making a feature that allowed for custom-width bit arrays. But right now this is the only data that would use it, so let's take a shortcut for now.