Commit graph

805 commits

Author SHA1 Message Date
Michael Scire
d1039e20f3 WC7 description support for cards with >1 item 2017-02-20 21:46:25 -08:00
Kurt
f860bd31c7 Add minimum size check for opening files
0bytes -> exception, just use pk2 stored (min size)
2017-02-15 08:29:47 -08:00
Kurt
0f45adda89 Handle skipped gens
Expand InhabitedGeneration to actually check if it can inhabit
generation instead of if species can exist on generation
misc behavior tweaks
2017-02-15 00:11:12 -08:00
Kurt
dcb30e61a8 Add Festival Plaza name changing
Closes #854
2017-02-14 19:09:10 -08:00
Kurt
2e9f8e19ea Menu sprite distortion fix
Closes #858 by adding in updated Steelix sprite, uses ripped files
re-saved in paint.net
Thanks @sora10pls !
2017-02-14 18:54:46 -08:00
Kurt
f9cc9c10ca Tweak suggestion behavior
Prefer lowest level wild encounter; expand suggestion for evolved pkm.
Add click event to Current Level (for gen1+ pkm since Met Location not
visible).
Add Nickname CheckIdentifier to change incorrect identifiers in Nickname
check.
2017-02-14 17:33:57 -08:00
Kurt
a5e09bfe31 Fix legal move selection allowing future moves
Initially populated with a filtered list, was unfiltered when
repopulated for legal moves. Just split legal/illegal, have the main
form choose which one is the stored list.

Remove unnecessary linq for other forms
2017-02-13 21:20:10 -08:00
Kurt
6722afef76 Misc behavior updates
Closes #855
2017-02-13 20:42:39 -08:00
Pol Eyschen
19b53e10e9 Tabs -> Spaces & Typo 2017-02-13 19:55:02 +01:00
SPoF
cf9bf85bb4 Add Framework check for non-windows OS
GetFrameworkVersion() throws an System.NullReferenceException since
there is no Registry on non-windows systems.

Fixed by checking the OS under which the program runs. If it's not
Windows, check the CLR Version instead of querying the (non-existant)
registry.
2017-02-13 13:06:54 +01:00
Kurt
578f05cd2e Initial Gen1 legality checks (WIP)
Have only tested pk1 format so far; there's still a few cases that are
unhandled (move discrepancies between games, trade gifts, event mew,
tmhm).

pls no report bugs unless you are very detailed (include WHY it is
wrong).
2017-02-12 17:00:03 -08:00
Kurt
22e49928c5 Tweak nickname language update behavior
Closes #849
2017-02-12 09:59:49 -08:00
Kurt
cbccc6a28b Add rby encounters
Includes fishing slots
todo on trades/static encounters; feel free to pull request (look at
tables6/7 for ref).
2017-02-12 09:52:31 -08:00
Kurt
d248cdd280 Simplify batch editing
changes IV3 to faster variant used elsewhere,
sort properties alphabetically,
simplify 'any' intersection,
un-duplicate database filtering
un-duplicate box/folder per-pkm processing

-25 lines, a little bit of reorganization since the form has grown since
its initial inception
2017-02-10 23:54:36 -08:00
Kurt
1233a29661 Hide multiplayer icon (or/as) for X/Y saves. 2017-02-09 22:55:04 -08:00
Kurt
3dc5e9d579 Add legality suggestion commands to batch editor
Closes #842
Adds in ability for custom properties
Suggestables are called via $suggest
Only properties supported are Met_Location, Moves, and RelearnMoves
2017-02-09 22:45:58 -08:00
Kurt
fa145ec510 Add nickname clearing for batch editor
.IsNicknamed=False
results in the species name being applied.
Closes #839
2017-02-09 20:52:24 -08:00
Kurt
2f76d83add Add VC extension to openfiledialog filter
So crowded, put all files at the top for default behavior
2017-02-09 20:19:38 -08:00
Kurt
3b0485414d Move xorpad decryption out of winforms
simplify logic a little, fix a few issues
nobody uses powersaves & xorpads anymore tho
2017-02-09 00:44:38 -08:00
Evan Dixon
bd4b400626 Cleanup
Whoops.
2017-02-07 23:13:33 -06:00
Evan Dixon
6504d5305a Fixed settings not saving when form closes
Should resolve #833.

