Kurt
f063014879
Improve clarity of plugin load failures
2021-05-02 18:27:04 -07:00
Kurt
0d45075d4b
Rewrite settings handling; enhance some user experiences ( #3193 )
...
- Settings now stored as json next to exe
- Settings now exposes all legality checking setttings that can be changed
- Slot hovering now can play cries in MGDB/PKMDB/etc, not just the main boxes.
- Enhanced hover text for mystery gifts and encounters that have movesets
- Show recently loaded save files in ctrl-f browser
- Toggle auto-load savefile setting to be none/detect-latest/last-loaded
- Custom extensions & extra backup paths can now be configured directly in the json settings
- Settings editor now uses propertygrid & tabs.
2021-04-11 18:09:54 -07:00
Kurt
b3b60894b6
Remove 40x30 sprite assets
...
Farewell; let's assume things are 68x56 from now on.
2021-04-09 16:24:19 -07:00
Kurt
2f4b754505
Fix incorrect event flag reference
...
Thanks SneakyPeekyFox!
Also fix crash if pressing escape on the save differentiation popup.
2021-04-06 17:26:13 -07:00
Kurt
4700fdd1e3
Set updated version when resetting personal
...
Closes #3180
Improves handling for corrupt gen3 saves (pokedex cheaters)
2021-04-01 13:37:39 -07:00
Kurt
33e2c64721
Split SAV3 into version classes
...
Begone are the version-switch cases for value fetching.
2021-03-15 23:51:58 -07:00
Kurt
6bce4eea14
Minor clean
...
Annotations (nullable), some switch cases for readability
2021-03-14 16:16:55 -07:00
Kurt
41096fb56e
Minor xmldoc / usage updates
2021-02-21 15:01:28 -08:00
Kurt
680e8b711d
Add some code analysis for try-return with nullable out
2021-01-17 00:05:07 -08:00
Kurt
de840f40d4
Invert some "!is" to "is not"
2020-12-29 00:58:08 -08:00
Kurt
6502c9df33
Condense some expressions, extract static class
2020-12-28 21:42:54 -08:00
Kurt
ee5349ff98
moar is or
2020-12-25 12:30:26 -08:00
Kurt
4a8a495d04
Condense some switch expressions
...
Should be it for now; exhaustively searched for all that made sense to change
2020-12-25 10:58:33 -08:00
Kurt
997e0751f3
Minor clean
...
Handle remainder of c#9 sugar
Fix some spelling mistakes
2020-12-21 23:37:07 -08:00
Kurt
e72c80613e
Extract metadata/state tracking from SaveFile obj
2020-12-05 05:36:23 -08:00
Kurt
81110b4231
Upgrade netcore build to NET 5.0
...
keep with the times, kids
handle some compiler messages
2020-11-14 08:20:48 -08:00
Kurt
23e765e550
Add opening for rental team dumps
...
Dunno why anyone would want these, lol
Closes #3074
2020-11-03 20:12:42 -08:00
Kurt
c9587c16c7
Adapt dropped/opened PKM to currently loaded savefile
...
Closes #3067
2020-10-30 22:44:08 -07:00
Kurt
7a24651aef
Remove splashscreen from main form init
...
I want to start abstracting the main GUI to reduce the amount of things the main/pkm/sav editor classes do directly.
2020-10-28 17:27:11 -07:00
Kurt
14a678b57d
Revise save detect logic flow
...
Double-Clicking SAV tab no longer hides any error message; now shows it like the auto-detect would.
Move high-level detection method to Core
2020-10-18 19:49:46 -07:00
Kurt
cce4707604
Enable nullable for winforms csproj ( #3037 )
...
Handle all warnings
obviously the usage of null! could potentially be avoided if the object init wasn't such garbage, but here we are with years of old junk and lack of abstraction in the GUI project
2020-10-18 11:02:39 -07:00
Kurt
d13b893351
Use PKHeX as blanksav language
...
Closes #3009
Make QRPK7 implement IEncounterable and remove hardcoded PKHeX strings
Let force hatching for WC3 eggs try to hatch from the savefile's language, then revert to english if failed to set an OT.
2020-10-04 08:59:33 -07:00
Kurt
b242aed429
Add ability to load blank japanese/korean save files
...
Detects the language of the currently loaded save file, and passes that info to the blank sav creator
Use a trainer name of "1337" instead of PKHeX for any Japanese save file, because Gen1/2(/3?) character tables don't have regular ascii chars.
2020-10-03 11:22:06 -07:00
Kurt
82afefa335
Make GP1 expose IEncounterable for metadata
...
Make the main loader handle IEncounterable objects
2020-09-26 11:33:21 -07:00
Kurt
6243135f28
Minor clean
...
Move Home8 location to Locations.cs for documentation
Move FestaFacility to correct folder
Remove unnecessary public modifier on interface method
Pass the program's Version to any loaded plugins, if they wanted to check compatibility...?
2020-09-25 23:55:31 -07:00
Kurt
efc17a1271
Add interface for revised savefile types (patches)
...
SWSH is the first common savefile type that has different revisions after official patches. We want to indicate in the Program Title which revision we're currently editing, because people still are not editing latest-format saves and complaining y no urshifu.
Use short descriptions to indicate revision (Base, IoA, CT), rather than magic numbers (v0/v1) or 1.X or 1.X.Y+, because GameFreak can't follow semver rules.
go away ranch platinum update, i might handle you another time
2020-09-25 23:41:20 -07:00
Kurt
2b7e06e217
Refactoring
...
Extract some logic, suppress some compiler messages
2020-09-18 22:11:13 -07:00
Kurt
01fb233e48
Minor tweaks
...
Extract some interfaces
Suppress some warning messages with commented reasons if appropriate
2020-09-09 12:47:24 -07:00
Kurt
e4092e64df
Relocate gen3 ereader berry logic
2020-07-18 22:51:55 -05:00
Kurt
c4326698a5
Add prompt for loading new save with unsaved changes
...
Closes #2823
remove old gen6 powersaves decrypted-xorpad strings (unused logic)
remove gen8 save fixing beta-pkhex-caused corruption (behaved for 6months)
2020-05-24 11:03:23 -07:00
Kurt
8a0295e4e9
Minor clean
...
GetLanguageIndex never returns <0
2020-04-23 20:54:20 -07:00
Kurt
24edf7efe5
Improve detected savefile load speeds
...
Don't discard the initially detected data just to re-load it from the path; keep a reference and load the reference.
2020-04-16 13:15:35 -07:00
Kurt
567b54b10f
Update Main.cs
2020-04-14 11:50:33 -07:00
Kurt
546412e410
Rename class/method name
2020-04-14 10:59:16 -07:00
Kurt
bf47317dd1
Add setting to force large sprites for past gen
...
Causes the Other tab (daycare/gts/fused) to look wonky (not scaled), but I'm ok with that being a known flaw for now.
2020-04-13 09:52:25 -07:00
Kurt
33bdacebe8
Minor tweaks
...
Handle some compiler/extension suggestions
2020-04-12 16:07:59 -07:00
Kurt
30d21e4532
Extract out showdown set interface
2020-04-12 13:05:29 -07:00
Kurt
270d984130
Minor clean
...
Remove unnecessary null checks
Mark some methods with nullable type
2020-04-04 19:30:50 -07:00
Kurt
5e32e9203e
Add setting to apply nature to statnature on import
...
Co-Authored-By: toim22 <toim22@users.noreply.github.com>
#2794
2020-03-19 13:47:25 -07:00
Kermalis
5bdfd74862
Fix sav path after exporting to new name ( #2791 )
2020-03-18 22:15:34 -07:00
Kurt
a8a775b39c
Move setting update location
2020-02-12 18:22:32 -08:00
Kurt
6ef2950cc4
Add toggleable flag setting for tracker, update translations
2020-02-12 18:14:23 -08:00
Kurt
ebf20d927b
More transfer implications
...
Totems are downsized to regular
araquanid, togedemaru, and ribombee totems can't transfer (at the moment)
2020-02-11 20:11:33 -08:00
Kurt
c301ce88ab
Update Random to be a bit more thread safe
...
Random isn't thread safe; users of PKHeX.Core.dll might run multithreaded operations (see PKSM + ALM), so we need to have a thread-specific RNG available.
Thread Local get; to improve performance, save the random object locally whenever it is used more than once in the method.
https://docs.microsoft.com/en-us/dotnet/api/system.threading.threadlocal-1?redirectedfrom=MSDN&view=netframework-4.8
https://stackoverflow.com/questions/18333885/threadstatic-v-s-threadlocalt-is-generic-better-than-attribute/18337158#18337158
2020-01-25 21:49:52 -08:00
Kurt
88dcb59798
Extract language initialization to core
...
Call this method whenever you boot a separate app that needs legality strings to be ready.
2020-01-25 16:27:16 -08:00
Kurt
82eaf39d45
Remove method alias for init mysterygift db
2020-01-12 11:41:23 -08:00
Kurt
efbac28b91
Rework accessors for PKMConverter trainer cache
...
Might break downstream users, for the better. Internal behavior had to change!
2020-01-05 21:51:02 -08:00
Kurt
24412a2812
Add setting to disable sound on legality/sav load
...
Closes #2615
2020-01-03 15:29:12 -08:00
Kurt
1e1c454885
Simplify equality comparison
...
string.equals works better for genesect or whatever, just do it this
way.
2019-12-28 18:57:36 -08:00
Kurt
a81a6cc61c
Update QR popup view
...
Dynamically size the window based on contents, size and position layers
according to inputs rather than hardcoded values
enforce minimum width for pk1/2 (EVs are 5characters each, at most)
2019-12-23 20:16:34 -08:00