Yay sneaky smart solutions!
Instead of refilling the combobox when the legal move list changes, wait
until the full list is required then repopulate the individual combobox
can't even notice the lag besides the individual tab load. yess
cache a hashset to determine if the legally allowed moves are the same.
reuse cache in paint method
previously, was noticeable if you load the Moves tab then check
legality; the legality message was delayed by a couple hundred
milliseconds due to repopulating 4 comboboxes (Combobox.NativeAdd
hotspot triggered by RefreshItems, which happens when we set the
datasource). By skipping unnecessary repopulations, gui lag is lessened.
would be preferred if I can just reorder the list inside, but noo.
pk1 boxdata stores current level & current hp, which is only present in
pk2 party data.
if the user drops in pk2(boxdata), the transfer leaves 0 for both
values, which isn't correct.
detect stat_level to determine if values should be regenerated or not.
Thanks HaxAras for finding this :)
some cards may permit being recieved on incorrect games
some wcxfulls permit games they shouldn't (tapu koko flags permit USUM
but games released after the distribution window)
lots of wcx lacking restrictions completely
tested flagging USUM rockruff & zeraora
might be worth discarding MysteryGiftVerifier and instead just using
unused fields for prior formats to supply the data.
Don't autosize columns on each row addition
About 15 rows appear; resize on row 0, 7, and 14, and once more when
finished.
was O(n), now is O(min(n,3)+1)
Don't unlock/lock the GlowBase bitmap repeatedly; store the bytes
separately for frame generating. Fixes any memory access exceptions
(unlock->unlock due to program lag).
Do more preprocessing of egg glow sprites for cleaner appearance (now
glow inside sprite)
extract glow method for easier reuse
use some close synonyms (Reiniciar -> Borrar)
omit some words (potential / training) to keep layout compact
capitalize Equipado to match main window
Closes#2080
Remove unnecessary floor operation, don't fetch stat arrays for each
stat
Current HP is a box stat in pk1 format (offset 0x1), which isn't stored
in box pk2's. If the hp is zero, set it to the current HP.
Thanks HaxAras for the conversion tip!