Fixed reported bugs by Wanderer1391; found a bunch more as a side effect
of refactoring. Didn't like how so many values were hard coded so I
moved them all into the SAV6 class for easier r/w.
Re-enabled the Map Coordinate editing for non-ramsavs.
Updated the Map Coordinate display to the ingame coordinate style (using
NumericUpDowns), the coordinates for player.X and player.Y are divided
by 18 to get the current cell coordinates.
Shift click setting is not accessible without the hotkey, not going to
add it as a Right Click Menu.
Main had to expose more methods (to access info from tabs); standardized
all references to the database path as well.
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.