ResetBoxes reduce method calls for new blank/setting, just set data.
160ms->4ms
ComboBox Validation calling SelectedText.Length=0 no longer needed 3y
after it was originally added.
268ms->0ms
speeds up main thread by a third of a second (wowww), but the
selectedtext removal makes the program snappier during regular use
(loading/modifying)
Button not visible -> onClick method not called; just call the method
directly.
(import a set on the Met tab via the tools dropdown, with shiny. won't
import a shiny pkm).
Exception thrown due to medium form ("M") getting set to gender, then
screwing with the updateForm method (returning -1 for current form if
the gendersymbols are unicode). Fix both sources of error.
Refresh the image if the team slot indication needs updating
(true->false, false->true), else stay lazy and just set the image.
Could just refresh the image regardless but muh negligible speed
Prefer lowest level wild encounter; expand suggestion for evolved pkm.
Add click event to Current Level (for gen1+ pkm since Met Location not
visible).
Add Nickname CheckIdentifier to change incorrect identifiers in Nickname
check.
Initially populated with a filtered list, was unfiltered when
repopulated for legal moves. Just split legal/illegal, have the main
form choose which one is the stored list.
Remove unnecessary linq for other forms
Have only tested pk1 format so far; there's still a few cases that are
unhandled (move discrepancies between games, trade gifts, event mew,
tmhm).
pls no report bugs unless you are very detailed (include WHY it is
wrong).
use last char of file extension if available. edge case for pk[m]
considered:
pk[m] => 0x6D, -0x30 = 61d, &7 = 5, which prefers 6 instead of 7+ :)
adds a check for transferred pkm not having their CurrentHandler being
flagged as the save file (impossible for a transferred PKM to be still
handled by the OT).
Closes#814 thanks @JortonMV !
Closes#818 thanks @egzonqj !
(both were instrumental in regards to this commit, much appreciated)
Refactors to move the slot image generation per the save file to an
extension method, instead of having 4 methods (2 in main, getQuickFiller
& getSlotFiller, and 2 in box viewer, same names).
Uses the legality marker unscaled in the bottom left corner of the
sprite.
Fielded a few ideas in IRC (a commented-out line that tinted the sprite
red remains in the src), but the folks in IRC preferred the indicator.
When toggling the legality indicator, the box viewer has to be updated
as well as the main box slots.
existing logic put mnuLLegality back into mnuL, causing the getSlot call
to return -1 (not from a box/party slot, ie read from tabs).
new logic should have the intended behavior
Hold Control when right clicking a Box/Party/etc slot to get the
Legality menu item to appear.
Improve the SD card locked check when saving for multiple exception
types.
Use S/M met locations for Pokémon GO origin
Changing to VC1 or GO now autofills met location
Un-alphabetize RGBY games and move to end of games list (+go)
Mark unused region names (Kanto string appears twice in text bank 3,
30013 is used)
Move hypertraining stat toggling to pkm object
shift 1->7 logic to repeat less operations
add more 1->7 logic pertaining to memories
add RefreshAbility method (0 based input, not 1/2/4)
Extrabytes index selection done in setPKMFormatMode
if (visible) is bad, why do I forget? If the control is not shown (ie
another tab) but possible to be visible it'll return false. Use enabled
instead.
Fix blank sav creation for gens 1-3 (data vs Data references, version
overrides)
Fix main form init with gen2 first (check for altform usage like all
other gens)
Use GameVersion specific blank fetch instead of generation ID
Move System.Drawing usage out of Core to WinForms, as System.Drawing is
not in .NET Core/Standard. Simple methods to return resource name
strings have been added instead.
Updating legality with an invalid move name causes SelectedValue to
equal null. Use the util function that has null check for combobox &
selectedvalue.
bad settings files cause exceptions, silently delete them
move language init out of loadconfig (want it to happen regardless of
config errors, so load config value instead)
Grab an example PKM (from main window) to get the current value to
assist users in creating their modification scripts.
Added 3 tooltips for hovering over property/type/value controls