Commit graph

10232 commits

Author SHA1 Message Date
9Bitdo
2c687e48fb
Add Nils's Porygon2 date (#4297) 2024-06-07 09:40:39 -05:00
sora10pls
2f9ab3cee0 Add latest distribution outbreak data 🦸‍♂️🌊 2024-06-06 20:07:27 -04:00
Lusamine
d065c7d0d0 Clean up "Gift" from SV MG date comments
The Project Snorlax card comment used "Gift" because using "Snorlax"
twice sounds strange, and then that kept getting propagated to cards
after it. Brings comments back in line to before.
2024-06-06 10:09:19 -05:00
9Bitdo
676819ce4c
add sophia's gyarados.wc9 to mgdb and update Kaito Arii's Talonflame comment (#4294) 2024-06-06 08:23:27 -05:00
Kurt
114ba4c991 Handle BDSP eggs not having any trash 2024-06-05 23:53:01 -05:00
Kurt
de6c1baaf2 Minor tweaks
PK9: Fix writing box bin of self-owned SV eggs clearing nickname trash, also clear any hint of trading completely
SAV1: ensure current box is index:0 if uninitialized
2024-06-05 23:46:03 -05:00
Easy World
d5e5eec082
Update translation (#4291) 2024-06-05 08:24:04 -05:00
Kurt
637a0720a4 Extract manifest reader
Expose string cache dictionary for direct use
Allow plugins to reuse the EmbeddedResourceCache class for their own assembly's resources
2024-06-05 00:50:18 -05:00
Kurt
0bbba81fca Update 24.06.03
Stream translation text when loading. No need to allocate a few thousand strings and an array.
2024-06-03 23:32:45 -05:00
902PM
3ccdba4048
Changes (#4287)
1.Unified with in-game text.(text_cxd_00000_ja.txt)
2.Add Poké Seer's text for clarity.(text_gsc_00000_ja.txt)
3.Fixed some text.(text_rsefrlg_00000_ja.txt)
2024-06-03 19:38:48 -05:00
Kurt
093fca37ec Add enum to GUI translatable list
Improve perf of GUI scrape by only making forms once, don't fully set up Main
Add method to get a list of translated Enum names
Adds translatability for size markings
Closes #4266
2024-06-03 19:37:57 -05:00
Kurt
99a514b0bc Update translatables 2024-06-02 23:19:33 -05:00
Kurt
2d0d0236e3 Handle more RTC footer types
BizHawk Gambatte stores a 0x16 byte footer, but the correlation previously used isn't always true.
Just implement a generic detector that allows for a reasonably sized footer for the Gen1-3 formats.
2024-06-02 12:22:27 -05:00
abcboy101
5014b0c891
Add country/region editor to Geonet editor (#4286)
Adds individual country/region-level editing to the Geonet/Unity Tower editors
2024-06-01 17:56:20 -05:00
9Bitdo
acd2d49cdc
Add Kaito Arii's Talonflame date (#4285)
* Add Kaito Arii's Talonflame Date
2024-06-01 17:44:55 -05:00
Kurt
7d05e12c7f Misc tweaks
Fix pk6/7 pkmeditor export, now retaining status condition instead of wiping it
Abstract b2w2 key system to a save block; better documentation on its odd mechanics
Allow gen1-3 filename language/ver detect to work if the filename is ` `->`_` (discord attachments changing spaces to underscores); also revise canadian French emerald filename pattern
others: negligible perf/using standard library functions
2024-06-01 17:44:32 -05:00
abcboy101
e6cf61330a
Add Seal, Accessory, and Backdrop editors (#4284)
- Adds editors for the Seal, Accessory, and Backdrop inventories in Gen4
- Adds a line in the Gen4 Mystery Gift editor to display which Goods, Seal, Accessory, Backdrop, Pokétch app, or Route Map is contained in a gift
- Changes the HG/SS Apricorn editor to display localized item names instead of hard-coded English strings
2024-05-30 23:42:03 -05:00
sora10pls
8935b95eb4 Add latest distribution raid data ☠️ 2024-05-30 20:02:34 -04:00
Kurt
650f23ab82 Misc tweaks
Rewrites super training editor to not need reflection and special handling for translation
Fixes trash check for traded egg
Fixes Scientist trash applying to Ultra Beasts -- much better comparison
2024-05-30 10:40:08 -05:00
Kurt
b7298a7361 Auto-clean save file names of duplicate suffixes
`main (17)` now backs up as `main [...].bak` instead of `main (17) [...]`
Adds a debug-callable method to clean the main backup folder via:
`CleanBackups(Main.BackupPath, true);`
2024-05-27 19:23:56 -05:00
Kurt
c10c2a0dc2
Add Trash Byte verification for Switch formats (#4283)
* Extract logic, finish impl for switch era
* Extract trash checks to static class
* Reduce some allocations in OT name compares
2024-05-27 18:21:11 -05:00
Kurt
ca2bd3baf4 Minor clean
No functional change
2024-05-27 10:33:25 -05:00
abcboy101
a7421a7ceb
Localization (#4281)
* Display Medal type in SAV_Misc5
* Add CHT localization for Medal names
* Add localization for Medal type names
* Update Chinese localization for DPPt Underground
* Add additional G1/G2/G3 item name localizations
* Fix some typos in the Japanese names
* Add Korean names for G3 items
* Correct e-Reader Berry name format localizations
* Italian games use the format `BACCAENIGMA` (capitalized normally as `Baccaenigma`), so the entire item name needs to be titlecased, not just the Berry name.
* Add missing Gen2/3 location name localizations
* Minor corrections to existing languages to match in-game
* Minor tweaks
2024-05-24 18:51:05 -05:00
Kurt
c493580b55 Fix type display dropdown in gen12 2024-05-24 12:22:36 -05:00
Kurt
0be5581638 Enhance type icon downscale
No need to override the interpolation settings, looks way better.
2024-05-24 12:01:06 -05:00
Kurt
a79581e965 Add EncounterTime interface for Gen2 encounters 2024-05-24 11:55:46 -05:00
Kurt
225e2e3ce5 Add type icon to move dropdown 2024-05-24 11:52:47 -05:00
BlackShark
68ea86cc72
Fixed SecretBase3Team (#4280)
* Fixed SecretBase3Team

* Fixed more offsets

* Fixed Species
2024-05-23 21:00:11 -05:00
sora10pls
d4f8c2a5e5 Add latest distribution raid data 🧲🤖 2024-05-23 20:04:05 -04:00
Kurt
cd6eadcd8d Fix daycare slot read
Closes #4279
adds writeback for daycare in gen2 as well
2024-05-23 13:31:23 -05:00
Kurt
93ae048246 Fix sav1 daycare write
was copying wrong data in, clean things up.
#4279
2024-05-23 03:54:06 -05:00
abcboy101
4cb1048139
Implement GBA/GC string conversion (#4278)
* Swap GC nickname fields

The first nickname field is used for the displayed nickname, such as for EFIGS PKM whose names get truncated in Japanese games.
The second nickname field stores the actual nickname, which is restored when a PKM is traded back to the GBA games.

* Add StringFont3GC

* Add GC/GBA string conversion tables/logic

* Refactor GC region conversion

* Minor tweaks

Skip copying nickname/OT on generic conversion method; derived impl will remap the trash for us.
Extract the DisplayNickname truncation function and deduplicate. Use buffers directly when updating
Make CurrentRegion/OriginalRegion properties GCRegion instead of int/byte

Extract local func for font check skip for clarity
2024-05-22 12:22:41 -05:00
Kurt
96bf5a6891 Misc tweaks 2024-05-19 23:29:27 -05:00
9Bitdo
1735fd142d
Add Dot's Quaxly Date (#4277) 2024-05-18 19:16:52 -05:00
Kurt
49ffac5143 Add gen8+ special chars placeholder
use remapped chars from 7->8 as the list
2024-05-18 18:10:49 -05:00
Kurt
431b35a287 Remove unnecessary sugar 2024-05-18 17:51:50 -05:00
abcboy101
94e408d445
Use straight apostrophe for Gen3/4 (#4275)
Colosseum/XD/PBR/Ranch/Gen5 all treat the apostrophe/right single quote as a straight apostrophe (U+0027).

This primarily affects unnicknamed Colo/XD Farfetch'd, which need to use `'` instead of `’` to be traded to GBA correctly.
2024-05-18 10:04:25 -05:00
Kurt
3811f8d114 Misc tweaks 2024-05-18 00:40:29 -05:00
Kurt
899ee63434 Update dependencies 2024-05-17 22:55:11 -05:00
Kurt
0674d72fae Add ITrashIntrospection, impl on PKM classes
new api allows for checking for trash byte metadata, makes it much easier to write a verifier now
2024-05-17 15:58:49 -05:00
Kurt
f5c6510b82 7->8 Handle garbage string trash
no terminator? no problem
2024-05-17 13:18:48 -05:00
Kurt
da51291364 PK1/2 edit: Use save language when detecting lang
GBPKM allow spa/ita lang as fallback (so that nicknamed species just use fallback)
SK2 GetNonNickname reuse the passed language ID instead of recomputing
2024-05-17 13:18:25 -05:00
abcboy101
417231a67c
Update how symbols are handled for Bank -> HOME transfers (#4276)
This maps the remaining (legal) symbols in the private use area that are modified on transfer from Bank -> HOME. If any of these replacements are made, any leading or trailing halfwidth spaces are trimmed. This can result in nicknames/OT names that are the empty string or consist entirely of fullwidth spaces, even though these can't normally entered.
2024-05-17 11:56:55 -05:00
Kurt
4d6ce53bce Don't bother cloning sav for Gen1-3 dex edits
No need to clone the save file and allocate 2 bool arrays. Yay old code, why not do it better now? :)
2024-05-15 23:50:25 -05:00
Kurt
99857540ae Add version hints to filter name checks
Extract result valid check to less-wide style, add extra sanity checks for Gen3 typed saves.
2024-05-15 23:29:27 -05:00
Kurt
a4a0337162 SAV1/2: Force zeroed slots to be FF
Deleting a slot shouldn't leave a level 0 nameless speciesless mon
2024-05-13 19:47:23 -05:00
Kurt
ca85fba061 Force writeback on addition to uninitialized data
Adding an entity to an uninitialized save's box data will force all data to be flushed unless the final destination was (initially zeroed and has no slots to set).
2024-05-13 19:40:55 -05:00
Kurt
0836d3c670 Mirror handler check to bulk checks 2024-05-13 18:16:26 -05:00
Kurt
bbfec1fb29 GB: Don't read ghost slots
Read count from list, instead of using the full capacity.
Malformed lists (truncated via count) with ghost slots should have those ghost slots ignored.
2024-05-13 18:14:40 -05:00
Kurt
215f892f11 SAV1: Don't reference prior-save boxdata
If the boxes are not initialized, skip reading of box data
If the boxes are empty when saving, don't write if {dest 0} or {boxes uninitialized} to retain old data.
If the boxes have any slots when saving, set the flag that boxdata is good.

Remove flag from SAV2, game is different from SAV1. Only use the boxdata, just mirror to CurrentBox data as Stadium only looks at boxdata.
2024-05-13 17:41:23 -05:00