* Move pkhex.drawing calls out of form constructors
designer doesn't like it; if Main can't be designed then there's some
call that it can't process for whatever reason
* Add netcore3 targeting
Closes#2198 by adding a netcore3 build option
Closes#2391 by retaining designer functionality and net46 builds
With the approaching games, PKM sprites are a different size from the 3DS era (as already hinted by LGPE, which has 56x68). It'll be a little easier to manage with this portion of the library walled off from the rest of the codebase.
Eventually the net46 target will use fody or something to merge in these extra dependency dll's automatically to not disturb the usual exe/dll experience.
A little bit cleaner when the logic is separated
Keep an abstraction of BoxEdit to cache the current box contents.
Already fetched to show sprites; any future fetches (for preview text /
hover sprite) can reuse the already fetched pkm data.
Should probably rewrite this stuff completely, but effort better spent
elsewhere
GameInfo has been the storage for the current Game Language environment
When using GameInfo, only one environment is tracked at a time, which is
initialized by the PKM editor (items, moves). Rework things to allow
multiple filtered sources to exist, and keep the filtering logic in
PKHeX.Core for reuse in other programs... ;)
relocate program language enum
test that test case is proper
move getcompatible & gettemplate to core
remove catch rate changing for pk1 (catchrate editor now used instead)
can restore behavior by adding it as a custom user path; cgse isn't very
prevalent nowadays
now the only registry key checks are for checking net framework version
* Put assembly version in window title
* Treat version.txt as a Version
* Cache current version
* Don't use resources anymore for version
* Re-add version.txt, for backwards compatibility
* Set old version.txt's build action to None
* Use GitHub API for version checking
retain save provider
add optional visibility toggle criteria (not present => always visible)
now hides sort/mod/delete if the criteria is not applicable to the
current format
reference PKHeX.Core, main window loads assemblies & initializes
providing an ISaveProvider and the menustrip control (to insert controls
into)
pretty rough but should allow for inserting external control buttons &
allowing it to edit the UI a little
example: https://github.com/kwsch/PKHeXPluginExample
feedback is appreciated
right click the box tab
* no longer silly key-combos to initiate a clear/sort
* provides multiple sorting options
Advanced sorting includes:
* Recieved Date
* Friendship usage (using it raises friendship, more used pkm will be
sorted to the top)
* Ownership (current SAV's first, then by other OTs)
#1864
need to hook into main window & delete old logic; when the logic flow
returns after closing the form, all the propagated settings will need to
be copied (ie where the setting is actually used).
translateinterface will translate the control text to a longform
descriptor per the current language.
instead of:
controls on form->dict of names, look up line to find control
now:
dict of names->look up control to find name
faster overall, simpler, and updates the dictionary with new control
entries. browse thru forms that call translateinterface with one
language (english), then updateall(en) and dump to get the updated
translation files.
#1864
removed ability to have multiple single box popups
double click the Box tab when holding shift to bring it up
resize to preferences: https://i.imgur.com/XB2978R.png