This is why I prefer if statement logic to return statements littered everywhere.
2017-02-07 23:12:18 -06:00
Kurt
2f5b5790db Add xy trainer nickname
Closes #283
2017-02-07 16:25:13 -08:00
Kurt
2ecf1c1c7b Improve file loaded transfer preference
use last char of file extension if available. edge case for pk[m]
considered:
pk[m] => 0x6D, -0x30 = 61d, &7 = 5, which prefers 6 instead of 7+ :)

adds a check for transferred pkm not having their CurrentHandler being
flagged as the save file (impossible for a transferred PKM to be still
handled by the OT).
2017-02-06 22:19:10 -08:00
Kurt
2b606dfc32 Cleanup
fixes qr7 import
2017-02-06 21:36:00 -08:00
Kurt
fbc56ace6d Add more g7 stat records
Thanks skywalker25 & Holla!
2017-02-05 21:50:06 -08:00
Kurt
065795cdbe Add database IdentifierContains filter 2017-02-05 14:38:39 -08:00
Kurt
ac818424f2 Delay pkm file loading via cmd args to end
Closes #828
2017-02-05 13:24:39 -08:00
Kurt
77c25c41d3 Add legality indication for exported QRs
only appears if the legality was checked (ie checking supported)
2017-02-05 12:55:17 -08:00
Kurt
f64d31c557 Faster G7TID generation
#823

generate a random T7SID instead of brute forcing a pair
2017-02-05 10:57:42 -08:00
Kaphotics
77a68c23b9 Merge pull request #823 from ReignOfComputer/f/g7tid-generator
G7TID Generator
2017-02-05 10:35:32 -08:00
ReignOfComputer
2d0b216b33 G7TID Generator
Thought it'd be good to add a way to generate a TID/SID based on desired
G7TID. Using code from my repo at
https://github.com/ReignOfComputer/Reverse-G7TID-Calculator, thanks to
@PP-theSLAYER and @SciresM. For your consideration to add :)
2017-02-06 00:08:49 +08:00
ReignOfComputer
c7e570b92d Add Check for Bad Ability Length 2
Forgot to save, again.
2017-02-05 23:23:17 +08:00
ReignOfComputer
2de7da80b0 Add Check for Bad Ability Length
Prevents System.ArgumentOutOfRangeException: StartIndex cannot be less
than zero.
2017-02-05 23:23:02 +08:00
Kurt
7e23d13a78 Simplify egg sprite fetch
Call ChangeOpacity directly instead of layering with partial
transparency.
2017-02-04 23:42:55 -08:00
Kurt
f25adad211 Misc tweaks
allow qr for gens 1-3, change draginfo cursor type to object.
need to figure out how I can get it out of main
2017-02-04 23:11:48 -08:00
Kurt
5d3e167496 Box slot legality r3
Closes #814 thanks @JortonMV !
Closes #818 thanks @egzonqj !
(both were instrumental in regards to this commit, much appreciated)

Refactors to move the slot image generation per the save file to an
extension method, instead of having 4 methods (2 in main, getQuickFiller
& getSlotFiller, and 2 in box viewer, same names).

Uses the legality marker unscaled in the bottom left corner of the
sprite.
Fielded a few ideas in IRC (a commented-out line that tinted the sprite
red remains in the src), but the folks in IRC preferred the indicator.

