add german forme names
truncate some forme names
fix nidoran gender symbols
adds null check for invalid (caught error) pkm
disables accessory giving (needs more research)
Adds game names for languages other than english
adds z crystal sprites for held items
temp-fixes chinese pkm names (need manual translation for the new
species)
remove newline at eof
toggle back on legal item lists, add assumed Key Item list
differentiate duplicate item name strings (-arizers)
a little bit hacky but exposes the values well enough.
moves the coins entry to the Badges groupbox, and makes it visible
looking like a BP editor (lol)
thanks @sora10pls for finding the offsets!
(blockinfo array isn't really used, is sorta just there for
documentation...)
closes#1550 , mgdb/pkmdb throw unconverted files which need conversion;
move main file load conversion to a reusable method and have pkmeditor
call it on every load.
add skip argument to ignore the conversion check (ie if the file is
loaded from an undoubtedly same type source).
PreparePKM had the opportunity to be recursive (preparation ->
validating*N -> preparation*N), lock out preview sprite updating (which
calls PreparePKM via Main.cs) while validating all controls
remove uncallable paths (format is checked prior, and checksum check is
never called as fieldsInitialized is forced false)
move gui toggling to loading methods when appropriate
pkm is not restricted from ORAS (etc) values when on an XY (etc) save
file; use the save file maxes and indication values.
no reference to the pkm anymore!
Closes#1546
existing code cloned the savedata reference to a new array, and didn't
copy back
the Roamer3 reader/writer does all the r/w, and writing only happens
with the setter when the form is called to Save.
Thanks TheRealAlphA!
natures (>25) are invalid and causes IndexOutOfRangeException due to
being greater than the length of the array.
sanity check array length and amped stat prior to applying amplification
Closes#1515
extract pkm loading routines to smaller methods
reduce code duplication (rely on empty setters to ignore some calls)
should be much easier to understand the load/save process; the original
setup (pk6) was following the structure from 0x00-end, no point still
doing that as everything is now abstracted.