Commit graph

1059 commits

Author SHA1 Message Date
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
93ed2a8bb9 Restore location suggestion
closes #2064
2018-07-16 15:07:20 -07:00
Kurt
6ee534c4b1 Update undo/redo
Closes #2059
2018-07-16 06:40:35 -07:00
Kurt
9a1695f319 Update 18.07.16
Update event binaries with latest from the Event Gallery
2018-07-15 21:44:50 -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
99673706a0 Rework recent savefile detection
return a reference to the savefile rather than the path, since a
SaveFile has a FilePath property.
2018-07-15 13:35:58 -07:00
Kurt
f5bed410b4 sync csproj 2018-07-15 12:25:28 -07:00
Kurt
f3225d1c47 Extract pkm preview to individual files 2018-07-15 11:12:02 -07:00
Kurt
cce7f34f05 Re-add 'unused' qr pattern methods
simplify out the floor operations while we're at it

should have been a func array in the base lib but whatever ;)
2018-07-15 10:57:37 -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
8d89776ae9 Remove unused portions of lib 2018-07-14 21:55:26 -07:00
Kurt
fae36e2086 Add layerimage overload
transparency=1 is no opacity change
remove Rectangle use, just provide coordinates (looks to be simpler in
the .net src too)
2018-07-14 18:43:46 -07:00
Kurt
6c8374f26f Extract inner sprite building to class
any romhack maker can replace the behavior with their own builder
2018-07-14 17:53:37 -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
74f36b79af Extract color config values
easier to modify
2018-07-14 13:17:56 -07:00
Kurt
baac632218 Enable editing gen1/2 hidden power type 2018-07-14 10:56:11 -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
5d20c79568 Add showdownset localization for slot previews
Localization only for game strings (not Ability/Nature/Stat/etc labels)
feels kinda goofy but it works
2018-07-13 19:13:25 -07:00
Kurt
296d1c20ed Use ITrainerInfo interface for trdata 2018-07-12 18:15:20 -07:00
Kurt
6d0dda1df0 Update 18.07.09
Update event binaries with latest from the Event Gallery
(surpassed 2.5 million cumulative downloads!)
2018-07-08 21:16:42 -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
e588565657 Refactoring
reduce pk3/ck3/xk3 logic, share AbilityBit property within _K3, and when
loading, type check (favored over hardcoding individual load cases)
pull some non-gui code from PKMEditor to core/etc for general data
fetching
2018-07-06 17:37:07 -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
d8c643f9f0 Add plugin initialize order
wtb c# 8 with default interface values to not break consumers
2018-06-30 15:02:17 -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
9728d7a09f Fix gender formes carrying over to others
Closes #2022
Thanks @iiippppk !
2018-06-19 17:27:44 -07:00
Kurt
f3ef122214 Refactoring
continued simplification

core.cs is pretty much the following:
misc one-off junk
moveset fetch
encounter table fetch
evo chain fetch

might eventually move things around a bit further for cleanliness so
that misc meta junk is the only thing that remains in core.
2018-06-18 21:56:30 -07:00
Kurt
3a7a257a01 Add export current box to showdown pastes
Rework box fetch in SaveFile to be a little more flexible, can now fetch
a single box

Hold control to... export all boxes :)

I wonder if there's a decorator that showdown skips when importing lines
that can help differentiate the boxes since there's the potential for
hundreds output (ie comments in a showdown set?) doubt it.
2018-06-16 21:56:16 -07:00
Kurt
39ce7e56e4 Cancel boxmenu if not clicking tab
contextmenu is set causing it to open for anywhere in the box area
that's white
only show if right clicking the tab at the top
2018-06-16 17:03:22 -07:00
Kurt
b81cad84ab Fix arg providing for GetRandomPID call
Closes #2012
2018-06-16 10:51:53 -07:00
Kurt
be3eeb4036 Hide batrev trainer/inventory buttons
Closes #2010
2018-06-16 07:52:45 -07:00
Kurt
f8a1d26694 Fill empty ability values with ability1
update handling that checked for this case to instead check for
equivalence to ability1 instead of 0

