Commit graph

932 commits

Author SHA1 Message Date
Kurt
796e836811 Add Settings reset button
force closes program to prevent main form closing event from saving
settings
Closes #2272
2019-03-23 19:05:35 -07:00
Kurt
82a40cb965 Misc updates
add comboitem list to string[]
add regions list as cached comboitem list
lock resource cache on fetch
extract alola time list generating
2019-03-18 21:34:21 -07:00
Kurt
8a08d32dff Simplify pkm constructors
remove Identifier param. 99% of the time, identifier is not provided,
resulting in a useless call

end result:
provide 'create new' and 'create from' constructors
2019-03-16 18:41:56 -07:00
Kurt
13a6d16cb9 Relocate checksum/dexform logic 2019-03-16 12:01:21 -07:00
Kurt
7734e81adf Remove unnecessary bytesperchar check
current.Length will always start right after the terminator data;
shifting further is unnecessary.
#2261
2019-03-07 16:58:19 -08:00
Kurt
61bf82e2bd Add gs event flags
https://projectpokemon.org/home/forums/topic/49717-pkhex-flag-editing/?tab=comments#comment-240804

via pret repo; looks like 2000 event flags, and 0x100 event
consts/work-vals (byte)
add more rebattle toggles
2019-03-05 23:06:05 -08:00
Kurt
a4bf6335a9 Unclamp max date
values above 2100, whatever, let them get saved however they end up
2019-03-05 16:33:54 -08:00
Kurt
8d49400b07 Change SecondsTo* from int to uint
having a year > 2050 can result in a 32bit seconds value (top bit set);
instead of being negative, keep it as a 32bit number.
2019-03-05 15:55:26 -08:00
Kurt
d792c0d3a0 use u/L
use 'u' to denote uint values, so that less IL ops are required
~(21->17) in the case of IVs
no functional change, just a fun exercise looking at generated IL and
finding ways to use less ops
2019-02-23 15:36:26 -08:00
Kurt
5b29e71954 Misc tweaks
no functional change, just rewrite some logic for better flow
fix subform popup count restriction (OwnedForms requires forms to be
added/removed manually; it doesn't automatically update)

sanitize box names when dumping boxes with separate folders (and bad box
names)
2019-02-23 14:58:48 -08:00
Kurt
ca51edbdcf Change sav.LoadBoxes to return int
make MysteryGift specific method flexible so that any IEncounterable
enumerable can be passed.
2019-02-23 14:37:06 -08:00
Kurt
a339cc9289 Extract pouch manipulation logic
add overloads for API syntactic sugar
make ItemConverter internal again
2019-02-22 22:48:34 -08:00
Kurt
399afd49a6 Misc rewrite
Remove a bunch of duplicate accessing
use dictionary to fetch grid rather than searching control names
break up larger methods to reduce complexity

probably going to rewrite the giveAll/removeAll actions to do work
within the pouch, then reload the UI with the final pouch
2019-02-22 18:43:15 -08:00
Kurt
05ba7c519c Misc simplifications
removed duplicate sorting GUI logic
extract grid fetch method
2019-02-21 23:17:50 -08:00
Kurt
df94afa711 Misc updates
extract some enums to core, use Enum.GetNames to do string fetch
make stamp listbox taller
clean up Display*ID setters
2019-02-21 21:54:41 -08:00
Kurt
0156958f1a Add fame hh:mm:ss
https://projectpokemon.org/home/forums/topic/49296-number-of-trades-on-trainer-card/?do=findComment&comment=240455
2019-02-21 15:20:26 -08:00
Kurt
40963c012a Add sav3 BP Earned editing
misc editor, first tab (main)
2019-02-19 20:59:47 -08:00
Kurt
fa4318ae2f Add gen3 record editing
in misc edits window
2019-02-19 20:46:58 -08:00
Kurt
ffc229ce00 Fix event combobox binding 2019-02-19 14:19:09 -08:00
Kurt
7c3e5aa83c Make RandomGender a method instead of property
See pkNX for similar change; the functionality is really *method*
2019-02-17 22:13:40 -08:00
Kurt
a8c7307d4b Update shortcuts
ctrl-n used to be settings, but encounter database now uses it
add ctrl-w to close settings editor (undocumented)
document more shortcuts
2019-02-17 15:08:14 -08:00
Kurt
ddeef079eb Reorganize settings editor to show color settings 2019-02-17 14:52:04 -08:00
Kurt
2bb0ea0b38 Fix apply/clear trash
Closes #2261
2019-02-14 18:12:50 -08:00
Kurt
6f76a3b1ae Add setting to ignore "Legal!" popup
just plays sound
change 'bad field data' sound to Hand
2019-02-12 20:17:09 -08:00
Kurt
e82b4de657 Misc clean
replace Friendship control click to match shortcut description (used to
do nothing)
Remove some duplicate translation strings
fix gameselect string formatting
apparently systemsounds changed in a recent win10 update, Question is
now silent?? Exclamation is now the same as Asterisk (same as Beep?) Use
hand instead of Exclamation.
only use asterisk for notifications
2019-02-11 22:39:12 -08:00
Kurt
309633a214 Replace some trycatch with tryparse 2019-02-11 22:04:47 -08:00
Kurt
182348526c Add display TID/SID get/set 2019-02-10 10:31:20 -08:00
Kurt
dc5cdc34d7 Remove FieldsInitialized and rename check method 2019-02-09 17:07:44 -08:00
Kurt
59b41937e1 Misc variable name changes
readability++
2019-02-06 23:28:02 -08:00
Kurt
29253ed636 More cleaning 2019-02-03 20:28:03 -08:00
Kurt
893f98d667 Misc clarity
no functional change
make batch editor prefix list readonly
2019-02-03 10:28:33 -08:00
Kurt
f481404503 Misc clean 2019-02-02 10:19:41 -08:00
Kurt
6ed9f979de Continued refactoring
removing null results as indicators of no data (c# 8 sooooon)
2019-02-01 23:26:43 -08:00
Kurt
aa022fad40 Misc refactoring
remove some null usages, return an empty array instead
reduce as arg
2019-02-01 23:08:03 -08:00
Kurt
3b8dc42f1a Allow hidden settings to be displayed
hold control
2019-01-27 21:57:26 -08:00
PMArkive
095ec241ae Column sorting changes for ZygardeCell editor (#2249)
Now you can sort the Available stickers to the top.
Also a change to have the "Ref" sort integers instead of strings.
Now it doesn't go 1\n11\n etc
2019-01-25 16:51:31 -08:00
Kurt
8652677a79 Misc tweaks
showdownset: contains char instead of string
gameinfo: static readonly array instead of redefining new on update
legality: order of operation / value reuse / simplification / comments
pkx: compare char instead of single character string
header/footer: move assignment into method as an out instead of ref
2019-01-20 21:55:28 -08:00
Kurt
9fd6d86b1d Merge game selection alert & prompt to 1 popup
https://projectpokemon.org/home/forums/topic/49080-multiple-exceptions-when-selecting-gen-3-blank-saves/

ty BlackShark :)
2019-01-15 22:26:45 -08:00
Kurt
f89452bd41 Disallow GO blank save selection 2019-01-14 16:25:54 -08:00
Kurt
d62a69a6a7 Misc fixes
Provide gen1/2 gb only version origin fetch for personal/moves ty
shadowmario (i assume this fixes things)
make listbox use ingame font for special characters

2f6e30bb3c (r31924945)
ty @pmarkive
2019-01-13 18:12:31 -08:00
Kurt
2f6e30bb3c Font update
Closes #2242 , adds OT font without cloning
add font to secret base editor, fix ability combobox binding --
apparently nobody has used this editor since it was changed back in July
lol
2019-01-13 14:43:04 -08:00
Kurt
154f122369 Allow changing of default savefile type
kinda have to restrict these to 'valid' choices; should be enough of a
selection->result to be adequate for changing version

restart the program after changing the setting; won't take effect until
rebooted.
2019-01-05 15:42:20 -08:00
Kurt
e028214eab Update dex form handling for dex4
still not sure if it's entirely right, but at least there's no more
exceptions
https://projectpokemon.org/home/forums/topic/48288-pokedex-error-gen-4/
2019-01-05 12:37:41 -08:00
Kurt
1b50e97934 Remove cgse fixed path
can restore behavior by adding it as a custom user path; cgse isn't very
prevalent nowadays

now the only registry key checks are for checking net framework version
2019-01-02 18:18:24 -08:00
Kurt
473c4adaa9 Fix encounter browser startup 2018-12-31 23:39:08 -08:00
Kurt
e7f7e3dc3f Update encounter search
Add version specific search or all compatible
Add encounter type checkboxes (others are ignored)
Only return distinct encounters (by reference)
Refresh Checksum from generated iencounterable->pk before converting (to
eventually be fixed in iencounterable rewrite maybe)
Closes #2219
2018-12-30 17:33:31 -08:00
Kurt
6140c973ae Account for wr7 deviance from gen7 format extension 2018-12-29 22:10:33 -08:00
Kurt
ce8c4d1ccd Allow rows to have non-multiples of 6
Say the count of gifts isn't a multiple of 6, it'd crash
just so happened that all prior games were mults of 6 lol
2018-12-29 22:00:17 -08:00
Kurt
6f22599baf Prevent slot overwriting on bulk import
https://projectpokemon.org/home/forums/topic/48912-how-to-batch-import-pokemon-boxes-without-erasing-existing-pokemon/
2018-12-28 17:58:13 -08:00
Kurt
a133fcd498 Misc fixes
Fix encounter browser fetching for gen1/2
fix changing to gen1 savefile (extrabytes)
2018-12-27 21:28:47 -08:00
Kurt
423afa4518 Fix boxviewer not being initialized
2d774ac7cc
had removed the Reset() call from the Setup method; call afterwards.

Thanks RoC!
2018-12-26 13:06:58 -08:00
Kurt
d7a501c168 Relocate some logic to interfaces 2018-12-18 17:15:35 -08:00
Kurt
efb9b7eba2 Misc cleanup
removes clickonce logic/reference
2018-12-10 20:32:08 -08:00
Kurt
4c1232855f Add getstring method with non-sav data 2018-12-04 22:00:57 -08:00
Kurt
0d8789e939 Show altform in encounter browser 2018-12-02 10:44:06 -08:00
Kurt
8e3e218d54 Update translations 2018-11-30 17:09:40 -08:00
Kurt
add025798f update control names 2018-11-30 17:05:13 -08:00
Kurt
f6508bec5b Add dex size record editing via pokedex editor
Closes #2186
2018-11-29 21:40:20 -08:00
Kurt
76a2e4f527 Add AltForm parameter to exp/level fetch
Starter Pikachu & Eevee have different growth rates than their base
forms (seriously WHY?)

remove old api surface in PKX as a breaking change as adding the
parameter is necessary.
2018-11-26 16:55:16 -08:00
Kurt
ab4c3fc7ac Add go park slot delete (&all)
Closes #2179
2018-11-23 12:15:25 -08:00
Kurt
720be075ec Add go park bulk import from folder
Closes #2177
2018-11-23 11:01:36 -08:00
Kurt
f5c5145cbf Add mass export, drag import, fix onload
select folder to export
drag import to current slot
display slot 0 on form load
2018-11-15 21:31:19 -08:00
Kurt
546d4b69e2 Add individual go pkm dumping
.gp1 (go park entity for 1st gen Lets Go games)
2018-11-15 17:38:04 -08:00
Kurt
6a0a6aa82a Add methods for 7b quirks
nidoran m/f when sanitized with the old way show the gender symbols as
'?'
2018-11-14 22:51:53 -08:00
Kurt
1feecef874 Add go park summarizer 2018-11-14 22:02:01 -08:00
Kurt
7abe0c8a9e Add candy pouch type
reusing free space icon hides the give all button; just add another
sprite.
2018-11-13 20:46:48 -08:00
Kurt
1f985d8112 Remove unnecessary/incorrect flags
copypaste from sm lol uops
2018-11-13 20:46:03 -08:00
Kurt
2048bf0a06 Add dex/trainer/event editors for gg 2018-11-13 19:22:29 -08:00
Kurt
51d87dc6e0 Hide freespace for gg 2018-11-13 19:22:05 -08:00
Kurt
8185fb63b0 Add WIP IEncounterable browser
will eventually be hotkeyed to CTRL-N
2018-11-10 20:23:21 -08:00
Kurt
ebd1155bfc Fix egg search 2018-11-09 16:50:39 -08:00
Kurt
359a529870 Misc updates
Move some logic around, fix style warnings
2018-10-27 08:53:09 -07:00
Kurt
22b77892ec Update db pkmfile load filtering
Closes #2146
previously, it would only accept pk*, now that there are multiple
formats, just detect via any.
2018-10-21 09:21:46 -05:00
Kurt
f507ab7081 Misc parse settings reorg
makes it more centralized for defining parsing settings, maybe can have
flags to change severity of certain preferential checks
2018-10-05 19:58:30 -07:00
Kurt
827d7f8fb3 Misc tweaks
repoint to contains
2018-09-29 13:08:53 -07:00
Kurt
7b993d731a Hide pika friendship for non-yellow gen1 saves
Closes #2130
2018-09-29 12:23:33 -07:00
Kurt
90f1d0cb09 Misc cleanup 2018-09-29 12:22:13 -07:00
Kurt
40a0206a5d Misc style updates
whitespace / brackets
2018-09-26 18:56:29 -07:00
Kurt
e03e6cb2ff Fix entree species change
thanks KR for finding
2018-09-09 15:36:58 -07:00
Kurt
189fa5f7b3 Add button to give all seals + illegal ones
#2112
2018-09-04 15:26:16 -07:00
Kurt
f5b09c2bea Add key item sprite for mysterygift display
closes #2110
2018-09-03 14:23:27 -07:00
Kurt
53216333e6 Misc updates
extract final pkm manipulation logic from pkm editor
add xmldoc to boxmanipulator, add utility class for enum->manip fetching
fix xmldoc referencing removed enum member
relocate boxmanip overview logic to utility class
move SAVPaths file pointer to Main for reuse #2109 , will add to
autodetect in a later commit
open/save dialog with extra extensions: ignore ones already present
2018-09-03 10:30:35 -07:00
Kurt
cc20bb38d7 misc updates
use arrays instead of list when capacity known
use enums for const decoration
remove unnecessary aliases
2018-09-01 19:55:08 -07:00
Kurt
debccff8b7 Flag illegal sprites in database
Closes #2108 , uses overload
2018-09-01 15:04:56 -07:00
Kurt
538e90dd85 hide bp for rs saves
https://projectpokemon.org/home/forums/topic/47291-bug-with-battle-points-and-rubysapphire-not-emerald/
2018-08-29 07:33:42 -07:00
Kurt
f74c1e321a no mo go to yo
pull goto default into 'when' so other cases continue to default

this is a goto free codebase ( ͡° ͜ʖ ͡°)
2018-08-27 20:48:57 -07:00
Kurt
daf9364fb2 Alphebetize settings
probably want to switch to a propertygrid later.
2018-08-19 21:25:21 -07:00
Matt
8c64f378c1 Add Mega Rayquaza unlock to GUI (#2098)
* Add Mega Rayquaza unlock to GUI
2018-08-19 08:24:59 -07:00
Kurt
0090aaa403 Remove goto
only 'goto' usages are just switch case jumps
2018-08-17 16:27:29 -07:00
Kurt
d7f39ea343 Extract pkm searching to separate classes
search logic can now be reused by core projects

adds option to provide extra filters run at the end (prior to clone
check)
2018-08-16 20:06:40 -07:00
Kurt
10894f5341 Add alternate clone hash method for Semi clones
https://projectpokemon.org/home/forums/topic/47048-suggestion-being-able-to-check-pokemon-with-exact-pid-semi-clones/

hold control when searching (kinda clunky solution) to instead search by
PID clones
2018-08-16 14:38:12 -07:00
Kurt
92d2d48e95 Skip detecting saves twice
Paths already has the regular backup locations + more, don't re-detect
later
Closes #2093
2018-08-14 21:04:22 -07:00
Kurt
af87752475 Reference underlying control visibility
closes #2092
2018-08-14 19:39:14 -07:00
Kurt
10f050eb18 Update translations with new hide savdetail setting 2018-08-13 19:40:00 -07:00
Kurt
70a6cd9421 Remove untranslatable content
sav6 recently added trainer appearance editor, prior commits removed pt
translation (only official ingame translations)
2018-08-13 19:24:49 -07:00
Kurt
1c718e641e Prevent box scrolling if contextmenu is open 2018-08-12 11:01:21 -07:00
Kurt
d3ec969187 Style updates
split pcd/pgt
add more xmldoc
2018-08-09 21:53:39 -07:00
Kurt
6b62dd29ee Update xy fashion edits
different for each gender
2018-08-08 21:27:14 -07:00
Kurt
98f21a12dd Relocate gen6 trainer stat records to core
use trainerstat editor control in gen6 editor

fill in some details from the disassembly via setrecord usages
still slightly fuzzy on some:
fureai (based on usum idb name, similar logic)
soaring sky counts

looks like there's some other usages of the fields which were outside
the stat range, throwing an exception when loading to NumericUpDown,
added bypass logic

Thanks Holla!
2018-08-06 21:27:31 -07:00
Kurt
48a61a00a2 Relocate record stat id's to core
can potentially add localization by changing the method of fetching
2018-08-06 16:17:32 -07:00
Kurt
c3136187de Style updates 2018-08-04 10:06:06 -07:00
Kurt
1486b7f14a Misc style & minor tweaks
Remove move combobox flicker hack (no longer necessary)
Add more Array.Empty usages
cache mysterygift sizes
seal some classes

no functionality changes
2018-08-02 20:11:42 -07:00
Kurt
f4bfdb8311 Remove unnecessary empty array allocations
yay net 4.6
read more: http://justinvp.com/2015/07/20/array-empty/
2018-08-01 18:30:51 -07:00
Kurt
3fd21db51e Style & function extracting 2018-07-29 16:39:15 -07:00
Kurt
5155e4d29b Speed up Folder List entry adding
Don't autosize columns on each row addition
About 15 rows appear; resize on row 0, 7, and 14, and once more when
finished.

was O(n), now is O(min(n,3)+1)
2018-07-27 20:41:49 -07:00
Kurt
77bd91397a Update form sizing / es translations
use some close synonyms (Reiniciar -> Borrar)
omit some words (potential / training) to keep layout compact
capitalize Equipado to match main window

Closes #2080
2018-07-27 17:38:23 -07:00
Kurt
9551d4e707 Relocate logic to core
probable/possible lgpe uses similar dex stuff, so best I totally
understand it (assuming quirks will be present)
2018-07-26 18:01:16 -07:00
ajtudela
1c05001fb7 Update spanish translations (#2077)
* Update spanish translations
2018-07-26 07:06:14 -07:00
Kurt
91f39d74db Add box scrolling
https://projectpokemon.org/home/forums/topic/46370-bug-cant-scroll-between-boxes/
2018-07-25 19:29:41 -07:00
Kurt
63242cc24d Reorder open folder logic
Close() still finished executing the method
Closes #2076
2018-07-25 07:26:29 -07:00
Kurt
8cb82560f6 sync unsaved
this closes #2068 , not the prior commit
2018-07-23 19:27:00 -07:00
Kurt
d685fec327 Sanity check listbox formes
SM does not have dex flags for totem forms, but pkhex now provides them
in the form dropdown

Closes #2068 thanks @iiippppk !
2018-07-23 19:15:54 -07:00
Kurt
1e932e14e9 Add custom path popup button
autofills with current contents if none found
2018-07-22 14:27:48 -07:00
Kurt
0c5c9bc33c Misc clean / xmldoc updates
remove unused label in QR (use window Font)
escape & -> & for xmldoc proper style
2018-07-21 19:20:11 -07:00
Kurt
1c49b0681d Extract dex logic 2018-07-21 11:46:38 -07:00
Kurt
63b9b72a49 Relocate save detection to core
Environment.GetLogicalDrives is not present in net standard 1.3;
relocate code and add it as a parameter
2018-07-21 10:23:15 -07:00
Kurt
c7175fbdb4 Misc reorg
bye bye SAVUtil and PKMUtil
2018-07-20 21:32:33 -07:00
Kurt
33637836f2 Ignore detected saves when displaying backups 2018-07-18 21:26:18 -07:00
Kurt
e5d95bf178 Display autodetected path location better
Autodetect location not stored in a button path will show up as "???";
check the typical homebrew autodetect paths, then display the parent
folder

eg, Path.Combine(root, "3ds", "Checkpoint", "saves");
shave off "saves" to return X:\3ds\Checkpoint

add range checks to label translation
2018-07-18 19:32:57 -07:00
Kurt
01c4ca348f Allow FolderList to be translated 2018-07-17 21:02:01 -07:00
Kurt
170390b49d Add datagrid filtering for folderlist view
can be a little silly if the tab hasn't been viewed yet, but works fine
2018-07-17 20:52:08 -07:00
Kurt
99c790a4b0 Update File name/path/folder fields
original file path is not saved with the two listed properties, add
FileFolder and relcoate existing FilePath functions to that field

move some GetVariantSAV usages to the string method instead of byte[]
2018-07-16 21:00:43 -07:00
Kurt
87056aaf7c Increase save list population speed 2018-07-16 15:31:23 -07:00
Kurt
f51ac7d1f3 Update translations
Internal repositioning to match source
(auto generated changes)
2018-07-16 15:12:40 -07:00
Kurt
921374c8eb Allow resize, add filename indication 2018-07-15 21:28:27 -07:00
Kurt
a81c28f114 Upgrade FolderList to show recent/backups
sortable grid like the ReportGrid for pkm, can open/browse individual
files
2018-07-15 17:48:31 -07:00
Kurt
f3225d1c47 Extract pkm preview to individual files 2018-07-15 11:12:02 -07:00
Kurt
b749db10d8 Null check property value
EggMetDate, if none set, returns null.

https://projectpokemon.org/home/forums/topic/46265-batch-editor-bug-systemnullreferenceexception/
2018-07-15 08:46:31 -07:00
Kurt
46ece28f4c Add vc/gen1-2 search option
refactor out some searchable methods
2018-07-14 22:18:24 -07:00
Kurt
6b7ba49cba Remove unnecessary logic
gamestrings: call but not value used
text.cs: use gamestrings method for auto-filtered, now removes korean in
Gen3 context
2018-07-14 16:53:14 -07:00
Kurt
77c5d13034 Simplify memory ui handling
abstract away the details to another class
2018-07-14 16:32:06 -07:00
Kurt
4d73fa70d8 Simplify binding to ComboItem logic
could probably look into better binding but meh
2018-07-14 16:00:28 -07:00
Kurt
8c2b74c149 Refactoring
max IVs use flawless method directly with 6 IVs specified
move color blend/stat calc to ImageUtil
move potential string to commonedits
expose color properties for pkmeditor
don't constantly create/dispose brushes for drawing legal moves
2018-07-14 15:08:14 -07:00
Kurt
625a77589b Extract geolocation logic to interface
mixins would be nice but I guess extensions cover this
2018-07-14 10:34:34 -07:00
Kurt
94ad351979 Update translation files
new release soon

-opower6 now fully editable
-box export to showdownset added
2018-07-08 18:25:43 -07:00
Kurt
4dcac24f34 Add roamer3 active/level editing 2018-07-07 21:31:07 -07:00
Kurt
816c40429b Reuse language data source for trainer editors
provides nice descriptions rather than 3 character codes
2018-07-07 17:02:17 -07:00
Kurt
d4c1093dd9 Add RS badge flags
make logic generic
2018-07-07 17:01:47 -07:00
Kurt
990eb73f8a Misc simplifications
recordmax is simplified
2018-07-07 15:38:11 -07:00
Kurt
e46aed4b0b Relocate bean logic to core 2018-07-07 15:37:47 -07:00
Kurt
ca16f08e36 Use new trainerstat control
misc cleanup/reorg inside control
2018-07-07 12:22:30 -07:00
Kurt
e915cd170b Extract trainer stat to interface / usercontrol 2018-07-07 11:48:03 -07:00
Kurt
2e02ec9719 Refactoring
Move some logic out of saveditor/subs
2018-07-07 11:20:05 -07:00
Kurt
0c2d302997 Show tid7/sid7 for gen7+ origin
https://projectpokemon.org/home/forums/topic/46050-box-data-report-doesnt-display-correct-gen-7-tids/
2018-07-05 16:57:29 -07:00
Kurt
397de97f3c Remove excessive references to Util.Rand32()
all usages besides fetching a 32bit random value should use rand.next
remove unnecessary do-while loop for calculating random EVs (always
returns 510 in total)
2018-07-04 11:30:43 -07:00
Kurt
9f8edc89bf Refactoring
put some string[] behind IReadOnlyList to prevent any consumer from
modifying it
2018-06-30 09:59:48 -07:00
Kurt
346c401727 Rework initial evochain trim
push unsaved IVTotal/EVTotal stuff from prior commit
rework exposed types for evo chain
initial trim now uses much less linq

can probably redo the get initial chain to provide a species to break
on...
2018-06-22 17:59:02 -07:00
Kurt
1d24e459f9 Fix box data report out of range gen1/2
Closes #1992 , val was -1
2018-06-11 06:36:43 -07:00
Kurt
c6765fd26b Remove ORAS arg
...
2018-06-10 14:07:36 -07:00
Kurt
19cb2cda2e Remove MAX giveRegular for ORAS
level 3 is the legitimate max
2018-06-10 12:27:53 -07:00
Kurt
75f4318335 Split S/MAX from base 1-3 levels
ORAS can unlock MAX & Full Recovery flags, add special handling for that
2018-06-10 11:28:20 -07:00
Kurt
26f45d44d0 Rework OPower editor
https://projectpokemon.org/home/forums/topic/45683-pkhex-made-odd-number-of-zygarde-cells-usm/?do=findComment&comment=232476

Thanks @sora10pls for documenting what each flag does
2018-06-09 21:04:34 -07:00
Kurt
7ec7ca312d Don't increment cell count for usum on giveall
show cell total for usum
2018-06-09 10:07:35 -07:00
Kurt
ae3b6a7fa1 Simplify IContestStats usage
remove new[] creating for checking if any contest stats exist
(HasContestStats)
2018-06-02 21:19:03 -07:00
Kurt
1d9795f774 Fix batch modify filter bool
rename methods for clarity
Closes #1977
2018-05-31 19:59:05 -07:00
Kurt
01c36bb3ad Update control anchoring & form minsize 2018-05-28 16:40:36 -07:00
Kurt
5475da05c3 entree forest updates
clamp species list based on savefile
fix form control index set
remove slot from list (avoid duplicates, there's 530 slots and both
games have more than that available).

Closes #1974
2018-05-28 12:49:41 -07:00
Kurt
4b8cb9b8fb Add entree forest editor & randomizer
ezpz

(clear trailing spaces from entree forest comments)
2018-05-28 08:26:52 -07:00
Kurt
abe3567174 Update db search
search caused cross thread exception due to ConfigurAwait not returning
context
finish await -> update controls with after restoring context.

don't rebox results 2x lmao; keep results as list due to other Remove
operations being present in other events.
2018-05-24 21:22:44 -07:00
Kurt
3b635be77f Flag nonparsed
removed parsedvalid/invalid, unnecessary I guess
2018-05-22 18:57:39 -07:00
Kurt
05e3b3c8c3 Add switch save detection & folder browser link
use checkpoint's path
hide cgse paths if they don't exist

( ͡° ͜ʖ ͡°)
2018-05-21 18:20:08 -07:00
Kurt
6004886a56 create new binding for memory arg var
https://projectpokemon.org/home/forums/topic/45331-textvar/

possibly shares a reference thus causing it to be shared.
Thanks Davil!
2018-05-21 15:43:07 -07:00
Kurt
b1478043ba Add range check
getting sloppy not checking myself
2018-05-20 20:11:21 -07:00
Kurt
bbe6762d24 Misc fixes
Off by 1 for MemArgType
div/0 for no instructions
Thanks Davil!
https://projectpokemon.org/home/forums/topic/45324-menories-error/
2018-05-20 20:05:27 -07:00
Kurt
30dc87df7e Misc ui fixes
move distinct filter to reflectutil as it is spitting out
inherited(overriden) property names after the current class' property
name.
remove original (default) memory strings; had removed Items.Clear()
earlier (why would I need to clear if there was nothing there?) but
there was something there needing to be cleared. Remove the useless
initialization to fix that :)

Thanks Davil!
https://projectpokemon.org/home/forums/topic/45321-distsupertrain/
2018-05-20 07:46:59 -07:00
Kurt
ca14b43b62 Relocate memory specific data to own file
allows easier handling for memory interactions
2018-05-19 10:04:07 -07:00
Kurt
be0f864b42 Relocate memory datasource to core 2018-05-19 08:30:36 -07:00
Kurt
8cf70770cf clean up batch editor
refactor some logic to make it easier to reuse
add some xmldoc
2018-05-18 19:19:15 -07:00
Kurt
2a877bfb9e Better empty-base handling
Closes #1952
2018-05-18 16:01:17 -07:00
Kurt
d772a82953 Move batch editor logic to core
previous hurdle a year ago was propertyinfo fetching not looking at the
base class's properties; dig deeper for all properties to mimic existing
code for netframework

end result is batch editing now possible without gui
2018-05-17 22:43:07 -07:00
Kurt
e818a587ff Split Boxes and Party in batch editor
Closes #1948
2018-05-16 16:51:38 -07:00
Kurt
4139299f00 Iterate to last poketch item
i-1 => need to use <=
2018-05-13 20:49:27 -07:00
Kurt
3ee6070b98 Fix poketch write
1123c24b0c
had addressed the loading, however, it did not address the saving

update pkx to not create a new array every time IsPKM is called
(possibly a lot)
2018-05-13 20:35:09 -07:00
Kurt
75b16393b1 More simplifications 2018-05-12 19:07:32 -07:00
Kurt
0e6db90de2 more minor tweaks
add 2 overloads for encounter generator
more simplifications
2018-05-12 18:11:47 -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
wwwwwwzx
997d41b6db Fix minlevel of Pangoro/Tyrantrum/Aurorus in gen6 (#1938)
* Fix minlevel of Pangoro/Tyrantrum/Aurorus in gen6

30: level + dark type in the party
32: level + day
33: level + night
34: level + female
Note Meowstic isn't affected due to another entry of level + male (23)

* Minor text usage fix

* Fix xorPID flipping in TransferEC check
2018-05-12 06:57:11 -07:00
Kurt
f060bab844 Use new trainer ID editing control in SAV_Trainer7 2018-04-28 11:52:48 -07:00
Kurt
e25e3fcc19 update joyful dodrio berry offset
bc90a4fc1d/include/global.h (L276)

u32 bestScore;
u16 berriesPicked;
u16 berriesPickedInRow;
2018-04-22 20:11:25 -07:00
Kurt
f6dda90f52 Add icons
icons are credit to Dave Gandy's Font Awesome pack on flaticon.com
https://www.flaticon.com/packs/font-awesome
2018-04-21 22:31:11 -07:00
Kurt
e91cb806e5 Extract extension->prefer format method
fails for 'pkx' (returned 8 instead of 6); establish standard behavior
2018-04-21 14:38:18 -07:00
Kurt
7a245278ea Relocate mg description parse to core 2018-04-21 09:55:27 -07:00
Kurt
cb930fcaab Show g7 tid on mystery gifts originating from g7+ 2018-04-21 09:18:53 -07:00
Kurt
b8a5ccdf7d Simplify shedinja evo move check
Closes #1895 , re-verified with pkm provided in #1805
there's no shedinja gift, always is an evolution

seal some forms to remove virt call in constructor warning
2018-04-10 17:00:28 -07:00
Kurt
335379bd2e Remove unneeded string
#1893
2018-04-08 17:54:09 -07:00
Kurt
1d4e815689 Extract more mesage strings
all common strings in forms used by multiple generations

would rather rework the individual generation strings to be unnecessary
with better interaction instead (if possible), as translating hundreds
of limited exposure strings is a drag.
2018-04-06 21:23:09 -07:00
Kurt
48cf658abd Update translations
#1885
removes content not present, moves dev code to separate debug-only class
2018-04-03 18:46:32 -07:00
Kurt
9ed2c594f2 Reorder form init 2018-04-02 20:36:13 -07:00
Kurt
3052855a70 Add more trainer records 2018-04-01 11:47:02 -07:00
Kurt
d794e71175 Extend contest-affection check to pre-gen6 transfer
Closes #1881
Thanks @ijuintekka !
Thanks @sora10pls !
2018-03-28 16:07:03 -07:00
Kurt
a24e5aa742 Update personalinfo usages
less temp array usages, add methods for cleaner understanding
2018-03-25 13:54:30 -07:00
Kurt
828636856c Change coin cap to fixed 50000
#1746

https://projectpokemon.org/home/forums/topic/44503-bug-report-gen-4-coin-counts/
max is 50000
https://bulbapedia.bulbagarden.net/wiki/Coin_Case

The Coin Case can hold up to 9,999 coins in Generations I, II, and III,
and up to 50,000 coins in Generation IV.
2018-03-24 17:29:48 -07:00
Kurt
55ccb83d5f Allow SettingsEditor to blacklist property names 2018-03-23 22:37:33 -07:00
Kurt
dd17ba0d3a Add master settings window
#1864
need to hook into main window & delete old logic; when the logic flow
returns after closing the form, all the propagated settings will need to
be copied (ie where the setting is actually used).
translateinterface will translate the control text to a longform
descriptor per the current language.
2018-03-22 23:04:04 -07:00
Kurt
42f5f9b051 Add smart move[] setter
Closes #1871 (smart-move setting is also done by batch editor)
2018-03-20 08:35:41 -07:00
Kurt
26cc266dd1 Move type sprite fetch remapping to pkmutil
I still don't like it 100%
2018-03-18 11:25:57 -07:00
Kurt
f55028c1a0 Fix KChart errors
gen1 & gen2 types aren't laid out contiguously (yay bird type and extra
types)
fix gen2 type accessors looking at the wrong byte

type sprites now load correctly, and 3rd ability no longer throws an
error (forced to None).
2018-03-18 11:22:20 -07:00
Kurt
d65d9e0b79 Add missing =
lul oops
2018-03-16 17:57:24 -07:00
Kurt
d1a789eeab Fix some pokedex4 behavior
https://projectpokemon.org/home/forums/topic/44347-gen-4-pokédex-forms-incorrectly-readwritten/
2018-03-16 17:54:47 -07:00
Kurt
cbf4038a95 Refactoring
relocate gift data storage out of legal.cs
2018-03-05 22:19:56 -08:00
Kurt
24982fe8c5 Misc simplifications 2018-02-28 21:05:50 -08:00
Kurt
d62b34f140 Don't set HiddenAbility if HaX
have user specify via 0x42 extrabyte as it can only be updated from
there.
closes #1846
2018-02-19 23:34:07 -08:00
Kurt
b75313cd87 Sync unsaved changes
closes #1840
2018-02-16 17:24:07 -08:00
Kurt
0a0b944de1 Use explicit generation param for forme fetch
closes #1837
2018-02-16 16:38:07 -08:00
Kurt
d706d825a9 Handle legal pichu form values
Closes #1828 , thanks @SpiredMoth !

slightly optimize batrev key init
fix exception for pkm loading switching between gen3->4 saves
2018-02-10 17:43:00 -08:00
Evan Dixon
392f01cb3e Fix build error (#1816)
IEnumerable doesn't support LINQ methods, only the generic variant does. So this commit changes SAV_GameSelect's parameter to a generic IEnumerable of the only type being passed into it. I didn't realize it until afterward, but this is 100% the way it should have been because the databinding members expect ComboItems.
2018-02-05 12:12:42 -08:00
Pete Rolph
32c650c053 Fix a crash bug when loading Gen 3 saves on mono (#1815) 2018-02-05 07:48:47 -08:00
Kurt
1a5d4efdfe Add database/mgdb -> save importing
Closes #1804
2018-02-01 17:29:07 -08:00
Kurt
ddf319c713 Set stat level on load
Closes #1790
lul
2018-01-28 14:11:12 -08:00
Kurt
5458b94e50 Resize coin entry
change 9999 to 65535 for dppt, max gets set on load anyway but just do
it for layout visualization
2018-01-27 17:50:59 -08:00
Kurt
523dfa32aa Unflip level search <>
closes #1785
2018-01-27 13:24:16 -08:00
Kurt
79add8dff1 Update modified check
takes negligibly longer but accomplishes the necessary task
Closes #1782
2018-01-27 10:15:56 -08:00
Kurt
f104df6386 Ignore party stats on pkm compare
Stats were recently added to be calculated on load, thus not matching
the all-zeros when obtained from the save.
Closes #1781
2018-01-26 21:09:12 -08:00
Kurt
bb20ec49cc load stats prior to searching
https://projectpokemon.org/home/forums/topic/43579-bug-pkhex-number-fields/
2018-01-25 09:17:39 -08:00
Kurt
959d598d76 Fix esv searching in database
only way the filter used to execute was if ESV textbox was empty, which
would throw an exception lul

sync dead code removal for prior pkrs commit (never executes)
475acfaeac
2018-01-25 08:54:29 -08:00
Kurt
0edefedc2b Remove gen2->7 auto filtering
closes #1768
(<7)->7 is now possible so no need to filter further
2018-01-24 09:19:20 -08:00
Kurt
b16a2f9ad2 Add box rearranging
enables the left/right arrows on each box to allow switching with the
adjacent box
2018-01-23 22:37:55 -08:00
Kurt
713e9ea209 Compress box padding 2018-01-23 17:18:37 -08:00
Kurt
18421c66a9 Set box view owner
shifting focus to another app and back will cause the parent form to be
brought back to the top as well
2018-01-22 22:39:12 -08:00
Kurt
d65393c6f6 Minor behavior tweaks (preference)
fix initial box width to 4 with scrollbar, remove always-on-top for main
window
2018-01-22 21:58:53 -08:00
Kurt
f073585592 Add all-boxes viewer
removed ability to have multiple single box popups
double click the Box tab when holding shift to bring it up
resize to preferences: https://i.imgur.com/XB2978R.png
2018-01-22 21:38:42 -08:00
Kurt
0ee36a655a Simplify bitmap generation
stride is bpp*width + padding bytes; 0x20 worked for the old code since
8*4=0x20 (width of tile).
2018-01-21 17:22:31 -08:00
Kurt
c015c5a337 Shift super training record IDs by 2
closes #1764 and fix odd behavior by adding an editing flag
2018-01-18 14:01:58 -08:00
Kurt
06733d6e34 Refactoring
Split up c-gear skin bitmap, move generic handling to core
2018-01-13 21:31:02 -08:00
Kurt
4fb3c22b1c Remove usages of System.Drawing.Color
Eventually need to remove usages of bitmap
2018-01-13 19:09:43 -08:00
Kurt
6caefef181 Add cgb->psk & misc clarifications
Closes #1699
tested on black2 & white, skin isn't corrupt on game boot and appears
correctly

still don't like setpixel/System.Drawing reliance (maybe split logic to
CGearSkin & CGearSkinVisualizer) for PKHeX.Core compat
2018-01-13 16:32:57 -08:00
Kurt
4f489a720f Refactoring
move logic back to cgearbackground, initialize the bg regardless of
psk/cgb input format
cache background data to return psk (potentially unintended side effects
if importing bw psk to b2w2, will have to fix cgb->psk first then undo
this tempfix)
#1699
2018-01-09 23:30:44 -08:00
Kurt
f332e41869 misc updates
#1699
generally pertaining to detecting a de-obfuscated input (cgb) vs native
(psk)
still issues with saving data (deobf->native)
2018-01-09 21:47:04 -08:00
Kurt
84a755a8c9 minor simplifications
#1699
2018-01-08 22:40:34 -08:00
Kurt
d187370671 fix checksum/footer set
#1699
checksum in the +0x100 was missing the +SAV.CGearDataOffset
add a few more modifications for better parity

still not 100% fixed
2018-01-08 22:40:34 -08:00
Kurt
26015b44bc Add max cap difference for dppt
#1746
2018-01-06 14:12:28 -08:00
Kurt
218c20d804 Add sav4 coin edits to misc4
closes #1746
2018-01-06 14:02:55 -08:00
Kurt
fa90ae21df Fix variable reference
#1731
2017-12-29 18:30:13 -08:00
Kurt
45eee8575a Only promt roto-OT if OT is changed
reduces nag
closes #1731
2017-12-29 10:00:32 -08:00
Kurt
61b65198f2 Allow box name editing on gen2 2017-12-27 15:52:29 -08:00
Kurt
9457db9059 Fix mystery gift qr export text
closes #1720
2017-12-21 09:49:40 -08:00
Kurt
9429bc6961 Fix showdown import on gen3
https://projectpokemon.org/home/forums/topic/43126-problems-with-importing-rse-showdown-files-from-clipboard-in-pkhex/

Sceptile @ Leftovers
EVs: 4 Def / 252 SpA / 252 Spe
Timid Nature
- Leaf Blade
- Leech Seed
- Substitute
- Hidden Power Ice

also fix apricorn form title
2017-12-19 15:33:23 -08:00
Kurt
9263856845 Add apricorn pouch editing 2017-12-18 09:36:53 -08:00
Kurt
dd21f9375f Misc updates
Disallow sandygast on US
Add 2 more records
thanks @feralfalcon
Closes #1698
2017-12-08 08:54:00 -08:00
Kurt
eff8855729 Allow throw type changes to be saved
move SM/USUM branch inside the method
closes #1695
2017-12-05 07:26:55 -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
a5dbdf91bd Misc tweaks
detect antishiny cxd
remove unused using
don't set caught for seenAll (gen7 dex)
2017-12-04 13:18:28 -08:00
pokecal
0f52f94222 fix MailBoxEditor
add Mail5, almost same as Mail4.
2017-12-04 00:00:14 +09:00
Kurt
bdc9d7edce fix plaza get set
closes #1684
2017-12-02 21:37:46 -08:00
Kurt
2d3203fc1a Refactoring
extract out Mail classes to core
2017-12-02 19:12:04 -08:00
pokecal
3e5e49219b fix MailBoxEditor
fix Gen4 Controls
add Mail .Empty for LegalCheck
add Mail SetBlank() for make BlankMail
2017-12-03 11:24:57 +09:00
pokecal
c4ca3aba75 add MailBox Editor
I just wanted to fix PK3 heldMailID.
2017-12-03 07:21:07 +09:00
Kurt
fdc52e2c19 Add pkm league starter EC for gen7
Closes #1671
2017-11-29 20:04:01 -08:00
Kurt
4a898b0829 Leave empty item slots for gen7+
game depends on an existing value to check for if the item is truly
"New"
Closes #1670

Don't clear count=0 slots for gen7+
For sorting, put all the count=0 at the near top (any feedback on how
this actually works?)
2017-11-29 19:47:27 -08:00
Kurt
fa78154df7 Save current facility on save action
unsaved combobox choices only are saved when the current index is
changed, need to save when the form is closed (saved).
2017-11-29 08:38:32 -08:00
pokecal
e86b8c670f add Crystal GS EventFlags
have checked with US ver.
2017-11-28 03:35:55 +09:00
Kurt
b30cc933e5 Extract festafacility from gui code
move to core project as a structure/class
2017-11-26 08:47:25 -08:00
pokecal
8fe81e8610 update FestaPlazaEditor
add BattleAgent Grade30 reward giving
2017-11-26 19:40:18 +09:00
pokecal
2c15170844 update FestaPlazaEditor
Add Result of FortuneTeller
and found that the Unknown Value of FestaID(not introduced)
was mistake, contaminate NPCs.
2017-11-25 03:14:55 +09:00
Kurt
5ae408c316 cleanup
no functional changes
2017-11-23 09:43:43 -08:00
Kurt
5be401cc73
Merge pull request #1652 from pokecal/master
update FestaPlazaEditor
2017-11-22 22:12:29 -08:00
Kurt
b8a5657d5a misc tweaks
pull out transfer locations to const references
add vc2 & crown beast/celebi met location suggesting
add vc2 crystal sensitive detection
add 2 more usum trainer stats (thanks holla!)
2017-11-22 21:45:30 -08:00
pokecal
c3716440e6 update FestaPlazaEditor
I think the form contains almost all controls that needed.
2017-11-23 09:49:53 +09:00
Kurt
5fd1e85ce6 Refactoring
are the ace trainer genders swapped? removed the iteration loop in favor
of precomputed values

(pattern goes m/f *n?)

add wormhole max dist val
2017-11-21 19:08:31 -08:00
Kurt
15496aa9be
Merge pull request #1642 from pokecal/master
add USUM BattleAgency control
2017-11-21 15:38:43 -08:00
Kurt
486e5dc4fe Move forme check after species check
compatibility message of 803-807 dex pkm on S/M needs to say species
first rather than checking forme first
Closes #1643
2017-11-21 15:22:33 -08:00
pokecal
8c08ec1328 add USUM BattleAgency control
the NOTE(Giovanni alert) is a little excessive I think,
I will remove it after detect a list of upcoming trainers.
2017-11-22 03:37:40 +09:00
pokecal
7799450193 fix FestaPlazaEdit value
When the facility is NOT introduced with visitors
and start FestaPlaza after latest started date,
VisitorFesID become unknown small value.(0/5/7/9/11)
So I stop auto-deletion of visitor data.(and put delete button)
2017-11-21 05:15:32 +09:00
pokecal
16a0abaf62 fix FestaPlazaEdit value
found "misc value" as used stats.
exchange left count is also up to 255.
(value 0x83 shows "?", 0x103 shows "3")
fix dye#5(blue) color value
2017-11-20 19:08:41 +09:00
Kurt
6534ef1919 Refactoring
Reworks festa facility into a get/set object, simplify some operations
naming convention (PascalCase) for methods/properties
closes #1635
2017-11-19 21:25:46 -08:00
Kurt
70ec1fda5e cleanup
wasn't able to view the designer layout so I removed & readded to
project -- works fine now.
uppercase method names
2017-11-19 16:16:44 -08:00
pokecal
3c85b0ead3 add G7 FestivalPlaza Editor
There are too many phrases,
I have no plan to complete all list of phrases.
But I think user can edit phrases of each facility
 by using their phrase settings.
2017-11-20 06:50:39 +09:00
Kurt
469587bbbd Add Rotom OT name
"nah lets just store the OT in the save file twice"

add a double check if OT != RotOT to remind the user
2017-11-18 22:26:57 -08:00
Kurt
243f94f02b Add map coordinate writeback check
same as sav7; apparently some areas in gen6 are also truncation prone
2017-11-18 12:22:54 -08:00
Kurt
6394dac19f Rework mysterygift pkm sprite generation
don't bother converting to pkm then generating the sprite off that; use
the overload with int/bool

removes sav/pkm dependency for generating gift descriptions, and
standardizes the names a little. maybe a PKMBase interface would be
useful...
2017-11-18 11:34:23 -08:00
Kurt
f7e20a3c43 Misc tweaks
fix roamer3 not setting IVs
fix usum z items rightmost pixel getting chopped off
use Gen* instead of GenNumber for specific cases (faster)
add WasGiftEgg location case for Gen7
remove some unnecessary array allocations
2017-11-17 22:19:23 -08:00
pokecal
95bbbfaf08 fix Sticker location
Who is that Pokemon...Steelix!
2017-11-17 11:53:54 +09:00
Kurt
407f3f06d4 Unbreak clearing dex
add sound notification that the mass-edit is finished.
refactor slightly for clearer routines
2017-11-16 17:42:11 -08:00
Kurt
bd08d11597 separate out throw learn/unlocked
flags and handling is different for USUM, disabled until flags are found
2017-11-15 17:03:44 -08:00
Kurt
aea1577a11 fix mega venusaur female disabled / meowstic
<= goes to <
Thanks Holla!

https://projectpokemon.org/home/forums/topic/42332-gen-7-stuff/?tab=comments#comment-222689
2017-11-14 22:56:45 -08:00
Kurt
1c42cbebb7 Hide debug values
Closes #1607
wasn't Hall of Fame clear count values, just the 4 bytes prior to the
HoF 2 * 6 * u16 teams that serves an unknown purpose.
2017-11-14 21:48:38 -08:00
Kurt
dbf10d1c29 Add surf score editing
trainer7 Ultra tab
Closes #1605
2017-11-14 21:35:28 -08:00
Kurt
e2dfc8d9f1 update fashion payloads
closes #1602
thanks Holla!
2017-11-14 19:48:30 -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
c5cd6728fe Add usum fashion cheats
Thanks Holla!
2017-11-13 22:07:41 -08:00
pokecal
955833a1c6 add G7 MapUnmask & FlyDestination
G7 is not FLY, just consistency with other Gens.
2017-11-14 11:59:33 +09:00
ReignOfComputer
5259b7546e Totem Stickers Formatting & Window
Standardized the list of Totem Stickers and expanded the window slightly
to better fit text
2017-11-13 19:39:51 +08:00
Kurt
dbabcb9ef0 Misc updates
fix hall of fame fixed offset
fix ball throw type unlock/learned flags using fixed offset
fix current throw type defaulting to -1 when Nihilist (new USUM style)
by adding in for USUM

add fused slot offset fetching
convert event flag combined byte fetch to use Get/SetEventFlag with
event flag references.

add ZRingUnlocked sav properties & checkbox for toggling

set AlolaTime only if the combobox is enabled (only disabled if not yet
set by game)

Closes #1595
2017-11-12 21:28:34 -08:00
Kurt
7bc316d79c Add "AlolaTime not existing yet" handling
Savedata::GameTime::IsAlolaOffsetExists
2017-11-12 16:10:31 -08:00
pokecal
dd83555953
complete USUM TotemSticker location
easy one have missed.
2017-11-13 04:54:48 +09:00
ReignOfComputer
69bdcacaec Additional Totem Sticker Locations
1 left.
2017-11-12 22:29:44 +08:00
ReignOfComputer
596ff57fc3 Add Extra Zygarde Cell Locations
Wela Volcano Park (rocks behind sign)
Battle Tree Entrance
2017-11-12 18:28:39 +08:00
Kurt
6a73b9e6e4 Update zygarde cells
use const numbers, dynamic count for cells possible
2017-11-11 22:48:22 -08:00
Kurt
cfb38a771f
Merge pull request #1588 from pokecal/patch-1
add USUM TotemSticker resource
2017-11-11 22:36:49 -08:00
Kurt
fbab1cfbe6 Update usum eventflag max
now these event flags are making sense
2017-11-11 18:58:57 -08:00
pokecal
8b1c76ea06
add USUM TotemSticker resource
NPC said there are 100 stickers, so I missed 5, still finding.
2017-11-12 09:40:38 +09:00
Kurt
f5a6f23161 Add more static enc data
clear out unused (highly certain) SM encounters
add solgaleo/lunala locations
add partner form pikachu
2017-11-10 19:43:31 -08:00
Kurt
8ab39cae7b Update dex form handling 2017-11-10 17:08:47 -08:00
Michael Scire
e455aef501 USUM event constants for starter choice/Tapu rebattle 2017-11-10 15:08:20 -08:00
Kurt
a39f92cac6 Add rockruff forme list items
revert form selection filtering, screwed up scatterbug and other
forced-forme lists. behavior works fine without the list filtering
2017-11-10 04:01:36 -08:00
Kurt
b3436cb791 Add totem forms selection/spritemod and req changes 2017-11-09 21:52:11 -08:00
Kurt
665e94b0aa misc cleanup
add german forme names
truncate some forme names
fix nidoran gender symbols

adds null check for invalid (caught error) pkm

disables accessory giving (needs more research)
2017-11-08 22:56:42 -08:00
Kurt
cf35adca6f Add roto blank item handling
preserve input data
2017-11-08 14:12:41 -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
Kurt
4a6ea19a31 Cleanup 2017-11-06 17:12:59 -08:00
Kamron Batman
83e06b4436 Adds WC4 support. 2017-11-06 16:26:34 -08:00
Kurt
0c370fe09e fix skin dialogresult compare
closes #1557
replace \n with environment specific value
2017-11-04 12:22:32 -07:00
Kurt
a00f3ed894 random IVs with specified count
Closes #1553
removes duplicate logic in batch editor
2017-11-02 09:05:44 -07:00
Kurt
008605c4ff Add Gen5 BP editing to simpletrainer
a little bit hacky but exposes the values well enough.
moves the coins entry to the Badges groupbox, and makes it visible
looking like a BP editor (lol)

thanks @sora10pls for finding the offsets!
(blockinfo array isn't really used, is sorta just there for
documentation...)
2017-11-01 21:26:38 -07:00
Kurt
8c2dcb2dd3 Use generation specific species name
nickname resetting should use the generation specific value
2017-10-24 20:59:58 -07:00
Kurt
cd16a7721b Set roamer data back on save
existing code cloned the savedata reference to a new array, and didn't
copy back

the Roamer3 reader/writer does all the r/w, and writing only happens
with the setter when the form is called to Save.

Thanks TheRealAlphA!
2017-10-22 17:17:17 -07:00
Kurt
7c36190661 Expand IdentifierContains feature
now behaves the same as a property filtering
2017-10-20 08:47:31 -07:00
Kurt
228b0e84fb Simplify some dex interaction
utilize get/set flag method calls, add xml docs for the two methods
2017-10-18 21:43:42 -07:00
Kurt
07133e22fd Add $suggest for HyperTrainFlags
#1521 didn't consider trick room speed IVs
can possibly consider EVs in the suggestion, but meh
2017-10-13 17:31:53 -07:00
Kurt
a28fe9d6a0 Allow batch editor to process many instructionsets
Closes #1521
separate each list with ;

=CurrentLevel=100
!IV_HP=31
.HT_HP=True
;
=CurrentLevel=100
!IV_ATK=0
!IV_ATK=1
!IV_ATK=31
.HT_ATK=True
2017-10-13 17:24:26 -07:00
Kurt
43d1c7740f add event flag localization
rename files for english indication
allow script text retrieval with current language

simplify resource retrieval a little
2017-10-11 20:00:18 -07:00
Kurt
e845d562fd Merge branch 'master' of https://github.com/kwsch/PKHeX 2017-10-10 19:30:58 -07:00
Kurt
c3c4336d43 Add gen3 roamer editor
Thanks BlackShark!
2017-10-10 18:48:14 -07:00
sora10pls
cc919dbdfc Fix off-by-one Poketch offsets 2017-10-10 13:02:49 -04:00
Kurt
c7dfc3d9b0 Cleanup
union / count usages
remove unnecessary stuff
2017-10-06 21:03:23 -07:00
Kurt
048d96ac20 Sort folder buttons based on folder existing
Closes #1512
2017-10-05 16:01:16 -07:00
Kurt
1a343ead85 Only modify SAV OT name if modified
resolves gen1 pikachu forgetting the original OT
2017-10-04 17:36:43 -07:00
Kurt
a9892203c7 Refactoring
extract pkm loading routines to smaller methods
reduce code duplication (rely on empty setters to ignore some calls)

should be much easier to understand the load/save process; the original
setup (pk6) was following the structure from 0x00-end, no point still
doing that as everything is now abstracted.
2017-10-02 23:13:40 -07:00
Kurt
9700ee79ad Add used/unused all toggle to mg form
Closes #1503
2017-09-30 18:25:21 -07:00
Kurt
1e377c2963 interpolation++
no functional change (assumed)
2017-09-29 22:58:25 -07:00
Kurt
ed1b934374 Misc refactoring
expose some useful IEnumerable methods (sorting / bin->pkm / copy) to
simplify some common operations
change some explicit arrays to IList for flexibility
remove old memecrypto bool (no longer necessary as XP is not supported)
rename some methods for more clarity
2017-09-28 22:20:27 -07:00
Kurt
7c58bf0161 frlg eventflag recognition fix
referenced wrong string resource
note that frlg has no data so no flags/consts will appear (only custom
mods allowed).
closes #1497
2017-09-27 09:19:31 -07:00
Kurt
532cee406a Add gen1 overworld respawner 2017-09-25 23:06:16 -07:00
Kurt
12187a5128 Expose gen2 RTC resetkey
#1487

also expose gen1 event flags (well, the crappy ones at least)
constants/event_constants.asm
2017-09-23 22:13:48 -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
0b6446b980 fix trashbyte editing for korean saves
sorta ugly but works
2017-09-22 21:34:15 -07:00
Kurt
a938a1bd9c Add wordfilter bypass search via database
regex matching takes a lot more time and is a cosmetic / easily fixable
issue (reset to no nickname / default OT).
Add a prompt to temp turn off those checks to drastically speed up
search (no regexes done).

Fix unsanitize for gen6 (should have been >= 6, aka starting with gen6)
2017-09-20 16:46:40 -07:00
Kurt
b63e53af95 misc tweaks
no functional changes
2017-09-19 23:19:22 -07:00
Kurt
c07a36c333 Fix event flag get set
yay order of operations
also update prompt messages for more guidance
Closes #1464
2017-09-17 10:16:56 -07:00
Kurt
5665481cab Reduce machoke trade minlvl gen1
Thanks Mewtwo!

https://projectpokemon.org/home/forums/topic/41636-ricky-machamp-unable-to-match-encounter
https://bulbapedia.bulbagarden.net/wiki/Kanto_Safari_Zone
2017-09-15 06:42:00 -07:00
Kurt
d286fe9731 Extract get/set event flag common SAV method
throw in a little docs
2017-09-13 20:37:18 -07:00
Kurt
bc2f36c18c uncap underground stats
only may have trouble if the stat gets close to int.MaxValue as it could
really be a uint :)
closes #1449
2017-09-08 09:04:29 -07:00
Kurt
311ea4bc50 Refactoring
relocate memory type detection tables out of MemoryAmie editor
remove casting reference to get text (invalid memories no longer throw
exceptions)
2017-09-07 17:46:21 -07:00
Archit Date
1123c24b0c Fix Gen4 Misc options when no Poketch is obtained. (#1448)
* Fix Gen4 Misc options when no Poketch is obtained.

closes #1447
2017-09-07 12:25:45 -07:00
Kurt
d7b982728c Disallow min/maximization of boxviewer
can double click or use windows keys to minimize
don't want that
other props are just updating themselves with the boxview control prop
additions
2017-09-06 22:02:03 -07:00
Kurt
c531f9ae5f Update 17.09.05
Update event binaries with latest from the Event Gallery
this time, ignore any in the "Unreleased" folder!
2017-09-04 22:54:16 -07:00
Kurt
97f0f418d6 Enable auto-bak loading for db
previously was only for debug builds; loads in like 2 seconds on my
computer for >70k pkm from >250 backups

if enough people complain I can add it as a setting instead
2017-09-04 22:27:55 -07:00
Kurt
dcf2b5fd9c Improve database loading speed
do db population in another thread, invoke an update when complete
2017-09-04 22:22:02 -07:00
Kurt
072f1ba83d Refactor level-evolution checks slightly
Allows evolution met level check to be skipped
Adds minimum level constraint for evolution chain generating

Closes #1430

also adds deferral to the gen3 encounter generator as encounterstatic
gifts can collide with wild encounters when transferred
2017-08-28 18:12:57 -07:00
Kurt
219c042315 Add unlock all pokewalker courses cheat button
Closes #1406
2017-08-27 12:53:57 -07:00
Egzon Qukovci Jusufi
d0b5ceb8ff Underground Score Editor (help needed) (#1416)
* Underground Score Editor first commit

* not needed space

* changed anchor points

* added dp offsets, ug scores to underground, underground button click code
2017-08-27 12:32:43 -07:00
Kurt
5b0e431347 Revert "Uncap max box ID for gen6 not-XY saves"
This reverts commit 9869335151.
2017-08-26 08:41:18 -07:00
Kurt
9869335151 Uncap max box ID for gen6 not-XY saves
Closes #1411
2017-08-25 17:25:42 -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
Kurt
996a219a13 Gen5 international language bits dex fix
Closes #1395
Gen5 save files do not store multilang dex entries for gen5 species

https://bulbapedia.bulbagarden.net/wiki/Foreign_Pok%C3%A9dex_entries#In_Generation_V
2017-08-20 17:52:10 -07:00
Kurt
7fb9ce4131 Misc updates
Add global link mission stats (thanks Holla!)
remove some ToArray() linq in favor of direct copies
Relocate encounter suggestion logic to separate class
Closes #1396, addresses other edge cases like entree-non HA & happiny
egg.
2017-08-15 21:16:47 -07:00
Kurt
47dcb56090 Misc fixes
static-wild encounter g4 collision (abra gift), closes #1390
off by one pokepuff strings
unshuffle bk4 ribbons
pgt bad sanity events now auto-sanitized
2017-08-10 20:51:27 -07:00
Kurt
8357774635 Disable play time editing on cxd
Closes #1292
2017-08-06 17:26:09 -07:00
Kurt
80196f75ef Refactoring
split Core.PKX into smaller classes, only StringConverter is exposed for
outside namespaces
2017-07-31 23:03:51 -07:00
Kurt
2faf6ae8e5 Redo prior g5 roamer commit
switch to list to allow/add unknown value option
#1358
2017-07-23 22:44:00 -07:00
Kurt
866e8fd485 Split roamer flags into checkboxes
basically there was 0x81 which was not 0-3, and the other roamer had
0x40.

Closes #1358, thanks @Ninjistix !
2017-07-22 13:15:53 -07:00
Kurt
2a2f5669e4 Add wc3->pk3 conversion
fixes 10ANIV pikachu having Thunderbolt twice
un-duplicates CHANNEL event data
adds seed->PIDIV generator template for M1/2/4, CXD, Channel, and BACD

improve pkm converter to update nickname of hatched eggs. isn't perfect
(farfetch'd) but works better than before
2017-07-15 18:36:55 -07:00
Kurt
2f3c56e7c5 Update gen4/5 mg generators
PGF for movie victini has OTgender=3; only eggs are supposed to set OT
details from the SAV.

update pattern matchers to abuse this fact.

Thanks @odaxis !
2017-07-14 22:50:12 -07:00
Kurt
ee57bc49f0 Add gen3 event flag/variable editing
Template files added for e/frlg, no guarantees.
http://i.imgur.com/ER5rRBn.png
(left+select+b when on groudon/kyogre menu screen)

Closes #1328, thanks @rboninsegna !

Added the ability to prefix flag numbers with 0x, and prefix variable
numbers with 0x40__; will be parsed as hex.
2017-07-13 23:05:59 -07:00
Kurt
c12eba2186 Add Gen6 mega evolution early-unlock edit
TrainerCard offset is 0x14000
http://i.imgur.com/XtsZLmL.png

via:
33011937 ekx
182491428 hbg
tyvm anon
2017-07-12 20:38:24 -07:00
Kurt
fa642820b1 Redesign event flag editor
split control groups into separate tabs for easier viewing
2017-07-09 14:54:10 -07:00
Kurt
4a2dbe4ad2 Add gen4 ribbon names
Closes #1297
fix off by 1 language checking
2017-07-09 14:31:08 -07:00
Kurt
45c891e64f Add inventory sorting by index number
Closes #1312
2017-07-06 17:24:40 -07:00
Kurt
502093b8b2 Misc tweaks
fix pcd detection (yield brewk needed to be inside brackets
remove brackets from single line lambda expressions
2017-07-05 23:05:49 -07:00
Kurt
bbac3dc7ee Improve db scroll behavior
Focus was passed when control area was entered; only pass focus when the
mouse wheel is moved.
Add tooltip to show full path of last viewed file if the filename is too
long. Double clicking the label still works to copy the full label to
clipboard.
2017-07-05 18:39:53 -07:00
Kurt
d4aff0632e Add ability to batch edit trashbytes
Raw editing of byte fields

.Nickname_Trash=$[]43,00,65,00,72,00,66,00,72,00,6F,00,75,00,73,00,73,00,65,00,00,00,00,00

only use cases are OT/Nickname trash bytes

not too concerned about speed re-parsing values or storing it to an auto
property; it's fast enough.
2017-07-04 22:22:04 -07:00
Kurt
80e2d55999 Tweak alt-click preview sprite behavior
Closes #1293
2017-07-02 21:27:22 -07:00
Kurt
4e9b6be8e5 Convert console output to debug output
output messages are now no longer in release builds, as they are only
visible when debugging in an IDE.
2017-07-01 19:43:51 -07:00
Kurt
788bd5ef8c Don't batch edit if no data to iterate over
Closes #1287
Setting PartyData with Length==0 throws an exception from the SAV
object; only process if necessary.

Felt like splitting the method up into smaller pieces.
2017-07-01 16:07:02 -07:00
sora10pls
ef822b12ae Misc Editor changes 2017-06-29 18:14:42 -04:00
Kurt
587d0ea9fc Misc ribbon editing qol
sort ribbon checkbox names alphabetically
hovering over ribbon displays ribbon name ('what is this ribbon
called?')
2017-06-29 09:03:56 -07:00
Kurt
a4c0927d9c Fix batch editor filter check
passing an object with a type from another assembly will have
obj.GetType() return a System.RuntimeType, which is absolutely not what
we want.

supply the pkm derived GetType

why is this so wonky

Closes #1266
2017-06-23 21:19:22 -07:00
sora10pls
9cd85bf1db Misc4 updates 2017-06-23 15:47:52 -04:00
Kurt
5b5c9d0017 Move ribbon name resources to string dictionary
multilang support now possible, other language translation files added
from existing form translation file

feel free to submit a pull request to change anything for your native
language :)

Closes #1250
not gonna add the alt sprites/names for pk3's
2017-06-22 21:56:41 -07:00
Kurt
86e0374efc Update poketch dropdown/set
#1263
2017-06-22 19:18:14 -07:00
Kurt
1815a7f273 Add current poketch app selection
Closes #1260
2017-06-21 21:07:07 -07:00
Kurt
5b15483914 Allow Old Sea Map to be skipped on nonJP
Closes #1255
2017-06-20 22:24:02 -07:00
Kurt
5b4cedf14b Refactoring
Rewrote showdown set exporting to be much clearer, added auto-fixing of
relearn moves when importing showdown set (applies suggested relearn
moves)
Simplified main form loading routine (from ~160 to ~25 by extracting
methods)
2017-06-18 13:02:02 -07:00
Kurt
da6f880c16 Add Shiny Leaf editing
Closes #1236
pk4/bk4 only, obviously

side note, using static events is no-no, designer auto-removed them.
just manually reapply (as well to others that used it)
2017-06-17 21:49:14 -07: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
8f833d8171 Simplify max item count give/modify
999 is true max, set suggested give count to -4 from max (or 1).
Apply giveAll's max value restriction to modifyAll
Prevent giveall/modifyall for PCItems/FreeSpace due to mixed item types.

Closes #1228
Closes #1227
2017-06-14 18:43:28 -07:00
Kurt
86720b547b Add <=gen3 pouch giveall
Closes #1225
Resizes array if too long, allows random set or standard (sequential)
set.
2017-06-14 08:42:49 -07:00
Kurt
ffa7529e0f Misc database tweaks
delete now interacts with the box manager, now clears from any box
viewer that is open
filtering to just boxes now filters out the external sav pkm
filtering sources now is done prior to any field filtering
2017-06-11 11:08:03 -07:00
Kurt
5117f3a5c9 cap entry of Yellow pikachu friendship
gen1 trainer editor, 0-255

https://projectpokemon.org/forums/forums/topic/40817-request-autoset-yellow-pikachu-friendship-to-255-if-user-inserts-number-higher-than-255/
2017-06-11 00:25:21 -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
pokecal
753964c138 fix Gen4 Misc Resources
add missing FlyDst and use MetLocation string.
add TrainerCard flags to FlagEditor.
add Pt resources.

fix HoneyTree, the BlockOffset needed.
2017-06-11 03:20:55 +09:00
Kurt
8a1691eb91 Let pkmdb fetch from save backups
Only if compiled in debug; bumps my searchables to 6 figures lol

bulk legality scan yielded one exception (bad CXD pidiv for starters)
bullk sav fetch yielded one exception (unknown type didn't define
SeenFlagOffsets)
2017-06-09 23:13:41 -07:00
pokecal
e85e155c65 add FRLG TrainerCard PokemonIcons
I don't know why Chimecho is listed at the very end.
2017-06-04 13:54:16 +09:00
pokecal
497f0c62b2 add BW2 FunfestMission controls
The entree level can display 9999 in game,
but fixed to 999 when it change.

MAX PassPowers require 9999 costs.
2017-06-03 14:35:24 +09:00
pokecal
c54cd30a3c add EventFlags resources BW2
resources about legendaries
2017-06-03 11:45:24 +09:00
Kurt
3eedf1a6d5 Run database search async
disable button while searching, prevents GUI locking up when searching a
large database.
2017-05-29 19:18:18 -07:00
Kurt
87e99bf183 Split reflection usage for winforms project
batch editor needs more powerful variant which can check the base
properties as well; just use the older code from before the .NET
standard commit.

Closes #1158
2017-05-28 14:49:36 -07:00
Kurt
858aa50689 Refactor encounter matching
exercise in deferred execution/state machine, only calculate possible
matches until a sufficiently valid match is obtained. Previous setup
would try to calculate the 'best match' and had band-aid workarounds in
cases where a subsequent check may determine it to be a false match.

There's still more ways to improve speed:
- precalculate relationships for Encounter Slots rather than iterating
over every area
- yielding individual slots instead of an entire area
- group non-egg wondercards by ID in a dict/hashtable for faster
retrieval

reworked some internals:
- EncounterMatch is always an IEncounterable instead of an object, for
easy pattern matching.
- Splitbreed checking is done per encounter and is stored in the
EncounterEgg result
- Encounter validation uses Encounter/Move/RelearnMove/Evolution to
whittle to the final encounter.

As a part of the encounter matching, a lazy peek is used to check if an
invalid encounter should be retained instead of discarded; if another
encounter has not been checked, it'll stop the invalid checks and move
on. If it is the last encounter, no other valid encounters exist so it
will keep the parse for the invalid encounter.

If no encounters are yielded, then there is no encountermatch. An
EncounterInvalid is created to store basic details, and the parse is
carried out.

Breaks some legality checking features for flagging invalid moves in
more detail, but those can be re-added in a separate check (if
splitbreed & any move invalid -> check for other split moves).

Should now be easier to follow the flow & maintain 😄
2017-05-27 21:17:57 -07:00
pokecal
32815d0c4b add BW2 KeySystem Unlock
I excepted first 8 keys(used for check selected value),
they are very easy to edit in game.
2017-05-27 19:32:19 +09:00
pokecal
0cae317770 add EventFlags resources BW
I recently noticed that some activation use TID/SID,
I will re-check past resources that have abnormal value(e.g.AzureFlute),
after researching BW2,Pt.
2017-05-26 19:17:28 +09:00
Kurt
be80a6b9da Fix HGSS wallpaper get/set & editing
the special wallpaper values are +0x10 (ie 0x20, 0x21... instead of
0x10, 0x11) from the contiguous sequence of regular box wallpaper IDs
(anti cheat probing?).

Xor tweak allows for single invert method; use this invert with the base
implementation's method.

Range check for setting the box wallpaper (just in case). The underlying
error was fixed; the 255 val was reading from the wrong offset (now
fixed).

Thanks Scarfy!

https://projectpokemon.org/forums/files/file/1-pkhex/?do=findComment&comment=344
2017-05-23 21:38:15 -07:00
Kurt
11b2dc35d7 Refactor main form into smaller pieces
pkm editor, sav editor, menus, and a manager to glue the storage slots
together
decouples the pkm/sav editors from a static savefile reference.

improves dragdrop/click view/set/delete indication, hides unavailable
contextmenuitems, and fixes a few incorrect references. Box Subviewer
slots now have all the indication/events that the main save editor slots
have.

pls report behavior bugs 👍
2017-05-22 21:55:12 -07:00
pokecal
ea33a2cb77 add EventFlags resources HGSS
Fix DP for consistency.
(now all DP&HGSS flag/const position number is same as in game used)
Checked with HG. SS not checked. (Groudon flag unknown)
2017-05-19 11:21:27 +09:00
Kurt
46c0f4f30c Add exporting pkm/mg from mgdb
Closes #1151 by extending functionality instead of limiting it :)

Users can now export Mystery Gifts from the database in either
MysteryGift files or converted PKM form regardless of current generation
2017-05-18 18:10:58 -07:00
Kurt
a415ca78df Fix folder location fetch & x/c/bk# extension fetch
Closes #1149
2017-05-17 20:39:10 -07:00
sora10pls
c6c76c3983 Folder List enhancements 2017-05-17 21:25:48 -04:00
Kurt
de3b89c409 Tweak path loading
no Nintendo 3DS => null => getPathRoot(null) => exception
provide a fake root if the folder does not exist (to ensure that the
buttons are created with an unavailable path).
Closes #1140
2017-05-16 21:44:02 -07:00
Kurt
f674d45854 Misc changes
Properly handle egg hatch counters for generated mystery gifts, as well
as HT friendship for gen6+
fetch form specific (friendship doesn't change but abilities fetch
species specific data later, so just fetch once up front). Do not depend
on save file as SAV7 importing PGF may have different abilities
allocated
Pad buttons for folder popup
fix double Japanese/International error message for importing jpk1<->pk1
2017-05-16 20:34:24 -07:00
Kurt
1659405dc4 Add quick folder open menu item
Closes #1137
allows loading of tab separated value text file "savpaths.txt" which can
also be used to 'favorite' locations (ie, the program checks for
duplicate paths and only adds the first).
folder availability checked on form creation

shortcut: press ctrl-F on main window

Thanks @sora10pls !
2017-05-16 16:27:43 -07:00
Kurt
2bfa98db09 Refactor dragdrop managing logic
Relocate class out of main form for reusability/less lines in main.cs
refactored to be a bit more oop
2017-05-16 08:56:13 -07:00
Kurt
404651774a Further simplifications
Gender color display was copypasted everywhere, now just call the gender
color method.
2017-05-13 12:51:33 -07:00
Kurt
5ec3521d48 More c#7 shorthand
outs & pattern matching, other simplifications
2017-05-13 10:20:25 -07:00
Kurt
bbdb21c626 Separate forms from clone check
Only really useful for unowns that have been RNG'd to have the same
PID...
2017-05-13 00:04:04 -07:00
pokecal
d134abcd4a add EventFlags resources DP
This resources include some flags, not all,
that be changed when defeated/captured in game,
but sufficient to repop.
2017-05-13 10:15:13 +09:00
Kurt
aeb90d262c Cleanup 2017-05-12 09:33:12 -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
Kurt
83962419db Simplify trash editing load
Gen5 allows editing of the final terminator; just use the raw length as
the amount of trash byte entries to show.
2017-05-10 22:52:14 -07:00
Kurt
803ff951db Add IVs to database clone search hash
simplify expression of clone searching
2017-04-27 09:15:16 -07:00
Kurt
ece845cd17 Add item modify existing counts
Closes #1097
2017-04-25 21:18:14 -07:00
Kurt
7a508590a3 Update 170424
Updates wc7 event dbs
Fixes string raw copy for text editor
2017-04-23 21:44:12 -07:00
Kurt
4bf567c7b3 Add berryfix macro to gen3 RTC editor
arbitrary date set
2017-04-23 14:02:52 -07:00
Kurt
a9ff3aceaa Fix Navel Rock clearing issue
Closes #1090
Saving of the Battle Frontier symbols is clearing the flag

block2 ofs 0x40C = Navel Rock
block2 ofs 0x408 = symbols

bitconverter getbytes was fed an Int64 due to bit shifting ints and
uints. Forcibly cast to uint to keep only 32 bits -> intended behavior.

sneak in RNG readonly
2017-04-23 12:07:45 -07:00
pokecal
748919bb71 fix G4 Miscs
for add DP stats
2017-04-23 23:55:29 +09:00
pokecal
c2f1fb4df6 add G4 BattleFrontier controls
Editable many values. It seems a batch button needs,
but little demand, I have not made it.
2017-04-22 21:40:02 +09:00
Kurt
5bf14642e5 Expand logging for invalid batch edits
Closes #1003
If the pkm has a bad checksum/sanity or is in a locked slot, it never
incremented the counter. Just increment the counter anyway and write the
msg to console.
2017-04-20 21:04:51 -07:00
Kurt
5c96066b13 Slightly speed up database scrolling
no linq operations
still sluggish due to generating the sprites multiple times (not cached)
#1071
2017-04-20 20:52:08 -07:00
Kurt
36515b8178 Prevent moving boxes if any team slot is in box
Closes #1079
2017-04-19 20:54:49 -07:00
Kurt
757cf11f52 Database improvements
Reduce linq usage (toarray) and just use the actual index
Implement GetHashCode for Mystery Gifts to only add unique data arrays
#1071
2017-04-19 03:15:54 -07:00
Kurt
3fcf92c9ba Misc tweaks
add namespace using, reduce nesting slightly
no functional change
2017-04-17 23:34:02 -07:00
pokecal
0adbf85177 add Gen3(Em) BattleFrontiers
Controls for trainerCard icons, streaks.
2017-04-16 15:59:16 +09:00
pokecal
a4f43f2afd add Gen3 Badge
without RS
2017-04-16 15:58:07 +09:00
Kurt
abcd541266 Add party stat calc to report window 2017-04-15 14:38:43 -07:00
Kurt
8a8b43948b Improve visual interactivity with storage slots
* Replace the background with a frosty partially transparent image to
snap user attention to the hovered slot
* change cursor to hand symbol when over a draggable box slot
* remove duplicated resource references
* remove unused line in rtc3
2017-04-13 23:05:19 -07:00
Kurt
bbc6915114 Add RTC Editor for Gen3
FRLG doesn't have an RTC, so only permit the editor on RS & E.
2017-04-13 19:11:01 -07:00
Kurt
2f59710eee Refactoring
use linq to simplify the operation of inserting the ticket key items to
the save file
set back the pouch to the temp sav when adding tickets instead of
waiting until the end
don't change control text (respect localization text)
2017-04-12 23:42:08 -07:00
pokecal
a336849519 add gen3(Em) FerryTicket control
Button that issue tickets may not be necessary.
2017-04-13 06:02:34 +09:00
Kurt
dbae1fb932 Tweak gameselect parameters
Combo items are now localized automatically by specifying the game IDs
and using the gameinfo values. (odd style is to support eventual message
localization).
program title now indicates XD/C/Batrev instead of just SAV(generation)
2017-04-10 16:28:44 -07:00
Kurt
5d4e36ca9e Visual tweaks for texttrash editor
Border around flowlayoutpanels
Grow size of flowlayoutpanel if it is the only one being shown
misc textbox length fixes
2017-04-09 21:53:57 -07:00
Kurt
ad46176fd2 Misc trash text fixes 2017-04-09 20:07:24 -07:00
Kurt
471a90ced6 Fix trash editor on gen3
now spawns the correct amount of numericupdowns
2017-04-09 19:50:53 -07:00
Kurt
a01e3694be Cleanup
Reduce nesting
while loop if / continue checks at the end didn't do anything
(did the manual merge cause the entire file to get fudged?)
2017-04-09 14:18:45 -07:00
Kurt
f443a7d35a Merge branch 'master' into pokecal-patch-2 2017-04-09 14:07:56 -07:00
Kurt
691493cafe String editing refactor
Move all sanitization operations from PK* and SAV* to PKX; add general
method for fetching a generation specific string
Changes the Text subform editor to show trash bytes when appropriate.
Special characters to be shown can be easily inserted in the future.
2017-04-09 14:06:50 -07:00
pokecal
7805d4a042 Poketch DotArtEdit
drag&drop will import file, click will edit directly.
2017-04-10 04:57:11 +09:00
pokecal
7d430387f8 add Gen4 MiscEditForm
there is now only a tab Poketch.
2017-04-08 18:20:16 +09:00
Kurt
d19ab6159f Refactor Honey Tree editing
Tucks the honey tree properties behind a class, brings the user closer
to raw data by allowing selection of any group/slot of the table.
2017-04-06 21:47:28 -07:00
suloku
1dc5831921 Added Honey Tree Editor for DP and Pt savegames. (#1029) 2017-04-06 17:39:36 -07:00
Kurt
65fab7542e Cap coins/bp for gen3
Closes #1022
2017-04-02 14:08:11 -07:00
Kurt
3ae6256459 Refactoring
Adds game selection subform for RSEFRLG/Memcard game selection
Backs up entire memory card instead of just gci when loading from
memcard
Reduce string usage (easier dialog translation if that ever happens)

Does the memory card store date last saved? Could be used to autodetect
the last saved game and load directly instead of selecting.
2017-04-02 13:42:42 -07:00
Kurt
a8ce39d310 Fix button anchors for event flag editor
Form can't be widened anyway; maybe in the future.
2017-04-02 11:34:37 -07:00
Kurt
5b204dfff6 Misc simplifications
only species outside of the NohatchFromEgg is manaphy; if it's a
recognized encounter it's okay. Safer to check generally than having to
update explicitly if there's a mew egg (lol)
remove HGSS check for BugContest, simpler to express as cant be
BugContest without HGSS anyway (implied)

pull out strings from trainer7 (localization cantidate), identify common
operations (getBits from ListBox), use |= instead of +=
2017-03-31 01:12:49 -07:00
pokecal
2f149a539d Add Gen7 Mega unlock
This checkbox just unlock the MegaButton in battle.
I have tested wildPokemon battle, not checked about InternetBattle.
2017-03-31 03:21:05 +09:00
Kurt
7feb5a8451 Add Pickup item record
This only applies to Pickup/honey gather ability procs

179 is incremented if some value is >10000, which is immediately after
photos rated (119)
184 is incremented if GetSelectRankRoyal == 3 (after 159 and 137)

other pairs: 5,137

eh just check Savedata::IncRecord usages
2017-03-29 00:58:19 -07:00
pokecal
f69e4a0c81 Add G7BattleTree Supers Unlock
Not checked for legality(e.g.MaxStreaks)
2017-03-27 11:04:25 +09:00
pokecal
dce4b839b1 Add controls of G7Stamp,BallThrow
Some function has already included in SAV7, but no controls?
Add function about BallThrow Flags.
2017-03-27 04:50:38 +09:00
Kurt
e779498aae Cap gen6 boxes unlocked at 30
Closes #975
Doesn't hide the 31st box from the editor, only prevents
adding&selecting 31 from the dropdown for unlocked count.
2017-03-23 18:17:22 -07:00
Kurt
9104dd5f98 Cleanup
Add gen5 hidden ability check for pkm that shouldn't have hidden ability
(wonder if there's any pkm that can be encountered in wild / grotto)

time to extract more strings
2017-03-22 19:43:31 -07:00
pokecal
5b85c4dfdc fix gen4dex forms
mismatch of formFlag and languageFlag also fixed.
full editing of DexUpgrade added.
DP,with SetToSavOption,some mons otherLangDexFlag will be edit.
2017-03-22 17:01:02 +09:00
Kurt
68fe715774 Add party data editing for batch editor
functions properly for games without a party (RS BOX) by checking if a
party exists
if there's ever a game that doesn't have a box, it'll work for that too
:P
2017-03-21 19:27:45 -07:00