Commit graph

1264 commits

Author SHA1 Message Date
Kurt
b5cf02a933 Add more party related properties/methods 2019-01-12 10:54:38 -08:00
Kurt
ad7d1c645d Fix GetPKMSetOverride yes/no return value
lets be explicit here
Closes #2240 , thanks @bpxhmemcpy !
2019-01-11 18:27:29 -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
9a4f12c279 Misc updates
rearrange pkm version groups for clear break between
twins/siblings/family
clear pokelist for sav7b on non-exportable saves (prevents b1s1 from
showing markings)
rename horohoro (pgo) to non romaji lol, hide daycare/party tabs on
nonexportable save
remove some unnecessary operations
rewrite getallcontrolsoftype to remove ToList() and make generic
2019-01-05 15:40:25 -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
559435e82e Simplify splash screen operation
remove silly idle loop, call close manually

remove initialization check for generating sprite; now only calls at max
2x when starting up = not necessary to bypass with a special variable
2019-01-04 22:46:52 -08:00
Kurt
de096dc406 change accessibility back to private
all private
remove unused init string
2019-01-02 20:25:09 -08:00
Kurt
dc382e7746 Remove unused init item
Closes #2227 , validation failed to recognize this item since it wasn't
a ComboItem
only happens if a gen1/2 save is provided as the most recent/startup
save.
2019-01-02 20:21:47 -08:00
Kurt
c371a008e2 Handle dragout cursor sprite with override & spec=0
holding ctrl-shift-alt bypasses pkmeditor restrictions, which normally
blocks exporting a pkm with 0 species.

fix catch error string (underlines the space, lol), use escape ampersand
Found while explaining #2227
2019-01-02 19:32:23 -08:00
Kurt
727d292480 Fix showChangelog check (settings upgrading)
Closes #2228
2019-01-02 19:21:24 -08:00
Kurt
d9b63a9934 reconfigure hax setter for pkmeditor
pass status to stats on set -- Closes #2226
make all controls private
2019-01-02 18:49:36 -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
376cf9fcd9 leading zeroes for new update message
100% cosmetic