was generating a PGF with ability[1] = 0, which is not correct. Just fix
the binaries to behave and get rid of all the workarounds since future
tables don't have missing values.
2018-06-15 23:41:07 -07:00
Kurt
cb5e1239ae Refactoring
Extract game value limits
Rearrange GameVersion util logic extensions
add better gameversion fetch for generator (equivalent to pkmeditor)
2018-06-15 16:00:28 -07:00
Archit Date
b9f4a554f0 Reset IV backcolor if pkm cannot be hypertained (#2008)
fixes #2007
2018-06-15 13:45:56 -07:00
Kurt
7a5ce5aa78 Remove unmaintained portuguese side-translation
Closes #2004
no changes had been submitted since originally committed on 3/5/2015; 3y
of inactivity.

users can always place "lang_en" to replace the english translation with
their own GUI strings; not worth maintaining non-series language
support.
2018-06-14 17:03:56 -07:00
Kurt
33fb382c3c Hide ResetMoves for Gen1/2
Legally resetting data is too much of a pain, just hide the option.
Closes #2000
2018-06-12 17:54:21 -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
cb4761403a Relocate oras setopower data to sav6 2018-06-09 12:32:55 -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
17553e6b6a Fix parse exception
deleting tid/sid text -> int.Parse("") fails
2018-06-06 21:51:43 -07:00
Kurt
19e9e4e761 Update form gender update
#1982
2018-06-06 18:59:01 -07:00
Kurt
450d40535d Relocate hypertraining properties to interface
lessen temp array creation, speed++
2018-06-05 21:31:42 -07:00
Kurt
27e917551f Simplify conteststat editor usage
make consistent with interface names
2018-06-02 22:04:32 -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
e0aa1934e7 Update translations
yield the Box Sort/Modify/Delete menustrip
2018-06-01 19:10:05 -07:00
Kurt
d724dffcc3 Update translations
Add secret debug hotkey to trigger update of translation files
2018-05-31 22:40:55 -07:00
Kurt
89f95c20af Update 18.06.01
Update event binaries with latest from the Event Gallery
2018-05-31 21:43:20 -07:00
Kurt
1d9795f774 Fix batch modify filter bool
rename methods for clarity
Closes #1977
2018-05-31 19:59:05 -07:00
Kurt
f237476ccc Add nickname reset modify
nickname reset clears except for encountertrades (some have fixed
nicknames).

remove untraded check for HT memory verification, has to be traded if it
has a HT memory.
2018-05-31 19:49:47 -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
2061f23e26 Misc simplifications
fixes suggestion requests for invalid gameversion pkms
2018-05-27 17:57:45 -07:00
Kurt
1b8fe201c0 Misc simplifications
Simplify some pkmeditor logic, pull out togglemarking
2018-05-27 10:24:28 -07:00
Kurt
3eecb0cf8f Switch to textchanged
more responsive; checking legality won't update (could always force
validation to all...)
2018-05-25 20:42:56 -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
13fe1a2948 Ignore redirected load request results on dragdrop
Closes #1964 ; any redirected load request has its own 'fail to load'
message.

