Commit graph

255 commits

Author SHA1 Message Date
Kurt
15e3ff2eb1 Reconfigure current box saving logic
Moved to after the chunk check; it's also physically impossible to save
the file on the Party/Battle Box view so I don't even bother checking
now.
2015-10-25 18:12:07 -07:00
Kurt
d1c21d460f Cleanup
Removed duplicate array initialization for getting slot filler.

Improves speed ever so slightly ;)

Other minor cleanup/rearrangement
2015-10-24 18:16:22 -07:00
Kurt
b1c0beff74 Send "chunk uninitialized detection" to class
yeah, get educated.
2015-10-24 16:52:25 -07:00
Kurt
101c0ad80f Minor bugfixes and cleanup
Added an Edited property for the save
blank slot (encrypted) is initialized once and can be used elsewhere
instead of constantly being recreated for no reason.
Fixed having 32 boxes for non-saves

All SAV editing forms now set the Edited flag when saving->close.
2015-10-24 16:33:44 -07:00
Kurt
1b514bc84f Move SAV box sorting to class 2015-10-24 12:31:29 -07:00
Kurt
775dc74287 Add trade friendship altering
Special cases allow friendship to be min/maxed anyway.
Added get/set for current friendship.
2015-10-24 11:57:07 -07: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
2e5f447dce Begin Implementing auto-modification when set
There's a few ways to finish implementing, as the program needs a way to
access Trainer Information on the fly. Quick and dirty way is to add new
global variables and set them when a save file is loaded, and a cleaner
way would be to move the 'savefile' variable into the sav class and do
all accessing from there.

Not yet decided on which. For now, the added items and code still do
nothing.
2015-10-19 19:08:56 -07:00
Kurt
ebae9a933b Cleanup of Delete/View
Removed unneeded picturebox array (duplicate of slotpictureboxes)
Removed temporary variable 'picturebox', just straight up compare to
null.
Deleting now instantly sets the picture to null, instead of generating
the image. (might not have been the best idea if I somehow decided to
change slot filling)
Empty slots now instantly return null (empty) for their image instead of
doing layering.
2015-10-14 20:10:09 -07:00
Kurt
1961c972c3 Simplify setting pk6's to XY with ORAS exclusives 2015-10-14 19:59:43 -07:00
Kurt
f3ec13965f Fix ramsav loading logic
Since ramsavloaded was defined when loading (and removed), we need to
define the ramsav before loading it.

Fix for checksum button.
2015-10-14 18:52:50 -07:00
Kurt
f6bddf6fce Ramsav/Powersave cleanup
Old code which is unnecessary.
2015-10-14 18:45:45 -07:00
Kurt
9d9250fbc1 Revisit slot loading logic
savLoaded is useless now
2015-10-14 18:33:51 -07:00
Kurt
77b4f9cc0f Fix injectiondebug loading
woww I search for the start but never use it, wp
thanks Cuestion24
2015-10-13 19:10:55 -07:00
Kurt
468bf14dad Fix bad pk6 detection logic
&& -> ||

Also changed to using PK6 class and early-checking for a bad sanity.
2015-10-13 18:58:59 -07:00
Kurt
6e207b677c Isolate box dump method
Now using the get->FileName for the pk6.
2015-10-12 17:06:30 -07:00
Kurt
afdb94ba13 Fix silly edge case
Ensure the checksum is valid before loading the data
2015-10-11 23:43:07 -07:00
Kurt
b352de254e Add optional focusing when loading to tabs 2015-10-11 23:36:20 -07:00
Kurt
480622388c Speed up loading to tabs (sprite)
Information is already available, no need to reformulate a new array.
2015-10-11 23:34:11 -07:00
Kurt
32b1ba52e3 Simplify version calculation
24,25,26,27,28,29
2015-10-10 10:01:52 -07:00
Kurt
8ef03eaccd Database sanity checking before opening 2015-10-08 17:40:36 -07:00
Kurt
d9073cea98 Finish first iteration of Database & Search
Should surpass the search options of Pokécheck ;)