fix assemblyinfo to actually have the latest version data
2019-01-01 21:54:03 -08:00
Kurt
81a660c2dc Update 2019.01.02
Update event binaries with latest from the Event Gallery
2019-01-01 20:52:25 -08:00
Kurt
b5f82f6535 Update translations with latest 2019-01-01 20:27:00 -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
2716d960bb Update debug ver string display 2018-12-30 00:05:19 -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
d5a8d29088 Misc updates
reduce some allocs, clearer names/enum usage
2018-12-27 20:24:24 -08:00
Kurt
1430460573 Hide medals/ribbons/memories on pb7
Closes #2216
2018-12-27 20:01:29 -08:00
Kurt
988e71bec5 Remove QRText property
removes PKM<-QRPKM class dependency
fix invalid value oob exception (nature & ability fuzz)
2018-12-26 17:31:23 -08:00
Kurt
cf0ebf6a4e Add automatic backup disable setting
even if folder exists, can turn off the feature
2018-12-26 17:25:22 -08:00
Kurt
36fb61ab09 Add setting to skip save detection on load 2018-12-26 17:17:44 -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
f7cf96be65 Add version name fetch
only for pkm game IDs that have already been localized; not game
groupings.
use version name long description if hide-savefile details is enabled.
2018-12-22 13:16:16 -08:00
Kurt
6dbc52e748 Ensure template is non-null
template folder not existing returned null
2018-12-21 18:36:11 -08:00
Kurt
2d774ac7cc Allow dynamic default savefile type load
Make extrabytes a pkm property (don't mutate array pls)
reconfigure startup loading to only initialize after initial load of sav
& pkm (using blanks if not provided)
2018-12-19 22:10:32 -08:00
Kurt
d7a501c168 Relocate some logic to interfaces 2018-12-18 17:15:35 -08:00
Kurt
ff649009ca Misc tweaks
misc perf adjustments
add utility for slot locked check (without box argument, absolute slot
index)
localize dragdrop strings
increase dragdrop file delete delay (dropping files into discord waits
until you confirm; 10s gives enough time to hit confirm)
2018-12-17 11:17:19 -08:00
Kurt
d54fe8315c Use old version display style 2018-12-15 09:21:36 -08:00
Kurt
fb10a1f983 add size rating indications when viewing pkm data 2018-12-13 21:10:38 -08:00
Kurt
2c1717a409 Misc updates
extract programlanguage to enum
fix parse fail for settings' version; old syntax fails to parse
delete unused file from recent pull
2018-12-10 20:48:21 -08:00
Evan Dixon
34f4fb176c Use assembly version as the current version (#2164)
* Put assembly version in window title
* Treat version.txt as a Version
* Cache current version
* Don't use resources anymore for version
* Re-add version.txt, for backwards compatibility
* Set old version.txt's build action to None
* Use GitHub API for version checking
2018-12-10 20:36:18 -08:00
Kurt
efb9b7eba2 Misc cleanup
removes clickonce logic/reference
2018-12-10 20:32:08 -08:00
Kurt
8a0b9cd88c Add indication for party/starter slots 2018-12-09 23:18:37 -08:00
Kurt
71fab815bf Provide more slot information
remove lockedslots, store & save all teamslots for sav7
differentiate locked slots from overwrite protected slots by emitting an
enum containing info about the slot

locked = can't be replaced, period.
starter/battleteam = can't be pasted over by bulk-pastes

can eventually show more specific sprite layers to denote party
indexes/team#/starter
2018-12-04 22:59:28 -08:00
Kurt
4c1232855f Add getstring method with non-sav data 2018-12-04 22:00:57 -08:00
Kurt
bca8924437 Add favorite flag editing
Closes #2199
2018-12-04 18:38:47 -08:00
Kurt
0d8789e939 Show altform in encounter browser 2018-12-02 10:44:06 -08:00
Kurt
8c73259d9b Update 2018.12.02
Update event binaries with latest from the Event Gallery
2018-12-01 22:39:07 -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
08f13cb3a1 fix use before init 2018-11-26 19:06:51 -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
26647996c6 Update cp/stats on friendship update 2018-11-26 15:42:40 -08:00
Kurt
105c466ab3 Move sizecp update to Stat Update method
Closes #2182
2018-11-26 15:37:44 -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
ad6f91b240 Fix qr export for pb7 2018-11-22 23:46:55 -08:00
Kurt
f27816e622 Add party pointer sort
Pulls party members (and follower index if not already in party?) to the
first slot(s) in the (current/all) box.
2018-11-22 23:02:57 -08:00
Kurt
6c0ad30b9a Add gp1-pb7 conversion
Add drop to pkmeditor & drop to saveditor
2018-11-21 20:48:55 -08:00
Kurt
95776d8520 Set default savefile to gg 2018-11-21 13:51:26 -08:00
Kurt
8f70aa0113 Only allow main window box to change sav.currentbox 2018-11-20 23:53:17 -08:00
Kurt
2ec5c8764f Adjust CP clamps for illegal CP values
CalcCP clamps itself, let the GUI clamp entered values differently
2018-11-18 16:24:37 -08:00
Kurt
16e51a81ff Reset cp/size on species/form change 2018-11-17 19:57:53 -08:00
Kurt
409047728d Default recalc to false 2018-11-16 19:04:38 -08:00
Kurt
e619ba41fe Update 18.11.16
Update event binaries with latest from the Event Gallery
2018-11-16 17:53:44 -08:00
Kurt
83f2d3f48f Show changelog when requested 2018-11-16 17:38:09 -08:00
Kurt
6ae2204009 Add AV randomize
Alt: Set all to Zero
Control: Maximize
Otherwise: Random (0-200)

fix missing on-textbox-click events for atk->spe (was on HP)
2018-11-16 14:21:29 -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
4007f47518 Fix transparency
upper left corner had bad transparency data, which is evident with
hover-glow effect
2018-11-15 17:36:59 -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
644fa4e929 Call slot compression
Doesn't work correctly (data shifted down still persists)
2018-11-14 22:20:59 -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
e735026d20 Add new pkm editor control, hide unnecessary 2018-11-13 19:25:03 -08:00
Kurt
7b00e6cfd0 Add size/cp editor control
Years from now this may have to be split (sizes arent related to CP)
2018-11-13 19:24:08 -08:00
Kurt
e109c1ba64 Show new sav editors for gg 2018-11-13 19:23:31 -08:00
Kurt
fc5971999b Allow encounter database to be opened via ctrl-n 2018-11-13 19:23:16 -08:00
Kurt
1448ba0d08 Update project & add resources with new additions 2018-11-13 19:22:55 -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
78446a4d7f Show new pb7 sorting methods 2018-11-13 19:21:33 -08:00
Kurt
3cbc3fc406 Add AVs to stat editor control 2018-11-13 19:21:14 -08:00
Kurt
28fec9882b Add pkm variant for beluga 2018-11-13 19:10:31 -08:00
Kurt
5abbe6dceb Add fetching for lgpe encounters (legality checks) 2018-11-11 22:46:03 -08:00
Kurt
f38c46f5ec Misc updates 2018-11-10 21:07:31 -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
f1a9504b4b Use savefile max species ID on template
Closes #2157
2018-11-02 19:33:30 -07:00
Kurt
f709448220 Update 18.11.01
Update event binaries with latest from the Event Gallery
2018-10-31 14:08:58 -07: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
66f082e4a0 Add shadow lugia sprite
Closes #2145
2018-10-20 23:05:15 -05:00
Kurt
9f1d850273 Show shadow aura for colo/xd shadow mons
differentiate unpurified vs purified while in cxd, muh value added
2018-10-13 20:41:58 -07:00
Kurt
f7f5d78beb Misc perf tweaks
hopefully resolves the image corruption issue (dont use unsafe?)
remove some linq
2018-10-13 08:02:55 -07:00
Kurt
c8d874462c Clamp scroll value set
Mono (Linux Mint) specific behavior; I guess 'NewValue' can be outside
the range?
Closes #2140
2018-10-11 15:44:36 -07:00
Kurt
16dcef13a6 Show old egg sprite if egg holds item
Accurately show the item
2018-10-10 22:59:00 -07: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
18ed0b6af7 Update shiny naganadel sprite
#2134
black wings
2018-10-02 17:26:15 -07:00
Kurt
6f09f7b89e Add catch rate editor control
#2132
has a 'reset' button which tries to set a legal value
has a 'clear' button which sets it to zero, similar to gen2 removing an
item
2018-09-30 10:16:45 -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
9304101141 Hover species combobox -> show species ID 2018-09-28 21:17:46 -07:00
Kurt
40a0206a5d Misc style updates
whitespace / brackets
2018-09-26 18:56:29 -07:00
Kurt
3cd45cf5c4 Continue extracting logic 2018-09-16 12:44:00 -07:00
Kurt
0de49c915a Draw all move items if hax
https://projectpokemon.org/home/forums/topic/47534-move-selection-broken-in-illegal-mode/
2018-09-13 22:10:35 -07:00
Matt
789449f4d6 Fix alt form cries from not playing (#2119) 2018-09-12 10:37:13 -07:00
Kurt
92489ad206 update changelog with dl count
forgot to update yesterday, sneak in the hotfix just pushed too
2018-09-11 20:39:01 -07:00
Kurt
b20020fbe6 Update 18.09.11
Update event binaries with latest from the Event Gallery
2018-09-10 19:10:28 -07:00
Kurt
e03e6cb2ff Fix entree species change
thanks KR for finding
2018-09-09 15:36:58 -07:00
Kurt
d8c355cf64 use sprite resource name instead of species-form
Closes #2113
2018-09-07 19:11:22 -07:00
Kurt
189fa5f7b3 Add button to give all seals + illegal ones
#2112
2018-09-04 15:26:16 -07:00
Kurt
81f6988d3e Prevent sort/clear reverse on shortcut use
Closes #2111 by preventing the user error
2018-09-04 15:01:14 -07:00
Kurt
f5b09c2bea Add key item sprite for mysterygift display
closes #2110
2018-09-03 14:23:27 -07:00
Kurt
47e61e9393 Directly reference manaphy egg sprite 2018-09-03 12:36:46 -07:00
Kurt
42deb0ad12 Add extra backup locations for savedetect
Closes #2109
Program boots -> load extra locations rather than constantly fetching.
These files won't change location or presence (not an external drive).

just store the locations instead of constantly fetching, we already call
detect once when loading the form anyway.
2018-09-03 10:40:40 -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
493bef75eb Misc updates
condense repeated logic
extract properties
extract reusable methods
2018-09-02 18:02:25 -07:00
Kurt
f57e7bf686 Separate box manipulator to ui-less class
clear separation of functionality
2018-09-02 11:31:34 -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
efb895385b don't sort messagestring file 2018-09-01 14:43:26 -07:00
Kurt
7e03d1203d Remove unused legality strings 2018-09-01 14:37:58 -07:00
Kurt
b4400216dc Flag invalid party slots
lol oops
pkmeditor pkm does not get illegal flag in the sprite, it's off to the
side. remove early return which masked the underlying issue
2018-08-31 21:35:53 -07:00
Kurt
ebae14e6ad Add unnicknamed forced languageID wc7 handling
https://projectpokemon.org/home/forums/topic/47295-bug-event-golduck-name-not-matching-species/
another edge case
2018-08-29 20:36:32 -07:00
Kurt
e9059023eb Add ball selector with legal ball indication
click the ball label/sprite; hovering over ball puts the name in the
subform title bar
2018-08-29 19:30:48 -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
6abd60cc5c Add ball auto suggestion
click ball sprite/label to cycle through legal balls
hold alt to use old behavior (set to pokeball)
hold shift to cycle through legal balls randomly (default behavior goes
poke->color->poke)

want to randomize setting balls? use the ApplyBallLegalRandom method at
the end :)

can't really get too fancy as only one color is stored in the personal
data, pkm aren't one single color.
2018-08-28 21:13:45 -07:00
Kurt
6abeec507f Catch gdi exception & ignore
#2072
2018-08-28 18:21:46 -07:00
Kurt
dfdcc28789 reduce animation fragility
#2072
no idea if this works since I can't repro on my end
2018-08-28 16:40:27 -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
9dae7dad67 Misc updates
move encountertype datasource providing to core
fix rerolling EC not updating characteristic
remove some repeat logic calls
relocate geolocation name fetch to separate class, add tests to ensure
functionality, add languageID->country/region fetch method
2018-08-25 17:04:01 -07:00
Kurt
daf9364fb2 Alphebetize settings
probably want to switch to a propertygrid later.
2018-08-19 21:25:21 -07:00
Kurt
c7aea9cad2 add option to hide pid/ec
hides pid & ec in pkmeditor, gamesync & securevalue in saveditor
easier to share screenshots/stream without leaking identifying
information

fix auto-centering of pkmeditor subwindows when a savefile is detected
on program load(tab_otmisc isn't initialized and reads an incorrect
width)
2018-08-19 18:22:07 -07:00
Kurt
af0b8b2a37 Add egg sprite alternate display + setting
egg sprites can be a little difficult to see what's underneath (glance
value)
make the new egg sprite method the new default; adds setting to revert
to old behavior

adds translation text for the mega rayq control from #2098
2018-08-19 16:45:20 -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
633f0e1da9 Extract filetype detection, add xmldoc 2018-08-17 23:23:44 -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
e366f9a93d Misc tweaks
only have one empty forme array object
rename method for clarity
show version ID for hidden savefile program window titles
2018-08-15 21:15:06 -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
10746ae45f Add hiding of save details in program title option 2018-08-13 19:11:58 -07:00
Kurt
61013b8f18 Simplify drop/set into party
would reset the battle box sprites legality to not shown; also, the
prior fix for #2069 did not work for reloaded save files since
GetSlotFiller was called instead.
2018-08-12 19:28:35 -07:00
Kurt
6edc828cc3 misc style updates 2018-08-12 19:27:11 -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
4103b4d4b0 Update 18.08.03
Update event binaries with latest from the Event Gallery
2018-08-02 21:01:17 -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
0745ba3294 Defer move combobox repop until dropdown
Yay sneaky smart solutions!
Instead of refilling the combobox when the legal move list changes, wait
until the full list is required then repopulate the individual combobox
can't even notice the lag besides the individual tab load. yess
2018-08-01 21:57:15 -07:00
Kurt
0ee9b04bf7 Skip move combobox repop if no changes
cache a hashset to determine if the legally allowed moves are the same.
reuse cache in paint method

previously, was noticeable if you load the Moves tab then check
legality; the legality message was delayed by a couple hundred
milliseconds due to repopulating 4 comboboxes (Combobox.NativeAdd
hotspot triggered by RefreshItems, which happens when we set the
datasource). By skipping unnecessary repopulations, gui lag is lessened.
would be preferred if I can just reorder the list inside, but noo.
2018-08-01 21:22:49 -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
f35712fcf2 Extract experience logic to separate file
add exp bar logic, unused.
2018-07-29 17:43:30 -07:00
Kurt
3fd21db51e Style & function extracting 2018-07-29 16:39:15 -07:00
Kurt
1313d84d5d re-add lock to avoid race condition
enough pls
2018-07-29 11:05:48 -07:00
Kurt
aa08ed0c24 Resize slot background colors
Now plays nice with hover glow, not too many bytes added.
2018-07-29 10:54:51 -07:00
Kurt
5d4c3d3390 Update slot drag / view/set/delete behavior 2018-07-28 09:56:13 -07:00
Kurt
93c4ec9fec Use version specific personal info
Handling for gen3 deoxys :)
Closes #2082
2018-07-27 21:21:42 -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
2e88da9d3c Make BitmapAnimator usage single-object
Don't unlock/lock the GlowBase bitmap repeatedly; store the bytes
separately for frame generating. Fixes any memory access exceptions
(unlock->unlock due to program lag).
Do more preprocessing of egg glow sprites for cleaner appearance (now
glow inside sprite)

