Allows for dragging between boxes
Pop up via shift-click Box tab
Click the swap arrows to flip Main/Viewer current box
Fixes swallowed exception: DragDrop a slot (filename), start another
within 500ms before deletion thread deletes original dragdrop file;
since filenames are the same the file for the active dragdrop will no
longer exist resulting in an exception. Solved by tracking the current
path of a dragdrop operation.
Had to refactor the draginfo into its own class to 'cleanly' communicate
between forms.
Line 2211:
When the fields are loaded, if the user modifies the Ability on a <=Gen5
save file, if the ability is modified, the PID will be randomized to fit
the new PID.
When the Ability combobox is loaded, the personal entry may have 0 for
the ability2 (indicating same as ability1); if so, copy ability1 instead
of filtering it out.
When the Ability index is loaded, hidden ability is checked first, else
it tries to match: invalid, hidden (unflagged=illegal), if abilities
same use PIDAbility, else use the actual ability index.
When the dragdrop succeeds to a location outside the program, the effect
is Move.
When the dragdrop succeeds to another slot, the effect is Link.
When the dragdrop succeeds to Tabs, the effect is Copy.
When the dragdrop fails, the effect is None.
Set cursor to slot sprite and 'pick up' the image, restore if not moved.
Drag&Drop GiveFeedback overrident to false to prevent the 'dragdrop'
cursor override.
Set the tabmain effect to Copy instead of Move so that everything
behaves!
SAV6/SaveFile: Not use Skip.Take.ToArray() for data accessing,
drastically speeds up pcbin importing and misc data reads
Checks: Indicate GeoLocation MEMORY as illegal, was confused with the
PKM's origin geolocation data.
Main: Reorder buttons so the less used buttons are at the end. Fix
button view bugs:
Visible check doesn't function on load as the entire form is not yet
visible
BerryField button appears for ORAS but has no function (all
randomization is in PokeBlock), so only show for XY.