Commit graph

1972 commits

Author SHA1 Message Date
Kurt
6ae59c509f IGanbaru int->byte fields 2022-03-04 22:34:11 -08:00
Kurt
e5296fc51a Add IoA diglett button in Trainer editor
Closes #3454
Use ahtb sourced (hash,string) correlation from pkNX to dynamically generate block keys.

Co-Authored-By: Jonathan Herbert <3344332+foohyfooh@users.noreply.github.com>
2022-03-01 21:34:16 -08:00
Kurt
8c9c5e0198 Update 22.03.01 2022-02-28 23:16:17 -08:00
Kurt
d1e62fb6d1 Add dex solitude complete mark checkbox 2022-02-28 00:03:38 -08:00
Kurt
ae74ee7931 Minor tweaks
Translation util only for debug build (unused in release)
Simplify some plugin load expressions
2022-02-26 21:45:31 -08:00
Kurt
5a71ecc8bb Minor clean 2022-02-24 23:17:16 -08:00
Kurt
bdbd9fc899 Add error message if user moves file for backup 2022-02-23 21:53:01 -08:00
Kurt
fc3f142d16 Update 22.02.22 2022-02-22 21:40:01 -08:00
Kurt
5b981f2832 Un-secret the bulk PKM validator
Now has its own button next to verify checksums.
2022-02-21 17:46:32 -08:00
sora10pls
3f6427f323 Hide held item for LA, display Hidden Power type for BDSP 2022-02-18 09:52:30 -05:00
Kurt
adda0af96e Rework apricorn/bean editors to be text entry
Combobox for count is an antipattern, just parse like all the other quantity datagrids
2022-02-14 21:46:22 -08:00
Kurt
dc3d8e7cec Minor clean 2022-02-14 21:32:52 -08:00
Kurt
013fe95c8d Update 22.02.14 2022-02-13 01:18:19 -08:00
Kurt
bc2549b24e
Minimize BAK file allocations (#3426)
Stop allocating an entire shadow copy of the save file whenever we create a new savefile object from file.

Prior commits added the clear SaveFileMetadata class to cleanly track the file path. Backups are copied from the original path.
2022-02-09 16:48:55 -08:00
Kurt
aca0e48510 Update translations with latest control list 2022-02-09 15:43:20 -08:00
Kurt
16da1deadc Revise battle subway flag handling
Retain all flag bits; expose the other 5 flag bits as some saves do have them.

Undocumented.

Closes #3422
2022-02-09 15:41:00 -08:00
Kurt
e5c6b769b7 Fix update check for slower startups
Closes #3424
2022-02-09 10:47:07 -08:00
Kurt
f5344452cf Fix last funfest mission record r/w
Closes #3423
2022-02-09 10:36:46 -08:00
Kurt
c59b0947f0 idden Power base power next to type
No need to have two lines; simplifies the already complex user control slightly.
2022-02-08 22:25:14 -08:00
Kurt
ee15a15c9e Minor tweaks
Lower contest stat row
Lower IsNoble & IsAlpha
Prevent closing Splash Screen when interrupted by plugin dialogs
2022-02-08 21:46:16 -08:00
Kurt
9c5955c104
Emulate Height & Weight float calculations matching the game (#3417)
* Accurately implement height/weight calc

* Handle GUI reads

Having Auto off will read and write the values correctly

F6 will handle all the decimal points possible

* Remove no longer needed tolerance check
2022-02-08 18:56:11 -08:00
Kurt
b06f889cdd Update 22.02.08 2022-02-07 20:13:19 -08:00
Kurt
b20fb39d77 Don't set dex on slot swap within save
Closes #3411
2022-02-07 15:03:26 -08:00
Kurt
17495fafca Remove RightToLeft textbox setting
Closes #3410
no more occurrences of RightToLeft.Yes
2022-02-07 14:37:54 -08:00
Kurt
3069d42ad4 Fix 16/16->G7 conversion
lol oops
Closes #3405
2022-02-06 16:00:51 -08:00
Kurt
81c8d80bb8 Use datagrid for better performing event flag rendering
Closes #3400
Lots of controls are slow to render; datagrid is fine. Wire it up so that it detects & updates the custom research checkbox on the other tab.
2022-02-06 01:10:51 -08:00
Kurt
a3595d1429 Update more values on height change & auto update
Closes #3390
Remove focus from pending edits to the NumericUpDown, and only set scalars if not loading. Fixes switching between entries with pending NUD value changes.
2022-02-05 22:02:07 -08:00
Easy World
9da37852ea
Minor translation revise (#3404)
* Update lang_zh.txt
* Update text_Games_zh.txt
2022-02-05 20:53:14 -08:00
Kurt
ea327a5c03
Add all circle Pokémon images; add setting for sprite preference (#3402)
* Add sprite builder toggling for forced-circle sprites

* Add assets for all LA Pokémon sprites

Co-authored-by: sora10pls <17801814+sora10pls@users.noreply.github.com>
2022-02-05 14:54:01 -08:00
Kurt
cd19d1d700 Fix folder list backup fetch
Introduces an option to disable reading .bak / "backup" files; trickle the changes up to all surface users so that SAV_FolderList can correctly load all .bak saves into its Backup tab.

The "ignore backups" was added in the latest feature push to ignore "backup" from being detected as the latest save.
2022-02-05 09:49:47 -08:00
Kurt
6683c1af01 Widen SAV editor popup buttons
Closes #3389
2022-02-05 09:31:02 -08:00
sora10pls
dea2eeb0e2 Fix TR editor move strings
Thanks GlacierWolf on Discord!
2022-02-05 10:40:27 -05:00
Kurt
9bbb6f1e20 Allow GiveAll for PLA PCItems storage
Big storage box
https://projectpokemon.org/home/forums/topic/60579-pokemon-legend-of-arceus-items-issue/#comment-273030
2022-02-05 01:05:58 -08:00
Kurt
b7a00ca869 Add label text for ModifyGanbaru (Max All GVs)
Already localized for zh, ty easyworld :)
2022-02-04 22:22:00 -08:00
Michael Scire
cb92166aa2 Fix incorrect form when saving on close without ever viewing multi-form pokemon (Closes #3386) 2022-02-04 21:07:03 -08:00
Kurt
3c42d04c70 Initial default save version for startup 2022-02-04 20:55:44 -08:00
Easy World
52b980290f
update Chinese translation for PLA (#3385)
* Update text_Games_zh.txt

* Update text_Ribbons_zh.txt

* Update lang_zh.txt
2022-02-04 20:01:28 -08:00
Kurt
eed5bb04e3
Merge pull request #3382 from kwsch/pla
Update 22.02.04
Individual commits from this PR are not cherry-pickable in a vacuum; these were manually re-committed from a staging repo in order to group together changes for general public viewing. There were over 250 commits on the private development repo for this update.
2022-02-04 18:28:17 -08:00
Kurt
d4a6392b44 Update 22.02.04
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2022-02-04 18:21:10 -08:00
Kurt
cdf41c0376 Update program translations 2022-02-04 17:42:00 -08:00
Kurt
2cef0c23a6 Update localization dumping util 2022-02-04 17:37:13 -08:00
Kurt
18ecad9743 Update program GUI abstractions
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
2022-02-04 17:36:51 -08:00
Kurt
b0e7e86c68 Add savedata sub-menu editors
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
Co-Authored-By: SciresM <8676005+SciresM@users.noreply.github.com>
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2022-02-04 17:32:16 -08:00
Kurt
3389a224d1 Change stat label clicks to change nature instead
Document in shortcuts
Old behavior was undocumented, and was kinda janky.

Closes #3376
2022-01-25 16:45:41 -08:00
Kurt
da9d09ea76 Misc tweaks
No functional change
2022-01-11 22:53:20 -08:00
Kurt
36bf73818e Source trainers for encounter database
Closes #3364
Related: #3358
2022-01-03 19:33:10 -08:00
sora10pls
3f1335e19f Add Zone unlock cheat to BDSP Misc Editor
As with most event work tampering, make sure you keep save backups. Accessing areas before you're intended to will almost certainly break story progression.
2022-01-03 11:06:06 -05:00
Kurt
47071b41f3
Refactoring: Span-based value writes and method signatures (#3361)
Existing `get`/`set` logic is flawed in that it doesn't work on Big Endian operating systems, and it allocates heap objects when it doesn't need to.

`System.Buffers.Binary.BinaryPrimitives` in the `System.Memory` NuGet package provides both Little Endian and Big Endian methods to read and write data; all the `get`/`set` operations have been reworked to use this new API. This removes the need for PKHeX's manual `BigEndian` class, as all functions are already covered by the BinaryPrimitives API.

The `StringConverter` has now been rewritten to accept a Span to read from & write to, no longer requiring a temporary StringBuilder.

Other Fixes included:
- The Super Training UI for Gen6 has been reworked according to the latest block structure additions.
- Cloning a Stadium2 Save File now works correctly (opening from the Folder browser list).
- Checksum & Sanity properties removed from parent PKM class, and is now implemented via interface.
2022-01-02 21:35:59 -08:00
MewTracker
d5a79079c0
Added named constant for BDSP swarms (#3362) 2022-01-02 15:43:18 -08:00
Kurt
4b8adfe28d Bump winforms proj c# lang to 10
no functional change
2022-01-02 15:04:16 -08:00
Kurt
3f769d6f52 Update 22.01.01 2022-01-02 00:53:37 -08:00
Kurt
0cf7b22363 Fix init of custom work value, fix write of named workval
Closes #3357
2022-01-01 23:23:44 -08:00
Kurt
ae70525fd5 Use correct reference for unlocking events
Was unlocking the real save file, not the editing-shadow. Oops
2022-01-01 23:15:37 -08:00
Kurt
76cac85243 Minor clean 2021-12-27 13:50:21 -08:00
Kurt
cc8ac7a4f1 Remove unnecessary warning suppression
fixed dat .editorconfig in vs22
Catching general exceptions is okay because this program handles user modified data that can potentially be corrupt.
2021-12-27 12:09:15 -08:00
Kurt
11039f1119 Extract some event unlocking logic for core 2021-12-26 18:21:34 -08:00
Kurt
5db5f04066 Don't iterate battle forms when displaying encounter lists 2021-12-26 00:44:16 -08:00
Kurt
ac6fd085ba Update translation files 2021-12-25 19:03:11 -08:00
Kurt
13e0f35e00 Add munchlax slot checking for DPPt/BDSP honey trees
Closes #3352
2021-12-25 13:48:28 -08:00
Kurt
36a97a6eda Add misc edit to defeat all trainers & rebattle all 2021-12-20 19:26:07 -08:00
soopercool101
0f702717ca
Remove stray background pixels from Warn.png (#3330) 2021-12-17 15:04:20 -08:00
sora10pls
3e92d5a85d Add Dialga/Palkia + Roamer resets to Misc Editor
For roamers, go back to Lake Valor/Fullmoon Island, and re-interact with Mesprit/Cresselia so that the game can generate a new one.

Also add Rotom rebattle event flag, and fix consistency with flag labels.
2021-12-12 11:28:48 -05:00
Kurt
aa968f56aa File scoped namespace for drawing projects
Extract color util to separate class as it's not entirely image related.
2021-12-10 00:15:04 -08:00
Kurt
f1fe2f6a8c Minor clean 2021-12-09 19:30:12 -08:00
Kurt
cacd6e9965 More records/sealing 2021-12-05 23:54:59 -08:00
Kurt
c7de0154e3 Handle net6 warnings for nullability 2021-12-04 22:29:51 -08:00
Kurt
ba92024e54 Bump the net5 build to net6 2021-12-04 22:29:32 -08:00
Kurt
f55c5bea66 Minor clean
no functional change
2021-12-04 17:56:56 -08:00
Kurt
9a1b2719ec Add simple legal item filtering for giveall
Closes #3318

Gen8: if held item, only give if can be legally held; if dmax crystal, only give if available.
Gen8b: if held item, only give if can be legally held
Others: unimplemented; pull requests accepted.
2021-12-04 12:24:32 -08:00
Kurt
e9eebc984b Fix case sensitive resource names
Closes #3321
2021-12-04 11:03:33 -08:00
Kurt
e50bb8f288 Abstract-ify pouch items; acknowledge sort order
Closes #3320
Should better handle bdsp inventory format; shows sort order with the now-zero slots
2021-12-02 23:31:48 -08:00
Kurt
e48c81f685 Update met date & location when toggling IsEgg via GUI 2021-12-02 16:35:35 -08:00
XxPhoenix1996xX
1481831ec6
Update (ES) localization (#3317)
* Create flag_bdsp_es.txt

* Update flag_bdsp_es.txt

* Update lang_es.txt

* Update flags_c_es.txt
2021-11-30 13:19:06 -08:00
matty
f94c431712
Add PKHeX icon to generic/simple/whatever editor (#3316)
Replaces the generic winforms icon with PKHeX's icon.
2021-11-28 08:19:33 -08:00
Kurt
bc809af06c Split PKHeX.Drawing into subprojects
Allows trimmed dll usage by keeping pkm sprites in one project, and all other cosmetic UI stuff in another project
2021-11-27 15:48:08 -08:00
Kurt
b5b57ffa90 Update PluginLoader.cs 2021-11-27 13:54:38 -08:00
Kurt
cc34d40120 Update 21.11.27 2021-11-27 10:50:42 -08:00
Kurt
335baf68e6 Reorder poffin names from raw -> indexed
StreamingAssets\AssetAssistant\FureaiHiroba\fureai\masterdata\PoffinResult.json indicates which text line is used for a given MstID

Change Taste to Smooth to match community's naming
2021-11-27 10:20:22 -08:00
Kurt
be3af9fba9 Add bdsp poffin editor
The RAM is pretty dirty for unallocated poffins; slots that have never been filled will have junk with whatever the unallocated pointer was looking at.

An empty poffin slot is just marked as FF, ignores the stats for that slot. Not sure on the naming, but Matt had a single Level 60 poffin -> must be Mild? Thus, all the names are -1 from the textfile array...
2021-11-27 02:06:35 -08:00
sora10pls
8bce248d95 Crop BDSP Box Wallpapers, re-tile Grass, and fix off-by-one 2021-11-26 22:11:54 -05:00
Kurt
2bc9ff9073 Fix clamping of BDSP work value NumericUpDowns
https://projectpokemon.org/home/forums/topic/59826-work-constants-can-be-out-of-range-of-the-gui-fields-bdsp/

ty BlackShark !
2021-11-26 09:20:22 -08:00
Kurt
b7c9993bac Add Misc editor form for bdsp
Three clickables so people can stop getting confused about event-bound encounters like Darkrai/Shaymin/Spiritomb
2021-11-25 22:48:09 -08:00
Kurt
02dc4dc8a7 Automatically update v1.1 expanded records on TID/SID change
Closes #3305
I think it was actually crashing due to the bad GameClear date record, not this extra record data, but we'll still update the head record

Fix note of ENC_SV_DATA start offset now that we know the real size of Record8b
Add actual maximums for all record entries
2021-11-25 20:05:39 -08:00
Kurt
ae2c5080a5 Set nicknamed flag in GUI depending on encounter
#3311
2021-11-25 12:40:42 -08:00
Kurt
039095d75c Revise zero hw checks
fishy by default, opt in
ignore certain encounters
2021-11-24 23:03:30 -08:00
Kurt
cce0111a9d Add scalar randomizer shortcut
Okay I'll be nice, fudge your values this way.
2021-11-24 19:32:12 -08:00
Kurt
203b764829 Add zero height/weight flagging setting
because people couldn't hacc responsibly, I might as well give them a nudge in the right direction.

Doesn't mean I won't check your "random" choices distribution.
2021-11-24 19:29:02 -08:00
Kurt
d79864b049 Add seal list editor
Inject all the stickers you want.
2021-11-24 17:51:12 -08:00
Kurt
5374ca1db6 Simplify egg location set on version change 2021-11-24 14:14:11 -08:00
Kurt
29579d7b22 Autosize dropdown width for met locations
BDSP locations are pretty long.
2021-11-24 13:14:02 -08:00
Kurt
c8ae0fb275 Fix custom system flag set 2021-11-23 00:44:59 -08:00
Kurt
4b40414b8b Add BattleTower work reader, move BP get/set into it 2021-11-22 19:30:28 -08:00
Kurt
57cf384f44 Condense friendship shortcut's expression
decouples it from the GUI by doing things step by step
2021-11-22 19:03:42 -08:00
Synthlight
b32ad02c10
Add/Enable BDSP Battle Tower Points (BP). (#3309) 2021-11-22 18:56:31 -08:00
Kurt
e6cd906177 Allow saving of affixedribbon from gui
do it in batch editor `.AffixedRibbon=-1` anyways
2021-11-22 16:14:10 -08:00
Kurt
37e2804aed Update 21.11.21
Things are stable enough, and I'm not passing up that palindrome date version ;)
still 11/21 where it matters!
2021-11-21 23:08:11 -08:00
Kurt
cd5c220ddc Show correct HatchCounter value for BDSP traded eggs
Yay abstractions to hide away the quirks.

BDSP traded eggs set HT_Friendship and the CurrentHandler flag, but the HatchCounter is always the OT_Friendship value.

Trades always receive BaseFriendship, instead of a hardcoded 50. Necessary to not hardcode because it's immutable for eggs.

Clicking the hatch counter label now sets it to the legal minimum hatch counter (best), and control clicking sets it to the max (worst). Check the encounter template for the true maximum.
2021-11-21 19:53:13 -08:00
Kurt
829641d874 Set none location when eggifying 2021-11-21 18:47:57 -08:00
Kurt
2cb3b61e48 Fix egg toggling in GUI, egg location auto-select 2021-11-21 18:36:02 -08:00
Kurt
32edb660ce BDSP: Add underground item-inventory editor 2021-11-21 11:33:04 -08:00