Commit graph

932 commits

Author SHA1 Message Date
Kurt
d6f623ecfb Fix #2072
Just a guess; don't dispose of the bitmaps
suspected race where two beginhovers happen and one cancels the other
2018-07-23 18:31:01 -07:00
Kurt
68d251f89c Pass -1 for party/battlebox slot arg
Sprite creation uses slot>=0 for determining if it's in a box or not;
kinda should redo the logic but there's no upside to passing 0-6 to the
sprite generator for these.

Closes #2069 thanks @iiippppk !
2018-07-23 16:45:47 -07:00
Kurt
922cbdf583 Add glow animation to slothover 2018-07-22 20:04:28 -07:00
Kurt
3c4ba0d52b Misc cleanup 2018-07-22 17:26:19 -07:00
Kurt
b97e967304 Misc cleanup 2018-07-22 17:14:22 -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
a693ba87ba Update cosplay sprite handling
Cosplay are stuck on gen6, cap pikachu can interact with bank; make
Cosplay the oddball resource.
2018-07-22 12:06:43 -07:00
Kurt
2675130cba Fix venonat sprite (glow)
#2066
2018-07-22 11:42:59 -07:00
Kurt
f62902ba66 USUM sprites: Zero out transparent sprite pixels
Closes #2066
Refer to issue comments for silly fix script
2018-07-22 10:00:32 -07:00
Kurt
e1365c837c Glow sprite edges
Continue using the hover frost effect on the edges too
doesn't really play well with the colorized slot image since it's 1px,
whatever.
2018-07-21 21:55:37 -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
3510d72fef Fix legal/illegal qr image sizing 2018-07-21 10:42:23 -07:00
Kurt
2d472f11e6 Allow "About" form to be translated
use tabcontrol instead of toggling buttons
2018-07-21 10:35:01 -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
229dc96c00 Safe convert current level
Dry startup can cause a crash if the field is somehow not filled in:

https://projectpokemon.org/home/forums/topic/46313-pkhex-ver-180716-wont-run/
2018-07-19 16:46:56 -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
c69b50daae Reload savefile from disk when loaded from folder
Folderlist stores savefile objects, can open A, edit A, open B, open A,
and all edits from prior are still there. Just re-open the save file
from disk. The folderlist already checks if the path exists prior to
calling it to reopen.
2018-07-18 17:33:03 -07:00
Kurt
e1b983bc59 Fix auto-detect save file on load
introduced in
99673706a0
reference the field that stores the full file path

https://projectpokemon.org/home/forums/topic/46293-not-reading-card/
2018-07-17 21:26:25 -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
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