(dragdrop a save file on a box slot; message is no longer presented that
'could not set to this slot').
2018-05-24 19:05:13 -07:00
Kurt
bb55532c4a Rework TID/SID loading
Move TID/SID load to after version set (special handling for pk1/pk2
which don't store version, just call manually).
Update TID/SID on every gameversion change anyway
Rename LoadOTID to LoadOT since it does not deal with ID.

Closes #1962
2018-05-24 16:53:54 -07:00
Kurt
c349ab8218 Relocate vc lang detect to pkx
reusable
2018-05-24 16:53:54 -07:00
Kurt
6c2a864dcc show/hide box options based on savefile
retain save provider
add optional visibility toggle criteria (not present => always visible)

now hides sort/mod/delete if the criteria is not applicable to the
current format
2018-05-23 18:29:30 -07:00
Kurt
199512a9f7 Add box name & repoint party offset
refresh box names on saveslot swap
rework saveslot list to be (name, slotIndex) of valid slots
2018-05-22 19:02:56 -07:00
Kurt
22d5756a19 Show u16/u16 for invalid generation TID/SID format 2018-05-22 18:58:06 -07:00
Kurt
3b635be77f Flag nonparsed
removed parsedvalid/invalid, unnecessary I guess
2018-05-22 18:57:39 -07:00
Kurt
caa617ee83 Merge branch 'master' of https://github.com/kwsch/PKHeX 2018-05-22 16:51:32 -07:00
Kurt
d3ea1968bd Add hypertrain quick modify 2018-05-22 16:51:24 -07:00
ReignOfComputer
044ae4e6fe Correct Control Switching for G2->G7 (#1957)
Is there a reason for having GSC newTrack as USUM? This causes `origintrack = newTrack;` not to happen and thus controls don't switch from G2->G7 correctly.
2018-05-21 20:19:00 -07:00
Kurt
6949cf103e Add custom savefile extension support
savexts.txt if you wanna update it without recompiling

Keep in mind these are just aliases for raw data. No conversion is done,
it only allows the file to be filtered to.

Closes #1955
#1856
#1455
2018-05-21 19:12:02 -07:00
Kurt
400774595e 0 indexed -> 1 indexed
fixes regression from 2 days ago

e216c38151 (diff-37bd5b548e2b340e5c38fd0961a3eb04L165)

Thanks @ReignOfComputer for pointing this out:
https://github.com/kwsch/PKHeX/pull/1956

(also, update GetSprite since slot is 1-30; box is now -1(and below) if
not originating from a box. Now matches the legality check side
2018-05-21 18:28:54 -07:00
ReignOfComputer
a81b43cd4f Fixed Off By One Error in Single Box Dump (#1956)
Huh, how long has this been here :O
2018-05-21 18:24:29 -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
4d0007f49b Show nature of pk1/2 via slothover
derived via EXP%25 as if it were converted to pk7.
#1954
2018-05-20 18:33:38 -07:00
Kurt
199b6f2caf Add move rand for batch editor
Also add Move Rand & Move Reset to box modify contextmenu
2018-05-20 14:29:13 -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
e216c38151 Misc updates
Add GetShowdownSets text output methods
Add party/box overload methods for easier slot setting api
Protect locked slots when importing BoxData
Misc saveditor simplifications
Add wc3->pk3 test
2018-05-19 20:48:03 -07:00
Kurt
b391faa494 sync missing commit
i swear
2018-05-19 16:39:01 -07:00
Kurt
9fd5df6e99 Misc pbr ui fixes
remove todo comment
fix exception when refreshing slot coloring
update box when saveslot index changed, not validated.
update boxviewers when saveslot changes
2018-05-19 16:33:06 -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
23083317d7 Refactoring
pull out GameStrings

add debug output for crystal headbutt trees
fix qrpkm item access
2018-05-18 21:35:57 -07:00
Kurt
128fd1331f sync missing content 2018-05-18 20:02:49 -07:00
Kurt
95b4d0820d Minor reorganization
amount of pkm obj classes is pretty high, move the static utility
classes to another folder

breaks usage of pkm.ShowdownText; removes a dependency from PKM.
2018-05-18 19:33:11 -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
2b9a105e36 Add unsafe dll load option
ilmerging assemblies somehow ignores the loadFromRemoteSources app
setting, so allow the compiler (user) to specify that the main app
should ignore those security checks.
2018-05-15 20:16:57 -07:00
Kurt
5f2f295541 Restore old clicksort functionality
no longer reverses sort
Closes #1946
2018-05-15 15:56:48 -07:00
Kurt
b798da9b03 Use altform first
Closes #1947
2018-05-15 15:23:31 -07:00
Kurt
4a20710a96 Toggle on loadFromRemoteSources
allows loading of dll plugins that aren't unblocked
#1945
2018-05-14 21:52:42 -07:00
Evan Dixon
bbdb94007e Simplify logic in PlayCry (#1944)
Local functions are cool and all, but for something this simple, it just hurts readability and makes things needlessly complex.
2018-05-14 20:04:15 -07:00
Kurt
78c4dbd69c Update plugin interface
now is notified during a file load event (can handle itself)
2018-05-14 17:30:56 -07:00
Kurt
663ec5c536 Add sound path
Closes #1943
2018-05-14 15:46:36 -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
857919bd28 Add basic plugin sys
reference PKHeX.Core, main window loads assemblies & initializes
providing an ISaveProvider and the menustrip control (to insert controls
into)

pretty rough but should allow for inserting external control buttons &
allowing it to edit the UI a little

example: https://github.com/kwsch/PKHeXPluginExample
feedback is appreciated
2018-05-13 12:49:29 -07:00
Kurt
28ef791014 Update hovered slot on box change
using keyboard instead of mouse can change box without moving mouse
outside the slot picturebox
trigger an update when the box is changed, but only if the updating
parent has the hovered child (ie a boxviewer changing box while hovering
the main window won't re-cry the main window slot since it wasn't
updated)
Closes #1940

add some gender threshold properties to personalinfo
2018-05-13 08:14:46 -07:00
Kurt
19f2420670 Add settings for slotText & slotCry
Closes #1939
2018-05-12 20:04:58 -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
e2f11edc43 Refactoring
discards, Array.Find over FirstOrDefault
2018-05-12 08:41:29 -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
c2644cc9f0 Flag gendered pkm without gender
for lack of a better message
#1936

add some docs & trycatch bad wavs
2018-05-11 21:05:15 -07:00
Kurt
4fdff9581f Add forme specific cry detect
dex-form.wav
if not found, reverts to none (dex.wav)

47be96e92d (commitcomment-28950071)
2018-05-11 17:40:00 -07:00
Kurt
b933677c44 Stop sounds on leaving
yeah moving your mouse out and having pkm cries exploding in ur ears is
fun ;)
2018-05-11 17:05:42 -07:00
Kurt
47be96e92d Add feature: pkm cries on sprite hover
Years ago a branch was made to play a pkm's cry when its sprite was
hovered over, to assist users who are less fortunate in the ocular
department. Since a pkm's sprite is not text, playing the pkm's cry
helps the user identify what is in each data slot.

To enable the feature, put a folder named "sounds" in the same folder as
the executable; name all pkmcry files after the species national dex
number (no padding zeros), with an extension .wav
2018-05-11 16:58:29 -07:00
Kurt
fc63a863d5 Update drag&drop
remove hover-tooltip keycombo
reuse logic for move/drop
2018-05-11 16:38:09 -07:00
Kurt
815705bc5e Fix gender handling
Closes #1933

if not allowed to be genderless, flag as invalid gender
only permit valid genders after genderless is ruled out
(both done by checking the low bit)
2018-05-10 18:53:23 -07:00
Kurt
9fb7056837 Add test living dex generator
doesn't generate everything due to the evo chain not being 'full'
(instead is unevolved singular pkm), nor does it evolve pkm
2018-05-09 21:02:35 -07:00
Kurt
16ed4353b2 More generator updates
Store 4g giratina held item for enc->pkm legality
revise usages of GetSaneGender
Rearrange some logic
Better handle impossible version encounters (gen4)

gen 1-5 done, stuck on 659 - bunnelby egg...?
2018-05-09 17:50:56 -07:00
Kurt
19a0560474 Misc cleanup
extend byte[]->pkm iterator for specifying start/stop
clean up some in main window
2018-05-06 22:24:25 -07:00
Kurt
6e3f66ef25 Fix unsettable slots allowing bad drop-swap 2018-05-05 18:19:49 -07:00
Kurt
b572620dac Remove if not activated
Closes #1926
2018-05-05 17:29:38 -07:00
Kurt
16e2fc3344 Tack on shift to the showdownset view
hold ctrl+shift for the set preview; I forgot that ctrl was already used
for quick loading to tabs (makes it impossible with just ctrl)
2018-05-05 08:50:15 -07:00
Kurt
c8cdff8abc Add showdownset preview bubble for slot views
Hold control when you move your mouse to enter the slot's control area
(ie put your mouse on the sprite while holding control); the program
will display a ShowdownSet summary of the contents so you don't have to
load to tabs.

Holding Control is required for now (can always recompile to have it
always on); can be a nuisance for those not wanting to view details
since it overlays a big window (obscuring).

Closes #1925
2018-05-05 08:25:36 -07:00
Kurt
232427d002 Rework slot interactivity a little
decentralize some logic, individual view providers now provide the
details rather than detecting from a huge array.

#1925
2018-05-05 08:07:22 -07:00
Kurt
02dc49641c Rearrange version changing logic
set the new version, then update the controls
#1923 ; exist logic overrode rby/gsc to gen7 locations, which didn't
trigger the TID view update.
2018-05-04 17:59:04 -07:00
Kurt
676b5905bf Show other TID/SID in hover tooltip 2018-05-03 22:44:39 -07:00
Kurt
d15b0b439c Show SID for vc->7+
#1923
sometimes (hacked data) can have SID values; don't exclusively follow
the GB era TID only rule.
2018-05-02 22:28:41 -07:00
Kurt
21cb931123 Repoint old delete/sort shortcuts
Closes #1923 , actual controls are nested 1 deeper.
2018-05-02 17:57:40 -07:00
Matt
77276302a5 Add Past Generation deleter (#1922)
4b6ee3fbf5 (commitcomment-28822553) ;)
2018-05-02 10:07:09 -07:00
Kurt
7303ace32a Add simple shiny sort
again, hold ctrl to revese sort
add inverse clear for eggs (clears all but eggs if ctrl held)
2018-05-01 22:35:37 -07:00
Kurt
4b6ee3fbf5 Update 'sorter'
Adds IV count sorting
Adds Itemless & Illegal deleting
Adds Max level modding, item clearing. Handle egg cases sensitively.

remove final sortby for reversal case as the incremental integer
prevents further ordering.

Any suggestions? Keep in mind that some modifications can be done by the
Batch Editor scripts; smart deletions & sorts are highest value
additions ;)
2018-05-01 19:24:47 -07:00
Kurt
9fd0432c41 Reference check translatable object string
Closes #1921 by only setting the string if it is updated.
2018-05-01 18:42:56 -07:00
Kurt
4c9177fcb3 Add sort force-reverse
hold control when triggering the sort
sneaky linq to reverse a sort by:
* re-doing the initial sort, then
* reversing the sorted pkm data by using a throwaway increment
* re-doing the final sort
2018-04-30 21:39:12 -07:00
Kurt
8dcee4e0ee Add 3 more advanced sorters
Primary->Secondary typing
Generation->Version
Base Stat Total
2018-04-30 21:20:28 -07:00
Kurt
116f600cb7 Apply default language if none
Closes #1920
2018-04-30 18:48:21 -07:00
Kurt
bbcbdd80a1 Update 'sorter' with more functionality
Nest item choices into separated groups (based on their overall
function).

Adds 3 more deletion options: eggs, untrained, or not-matching-savefile.
Adds 1 more modification option: Max Friendship of current handler
2018-04-30 17:32:23 -07:00
Kurt
df4fc96f4d Add legality sorter
Closes #1919
2018-04-29 09:55:26 -07:00
Kurt
f060bab844 Use new trainer ID editing control in SAV_Trainer7 2018-04-28 11:52:48 -07:00
Kurt
71faaee31c Refactor savefile tid/sid to int
can now use TrainerID editor control on a savefile... soon?
2018-04-28 11:06:58 -07:00
Kurt
43507a5ae5 Add TrainerID control
Now shows tid7/sid7 when gen7+
2018-04-28 09:34:54 -07:00
Kurt
294a61c4c1 Update pkmeditor GB gui loop behavior
updating HP causes SPD to be updated, which is based on SPA; since SPA
is yet to be updated, we trigger constant updates on an SPA > 15 until
we crash.

just use the SPD IV which is already capped by the pkmdata
(this shouldn't refresh fields anyway when loading... whatever).

Closes #1914
2018-04-25 20:17:58 -07:00
Kurt
3f6b1acc93 Add fixed gender checks for non-GBA/NDS games
Closes #1912 , genderless ~= fixed gender I guess; shouldn't get these
gender-errors unless it's manually tampered data/ShowdownSet

remove unnecessary code in:
* PKMEditor (>=255 is already covered by == 255 and the fact that gt is
always <= 255)
* VerifyGender (3 <= x <= 5) check is already early-returned via
PIDGender check above

Update IsGenderValid knowing that VC mons have a gennumber <= 2
2018-04-23 19:58:29 -07:00
Kurt
15ce1acfdb update box manipulation
closes #1911 , changes end to be inclusive rather than exclusive. abuse
the optional to let it fill in the end caps.
2018-04-23 19:11:55 -07:00
Kurt
a6903953a0 Re-add old boxtab clicks
#1910
2018-04-23 18:55:58 -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
9e874a0784 Add modify handling to 'sorter' dropdown
adds hatch all eggs in box(es, with shift)
2018-04-22 12:43:18 -07:00
Kurt
762c5e5cae Add random sorter
closes #1909
2018-04-22 12:16:08 -07:00
Matt
7db2c484ea Update sort menu labels (#1907) 2018-04-22 11:37:01 -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
e2405346a4 Update usage sorting
sort friendship delta with high values to front
reference correct method for usage sort
2018-04-21 21:15:19 -07:00
Kurt
7649d2ef95 Update contextmenu names
copypasta ftw
2018-04-21 19:24:50 -07:00
Kurt
df75543f2a Implement pkm sort option control
right click the box tab
* no longer silly key-combos to initiate a clear/sort
* provides multiple sorting options
Advanced sorting includes:
* Recieved Date
* Friendship usage (using it raises friendship, more used pkm will be
sorted to the top)
* Ownership (current SAV's first, then by other OTs)
2018-04-21 16:31:41 -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
cee43a3c4b Fix translating non-translatables
addnew adds a key when not found in original translation, which results
in translating to the old value when flipping back to that language. can
result in invalid values if the control is used as any data display (ie
Gender label)

https://projectpokemon.org/home/forums/topic/44926-when-i-changed-the-language-a-bug-about-gender-occurred/
2018-04-19 15:36:43 -07:00
Kurt
7cbd0e5d10 Update 18.04.18
Update event binaries with latest from the Event Gallery
2018-04-17 20:53:13 -07:00
Kurt
bb03505144 Better handle g2 unown form changing
Closes #1897
2018-04-16 16:01:30 -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
508f056d33 Clear move pp on move deletion
closes #1894
2018-04-09 06:10:26 -07:00
Kurt
335379bd2e Remove unneeded string
#1893
2018-04-08 17:54:09 -07:00
Kurt
6ac8ed0098 Update translations
all supported langs now have all 3 translatable resources; translate
away!
2018-04-08 09:19:19 -07:00
Kurt
2acef4eaf7 Add messagestring dumper
untested, will monkey with later
2018-04-06 22:51:10 -07:00
Kurt
41653490c1 add better legality string file updater
may want to make the export location smarter so that they dump back to
the compiled resource location, meh

assume that english is already loaded; restore english before next so
that new languages use english as the base language for untranslated
strings
2018-04-06 22:06:15 -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
Archit Date
400344a0e1 Fix compile error on non debug builds (#1889) 2018-04-06 05:55:46 -07:00
Kurt
5e96c6e035 Extract main window strings to translatable class
Similar to LegalityCheckStrings
no resource files yet, will generate those tomorrow(?)

some strings are not translatable (useless gen6 passerby export text),
not really worth
2018-04-05 21:25:18 -07:00
Kurt
83c06b1ace Add missing undo/redo events
lol
2018-04-05 18:53:09 -07:00
wwwwwwzx
8710c7a517 Translations update (#1887)
* Update Chinese translation file - 2

* Fix up base stats label translations
2018-04-04 22:45:14 -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
1777a09bde Update translation files with all translatables
Closes #1883

Some controls could be manually pruned (like Gender labels), but nah
2018-04-02 20:55:10 -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
e026a8ab49 Add default trainer info
use in pkmeditor and utilize
2018-03-28 18:52:50 -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
99a4c55579 Relocate some logic to core
party stats set when setting a slot to a save file
simplify set/delete slotchange duplicate logic
suggest better met locations beyond VC transfers
hatching a gen6 egg applies memories automatically
2018-03-25 19:05:49 -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
3548e103fd Fix gen4 box name swap
Thanks smileynation!

https://projectpokemon.org/home/forums/topic/44481-bug-report-gen-4-box-wallpaper/
2018-03-24 08:03:43 -07:00
Kurt
17b771632e Add settings editor to main navigation
shortcut ctrl-n (CoNfig)
Closes #1864
add debug lines for triggering translations to update
2018-03-23 22:54:26 -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
aedc0092b4 Rework translations
instead of:
controls on form->dict of names, look up line to find control
now:
dict of names->look up control to find name

faster overall, simpler, and updates the dictionary with new control
entries. browse thru forms that call translateinterface with one
language (english), then updateall(en) and dump to get the updated
translation files.

#1864
2018-03-20 22:34:44 -07:00
ReignOfComputer
bf1b685705 Translate Showdown Markings & Fix PT Selection (#1872)
Added translation strings for Apply Showdown Markings in CHS, French,
and Korean. International schools ftw.

Additionally, Portuguese was not accessible as it is Index 9 ("zh2",
which I assume is CHT, is at 8), so I've just hardcoded this bit since I
don't know if anything else relies on lang_val.
2018-03-20 08:36:15 -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
e4c2b5d77a Split PPMax & PPCurrent edit methods
As noted in #1866
2018-03-19 16:21:29 -07:00
Kurt
dc0cf34ed5 Inherit sizing mode
as noted:

https://projectpokemon.org/home/forums/topic/44417-messed-stat-screen-in-new-version/
2018-03-19 16:15:46 -07:00
ReignOfComputer
a03a54a331 Fix Suggested Move Set (#1866)
* Use FieldsLoaded to stop updates
2018-03-19 09:03:27 -07:00
ReignOfComputer
d41df2420f Fix HaX Mode (#1869)
- Pass HaX to StatEditor once everything else loads
- Fix Hacked Stats enabled check
2018-03-19 08:10:20 -07:00
ReignOfComputer
430938d131 Showdown Markings Toggle (#1868)
Perhaps we could have a temporary toggle while waiting for a master
settings page? :) Related: https://github.com/kwsch/PKHeX/issues/1864
https://github.com/kwsch/PKHeX/issues/1862
2018-03-19 07:52:16 -07:00
Kurt
9bb4120ff9 add faster pkm slot presence check
instead of checking if the array is empty, only check PID and species
2018-03-18 16:22:21 -07:00
Kurt
b0dcdf0948 Update 18.03.19
Update event binaries with latest from the Event Gallery
2018-03-18 13:42:29 -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
1aa70a16a4 Reduce bst green scalar
average*2 resulted in a value that was too-green relative to the stats.
use the rescaling from KChart
2018-03-18 11:21:00 -07:00
Kurt
56bd39b336 Add base stat indication (with colors)
Thanks @zaksabeast for feedback in IRC
2018-03-18 10:38:29 -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
102550174e Simplification
invalid/unknown usages were incorrectly interchangable; dex-sets were
looking at Unknown which was impossible for some cases.

only use GameVersion.Unknown as a temp placeholder for later resolution
by the user.
2018-03-11 18:07:48 -07:00
Kurt
2bd9d99d9e Refactoring
WinForms->Core logic absorbing (CommonEdits)
loading ShowdownSet now applies properties to PKM instead of PKMEditor
Contest/IVs for Static/Trades are no longer set by default (less object
allocations), and are now checked by the encounter generator
2018-03-10 18:03:09 -08:00
Kurt
cbf4038a95 Refactoring
relocate gift data storage out of legal.cs
2018-03-05 22:19:56 -08:00
Kurt
e4210e2b3e Misc api improvements
extract common nature amp logic
generic ienumerable copyto which now returns count of elements copied
(maybe useful later). prior usages never tried to copy an enumerable
larger than the dest array (now length checked).
2018-02-28 21:50:50 -08:00
Kurt
24982fe8c5 Misc simplifications 2018-02-28 21:05:50 -08:00
ReignOfComputer
faab067f80 Fix Inverted Max PP Shortcut (#1855)
https://github.com/kwsch/PKHeX/issues/1854#issuecomment-369270152
2018-02-28 08:58:04 -08:00
Kurt
9fb7268434 Fix hidden power combobox
closes #1852
2018-02-27 17:48:19 -08:00
Kurt
1411933e27 Relocate pkm stat controls to separate usercontrol
splits the logic up
change hypertrain from ctrl (prevents 30/31 setting) to shift (allows)
2018-02-26 21:22:35 -08:00
Kurt
934757eac1 Add Bank7 r/w 2018-02-24 13:03:32 -08:00
Kurt
f9002c6cc9 Add trashbyte copy for OT import on gen1/2
Closes #1849
NAME_LENGTH is 11 for both gens and the offsets don't vary between
languages, so it's a simple fetch.
2018-02-22 22:42:50 -08:00
Kurt
8e0ec17e9f Misc refactoring
no functional changes
2018-02-21 20:35:07 -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
26ca111630 Fix SetHPIVs order
speed IV last -> speed IV first
closes #1844
2018-02-18 09:54:17 -08:00
Kurt
d7271768b2 Only hyper train if the set level is adequate
Closes #1841
wasn't clearing if level below
2018-02-17 16:34:55 -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
Kurt
033d5baa06 Check EC-PID same for gen1/2 transfers
Fix PID->EC on gen<3 transfers

https://projectpokemon.org/home/forums/topic/43779-about-vc-pokemons-pid-and-encryptionconstant/
2018-02-08 18:47:52 -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
fabb64705b Split folder->import to multiple overloads
path, paths, gifts, pkms
removed conversion counter because meh
#1804
2018-01-31 23:37:01 -08:00
Kurt
afe16dd1a7 Hide mailbox on gc/batrev
closes #1802
2018-01-31 20:21:47 -08:00
Kurt
1ca9180e21
use SlotList view to dynamically show slots (#1798)
Closes #1795 by redoing the controls

Allows for a specified slot type & offset to be passed, can easily add extra slots by updating the GetExtraSlots extension method.
2018-01-30 18:52:55 -08:00
Kurt
e472bfe278 Refactoring
move slotchange to core
2018-01-29 17:52:21 -08:00
Kurt
d7eae51c1f Use showdown specific gender culture for formID
Closes #1793 , the form was returning -1 because it was expecting ♀ not
F
2018-01-29 17:20:12 -08:00
Kurt
9085dfd950 Allow backwards conversion on hax
works somewhat on drag&drop individual files, not guaranteed to work for
all pkm formats
https://i.imgur.com/v3i3ON9.png

Closes #1792
2018-01-28 22:47:03 -08:00
Kurt
ddf319c713 Set stat level on load
Closes #1790
lul
2018-01-28 14:11:12 -08:00
Kurt
2828c89497 Update 18.01.28
Update event binaries with latest from the Event Gallery
2018-01-28 00:31:35 -08:00
Kurt
eb505303bb Fix vc backups acting like gb era saves
ends with .dat only works if the real file ends with dat
load the filename data after stripping off the bak filename data
#1787
2018-01-28 00:03:49 -08:00
Kurt
3935311988 Add rockruff-1 shiny sprite
could just add it to the 'sprites don't differ' list instead but
whatever

https://projectpokemon.org/home/forums/topic/43617-usum-bug-report-rockruff-shiny-dusk-form-sprite/
2018-01-27 18:24:44 -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