Probably breaks a thing or two... time to get testing after this new
commit.
Wrapping the stored 'savefile' into an object which handles its use
allows a clearer separation of function and easier maintenance or future
updates.
May eventually move all get/sets for each form to allow property
fetching from any window, all logic handled within the class.
There's a few ways to finish implementing, as the program needs a way to
access Trainer Information on the fly. Quick and dirty way is to add new
global variables and set them when a save file is loaded, and a cleaner
way would be to move the 'savefile' variable into the sav class and do
all accessing from there.
Not yet decided on which. For now, the added items and code still do
nothing.
Eggs cannot have memories, and have all edits disabled.
When a pk6 is saved, memories will be cleared if they should not be
present.
Fixed empty regions showing up with data
Fixed not being able to edit the first georegion for an untraded Pokemon
All lock-outs for editing should be correct now.
Same functionality as the previous commit's adding of Max/Min stats for
IV/EV; this one should be easier to do (Control click the textbox to
max, alt to minimize/zero).
Removed SavePKX / OpenPKX; they are only used inside one method and
don't need to be persistent.
Control to modify IVs, Alt to modify EVs
Left click to set to 31 (or max remaining EVs)
Right click to set to 0.
Feels much better with the Key being the IV/EV switch, not the
left/right click (for left/right column editing).
Think of it as L(oad)/R(eset) 👍
Remove numerous inter-form dependencies, remove hard-coded offsets,
update a few spots to use better programming practices.
Should increase the readability of PKHeX's source code.
Played around with a few solutions, was happiest with (the probably
slower) linq as I didn't feel like using regex.
Supports copy/paste as all the filtering is done when the text changes;
any successful update will refresh the value in the save file.