extract glow method for easier reuse
2018-07-27 19:59:14 -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
c8563a3737 Respacening
Style guidelines, handle a bunch of files
no functional change
2018-07-26 19:34:27 -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
7d4309970c Stop animation on box change
slot glow can bleed into another box
2018-07-25 19:50:44 -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
c24a48e815 Remove picturebox references
sprite gen is more than adequate
2018-07-25 19:23:48 -07:00
Kurt
5fbf132615 Add handling for pgt ranger manaphy
skip out on load if pgt
extract pgt pid gen method
set gender & PID if rangeregg since PID == 0 not 1.
Closes #2075
yay 5k!
2018-07-25 07:34:48 -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
c7e7011116 Fix qr crash
order of operations idk
2018-07-24 17:18:19 -07:00
Kurt
64284eafef Add pk1/pk2 direct import checks
dragdrop: check
import files from folder: check
no other paths convert afaik

Closes #2074
2018-07-24 15:49:00 -07:00
Kurt
1943ca37f6 Double check plugin path
with MERGED, can enter without having the folder exist
just double check rather than adding more conditional code
2018-07-23 21:47:31 -07:00
Kurt
b59ebb3002 Allow plugins to be activated if merged flag set
reduce some nesting
2018-07-23 21:36:26 -07:00
Kurt
8cb82560f6 sync unsaved
this closes #2068 , not the prior commit
2018-07-23 19:27:00 -07:00
Archit Date
e52838df37 glow setting (#2073)
* add PKM glow setting

* change setting name for consistency
2018-07-23 19:25:54 -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
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 & -> &amp; 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