Added an Edited property for the save
blank slot (encrypted) is initialized once and can be used elsewhere
instead of constantly being recreated for no reason.
Fixed having 32 boxes for non-saves
All SAV editing forms now set the Edited flag when saving->close.
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.
Removed unneeded picturebox array (duplicate of slotpictureboxes)
Removed temporary variable 'picturebox', just straight up compare to
null.
Deleting now instantly sets the picture to null, instead of generating
the image. (might not have been the best idea if I somehow decided to
change slot filling)
Empty slots now instantly return null (empty) for their image instead of
doing layering.
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.
'pkx' array was dummied out, resulting in the pk6 data not receiving the
party stats for writing.
Old bug: Having a Moveset with 1--4 (gap of two) would only remove one
of the blank move slots. Added method in the PK6 class for the (now
correct) fix-code; other fixes that are done when saving are now done in
separate methods as well.
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) 👍
Can't find any more problems; found an existing bug when opening the
Memory editor where it did not fetch the current Friendship or set the
final Friendship back.
Introduced the fully editable PK6 class object, which is now used by
PKHeX's pk6 editor, as well as updated the Box Data Report. Readability
should be increased as no
Includes bug fixes:
Odaxis' report regarding Event Flag Editor
Showdown sets using "Trait" instead of "Ability" (old old style) now can
be read.
Imported showdown sets will not use the imported gender label (instead
uses the current style, same 'value')
If the user were to set to the last slot, the setParty method would
trickle the data down, but the getQuickFiller would then make a sprite
appear in the slot it was trickled from.
Since setParty refreshes the party sprites, there's no need to do it for
anything but a party slot.
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.
I should really just remove this filetype as it is nearly 2 years old
and no new data can be obtained. I'm unsure if buff gets resized so this
will only copy as much data as is required to load the PKX.
Trade Packets: Actually load to the stored array and populate instead of
doing nothing.
boxdata/pcdata/BattleVideo: Sets the Pokédex flags.
BattleVideo: Widens the form on load like the other box-import methods.
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.