formInitialized is for closing the splash screen and showing the main
form.
fieldsInitialized is for setting up and not running updates until fields
are ready to be updated.
Arceus is now the initial species instead of language dependent
(Abomasnow).
No longer short circuits to true when loading a blank file on startup.
Accomplished by storing the old value, temporarily setting to false and
then setting back when finished.
Thanks AibotNya for bringing this to my attention!
No functionality is changed; just clearing up some mud.
(306 is to allow 10px on each side of the tab control)
Allows it to be easier used by comboboxes; SelectedValue = (byte) does
not work.
Instead of having these cast to int whenever used, this way is more
preferable.
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.
Friendship and Affection are still not modified.
This may cause an issue with users who edit mons with their OT as
current handler and set friendship to 255, and the program makes the HT
with 0 friendship.
Can't really code in an alert as it'd be an annoyance for users. Gotta
think about it more :)
When initializing with a zero-byte array (ie, starting the program and
just having blank data), the box/party have specific offsets.
Also got rid of the silly default switch cases which can just be
achieved earlier.
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.
This makes it so that the program can turn off these methods for every
instance unless the implemented method explicitly says otherwise.
Nullable boolzzz
Properly init offsets for inventory, and fix for genderless bit writing.
ORAS PokeDex editor does not save bools for the current entry when
closing the form; fix will be provided in a later commit.
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.
It might be wise to just ball up all the results (as decrypted) to speed
up form loading (by just having to read one file instead of >1000 at a
time).
Maybe just scoop up all the files into the database and filter dupes,
but no way to remove stuff....
Indicator will now tell the source of the file last viewed
Focus fix pairs with the main form adding the focus argument to the
method; the window will no longer lose focus (ie, pass focus to the Main
form)
I don't have TradeFriendshipAffection called by anything; or any of
these methods for that matter. Need to find a solution so that the user
can turn ON/OFF these types of modifications (and ensure that PKHeX
doesn't overwrite any user data).