Quite easy to add extra search options too!
2015-10-07 20:19:34 -07:00
Kurt
772cd08bae Fix (set from tabs) not setting the display flag 2015-10-05 21:58:08 -07:00
Kurt
c1bb9d5cec Add database view skeleton
future?
2015-10-05 18:51:52 -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
7b00e797d0 Invalidate init on program language change
Store the pk6 data in a separate byte array.
2015-10-04 09:58:47 -07:00
Kurt
9f420473ad Update box sort query usage
Still don't know where I want to have the user access this.
2015-10-04 09:33:43 -07:00
Kurt
28dd4b2903 Update label clicking
Addresses Issue #58
Check for null first (root issue)
2015-10-02 17:41:55 -07:00
Kurt
6954df5e28 Box sorting beginnings
gonna toy with this later.
2015-10-01 21:06:21 -07:00
Kurt
d508e68057 Fix ToolTip = null
Thanks RustInPeace!
2015-09-28 21:13:23 -07:00
Kurt
076a8b369d Memory Editor uses pk6 object & bugfixes
Eggs cannot have memories, and have all edits disabled.
When a pk6 is saved, memories will be cleared if they should not be
present.

Fixed empty regions showing up with data
Fixed not being able to edit the first georegion for an untraded Pokemon

All lock-outs for editing should be correct now.
2015-09-28 21:11:03 -07:00
Kurt
30811c03e0 Initialize Move1 to bypass movecount check on load 2015-09-28 19:36:28 -07:00
Kurt
f84f630a0d Fixed Party Stat writing and move cascade
'pkx' array was dummied out, resulting in the pk6 data not receiving the
party stats for writing.

Old bug: Having a Moveset with 1--4 (gap of two) would only remove one
of the blank move slots. Added method in the PK6 class for the (now
correct) fix-code; other fixes that are done when saving are now done in
separate methods as well.
2015-09-27 19:56:17 -07:00
Kurt
8e0d367ddf Cleanup & Adding MaskedTextBox click events (IV/EV)
Same functionality as the previous commit's adding of Max/Min stats for
IV/EV; this one should be easier to do (Control click the textbox to
max, alt to minimize/zero).

Removed SavePKX / OpenPKX; they are only used inside one method and
don't need to be persistent.
2015-09-27 10:00:45 -07:00
Kurt
fb059193c7 Fix daycare data not reloading on box refresh 2015-09-26 23:51:26 -07:00
Kurt
27492e1600 Add IV/EV click modification
Control to modify IVs, Alt to modify EVs
Left click to set to 31 (or max remaining EVs)
Right click to set to 0.

Feels much better with the Key being the IV/EV switch, not the
left/right click (for left/right column editing).

Think of it as L(oad)/R(eset) 👍
2015-09-25 21:56:15 -07:00
Kurt
87073e639c Slimming, reverting, and fixing
Can't find any more problems; found an existing bug when opening the
Memory editor where it did not fetch the current Friendship or set the
final Friendship back.
2015-09-24 19:54:50 -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
c6c12228a9 Fix Party not updating properly with <6
If the user were to set to the last slot, the setParty method would
trickle the data down, but the getQuickFiller would then make a sprite
appear in the slot it was trickled from.

Since setParty refreshes the party sprites, there's no need to do it for
anything but a party slot.
2015-09-20 23:05:54 -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
2c21bcec13 Consistency Updates + Bugfix
Fixed a user bug where they canceled out of the FolderBrowserDialog
eventually writing to an empty path.
2015-09-18 16:31:18 -07:00
suloku
67d2abc6d4 When dumping all boxes to a folder, prompt user if he wants to create a folder for each box instead of dumping all pk6 files at the same folder. 2015-09-18 18:29:47 +02:00
Kurt
00d20b9e6b Fix trade packet from copying too much
I should really just remove this filetype as it is nearly 2 years old
and no new data can be obtained. I'm unsure if buff gets resized so this
will only copy as much data as is required to load the PKX.
2015-09-17 20:20:58 -07:00
Kurt
2ac6d8af50 Import File fixes
Trade Packets: Actually load to the stored array and populate instead of
doing nothing.
boxdata/pcdata/BattleVideo: Sets the Pokédex flags.
BattleVideo: Widens the form on load like the other box-import methods.
2015-09-17 20:18:22 -07:00
Kurt
2ea5c3b2e9 Enable Egg RNG Seed Editing
Played around with a few solutions, was happiest with (the probably
slower) linq as I didn't feel like using regex.

Supports copy/paste as all the filtering is done when the text changes;
any successful update will refresh the value in the save file.
2015-09-15 23:33:02 -07:00
Kurt
4cc9546504 Multiple open arguments and bugfix
Species autoselect was previously changed to happen during initial fill
of fields.
Multiple arguments can now be passed (ie, load a save and a pk6).
2015-09-13 09:10:44 -07:00
Kurt
6f94705c10 Updated path3DS usage 2015-09-11 22:17:13 -07:00
Kurt
0ad445d772 Updated Main Menu's Open feature 2015-09-10 19:59:44 -07:00