Kurt
7efaa5ab71
Minor clean
...
collapse some expressions
handle some compiler messages
2020-10-03 18:59:36 -07:00
Kurt
816f24e3db
Add Misc pkm array viewer for Stadium saves
...
Readonly slots
Things could be expanded on to use interfaces and wrappers for a "SlotReference" and properties for readonly.
But that's kinda unnecessary
2020-10-03 18:22:29 -07:00
Kurt
52a67f2425
Add Stadium2 Support
...
Introducing a new PKM format: SK2
Split ICaughtData2 off of PK2 so it can be shared with SK2 when type-checks occur
Add conversion for PK2<->SK2
Split the split-buffer handling for GBPKM to GBPKML (what a name), so that I can reuse shared accessor logic for SK2.
2020-10-02 18:08:40 -07:00
Kurt
22f37910f0
Remove unnecessary single-member interfaces
2020-09-27 18:19:28 -07:00
Kurt
2b7e06e217
Refactoring
...
Extract some logic, suppress some compiler messages
2020-09-18 22:11:13 -07:00
Kurt
7a1c438b74
Minor tweaks
...
add method to randomize AVs from interface extension method
revise stat presence check to check ATK since HP is stored in gen1 format
2020-09-17 18:13:08 -07:00
soopercool101
1a1cfbda4a
Fix Hidden Power Power calculations (and add to UI) ( #2989 )
...
* Fix broken hidden power power calculation
* Fix broken Gen 2 Hidden Power calculation
* Add parentheses
* WIP UI
* Finalize UI, only show on gens 1-5
* Inline some logic to reduce allocations
* Add unit tests for both hidden power calculation cases
Co-authored-by: Kurt <kaphotics@gmail.com>
2020-09-14 20:06:11 -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
5d3bc289b6
seal hunting
...
Mark things as sealed as they shouldn't be inherited from or overriden in a derived class.
2020-09-07 13:51:13 -07:00
Kurt
cf9e5ec37f
Minor refactoring
...
Change Ability array to IReadOnlyList, add method to check ability index in personal data
Suppress some message warnings
Change EvolutionChain short-circuit for VC to jump from gen6 directly down to gen2. There aren't any notradeback 1 situations, so a notradeback1 will always start with g=1, so no need for the other if-continue.
Simplify pk5 conversion
2020-09-06 10:53:13 -07:00
Kurt
b7211000b0
Split Country/Region/ConsoleRegion from ITrainerInfo
...
Only present in mainline gen6/7 game pairs, so it's not wise to have it for all games
2020-07-31 13:53:42 -07:00
Kurt
27f15d2f20
Split Country/Region/ConsoleRegion to interface
2020-07-31 11:17:31 -07:00
Kurt
a221a27074
Click version/battleversion -> dropdown combobox
...
User error help
2020-07-25 09:58:21 -07:00
Kurt
65ecd3ca9a
Sync missing change
2020-07-18 20:07:55 -05:00
Kurt
705822c965
Abstract some gen1/2 encounter types from their parent class
2020-07-18 15:36:30 -05:00
Kurt
523edecf7b
Get actual value rather than magic index
...
logic doesn't really work for gen2/3, so gate it behind gen4+ format only
2020-07-06 17:32:40 -05:00
Kurt
993673f0de
Minor clean
...
no functional change
2020-06-27 23:36:53 -05:00
Kurt
4f7845547e
Minor clean
...
Remove met location dynamic sizing for C/XD (already resized for SWSH)
add some xmldoc comments
rename some parameters
2020-06-20 18:23:03 -05:00
Kurt
d6c5c6071d
Hide armor raids when not available
2020-06-19 19:56:24 -05:00
Kurt
86a9711cc1
Show xor & tsv on gen3-5
...
TSV/PSV was never abused during these gens, but whatever, show the raw details.
Closes #2868
2020-06-19 18:59:00 -05:00
Kurt
36dd5ece21
Initial Isle of Armor support
...
Co-Authored-By: sciresm <sciresm@users.noreply.github.com>
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
Co-Authored-By: Archit Date <architdate@gmail.com>
2020-06-19 18:51:15 -05:00
Kurt
ce3f887a97
Handle dragdrop from zip (win explorer)
2020-06-16 21:53:24 -05:00
Kurt
2cdb5d26db
Clean up some method signatures
...
rename things to be a little more consistent in naming conventions
2020-06-16 21:46:22 -05:00
Kurt
bfef634a1a
Set shiny type regardless of format
...
Don't loop if not required to loop
2020-06-12 11:45:56 -07:00
Kurt
afa368823e
Minor clean
...
handle some compiler messages
2020-05-26 16:59:47 -07:00
Kurt
460062a07c
add generic sav block editor
2020-04-26 16:23:06 -07:00
Kurt
b8814d2448
Split GG into LGPE (GP/GE), GG (LGPE||GO)
...
Update usages
2020-04-16 12:48:18 -07:00
Kurt
ee1cfa8912
Hanle some compiler messages
2020-04-14 10:52:19 -07:00
Kurt
49e4fd396d
Remove some unnecessary null checks
2020-04-14 10:08:56 -07:00
Kurt
33bdacebe8
Minor tweaks
...
Handle some compiler/extension suggestions
2020-04-12 16:07:59 -07:00
Kurt
e83f2a7dd0
Expand met location combobox
...
stupid long met location names in SW/SH; doesn't really hurt.
Not gonna measure all string lengths and dynamically stretch it -- not worth.
2020-04-12 13:26:35 -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
80bedf2140
Add HomeTracker to list of hideable secrets
2020-03-21 10:56:15 -07:00
Kurt
68324847bb
Update PKMEditor.cs
2020-03-17 10:35:30 -07:00
Kurt
f1beef872f
Reorder origin mark returns
...
Co-Authored-By: Matt <sora10pls@users.noreply.github.com>
2020-03-17 10:34:23 -07:00
Kurt
a885f6b48f
Clean up PID/EC auto-update
...
Now loads & saves version-less data fine
Co-Authored-By: lusamine <lusamine@users.noreply.github.com>
2020-03-13 19:56:53 -07:00
Kurt
4c226340fe
Add shiny sprites, alcremie sprites & big sprites for all
...
Keeping the 30x40 for now; might change my mind later.
Kept the gmax sprites but they're unused.
2020-03-03 20:22:57 -08:00
Kurt
9b30bb8a2f
Don't copy PID->EC if bad GenNumber
...
Reading raw uncaptured data from RAM
2020-02-29 10:55:30 -08:00
Kurt
66efbaf407
Add box manip for heal all slots
2020-02-17 19:28:20 -08:00
Kurt
fc9d0b4b24
Add hint for pkm with dummied moves
...
Closes #2716
2020-02-16 12:17:36 -08:00
Kurt
5c845a3875
Hide home tracker on non pk8 formats
2020-02-14 11:54:04 -08:00
Kurt
e8759ee538
Determine shiny as square if fateful && shiny
...
regardless of xor value result
gotta make those shinies pop ;)
ty anubis
2020-02-13 16:51:14 -08:00
Kurt
92b22b9f44
Fix HOME tracker value GUI character entry length
...
Closes #2705
It's recommended that you NOT set a "random" value here; instead, let HOME regenerate one for you.
Clearing it still functions properly.
2020-02-13 10:52:19 -08:00
Kurt
6346444db7
Extract home tracker to interface
2020-02-12 18:52:48 -08:00
Kurt
e77fa205a0
Add tracker editor
2020-02-12 18:10:03 -08:00
Kurt
d260249b5e
Apply met location before suggestion check
...
Closes #2667
2020-01-28 18:29:05 -08:00
Kurt
dd07126d83
Relocate level suggestions to EncounterSuggestion
2020-01-28 16:21:38 -08:00
Kurt
e40f739494
Update tab ordering
...
Closes #2665
2020-01-27 17:15:58 -08:00
Kurt
410fcee85b
Sort sav sub-editors on load
2020-01-27 17:14:18 -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
b5d48bc14f
Split up portions of CommonEdits
...
Cuts out about half the size; there's still a bunch of apply-value logic but it's not really big enough for a separate class.
Rename BallRandomizer->BallApplicator
2020-01-25 16:47:44 -08:00
Kurt
225d5d0698
Refresh PP on applying suggested moves
...
Closes #2655
pretty sure the FieldsLoaded is preventing the pp refresh, so just manually do it
2020-01-22 09:24:25 -08:00
Kurt
f3a9a9d7c2
Misc nullable handling update for winforms
...
Didn't enable it; there's some side effects from properties that used to be null in PKHeX.Core
there's probably more, but just handling a few.
Closes #2642
2020-01-18 13:27:48 -08:00
Kurt
df1d317861
Add block dump/import
...
Can do block swaps with other saves (fashion block is d224f9ac) -- export the block and import it to another save!
2020-01-13 19:04:21 -08:00
Kurt
2e16fb058c
Show form arguments in gen6/7
...
Clamp form argument load to current list bounds (used to throw arg range exception if invalid)
2020-01-13 17:09:03 -08:00
Kurt
5a20dc707d
Rewrite encounter suggestions
...
Don't clone legality templates, and keep suggested information minimal -- this isn't automod
2020-01-12 19:40:36 -08:00
Kurt
eaeebea923
Remove another method shortcut
...
EncounterSuggestion needs a facelift anyway
2020-01-12 17:00:03 -08:00
Kurt
bbd1aff5fe
Add new lengths
...
new format still crashes as block absolute index is now different
should do a different way of loading blocks (key instead of index)
2020-01-09 08:17:41 -08:00
Kurt
0dd4d1fe7a
Remove unnecessary casts
2020-01-06 17:50:18 -08:00
Kurt
87fbdf8222
Add Click PP label (not max) to refresh PP counts
...
https://github.com/kwsch/PKHeX/issues/2603#issuecomment-570754419
2020-01-03 20:07:56 -08:00
Kurt
90dabf5b87
Restore original background if hover-glow not done
...
Closes #2616
2020-01-03 19:46:04 -08:00
Kurt
26b4c991cb
Split Friendship and Form layout panels
...
Closes #2569
hax form change update trigger from validated->textchanged
might be a little annoying to see the layout/order change, but it should
be better as stuff is now visually chunked.
2019-12-26 14:52:50 -08:00
Kurt
60d12e330c
Handle bad gender values when loading
...
0/1/2 normally; I could just copy the genderless symbol for '3' as well
but eh
2019-12-26 14:27:17 -08:00
Kurt
97c3c6b610
Add raid/den detail browser
...
Hold alt when hitting activate all to dump instead
I've seen DenType=5 Event=2 for at least one raid so far... not sure if
the event/rare properties are accurate.
2019-12-23 23:30:21 -08:00
Kurt
9285dc5b52
Reduce width of formArg & flowlayoutpanel
...
Closes #2569
-2 combobox width
-15 flowlayoutpanel width (two of them)
I assume this works. Please let me know! The width was capped out on my
machine; the different scaled users might be off by a pixel (too big),
which makes it appear invisible because it can't render it in the
too-small space
2019-12-09 21:24:06 -08:00
Kurt
8acb336d51
Use enum for species comparisons
...
slightly easier to read with named values
2019-12-08 17:39:19 -08:00
Kurt
5ddd59c9aa
Fix runerigus/yamask partial load fail
...
320 is max hp (31IV 252EV), is this just -60 from max HP (threshold to
evolve at?)
might need some more research to see what is going on with this
only trycatch in release builds; was confused until I stepped thru and
saw the crash
2019-12-08 00:03:08 -08:00
Kurt
c2dd2c9145
Sync missing content
...
see previous commit, lol
2019-12-07 15:15:35 -08:00
Kurt
a178418c3d
Fix clone to all slots behavior
2019-12-07 13:56:00 -08:00
Kurt
99a884c56e
Add click nature label to copy other nature
...
For those who are annoyed that ShowdownSet does not import to Nature,
sure, you can do that with just one click now
(it's not overwritten automatically, just in case the event the
encounter is fixed nature)
2019-12-03 20:12:13 -08:00
Kurt
20f3552e39
Add vc origin sprite
...
ty @sora10pls
reorder for preference
2019-11-29 11:21:35 -08:00
Kurt
3c4e668d9a
Add alcremie formArg gui
...
Closes #2538
Standardize nomenclature as FormArgument, add interface for those
exposing the property.
2019-11-29 10:44:52 -08:00
Kurt
65e2457762
Don't suggest relearn moves if not parsed correctly
2019-11-26 16:12:57 -08:00
Kurt
5435a5d93e
Minor updates
...
Fix mark (ribbon) read for index > 64
Heal party stats on set detail import
Wipe HT Language for eggs/untraded
Extract BST total color logic
2019-11-25 17:32:10 -08:00
Archit Date
a05bed8f18
updated shiny indicator for xor0 ( #2522 )
2019-11-25 09:27:42 -08:00
Kurt
32d8225023
Fix drag slot equality check
...
prevents deleting party slots if a slot is dragged into its original
slot (X->X); Equals check only checked reference
2019-11-24 06:42:41 -08:00
Kurt
27754afea8
Fix box list width crunching
...
Closes #2477
2019-11-23 08:51:54 -08:00
Kurt
b6f2dd623e
Fix external drag restoring of image
...
Closes #2476
2019-11-22 22:22:30 -08:00
Kurt
9e997f1613
Trycatch all clipboard set-text operations
...
Closes #2486
redirect to a common method in the event that setting to the clipboard
fails; the handling is now the same for all usages (trycatched and a
shared error message).
2019-11-22 21:23:00 -08:00
Kurt
a50169d3d2
Add shift-set shinyxor0 pid
...
Display xor value on hover, not gonna do alternate stars/square display
Closes #2482
2019-11-20 20:38:05 -08:00
Kurt
2aaa3763ee
Fix record setting logic
...
Thanks @AnalogMan151 ! #2416
Fix method reference lol
2019-11-20 18:18:33 -08:00
Kurt
cca33fc0f9
Fix Technical Records box size
...
all goofed out under certain conditions
2019-11-18 17:42:59 -08:00
Kurt
7a77ca25f1
Show nature amps from statnature
...
Trigger update in stat pane when statnature is changed too
2019-11-17 16:00:23 -08:00
Ammako
2292c7eb1d
Don't show notOT language on Gen. 6-7 ( #2442 )
2019-11-17 10:48:39 -08:00
Kurt
ac498fe643
Update box clamp
...
off by 1, gen6 battle box causes it to be out of range
2019-11-16 21:21:02 -08:00
Kurt
08aef9abc0
Increase program size if required for different DPI
...
Closes #2439
2019-11-16 21:03:24 -08:00
Kurt
f836a3dddb
Fix Daycare slot display
...
was redirecting to party; party was removed
all that remains in the slot list the SAVEditor manages is the two
daycare slots.
Maybe it'll be better to have a popup form in the future, that way
multiple daycares can be shown as appropriate.
Closes #2433
2019-11-16 14:45:21 -08:00
Kurt
025cf69eeb
Switch pkm export formats to party format
...
Now dumps party format bytes
Cons: more space
Pros: stats are retained, especially when users drag-drop.
Closes #2419
2019-11-16 14:03:25 -08:00
Kurt
627a236956
Add shift hotkey to apply current as TRs
...
no window popup required
2019-11-15 23:22:21 -08:00
Kurt
981ed9a253
Add technical record flag editor & api
2019-11-15 23:12:28 -08:00
Kurt
cefb56a749
Sword/Shield Update
2019-11-15 17:52:08 -08:00
Kurt
b8835facd5
Rename public "pkm" properties to non-lowercase
...
lowercase = local variable or private member
2019-10-27 12:57:04 -07:00
Kurt
39d11f5f2f
Simplify font logic
...
dont bother trycatching stuff that shouldn't fail
2019-10-26 23:14:00 -07:00
Kurt
46640d48a3
Misc clean
...
un-nest classes,
move some logic to core,
update some get-only properties that return arrays to methods
2019-10-26 12:58:55 -07:00
Kurt
fcc993784b
Rename abstract pkm inherited class names
...
leading underscore for a class name = pls no
2019-10-26 12:42:33 -07:00
Kurt
e3efa65160
Cleanup
...
handle messages for dirty cleaning :)
2019-10-26 12:33:58 -07:00
Kurt
5dcee4fb9a
Set random moves if GetMoveSet yields invalid set
...
Closes #2406
No clean way to check for these edge scenarios, so just double check the
moveset and return random moves if we fail
2019-10-24 18:11:25 -07:00
Kurt
08a88b876f
Dispose dialog forms after use
2019-10-19 20:33:37 -07:00
Kurt
d4ce0644c8
Simplify block property names
...
[...]Block -> [...] since it's kinda redundant, we already know by its
type.
Rename offset ints that collide
2019-10-18 20:42:03 -07:00