Kurt
8222297da8
Remove enumerating when loading event templates
...
Just allocate the parent array and pass it to HashSet; having an ICollection, prevents resizing repeatedly and gc'ing the temp array is cheap.
Actually, only create a hashset if we're adding a gift from external DB. Saves on that allocation, and keeps the final result as an array (fastest iterating).
2021-06-04 13:48:02 -07:00
Kurt
041074f26c
Decrypt sav8 blocks in-place
...
Removes 1.5MB of allocation; we don't need to preserve the encrypted state.
Revise savefile clone operation to use its own constructor, as we need to call the base constructor first (backup file clone...) prior to decrypting.
Expose CryptStaticXorpadBytes as GetDecryptedRawData no longer exists.
2021-06-04 13:16:00 -07:00
Kurt
3764e60b37
Show extra details for exported legality results (debug only)
...
same as encdb showing full encounter details, spit them out here too.
2021-06-03 17:59:53 -07:00
Kurt
64039b4070
Force shiny state of raids
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-06-03 17:50:48 -07:00
Kurt
5636e1ef4a
Add setting to hide unavailable species.
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-06-03 17:48:32 -07:00
Kurt
34ec5416e5
Add setting to disable return-none if empty criteria
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-06-03 17:36:16 -07:00
Kurt
9ba683688e
Clear tooltips when changing results
...
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-06-03 17:32:13 -07:00
Kurt
927ccee613
Cache all created regexes
...
Regex objects aren't cheap, and the RegexCache has DefaultMaxCacheSize = 15.
We're checking 4,000 regexes for each unique string, so just keep the created regexes around instead of cycling new through the cache.
+4MB passive consumption, but each IsFiltered call no longer generates >4MB of discarded objects.
My unit tests run >25% faster now... nice?!
2021-06-03 17:24:45 -07:00
Kurt
8ec25da194
Condense expression
...
single bool branch
2021-06-03 17:08:42 -07:00
sora10pls
a2492eddd9
Add Frog distribution raids
2021-06-03 20:07:07 -04:00
Kurt
066aedfc21
Separate scblock ctor's
...
No longer need to set byte[] twice
Add value-setter checks for bad mutations (size change, bool1<->bool2 only)
2021-06-03 12:35:39 -07:00
Kurt
8c970ec991
Minor tweaks
...
no functional change, readability++
add more xmldoc
2021-06-03 12:04:19 -07:00
Kurt
7e32ff9b03
Add settings to toggle loading of saves for pkmdb
...
https://projectpokemon.org/home/forums/topic/58942-question-about-custom-backup-path-pkm-database-path-avoid-to-scan-sub-folders/
2021-06-02 10:52:20 -07:00
Kurt
b81df689e6
Pass gender to moveset dreamworld entries
...
Oops.
ty anubis for notifying me
2021-06-01 13:54:43 -07:00
Kurt
138501da2f
Minor clean
...
Condense some expressions
Use less linq
Rename some fields
2021-05-29 15:31:47 -07:00
sora10pls
ba9e917647
Display typed sprites for Arceus/Silvally formes
2021-05-28 19:22:50 -04:00
Kurt
64dbb9ae74
Abstract filter matching
...
Similar to prior commit adding modifications and suggestions
2021-05-27 14:43:32 -07:00
Kurt
05e37eb073
Extend batch editing to allow for plugins to add new mods
2021-05-27 12:20:00 -07:00
Kurt
7a8d75aec4
Show gender in encounter browser
...
Extract methods, add some comments, simplify array fetch.
2021-05-27 10:27:50 -07:00
Kurt
386d9cc94f
Repoint hall data fetches outside blocks
...
Reverts prior commit repointing which was incorrect; these are outside the sav general/storage blocks.
871f9b0627 (diff-3560dca7e50959e98ae8fa32d9403f8846b9243815d653c78a07f2a3455a1874L481)
Keep the first as General as it's some value index within the General block used to index which extrablock matches it, or something
Closes #3211
2021-05-25 22:16:04 -07:00
Kurt
236fd2943f
Add hgss pokewalker stored pk4 fetch
...
ty atrius
2021-05-25 10:07:14 -07:00
Exorcism
02605b402d
Update French Translation ( #3209 )
...
* Update language French (Français)
* Update French Translation
* Update MessageStrings_fr.txt
* Update text_EncounterType_fr.txt
* Update text_Ribbons_fr.txt
* Update text_Ribbons_fr.txt
* Update lang_fr.txt
2021-05-24 09:16:07 -07:00
Kurt
9b4e085890
Clamp fullness-byte (Playfulness) at maximum
2021-05-23 22:06:40 -07:00
Kurt
8cc2967395
Update MemoryAmie.cs
2021-05-23 12:51:25 -07:00
Kurt
54611032c9
Refine crystal egg checks
...
Disallow crystal eggs if met data is not present
Set crystal met location more fluidly
2021-05-23 12:50:42 -07:00
Kurt
c9499f95be
Add sociability to Memory editor, add legality checks
2021-05-23 11:22:09 -07:00
Kurt
b2e4ca393b
Minor perf improvements
...
GetHexStringFromBytes: don't allocate temp slice array on heap
Tile: Span Slice toarray rather than new+copy
2021-05-23 10:56:25 -07:00
Kurt
15afd6f3bc
Move mail get to sav obj
2021-05-22 09:28:04 -07:00
Kurt
96115916b2
Prevent overflow of memo write
...
Setting too many invalid entries will bloat above 500, so clamp the max.
Preallocate entries size rather than 4 always
2021-05-22 09:27:46 -07:00
Kurt
904ba8787a
Uppercase gamesync ID
...
ok matt
2021-05-21 19:24:30 -07:00
Kurt
2c9b82824a
Check static as-egg locations accurately
...
Thanks @sora10pls
2021-05-21 13:57:07 -07:00
Easy World
6b693b9b7e
Update Chinese translation ( #3208 )
2021-05-20 22:04:32 -07:00
sora10pls
3fb4bd7db2
Add Wooloo distribution raids
...
Nice
2021-05-20 20:16:13 -04:00
Kurt
d41fc571d0
Keep original trashbytes if string isn't changed
...
Similar to nickname setter
2021-05-20 16:54:53 -07:00
Kurt
207680b2f1
Update translatable lists
2021-05-20 15:05:40 -07:00
Kurt
aa55346bde
Add setting to not show changelog on update
2021-05-20 15:03:15 -07:00
Alberto Tudela
7d27136bdc
Update spanish translations ( #3207 )
...
* Update spanish translations
* MInor Folder list fixes
* Update spanish translation
2021-05-20 13:21:21 -07:00
Kurt
4b3a3a4afe
Update 21.05.21
2021-05-20 09:37:15 -07:00
Kurt
d83b2331ac
Enhance nullable indication of array
...
Fix off by one unit test
2021-05-20 08:52:47 -07:00
Kurt
f462017670
Fix padding mask
...
Closes #3205 -- padding char
Closes #3206 -- sav3rs doesn't use SecurityKey, it's always 0
Co-Authored-By: Michi97 <24464847+Michi97@users.noreply.github.com>
2021-05-20 08:27:08 -07:00
Kurt
04ea271b8b
Update ShowdownSet.cs
2021-05-20 08:24:22 -07:00
Kurt
2655892db1
Choose a gender on unspecified
2021-05-19 17:12:30 -07:00
Kurt
fac7555c50
postfix gender form
...
handle all permutations of Indeedee-M/F (M/F)
if it detects (F), it uses female, otherwise it uses whatever the detected form was (0/1) and sets the values accordingly.
2021-05-19 13:12:18 -07:00
Kurt
fc8f9ebd56
Add first row for subregions, remove header from countries txt
2021-05-19 09:36:20 -07:00
Kurt
d6b8a018e6
Fix 3DS console region indexing
...
mystery gift region ID is not the same indexing as 3DS console region
2021-05-19 09:11:54 -07:00
Kurt
2658c8b89a
Update 21.05.19
2021-05-18 17:49:54 -07:00
Kurt
a03f5dcc9d
Make EncounterTrade met location use inheritance
...
hovering would grab ILocation, which didn't use the flexible met location fetch.
Just repoint stuff and have it as a virtual call, since most of these are fixed values, there's no point increasing the size of the classes besides those for gen4.
2021-05-18 17:14:17 -07:00
Kurt
1d71d151e8
Add gen8 to generation dropdown
2021-05-18 16:59:19 -07:00
Kurt
5355d251a6
Align shiny checkbox same as pkmdb
2021-05-18 16:59:01 -07:00
Kurt
99f0978630
Extract random date to util
2021-05-18 16:58:53 -07:00