Commit graph

98 commits

Author SHA1 Message Date
Kaphotics
ace267d554 Reorganize EV output
Thanks Wanderer1391!
2016-01-01 19:45:03 -08:00
Kurt
aa7974e158 Rearrange src, speed up encryption
No need to shuffle 11*, just have the precomputed final shuffle values
and redirect.
Rearrangement removes PKX/PGT interaction (now only refers to past gen
code base)
2015-12-28 19:00:10 -08:00
Kurt
3147d8b1df pk2pk Refactoring
Transition from modifying byte arrays to just having objects mediate the
conversion.

Farewell pk2pk!

The PK# objects can convert up to the next generation through their own
methods; doing this required having class structures for all generations
:)
2015-12-27 21:26:07 -08:00
Kurt
24703bfc22 Minor refactoring
Do things better.
2015-12-26 21:17:23 -08:00
Kurt
92fe0910fe Add 4th gen crypto (+PGT specific optional arg)
PGT files are encrypted with the PK4's checksum instead of the PID;
however, the shuffle value is still determined by the PID.
2015-12-26 15:55:25 -08:00
Kurt
9b7394f631 Fix order of operation
cast happened before modulo, resulting in negative return values
2015-12-25 17:54:14 -08:00
Kurt
54bd371b50 Fix Showdown Export IVs 2015-12-20 10:55:47 -08:00
Kurt
308dfd2c24 Fix Showdown Export nicknames 2015-12-20 10:50:09 -08:00
Kurt
6101fd2123 CopyTo 2015-12-14 07:52:05 -08:00
Kurt
f015ca5a58 Add support for Forms
PKHeX & Showdown have to have parity with Form descriptions.
2015-12-09 19:57:53 -08:00
Kurt
9013dc0641 Tweak set IO
Return empty string instead of null
Recalculate current level (ignore corrupted stats)
2015-12-09 19:38:09 -08:00
Kurt
f664bbe34f Write PK6 -> ShowdownSet export text 2015-12-09 19:16:50 -08:00
Kurt
a4b5033b1e Mess with showdown exporting
Still nonfunctional, just have to write the encoder after relaying all
relevant information to the ShowdownSet
2015-12-07 21:46:48 -08:00
Kurt
fed7bacac3 Further cleanup of sprite assets
Reduces the size
2015-12-06 22:40:48 -08:00
Kurt
b4c4419015 Minor reorganization
CLeaned up some unnecessary parenthesis and simplified a few
expressions.
2015-12-01 23:08:16 -08:00
Kurt
c9dad89e11 Minor refactoring
Cleaned up a little bit of code and used more magic references.
2015-11-29 12:59:13 -08:00
Kurt
0ac33a0639 Cleanup
Remove unnecessary logic.
2015-11-25 22:52:23 -08:00
Kurt
520af0ff55 Tweak stat retrieval logic 2015-11-25 22:46:16 -08:00
Kurt
c9d0db23ac Refactoring
Increase flexibility, use game personal data and structure to clearly
define what is going on.

Helps for implementing future games.
2015-11-25 22:20:09 -08:00
Kurt
661052bcf9 Refactoring of Save File Usage
Probably breaks a thing or two... time to get testing after this new
commit.

Wrapping the stored 'savefile' into an object which handles its use
allows a clearer separation of function and easier maintenance or future
updates.

May eventually move all get/sets for each form to allow property
fetching from any window, all logic handled within the class.
2015-10-23 20:13:32 -07:00
Kurt
bd8ff36e4b Add FileName fetching
Non language specific export, doesn't indicate egg either (the Nickname
will though!)
2015-10-12 17:05:34 -07:00
Kurt
4acfc8ed8b HPivs to 2d array 2015-10-04 17:20:18 -07:00
Kurt
d9dfda4df2 Replace ExpTable with uint array
Should simplify reading the code too.

