Kurt
841fcde2b2
Enhance Pokerus api functions
...
Fixes #3480 ; (0,0) is a valid state regardless of format.
2022-04-14 14:05:32 -07:00
Kurt
f753afaae8
Minor clean
2022-04-11 11:56:56 -07:00
Kurt
a5ee845c3b
Decouple event flag/work from SaveFile
2022-04-09 18:12:57 -07:00
Kurt
a601180821
Extract Pokerus util logic
...
Simplify some GUI interactions when changing strain. Changing the day selection will update the visibility, no need to manually do it again.
2022-04-09 12:27:16 -07:00
Kurt
5260c5214e
Move files
2022-04-09 12:01:43 -07:00
Kurt
e6cf5d0baf
Split PKMConverter into multiple classes
...
EntityFormat -> detects byte[] -> ctor() PKM
EntityConverter -> converts between pkm formats
RecentTrainerCache -> used by other classes (not within EntityConverter!)
EntityBlank -> creates blank PKM objects indirectly
2022-04-09 01:39:34 -07:00
Kurt
cec408e62a
Use different checksum algo (bytewise) if no impl
...
Closes #3471
2022-04-02 17:58:47 -07:00
Kurt
77473476da
Split savedata editing template
2022-04-02 17:58:05 -07:00
Kurt
d95ba482f3
Reduce allocation in methodfinder IV set
2022-03-13 19:39:38 -07:00
Kurt
69fafcab83
Performance: Slightly reduce allocations in moveset validation ( #3460 )
...
* Reuses move parse result objects for each encounter parsed in a LegalityCheck attempt, instead of creating a new object.
* Ensures the objects are never-null, and makes cleanup easier.
Slightly adjusts some other parts of the moveset validation to reduce allocations.
2022-03-12 17:39:00 -08:00
Kurt
f77b6fa405
Master moveshop moves on set import
2022-03-07 21:45:46 -08:00
Kurt
1185c63b15
Update MoveApplicator.cs
2022-03-07 21:42:51 -08:00
Kurt
33537465ca
Simplify batch editor loading method
...
Lazy init the all-any-byType sorted string list, static ctor unneeded for some nuget users
2022-03-07 19:42:08 -08:00
Kurt
4e1276a954
-8 bytes from each encounter template
...
saves about ~1MB RAM savings (>=179,142 objects)
2022-03-06 23:25:47 -08:00
Kurt
e1414a0bea
Move some interfaces to different folder
...
No code changes
2022-03-06 12:06:50 -08:00
Kurt
c51d51d381
More specific primitives for Memories/others
2022-03-06 12:01:47 -08:00
Kurt
9632ad44fd
Span-ify HiddenPower methods
...
Zero heap allocation Hidden Power bruteforcing via Heap's algorithm
2022-03-06 00:43:49 -08:00
Kurt
e17483fe46
some linq reduction
2022-03-05 20:03:52 -08:00
Kurt
3ebf5279cc
Add .X=*Y (property copy) feature
2022-03-04 22:35:04 -08:00
Kurt
d0f2b6eeb5
Add .CurrentLevel=$suggest for min legal level
2022-03-04 22:34:11 -08:00
Kurt
e5e2a3427f
Rename Silver SV->SI
...
SV will likely be the lump for SCarlet and VIolet
2022-02-27 11:16:12 -08:00
Kurt
76afe91bbb
Allocation free besides ctor
2022-02-26 21:39:50 -08:00
Kurt
dd4c2a349c
Fix moving 5th party slot between boxes
...
Thanks Burning Justice !
https://projectpokemon.org/home/forums/topic/60789-error-when-attempting-to-edit-pokemon-battle-revolution-save/
2022-02-25 16:32:15 -08:00
Kurt
03b8ceb5ab
Allow TypeSuggestion to operate on interfaces
...
Add ganbaru clear/suggest, lgpe iawakened clear/suggest, hyperatrain/geolocation clear
2022-02-13 11:02:22 -08:00
Easy World
843e065fb4
Add batch command to suggest HeightAbsolute & WeightAbsolute ( #3435 )
...
Already available for PB7, this adds it for PA8.
2022-02-13 07:10:26 -08:00
Kurt
a287efe3a1
Inline pk2/pk3 form setter, only SetGender if different
...
Helps out ALM generate unown
2022-02-09 20:20:32 -08:00
Kurt
d17639f956
Add alpha move for encounter slots
...
oops
Closes #3427
2022-02-09 19:21:45 -08:00
Kurt
2f5635613e
Update TechnicalRecordApplicator.cs
2022-02-08 08:55:56 -08:00
Kurt
c7f24eecd0
Parse shiny/gmax Yes with any case/culture
2022-02-08 00:00:52 -08:00
Kurt
a7051107ea
Conditionally set PP Ups and Purchase/Mastery flags on set import
2022-02-07 15:40:02 -08:00
Kurt
b20fb39d77
Don't set dex on slot swap within save
...
Closes #3411
2022-02-07 15:03:26 -08:00
Kurt
10fff124e5
Minor clean
2022-02-04 22:19:04 -08:00
Kurt
16e52cdb19
Add move mastery batch command (MoveMastery)
...
$suggestAll -> get all
$suggestNone -> remove all
$suggest -> get current moves
2022-02-04 20:04:57 -08:00
Kurt
0b32cbf132
Update PKHeX.Core abstractions with latest logic
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-02-04 17:35:15 -08:00
Kurt
659fc9978b
Stackalloc marking set & raid IV gen
2022-01-08 22:48:33 -08:00
Kurt
b96e2cacd7
Add xmldoc
2022-01-08 09:54:32 -08:00
Kurt
a08330ffd4
Update MoveSetApplicator.cs
2022-01-03 22:27:20 -08:00
Kurt
36bf73818e
Source trainers for encounter database
...
Closes #3364
Related: #3358
2022-01-03 19:33:10 -08:00
sora10pls
3f1335e19f
Add Zone unlock cheat to BDSP Misc Editor
...
As with most event work tampering, make sure you keep save backups. Accessing areas before you're intended to will almost certainly break story progression.
2022-01-03 11:06:06 -05:00
Kurt
47071b41f3
Refactoring: Span-based value writes and method signatures ( #3361 )
...
Existing `get`/`set` logic is flawed in that it doesn't work on Big Endian operating systems, and it allocates heap objects when it doesn't need to.
`System.Buffers.Binary.BinaryPrimitives` in the `System.Memory` NuGet package provides both Little Endian and Big Endian methods to read and write data; all the `get`/`set` operations have been reworked to use this new API. This removes the need for PKHeX's manual `BigEndian` class, as all functions are already covered by the BinaryPrimitives API.
The `StringConverter` has now been rewritten to accept a Span to read from & write to, no longer requiring a temporary StringBuilder.
Other Fixes included:
- The Super Training UI for Gen6 has been reworked according to the latest block structure additions.
- Cloning a Stadium2 Save File now works correctly (opening from the Folder browser list).
- Checksum & Sanity properties removed from parent PKM class, and is now implemented via interface.
2022-01-02 21:35:59 -08:00
Kurt
dc4a9136ea
Remove trailing whitespace
2021-12-27 14:03:41 -08:00
Kurt
76cac85243
Minor clean
2021-12-27 13:50:21 -08:00
Kurt
cc8ac7a4f1
Remove unnecessary warning suppression
...
fixed dat .editorconfig in vs22
Catching general exceptions is okay because this program handles user modified data that can potentially be corrupt.
2021-12-27 12:09:15 -08:00
Kurt
749293fc75
Move BoxManip to subfolder
2021-12-26 19:43:42 -08:00
Kurt
11039f1119
Extract some event unlocking logic for core
2021-12-26 18:21:34 -08:00
Kurt
39f8e9173e
Add contest stat batch modification
2021-12-20 19:16:23 -08:00
Kurt
f1fe2f6a8c
Minor clean
2021-12-09 19:30:12 -08:00
Kurt
d7e1f65faa
Add some xmldoc, file scoped namespaces
...
Not much of a git diff history for these files so I don't mind them being reformatted.
2021-12-09 18:58:30 -08:00
Kurt
870a38c607
Use primary constructors for some records
2021-12-09 01:08:46 -08:00
Kurt
cacd6e9965
More records/sealing
2021-12-05 23:54:59 -08:00