Commit graph

563 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
e85c57b35c Re-enable encounter type
Visibility toggling is sufficient; there never was code to re-enable.

Old cosmetic bug :)
2015-10-24 16:41:49 -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
25fca4964b Implement Trade logic when Set
Friendship and Affection are still not modified.
This may cause an issue with users who edit mons with their OT as
current handler and set friendship to 255, and the program makes the HT
with 0 friendship.

Can't really code in an alert as it'd be an annoyance for users. Gotta
think about it more :)
2015-10-24 11:29:03 -07:00
Kurt
f14a06a8bd Fix initialization for non-saves
When initializing with a zero-byte array (ie, starting the program and
just having blank data), the box/party have specific offsets.

Also got rid of the silly default switch cases which can just be
achieved earlier.
2015-10-24 09:52:02 -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
d85936467e Add dex overriding from method call
A little shuffling of info too for ease of use.
2015-10-23 20:10:03 -07:00
Kurt
d5484d265b Implement global settings for on-set methods
This makes it so that the program can turn off these methods for every
instance unless the implemented method explicitly says otherwise.

Nullable boolzzz
2015-10-23 19:58:23 -07:00
Kurt
f348a27d0c Minor Bug fixes
Properly init offsets for inventory, and fix for genderless bit writing.

ORAS PokeDex editor does not save bools for the current entry when
closing the form; fix will be provided in a later commit.
2015-10-23 19:45:25 -07:00
Kurt
322fceb598 Add new class
Performs SAV operations to match the division already done for PK6.
2015-10-22 00:16:44 -07:00
Kurt
5057be999f Use defined size names 2015-10-21 22:59:22 -07:00
Kurt
f3374aee10 Add constant sizes for easy reference in code 2015-10-21 22:54:50 -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
4a1ee57c58 Improve Trading logic to include Banking 2015-10-18 18:33:38 -07:00
Kurt
048fbb60ce Remove unused resource
fulldex_XY no longer needed
2015-10-15 04:23:57 -07:00
Kurt
6431ef1f68 Update Fill Pokedex method
Now just spams Give All for every species before writing forms (and
encounter count if necessary)
2015-10-15 04:23:41 -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
8885e826a8 Fix sanity get offset 2015-10-13 18:55:05 -07:00
Kurt
633d4e040b Add export option for (filtered?) results.
It might be wise to just ball up all the results (as decrypted) to speed
up form loading (by just having to read one file instead of >1000 at a
time).

Maybe just scoop up all the files into the database and filter dupes,
but no way to remove stuff....
2015-10-12 17:12:20 -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
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
d17a322bca Hide ESV on filter reset
Misbehaved depending on state before reset. This should do the trick.
2015-10-12 00:12:21 -07:00
Kurt
1c663a8600 Add Indicator label & fix focus issue
Indicator will now tell the source of the file last viewed
Focus fix pairs with the main form adding the focus argument to the
method; the window will no longer lose focus (ie, pass focus to the Main
form)
2015-10-12 00:10:40 -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
b07359f8dd Add Trade Logic
I don't have TradeFriendshipAffection called by anything; or any of
these methods for that matter. Need to find a solution so that the user
can turn ON/OFF these types of modifications (and ensure that PKHeX
doesn't overwrite any user data).
2015-10-11 14:31:46 -07:00
Kurt
805300a41d Implement Create Data Report
Required adding a pre-filtered method to the report form in order to
process data.

Probably gonna end up with stupid identifiers stretching everything, but
at least it shows where everything is. Best to export to a csv table
anyway.
2015-10-10 18:29:02 -07:00
Kurt
03900d1414 Code cleanup (reordering)
Additionally, Resetting Filters will reset the newly added Generation
ComboBox.
2015-10-10 10:28:24 -07:00
Kurt
be2e95b1c8 Add Generation filter
When the SelectedIndex of the Version ComboBox is changed, the
Generation index will be set to zero (and vice versa) to prevent
conflicting search criteria.
2015-10-10 10:18:55 -07:00
Kurt
c8bab4d01c Add Generation attributes 2015-10-10 10:11:22 -07:00
Kurt
0e194ec861 Allow subfolders to be accessed when loading 2015-10-10 10:02:32 -07:00
Kurt
32b1ba52e3 Simplify version calculation
24,25,26,27,28,29
2015-10-10 10:01:52 -07:00
Kurt
0b42980119 Reset last slot viewed on search 2015-10-09 06:34:26 -07:00
Kurt
07bf3b2312 Fix search -> scrollbar interaction
Setting the value doesn't trigger the fill update; manually update
regardless of scroll position.
2015-10-08 20:18:42 -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
ccb5f6e428 Add more flag setting logic
Checks the opposing checkbox when set.

Of course one could take this further but it should be left up to the
user for insane tweaks.
2015-10-06 17:19:15 -07:00
Kurt
f0faf76fc6 Fix Box Report errors
Thanks RustInPeace for initiating the conversation.

Getting EggLoc needs to call getLocation with eggMet set (for HGSS
mons).
Fixed 0 index for Box/Slot in the identifier; BOX 1 => B1
Should only add the pkm to the list if its checksum is valid.
2015-10-06 16:45:26 -07:00
Kurt
772cd08bae Fix (set from tabs) not setting the display flag 2015-10-05 21:58:08 -07:00