#region to hide as it does not collapse normally in vs
2015-10-04 17:16:01 -07:00
Kurt
ded26dccb7 Remove unnecessary sub-classes
Structures was originally intended to be a big class but that'd be way
too messy.
2015-10-04 16:58:17 -07:00
Kurt
b9fdaf5109 Add save->bool (valid) & documentation 2015-10-04 16:56:47 -07:00
Kurt
3cf58aa010 Refactor (clean) shuffle method 2015-10-04 16:37:34 -07:00
Kurt
08969a979c Remove duplicate PK6 class
Has been redefined elsewhere and this instance was never used.
2015-10-03 08:01:48 -07:00
Kurt
578aeb66b0 Fix stackoverflow
Yay recursion
2015-09-23 23:12:30 -07:00
Kurt
f331fb95c9 Minor refactoring
Moved QR text generation and tweaked a few property generations.
2015-09-23 23:02:26 -07:00
Kurt
67aa4753d6 Remove 1MB native support
Finally rid of this monster.

There still exists a bug when loading the pk6 data to tabs; still need
to fix that before it's stable.
2015-09-23 22:45:44 -07:00
Kurt
809148ed54 Refactoring round two
Introduced the fully editable PK6 class object, which is now used by
PKHeX's pk6 editor, as well as updated the Box Data Report. Readability
should be increased as no

Includes bug fixes:
Odaxis' report regarding Event Flag Editor
Showdown sets using "Trait" instead of "Ability" (old old style) now can
be read.
Imported showdown sets will not use the imported gender label (instead
uses the current style, same 'value')
2015-09-23 20:29:31 -07:00
Kurt
d4ea56cfd6 Heavy refactoring
Remove numerous inter-form dependencies, remove hard-coded offsets,
update a few spots to use better programming practices.

Should increase the readability of PKHeX's source code.
2015-09-20 20:34:09 -07:00
Kurt
f45ff5125c Fix Hidden Power Argument Usage
getHPType's input order needed to be updated -- the form usage was
changed via the characteristic fix commit.
2015-09-07 13:02:18 -07:00
Kurt
84586f2da9 Fix untrimmed showdown set 2015-09-04 18:50:14 -07:00
Kurt
22c63b4662 Use existing getSprite method
I thought I caught all these duplicate sprite fetch methods...
2015-08-06 20:50:26 -07:00
Kurt
8dfa356a77 Fix form/nickname detection
Check for the form name in the inversion check
2015-07-21 18:17:10 -07:00
Kurt
04229d1b9a Tweak set detection, added lineskip 2015-07-02 17:15:56 -07:00
Kurt
c1005945fd Sanitize apostrophes
King's Shield, King's Rock, Farfetch'd are notable examples of Showdown
strings differing from game default strings.
2015-06-13 00:30:45 -07:00
Kurt
bbf43d7e34 Refactoring and Showdown Bug Fix
Thanks Odaxis for reporting the Showdown import edge case with Mr. Mime!
2015-04-28 07:39:50 -07:00
Kurt
6b841cce2b Showdown import allow inverted nicknames
Thanks Favna for the edge case; simple implementation.
2015-04-16 23:03:01 -07:00
Kurt
a003db55b4 Import sets without items
Thanks Favna for bringing this to my attention!
http://projectpokemon.org/forums/showthread.php?45955
2015-04-14 17:50:16 -07:00
Kurt
8f2bc04a82 Fix hidden power string detection 2015-04-01 17:20:09 -07:00
Kurt
1aa77e2c9b Set Import Fixes & Trash Byte Fix
Set will now import gender and set nickname properly, also will now
import Showdown's stat descriptions.

Latest OT will now write only enough bytes and won't overwrite any
previous names, leading to trash bytes. Fun.
2015-03-18 20:45:06 -07:00
Kurt
0839f1b43c Finish implementing Showdown/Smogon paste importing
Some other minor tweaks to smooth the code.
2015-03-16 19:25:59 -07:00
Kurt
b906491d2f Refactoring, QR operations -> method 2015-03-13 19:59:51 -07:00
Kurt
bf7cd278cc Refactoring
Refactoring complete (for now).
2015-03-10 18:44:51 -07:00
Kurt
8b3b7ba29b Refactoring 2015-03-09 23:37:40 -07:00
Kurt
1ff60e7231 Click Hidden Power Type to change
Hold Control to go backwards in the list.
2015-03-03 18:57:08 -08:00
Kurt
925293f9d6 Fix Hidden Power recalc
Oops.
2015-02-21 12:59:04 -08:00
Kurt
a0c96bd329 Hidden Power IVs method simplification 2015-02-20 14:24:50 -08:00