When toggling the legality indicator, the box viewer has to be updated
as well as the main box slots.
2017-02-04 20:39:42 -08:00
Kurt
25f6b5259b Refactoring
Add documentation for PKM/PKX, move some code around
2017-02-04 18:27:28 -08:00
Kaphotics
23c4f1e700 Merge pull request #802 from Tsunamical/class-fixes
Class consistency fixes
2017-02-04 14:59:24 -08:00
Kurt
c930b7eb7e Relocate box load/dump/verify to extensions
now with shiny new documentation
2017-02-04 14:58:30 -08:00
Kurt
9e24a3a26c Fix gen1/2 coin set & gen2 TM capping
now writes coin count correctly (uint != ushort) and TMs are capped at
99; HMs shouldn't be allowed beyond 1 but oh well.
2017-02-04 12:13:54 -08:00
Tsunamical
66e669a42b Change NetUtil to a static class
NetUtil simply can be static, which brings it inline with the other
NetUtil.
2017-02-04 11:18:48 -05:00
Kurt
53eb8f9f57 Manually defining nickname from another lang
Don't automatically flag as Nicknamed if the pasted text
2017-02-03 21:48:43 -08:00
Kaphotics
b9efca759f Merge pull request #811 from ReignOfComputer/f/gen7-stat-clarity
Add Clarity to Gen 7 Stats
2017-02-02 22:00:49 -08:00
Evan Dixon
da4df453de Added "Any CPU" build configurations
Prefer 32-bit is enabled, so there will be no functional difference from before, except that any of the assemblies can be referenced by a 64-bit process.
2017-02-02 23:41:58 -06:00
ReignOfComputer
98b785fdf7 Add Clarity to Gen 7 Stats
Reference:
https://projectpokemon.org/forums/forums/topic/40020-why-are-there-two-pokemon-caught-in-trainer-stats/#comment-209810
2017-02-03 12:38:21 +08:00
Kurt
c0e5db6bb0 Add party-only form legality checks
Closes #806
2017-02-02 19:27:48 -08:00
ReignOfComputer
614b15f1b7 Catch MissingMethodException and Direct Users to .NET Framework 4.6 Install (#797)
* Catch MissingMethodException and Direct Users to .NET Framework 4.6 Install

* Revised .NET Framework Warning Message

* Check .NET Framework Version on Launch

* Check .NET Framework Version on Launch

* No Locale for Microsoft Download Center
2017-02-02 19:14:48 -08:00
Kurt
115a8da8f2 Add C-Gear skin incomplete alert
Closes #790
2017-01-31 20:12:51 -08:00
Kurt
40456702a9 Misc tweaks
Fixes marking set #798
sleep deprivation ftw
2017-01-31 19:35:18 -08:00
ReignOfComputer
b7a29c1017 Refresh Visiblity of Legality (#795)
This clears any legality markings when loading Pokemon from generations
not covered by checks. Should fix issue
https://github.com/kwsch/PKHeX/issues/794.
2017-01-31 18:48:33 -08:00
ReignOfComputer
2467fd95ad Fix Fishing Stat Record (#784)
Should be 007 not 006.
2017-01-31 04:13:29 -08:00
Kurt
2fb56a99bf Bump .NET to 4.6
Farewell XP support. :godmode:
2017-01-30 20:45:34 -08:00
Evan Dixon
ebb53457cf Removed whitespace 2017-01-30 22:30:53 -06:00
Evan Dixon
18f08b93a3 Made FileNotFoundException check more specific 2017-01-30 22:27:08 -06:00
Kurt
26925ad528 Add default/illegal fashion payloads
User selects which payload they want to apply
closes #780
2017-01-30 18:32:18 -08:00
Kurt
1454433483 Misc legality updates
Add ゲーフリ to valid 151 OTs
Revise logic for split-forme egg moves (Closes #777)
Save config on closing instead of option change
Remove geolocation setting for 6->7 and associated legality check, move
geolocation validity check higher (Closes #776)
2017-01-30 17:49:28 -08:00
Kurt
9c788d1c8a Fix coins OverflowException
cap to 9999 before casting
Closes #775
Thanks @ThunderRemix
2017-01-29 21:41:42 -08:00
Kurt
9506b3bbe1 Fix cloning overflow
use the count of slots in a box, not 30 hardcoded
Thanks Wanderer1391!
2017-01-29 17:50:06 -08:00
Kurt
3da9bcd0df update SM dex iterator
#772
sneak in misc changes to PKM.cs, to snazzify HPType calc and to allow
markings to be converted from g7 format to g6
2017-01-29 16:55:35 -08:00
Kurt
6a63137ca6 Fix forme display
Closes #771
2017-01-29 10:45:02 -08:00
Philipp Joram
0ac5d57224 Fix tabs for bag pouches not showing on Linux/Mono
Passing a height of 0 lets the TabControl dissapear, making it
impossible to switch tabs between different pouches.

To fix this, use the same approach as for the width and pass the height
of the first icon.
2017-01-29 14:18:35 +01:00
Kurt
30ec9011c8 Misc updates
Remove safari hidden ability check for gen7 origin pkm
load template data on any save load, causes the legality triangle to
appear on supported games
2017-01-29 00:02:32 -08:00
Kurt
5cc8d1de5c Fix clickLegality calling
existing logic put mnuLLegality back into mnuL, causing the getSlot call
to return -1 (not from a box/party slot, ie read from tabs).

new logic should have the intended behavior
2017-01-28 15:20:11 -08:00
Kurt
340b57ee60 More UI improvements
Hold Control when right clicking a Box/Party/etc slot to get the
Legality menu item to appear.

Improve the SD card locked check when saving for multiple exception
types.
2017-01-28 13:07:44 -08:00
Kurt
5ae027c934 Misc user protections
trycatch SD card readonly check
Remove All medals now clears gen7 flags (for improper transfers)
2017-01-28 10:50:36 -08:00
Kurt
ab5a0a7a3a Fix PID auto-update past gen
Closes #766
2017-01-28 10:36:57 -08:00
ReignOfComputer
fa9fba464b Fix Missing PK1->PK7 Geolocations (#764) & dll missing
* Check for Missing Code Library with Error Message

If PKHeX.Core (or other external dependency) is missing, display an
error message at launch.

Closes #763

* Fix Missing PK1->PK7 Geolocation
2017-01-28 09:48:00 -08:00
Kurt
b86321c142 Expand pk6/pk7 checks
As per comments on 75d460e
2017-01-27 23:33:36 -08:00
Kurt
1922a2145f Add BP wondercard type
Closes #758
2017-01-27 09:09:31 -08:00
Kurt
e5d9381c58 Add basic VC legality checks
I may use VC and VC1 a little too interchangeably; things would have to
be updated if GSC were ever released anyway. Usage of VC is for generic
stuff while VC1 allows VC2 to slip by.

no shiny mew 🌵
memories + geolocation, gee thanks bank.

Would need to be updated with gen1 legality checking to add moves/finer
encounter details, but this will do for now. Please don't report things
marked 'legal' that have invalid moves/levels.
2017-01-26 21:35:26 -08:00
Kurt
08adb4c2cb Disable super training flags on format!=6
Closes #752
2017-01-26 08:45:23 -08:00
Kurt
37b3e58979 Add batch editor smart ability instruction
$0 or $1 or $2 for ability 1/2/4 (just think of it with 012345...).
Will set the hidden ability for every mon (AbilityNumber=4 and
Ability=PInfo.Abils[2])

#749 as promised
2017-01-25 23:03:57 -08:00
Kurt
f282711e35 Cleanup
Use S/M met locations for Pokémon GO origin
Changing to VC1 or GO now autofills met location
Un-alphabetize RGBY games and move to end of games list (+go)
Mark unused region names (Kanto string appears twice in text bank 3,
30013 is used)
Move hypertraining stat toggling to pkm object

shift 1->7 logic to repeat less operations
add more 1->7 logic pertaining to memories
add RefreshAbility method (0 based input, not 1/2/4)
2017-01-25 22:51:52 -08:00
Kurt
f1c2a74aed Add write protection alert on save load
#750
2017-01-25 20:11:53 -08:00
Kurt
0d5694dc8e Manually redefine app settings file
http://stackoverflow.com/questions/6436157/configuration-system-failed-to-initialize

delete C:\Users\{username}\AppData\Local\ProjectPokémon\ if still having
issues
Closes #747
2017-01-25 19:39:35 -08:00
Kurt
b370c26542 Fix g6 multiplayersprite clearing
Closes #743, thanks @PrometheusG !
2017-01-25 08:51:05 -08:00
Kurt
0a19b8b59b Split gen1/2 shininess
an attempt was made
2017-01-24 21:28:29 -08:00
Kurt
eebf3fbac3 Add gen1 shininess editing
Since it's the same as gen2's checks, and gen1->7 is now possible...
2017-01-24 21:01:32 -08:00
Kurt
608c570352 Add more trainer stats
Thanks Holla!
2017-01-24 19:50:35 -08:00
Michael Scire
5a23fda752 Add support for VC/Horohoro game ID markings 2017-01-24 07:12:14 -08:00
Kurt
bcb5f5f2bb Minor cleanup
extrabytes setting moved to another method, fixes all resharper problems
2017-01-22 23:05:54 -08:00
Kurt
eaa233bdd8 gen4 wondercard updates continued
Don't set Slot to 3 for an empty slot
Move slot check comparison to PCD class
Allow PCD->PGT 'swap' override to just set the slot
Update alert message to indicate source type first

#730
2017-01-20 19:35:56 -08:00
Kurt
4f99ef6c09 Set Slot id to 3 if no pcd found
Closes #730
Adds ability to set a PCD to a PGT slot (grabs the PGT from card)
2017-01-20 08:43:44 -08:00
Kurt
088f9a9aa7 Gen7 update
Never added wc7 extensions; drag&drop use MysteryGift extension instead
of hardcoded .wc6
2017-01-19 23:48:31 -08:00
Kurt
ed52aa31e1 Fix set import shortly after starting program
CB_Form is not yet initialized with items, do a little sanity checking
before setting index to 0.
Closes #729
2017-01-18 23:18:14 -08:00
Kurt
e13b473979 Enable poke finder camera version changing
Closes #727
2017-01-18 20:01:58 -08:00
Kurt
469e0940c2 Add gen7 hall of fame editor 2017-01-16 22:40:28 -08:00
Kurt
97227fdfe9 More simplification
Extrabytes index selection done in setPKMFormatMode

if (visible) is bad, why do I forget? If the control is not shown (ie
another tab) but possible to be visible it'll return false. Use enabled
instead.
2017-01-14 16:59:57 -08:00
Kurt
3f218968c5 Refactoring & fixes
Fix blank sav creation for gens 1-3 (data vs Data references, version
overrides)
Fix main form init with gen2 first (check for altform usage like all
other gens)
Use GameVersion specific blank fetch instead of generation ID
2017-01-14 16:43:16 -08:00
Kurt
12c46d18a8 Disable custom exception handling for debug mode
VS wouldn't break at the line that threw the exception; only have the
custom exception handling for release builds (ie the CI server & posted
builds).

makes it easy to debug again
2017-01-14 16:41:27 -08:00
Kurt
e321c48871 Refactoring
Add blank save creation to Core SaveUtil methods.
Simplify main form resource usage (remove redundant qualifiers)
2017-01-14 13:10:36 -08:00
Kurt
c075ff3c47 Enhance clone detection for gen1/2
Would only return unique species as PID is not used, use IV values as
unique identification.
2017-01-14 12:10:42 -08:00
Kurt
e83ed49eea Add gender-skin mismatch confirmation
Closes #718
2017-01-12 18:29:44 -08:00
Kurt
f4797e06a0 More refactoring
More extension methods for other types of images
2017-01-11 22:28:35 -08:00
Kurt
db5e084ef9 Further refactoring
Move System.Drawing usage out of Core to WinForms, as System.Drawing is
not in .NET Core/Standard. Simple methods to return resource name
strings have been added instead.
2017-01-11 17:55:42 -08:00
Kurt
1d1179465a Add typo null check
Updating legality with an invalid move name causes SelectedValue to
equal null. Use the util function that has null check for combobox &
selectedvalue.
2017-01-10 20:59:31 -08:00
Kurt
c1e613280b Hide save buttons if no save has been loaded
buttons enabled by default => only show button panel if the save is
valid AND at least one enabled.
2017-01-10 20:01:33 -08:00
Kurt
c9e721fc5b Update settings load
bad settings files cause exceptions, silently delete them
move language init out of loadconfig (want it to happen regardless of
config errors, so load config value instead)
2017-01-09 19:15:46 -08:00
Kurt
1fcdffc654 Add pkm value indication
Grab an example PKM (from main window) to get the current value to
assist users in creating their modification scripts.

Added 3 tooltips for hovering over property/type/value controls
2017-01-08 21:06:15 -08:00
Kurt
51352c3c13 Remove more find-replace errors
yay for unsaved changes
2017-01-08 17:14:39 -08:00
Kurt
1e3a46d760 Find replace is bad 2017-01-08 15:27:00 -08:00
Evan Dixon
87dffcfe57 Updated build paths
to be more consistent with PKHeX.Core
2017-01-08 08:35:23 -06:00
Evan Dixon
1acfdf8f92 Removed "Any CPU" build configuration
Since the solution level one didn't build the dependencies and the project level one built as x86 anyway
2017-01-08 08:28:28 -06:00
Kurt
7da6f1ab1d Cleanup 2017-01-08 00:14:34 -08:00
Kurt
595c7eb4c5 Split winforms to separate project
resources still are associated with winforms, eh
program still runs fine and I've replicated the mono build options. lmk
if this breaks stuff
2017-01-07 23:54:09 -08:00