Kurt
99673706a0
Rework recent savefile detection
...
return a reference to the savefile rather than the path, since a
SaveFile has a FilePath property.
2018-07-15 13:35:58 -07:00
Kurt
620d822fef
Misc changes
...
swallow error for invalid filenames in saveutil -- don't bother
detecting those files.
on fail to getmoveset, return the current moves instead of null.
2018-05-21 17:02:48 -07:00
Kurt
99005d8fc0
Refactoring
...
more discards & simplifications
2018-05-12 12:28:48 -07:00
Kurt
5a3c8f4147
Remove trailing whitespace
2018-05-12 08:41:29 -07:00
Kurt
f103a84fbd
add duc reading
...
i dont really want to add more than this, header/footer conversion can
be done separately.
2018-03-21 17:01:07 -07:00
Kurt
102550174e
Simplification
...
invalid/unknown usages were incorrectly interchangable; dex-sets were
looking at Unknown which was impossible for some cases.
only use GameVersion.Unknown as a temp placeholder for later resolution
by the user.
2018-03-11 18:07:48 -07:00
Kurt
934757eac1
Add Bank7 r/w
2018-02-24 13:03:32 -08:00
Kurt
f9002c6cc9
Add trashbyte copy for OT import on gen1/2
...
Closes #1849
NAME_LENGTH is 11 for both gens and the offsets don't vary between
languages, so it's a simple fetch.
2018-02-22 22:42:50 -08:00
Kurt
d20f14504e
Refactoring
...
pull out BlockInfo logic, standardize common block checking
reduces array allocations
2018-02-19 11:33:37 -08:00
Matt
43d8f74342
Fix Swampert dex forms ( #1839 )
2018-02-16 16:30:34 -08:00
Kurt
d9d27a52b7
Refactoring
...
explode xorpad into more reusable ideas
2018-02-01 22:09:31 -08:00
Kurt
9085dfd950
Allow backwards conversion on hax
...
works somewhat on drag&drop individual files, not guaranteed to work for
all pkm formats
https://i.imgur.com/v3i3ON9.png
Closes #1792
2018-01-28 22:47:03 -08:00
Kurt
eb505303bb
Fix vc backups acting like gb era saves
...
ends with .dat only works if the real file ends with dat
load the filename data after stripping off the bak filename data
#1787
2018-01-28 00:03:49 -08:00
Kurt
4c93183575
Add jp vc gen2 sizes
...
so many so consistent
2018-01-25 18:30:09 -08:00
Kurt
34188f275a
misc perf improvements
...
reduce linq usage / reduce obj creation in tight loops
speed++
2017-12-29 10:40:00 -08:00
Kurt
3d7b2a2b29
Misc tweaks
...
RNG frame mismatch -> fishy (for now)
fix xmldoc copypaste
clean up some resharper warnings
2017-12-04 16:26:26 -08:00
Kurt
5a69f1d596
Rework gen3 crc32 to not require a new obj for byte[]
...
removes toarray in favor of iterating over the source array
maybe with the next c# (span)...
2017-12-04 16:13:18 -08:00
Kurt
c4f8dabd26
rework dex getting
...
changes iteration to be per-species rather than per list.
uses the internal 'should i set a bitflag' code rather than a banlist.
2017-11-14 19:14:02 -08:00
Kurt
97dcd1a845
Add pokedex forme flag correlation table
2017-11-08 13:29:06 -08:00
Kurt
543736d568
Early rough USUM compatibility
...
need to dump string resources, sprites, and repoint the form list string
fetch later. tons more to do
no guarantee of any working functions
2017-11-08 00:34:32 -08:00
Michael Scire
b1641772e6
Refactor Memecrypto API, Add Memecrypto Tests
...
Refactors the Memecrypto API to improve generalized usage.
Adds unit tests that verify memecrypto works, so that future changes
don't potentially break the code.
2017-11-06 03:24:48 -08:00
Kurt
2d6b6f7095
Simplify gen7 checksum operations
...
don't spit out a new byte array for each block, just check with same
array
unrelated: allow pk2's to be selected from file->open when a sav7 is
open
2017-11-04 15:04:21 -07:00
Kurt
69cf1eaa9c
add more pkhex.core xml documentation
...
adds a bunch of documentation useful for those unfamiliar with the core
library
2017-10-23 23:12:58 -07:00
Kurt
515a694afa
Add LanguageID enum
...
no functional change, just less-magic-numbers for easier to understand
src
2017-10-22 21:01:08 -07:00
Kurt
886b2ef632
misc refactoring
...
simplification / splitting, also more usum prep and other readability
updates
2017-10-17 23:19:34 -07:00
Kurt
c3e0d5339c
Fix jp gen2 save detection
...
simplification commit was dyslexic on JP/EN.
20 <-> 30 (EN 20, JP 30 is the correct count)
https://bulbapedia.bulbagarden.net/wiki/Pokémon_Storage_System#Core_series_games
pk2 structure is smaller for jp (smaller strings), thus has 30 cap.
International has 20.
2017-10-16 17:33:09 -07:00
Kurt
14697f47d3
misc simplifications
...
recognize 01 01 01 00 xd saves
simplify some detection to be easier to follow, less lines is nice too
2017-09-27 23:22:41 -07:00
Kurt
8b02f05bd5
Faster crc16 ccitt
...
insert lenny face here
>4x faster, relative speed is higher for larger input arrays
2017-09-26 23:10:31 -07:00
Kurt
d8c2cdb8e3
Use EnumerateFiles over GetFiles in some cases
...
https://msdn.microsoft.com/en-us/library/07wt70x2.aspx
iterating as an ienumerable (ie not consuming the whole collection) can
be more efficient by not waiting for the whole collection
2017-09-23 17:02:28 -07:00
Kurt
c23cc81212
More usum prep
...
I think egg hatch location checking is wrong for traded eggs (see gen3
vs future games, origin game shouldn't change but could hatch ORAS egg
on XY at XY location?)
2017-09-19 21:35:30 -07:00
Kurt
7efd771bf4
Misc refactoring
...
add docs, move some data fetching to more appropriate class
remove old XP memecrypto support handling, was previously removed due to
net standard/core split
refactor memecrypto to handle multiple save sizes (USUM won't be the
same size save file); placeholder -1 for USUM size
2017-09-16 11:38:58 -07:00
Kurt
add2fef7a7
Add gen2 korean handling
...
hypothetical for now, feel free to submit PRs to fix anything that
breaks / was incorrect in the implementation
2017-09-10 19:56:21 -07:00
Kurt
f4d8f6e560
Add generic Gen2 jp Emu save file support
...
+0x30 footer for RTC
2017-09-08 21:53:08 -07:00
Kurt
ccc6357294
Misc updates
...
Re-enable PKM (abstract class) property searching via Database/MGDB
search
Closes #1412 (can now search or exclude certain formats)
Add auto-detection for all supported saves (rather than gen3+ except
GC/PBR)
2017-08-24 18:49:09 -07:00
Evan Dixon
2636e7ded8
Fixed another potential blank error message
...
I also added comments where appropriate, because it took far too long to understand what was going on when reviewing the commit that fixed the original bug.
2017-06-20 20:38:33 -05:00
Kurt
3f38b123a3
Refactoring
...
mostly renaming things, includes a little bit of added sugar and
splitting methods to simplify the codebase.
all methods are now PascalCase
2017-06-17 18:37:19 -07:00
Kurt
21ab0296f3
small optimizations
...
Add ccitt method to checksum an existing array
reduce linq usage (faster save retrieval)
misc4 line endings?
2017-06-11 00:23:04 -07:00
Kurt
991978dab6
Ensure cleared move pkms have at least 1 move
...
#1214
user may not be checking legality (bulk transfer)
2017-06-10 08:39:04 -07:00
Kurt
550153e3bc
Improve gen3 sav detection
...
better detect RSE collisions
add auto-detection for japanese games
Closes #1172
2017-05-29 10:33:27 -07:00
Evan Dixon
52c4fbbe97
Converted PKHeX.Core to .Net Standard
...
Refactored and rearranged things as needed to allow the change
2017-05-11 23:34:18 -05:00