Commit graph

8068 commits

Author SHA1 Message Date
Kurt
f5090e3ae7 Fix cgear png import
Closes #3231

Symptoms observed:
- Tiles were too dark (not high enough RBG value due to >>3; keep 8bit color here.
- Red/Blue channel inverted, swap R & B. Works? Hope this isn't something related to png storing rgb vs bgr and we'd need to check input pixel format?
- Tiles were misplaced slightly, off by 1. Fix order of operations so that the tile choice value is correct.
2021-07-10 19:32:10 -07:00
Kurt
6ee552b860 Compare propertyvalue for Legal batch
seal the classes, no need to derive (nothing virtual)
2021-07-10 13:45:14 -07:00
Kurt
aeb83c8269 Update EncounterSlot8.cs
Closes #3232
2021-07-09 10:09:57 -07:00
sora10pls
85c500529e Add Curry distribution raids 2021-07-08 20:06:30 -04:00
Kurt
3fa311f6ed Misc tweaks
more annotations - all bool->out ? are annotated now
fix gender symbol inversion (forgot to set text)
extract some methods to reduce nesting
2021-07-06 08:42:15 -07:00
Kurt
de8e855116 Replace MC->MemoryCard
Simplify some interactions to be more clear
2021-07-05 14:32:09 -07:00
Kurt
5a769312fd Finish renaming EncounterType->GroundTile
Update the localization for GroundTile for english (and Italian, which is untranslated)
2021-07-03 23:25:09 -07:00
Kurt
09ff78ba71 Simplify memory list creation 2021-07-03 22:10:45 -07:00
Kurt
8188208ca3 Add TMs to Item param list
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-07-03 13:18:51 -07:00
Kurt
9e665034b7 Implement "Can Buy Item" memory check
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2021-07-03 13:12:46 -07:00
Kurt
4452c10beb Close popups when opening saves
Works around loading saves with different import/view permissions (Gen8 content not in Gen7, etc).
2021-07-03 12:46:52 -07:00
Kurt
0e9d0886a9 Fix BCC if-else slot loading
Not all slots were being loaded.

Thanks jazpersona !
https://projectpokemon.org/home/forums/topic/57375-pkhex-new-update-legality-errors-contribution-page/?do=findComment&comment=267494
2021-07-03 11:35:28 -07:00
Kurt
16c8a18928 Show box/slot offset by 1 when loading as SlotCache
Closes #3229
also revises parsing to not ToString(), and doesn't add a skip if the slot is empty
2021-07-03 09:28:35 -07:00
Kurt
f2183f985f Tighten up memory 71 permissions 2021-06-30 15:56:08 -07:00
Kurt
600f4a550a Allow urshifu for gen8 dynamax memory 2021-06-30 13:37:40 -07:00
Kurt
103aa9aa4b
Revise EncounterArea and EncounterType for clarity (#3228)
EncounterArea now stores a more specific type'd array for encounter slots. Better iteration and less casting, as the nonspecific `Slots` fetch is rarely referenced.

EncounterType renamed to GroundTile to reflect how it actually works in Gen4. Was previously an ambiguous field that was clarified a little; we can describe it a little better now. Keep the GUI the same to not scare the end users.

Change Trash Byte properties to get/set a Span. Trash Byte legality checking easier on the garbage collector?
2021-06-29 20:58:06 -07:00
Kurt
9cd617708d Fix const size reference (same value)
Same value, but different name. Cosmetic, but prevents future confusion.
2021-06-29 16:04:05 -07:00
Kurt
764e506ab5 Set language for gen3 eggs prior to applying nickname
The sav.ApplyTo call above tries to set the current savefile language, but gen3 savs do not have a Language ID saved.

Just mimic what the encounter slots/static/etc do.
2021-06-27 15:43:35 -07:00
Kurt
b7f849cb42 Allow Charm type to be valid for pokewalker if same PID result
Closes #3227
Thanks @HappyLappy1 !
2021-06-25 13:10:39 -07:00
Kurt
595966b090 Improve range checks 2021-06-24 23:48:35 -07:00
sora10pls
285f86d7b2 Add squid distribution raids
You're a kid now, you're a squid now
2021-06-24 20:04:07 -04:00
Kurt
49488bb503 Use invariant culture for ToUpper/ToLower
Turkish is quite the language; let's try to prevent any errors down the road for internal/game string case changes.
2021-06-24 09:16:36 -07:00
JDox
742ade78f6
Update MessageStrings_es.txt (#3225) 2021-06-24 08:28:00 -07:00
Kurt
a10b35190c Minor tweaks
off by 1 max range for gen2 slot -> pk2
SetRandomIVs already sets IVs inside the method, retval is for knowing what the new value sare
show WC8 restricted version rather than defaulting to SH
pass the rand object rather than fetching for the current thread every loop for Unown & random IV shuffling
Use ToLowerInvariant for resource fetching, should resolve the turkish issue
Check typeof(T) first, not that we check for ToolStripItem or ContextMenuStrip with this function.
2021-06-24 00:36:04 -07:00
Kurt
285876dcf7 Update SAV_Encounters.cs 2021-06-23 09:35:29 -07:00
Kurt
401ab98f42 Fix inlined check 2021-06-22 23:30:40 -07:00
Kurt
3e7775fc44
Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately (#3222)
* Track a PKM's Box,Slot,StorageFlags,Identifier metadata separately

Don't store within the object, track the slot origin data separately.

Batch editing now pre-filters if using Box/Slot/Identifier logic; split up mods/filters as they're starting to get pretty hefty.

- Requesting a Box Data report now shows all slots in the save file (party, misc)
- Can now exclude backup saves from database search via toggle (separate from settings preventing load entirely)
- Replace some linq usages with direct code

* Remove WasLink virtual in PKM

Inline any logic, since we now have encounter objects to indicate matching, rather than the proto-legality logic checking properties of a PKM.

* Use Fateful to directly check gen5 mysterygift origins

No other encounter types in gen5 apply Fateful

* Simplify double ball comparison

Used to be separate for deferral cases, now no longer needed to be separate.

* Grab move/relearn reference and update locally

Fix relearn move identifier

* Inline defog HM transfer preference check

HasMove is faster than getting moves & checking contains. Skips allocation by setting values directly.

* Extract more met location metadata checks: WasBredEgg

* Replace Console.Write* with Debug.Write*

There's no console output UI, so don't include them in release builds.

* Inline WasGiftEgg, WasEvent, and WasEventEgg logic

Adios legality tags that aren't entirely correct for the specific format. Just put the computations in EncounterFinder.
2021-06-22 20:23:48 -07:00
BlackShark
350383cf51
Updated German translation (#3223)
* updated german language files

* added german readme
2021-06-22 20:12:15 -07:00
Kurt
1bd1c287fa Centralize gender label text/color update calls 2021-06-22 20:06:05 -07:00
Kurt
8bac5c259a Trycatch sound stop, only stop if a sound has been played
Closes #3224

mono's impl of soundplayer is different, hence the need to be a little safer here.
bdd772531d/mcs/class/System/System.Media/SoundPlayer.cs (L255)
https://referencesource.microsoft.com/#System/sys/system/Media/SoundPlayer.cs,455
2021-06-22 17:06:30 -07:00
Exorcism
3fecea9e29
Update some file for the FR language (#3220)
* Update some file for the FR language

* Update README.md

* Update MessageStrings_fr.txt

* Add files via upload

* Add files via upload

* Create text_ItemsG3Colosseum_fr.txt

* Update lang_fr.txt

* Create text_ItemsG1_ko.txt

* Create text_ItemsG1_it.txt
2021-06-18 22:10:39 -07:00
Kurt
87ac1cbcc9 Unban Sgr7348 encounter 2021-06-18 22:07:27 -07:00
Kurt
412bd18139 Decouple incompatible conversion routes from HaX, make setting 2021-06-17 22:48:31 -07:00
Kurt
9e427ad9a0 Update translatables with latest 2021-06-15 20:01:01 -07:00
Kurt
394c5c2c95 Minor clean
Shed some unused code
2021-06-15 20:00:51 -07:00
Rodolfo Velázquez
203cb50bef
Spanish readme (#3218)
Add: Spanish README.md in .github folder, accessible from main readme.

Co-authored-by: Rodolfo Velázquez <rodolfo.velazquez@mercadolibre.com>
2021-06-15 16:56:25 -07:00
Korados
47d14abbf0
Colosseum and XD German Item Names (#3219)
* Create text_ItemsG3XD_de.txt

* Update text_ItemsG3XD_de.txt

* Create text_ItemsG3Colosseum_de.txt
2021-06-15 16:43:25 -07:00
Kurt
a6ae8845c9 Reset gender if mismatch chain 2021-06-14 22:20:17 -07:00
Kurt
9c9f0f8a94 Get criteria from set details
pretty much futureproof I guess
2021-06-14 21:11:46 -07:00
Kurt
a1ddbc7930 Add settings to use pkm tabs as criteria for Enc->PKM
Some encounters might not use the criteria completely, so it might not listen 100% of the time.
2021-06-14 20:26:12 -07:00
CanoeHope
249070debd
Corrected GSC Sudowoodo Event Flag (#3217)
* Update flags_c_en.txt

* Update flags_c_es.txt

* Update flags_c_ja.txt

* Update flags_c_zh.txt

* Update flags_gs_en.txt

* Update flags_gs_es.txt

* Update flags_gs_ja.txt

* Update flags_gs_ko.txt

* Update flags_gs_zh.txt

* Update flags_gs_es.txt
2021-06-14 14:13:50 -07:00
M1atias
4bdff06145
Edit: The Spanish texts in the Resources folder have been updated. (#3216)
* Edit: The Spanish texts in the Resources folder have been updated.

* Edit: The translation of some files was updated and new translations into Spanish were made.
2021-06-14 06:52:24 -07:00
Kurt
652e9eb6da Add Eon Flute to observable used key items
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-06-13 00:59:06 -07:00
Kurt
e56281aff6 Update GUI translatable list
Farewell secret base descriptions. Not like the localized names would be too useful, but git history can keep em around if we ever need to reference them again (pls no)
2021-06-13 00:45:36 -07:00
Kurt
0686922d5c Rewrite gen6ao secret base handling, i/o, GUI
Closes #3177

Format sizes are now accurate to game structure sizes. Added a few more editable fields, rid of label/textbox/etc for general base editing -- use a PropertyGrid instead.

Feels nice having a bank of saves to reference + idb to discover the struct layout.
2021-06-13 00:38:47 -07:00
Kurt
390cf518b8 Revise 4->5 encode table (Half-width symbols)
Manually transferred from English Pt to English B

All revised indexes were the result in Black.

Differences that were not incorporated:
0EE=09794 ♂, not 09325 ⑭
0EF=09792 ♀, not 09326 ⑮
0F2=00215 ×, not 09319 ⑧
0F3=00247 ÷, not 09320 ⑨

Full-width and half-width symbols I think are related to full-width games, which English isn't. Probably has different handling for other language, plus it'd result in other duplicates of the half-width symbols.

Revise not-found char glyph to return ? instead of {terminator}, to match the game's behavior. Again, this might be language specific, but whatever.

Make the Convert char methods public, add a few unit tests.

Closes #3172

Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2021-06-11 19:38:34 -07:00
Kurt
665880e081 Include form in GetEncounters, iterate all forms for savefile 2021-06-11 10:58:38 -07:00
Kurt
f77a8ecfbd Fix comment
wasn't sync'd :(
2021-06-10 23:29:03 -07:00
Kurt
24d6c0d713 Change "Some" EV train rating from [0,127] to (0,127] 2021-06-10 19:18:58 -07:00
Kurt
6b6a517214 Add xmldoc
Add some xmldoc to summarize recent changes to these properties.

See:
Co-Authored-By: LukeThe <54759100+LukeThe@users.noreply.github.com>
#3213
#3215
2021-06-10 18:14:38 -07:00