The previous approach was moving towards having each attribute on a
locus do multiple different things, depending on context, and I think
that was headed towards being a mess.
This idea is to have actual locus objects be dumb containers, and have
various wrappers that call methods on the attributes to do interesting
work.
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.
This is all the Pokémon data except moves and held items, which need to be
ripped separately for all Pokémon.
Note that Cosplay Pikachu and friends are technically in the Undiscovered egg
group, but egg groups are a property of PokemonSpecies so i can't represent
that here.
English names only for now. Still need to add names for old default forms,
e.g., Hoopa Confined.
Still need to regenerate the order columns.
Looks like pokemon_form_generations and pokemon_game_indices haven't been kept
up to date, so i guess i'll have to update those too.
Updates #141.
Went though the table docs and noted which tables have ids that correspond
to game ids, and explained why we sometimes have ids in the 10000s.
Since docs attached to id columns aren't displayed in the web documentation,
these edits all go in the class docstring, and i took the liberty of deleting
the id column docs from every table i touched.
Also: added some words about how to get to the species from pokemon and
pokemon_form.
Also: note that item flags are not official (they are a holdover from
brownkun) and item pockets are sort of kind of official (they originated from
D/P i believe, but i'm not sure how we've been assigning them for newer items).
Pertains to #99.
COPY FROM FILE requires database superuser permissions,
because of the obvious security implications.
COPY FROM STDIN has no such restriction.
Also do some cleanup while we're here.
The following locations have multiple areas, which have been assigned
placeholder names (Unknown Area ###).
- Frost Cavern
- Glittering Cave
- Reflection Cave
- Terminus Cave
- Victory Road
No horde encounters because i'm not sure how we want to represent them.
No swarm encounters because they aren't in the normal encounter data.
Fixes#146.