Commit graph

1368 commits

Author SHA1 Message Date
Kurt
b6a42d414b RNG: Move files & extract some logic
Rearrange some folder organization to extract some common/reusable logic for dealing with RNG operations for specific gens/games.
2023-10-11 19:28:51 -07:00
Hendi48
1c097598e7
HGSS: Add support for editing Pokeathlon Points (#4030) 2023-10-07 08:57:38 -07:00
Lusamine
e64205e504 Fix unsafe camera config block find
Closes #4026
2023-10-05 10:11:34 -05:00
sora10pls
e58a1565ad Add ConfigCamera9 2023-10-02 15:55:19 -04:00
sora10pls
07191e6aad Label a whole bunch of delivery outbreak blocks
Paldea, Kitakami, Blueberry, BCAT Paldea, BCAT Kitakami, BCAT Blueberry
2023-09-28 21:26:27 -04:00
Kurt
96e74a05d0 Add HoneyTree API 2023-09-28 17:35:29 -07:00
Kurt
963eaaaa40 Merge branch 'master' of https://github.com/kwsch/PKHeX 2023-09-28 16:40:17 -07:00
sora10pls
3debc89e3c Fix sudachi outbreak subjugation block keys
Co-Authored-By: santacrab2 <79347566+santacrab2@users.noreply.github.com>
Co-Authored-By: notzyro <62817135+zyro670@users.noreply.github.com>
Co-Authored-By: Manu <52102823+Manu098vm@users.noreply.github.com>
2023-09-28 10:34:48 -04:00
Kurt
12ee201431 Extract EV limit logic 2023-09-27 22:15:59 -07:00
Kurt
0cda774b97 Misc tweaks
Closes #4016
Closes #4018

Adds interface to fetch 64bit correlation seeds from template
Improves re-entry performance for 64bit seed search
2023-09-26 09:32:49 -07:00
Kurt
c00657f845 Update 23.09.25 2023-09-24 21:19:53 -07:00
Kurt
b4b72a8fda Clarify Tera Raid crystal middle number 2023-09-23 20:41:50 -07:00
Kurt
dd541e0bf2 Add TryGetBlock fetch method
Improves performance; only a single binary search for the block (instead of one or two).

Remove allcoation for SV flyhashes
2023-09-23 15:50:11 -07:00
sora10pls
0b60161379 Label more sudachi1 save blocks 2023-09-23 15:28:35 -04:00
sora10pls
9510272149 SV TM/Fly cheats: do not modify non-existent blocks
New fly location and TM Machine flags do not exist on older save revisions, which would've thrown an exception
2023-09-23 11:08:25 -04:00
Leidenfrosty
703e2ed5ad
Other Additional G9 DLC Save Sizes (#4008) 2023-09-21 19:47:20 -07:00
Kurt
a45a7cc2d3 Misc fixes
Pokewalker: defer match if shiny
Jacq egg: recognize unhatched egg, traded
sv-pokedex-old: don't add rows for >1010 species (out of range)
static9: correctly flag scale mismatch

SAV4HGSS: expose pokegear #'s as span instead of alloc
2023-09-21 13:14:34 -07:00
sora10pls
99d4a5ccdc Add sudachi1/2 encount outbreak save blocks
Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
2023-09-20 22:28:20 -04:00
sora10pls
10147334e6 Add Terastal Cap, add remaining missing fashion items
Co-Authored-By: Pasquale Nardiello <pasqualeomeglio@gmail.com>
2023-09-19 20:35:50 -04:00
Lusamine
11145c2432 Label SV BC outbreak blocks 2023-09-18 09:37:07 -05:00
sora10pls
af8194f241 Add unreleased Tracksuit fashion items 2023-09-18 08:44:43 -04:00
Kurt
685e4cfd95 Add new Raid display requirements (3/4) 2023-09-17 20:23:00 -07:00
Kurt
96c0e199e1 Add Kitakami Raid edits, new dex block edits
Closes #3992

Co-Authored-By: Lusamine <30205550+Lusamine@users.noreply.github.com>
Co-Authored-By: Matt <17801814+sora10pls@users.noreply.github.com>
2023-09-17 19:49:26 -07:00
Kurt
05f9073f31 Add API for home tracker state checking
Correct poltchageist masterpiece comments
swap order of Ogerpon (more likely to be Level 70)
Add methods to filter gameversions by context
add 3 more sizes
2023-09-16 16:53:06 -07:00
sora10pls
ed6674791a Fix Ogerpon-5 and Ogerpon-6 ability text 2023-09-16 15:40:09 -04:00
sora10pls
5c1d165f2d Enhance SV fashion unlocker for DLC 1
No point in having a billion categorizations for fashion, makes things too bloated as more items get introduced.
Add in DLC items, fix giving opposite-gender starting uniforms.
Closes #3994
2023-09-16 15:34:21 -04:00
ReignOfComputer
8084102eb9
Additional G9 DLC Save Sizes (#3995)
* Additional G9 DLC Save Sizes

* Additional Size and Adjusted Diff

* Another Additional Size
2023-09-16 09:40:09 -07:00
Kurt
71c4b1a97b Update SaveUtil.cs 2023-09-16 00:47:47 -07:00
Kurt
7703576088 Update 23.09.16 - Teal Mask
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>
2023-09-15 23:36:21 -07:00
Kurt
b536388d0d Misc tweaks
Add xmldoc
Simplify some casts
Demote priority of Gen2 event yielding
Remove old EncounterMatchUtil code
Repoint DateTime.Now to console specific date provider stubs
2023-09-10 21:17:47 -07:00
Kurt
3fdfd29e4b Misc tweaks
Gift1: use IVs if required
Gift2: Enforce 0 TimeOfDay
Egg9: Require Egg Location to match encounter
PGT: keep requested gender in the event of antishiny
PGT: never yield Korean Ranger Manaphy for Format4

Simplify ushort range checks
Rename `EReader` bool to `IsEReader`
Extract Gender/Nature fetch for unfixed encounters
Remove Unown PIDIV branch when template has no Unown
Remove unnecessary loop for Pokewalker PID creation
2023-09-04 00:50:26 -07:00
Kurt
0aa4a15851 Fix cgear skin import loop
byte 255->0 overflow infinite loop if too many tiles are unique
https://projectpokemon.org/home/forums/topic/63828-c-gear-skin-editor-crash/?do=findComment&comment=285181
2023-08-30 04:44:40 -07:00
Kurt
978bcfa56f Misc enc template tweaks
Skip string fetch for Trade1
Set gender for Trade8
Add record to wrap Gen8 raid generate params, return & use bool for filtering results, fallback to unrestricted if none succeed
Fix gender comparison for Entree5 slot
Simplify gen2 ResetKey fetch (byte sum of Money/ID/OT(used)
Closes #3970 by filtering gender inside the method like Encounter9RNG with an early return
Adds IV filtering inside the method with an early return like Encounter9RNG
2023-08-29 22:22:23 -07:00
Kurt
fd02b97ce1 Misc tweaks
Allow nickname->species with span
add ConstantExpected annotations
Correct Gen8b ability set calling CommonEdits instead of direct setter
Slightly better perf on gen5/gen8+ location fetch
Misc pkm ctor fixes for b2w2 trade & wc3 eggs
wurmple evo now has an enum to be more explicit
no recursion for gen5 generator
fix showdown line length check allowing 86 instead of 80
2023-08-27 23:05:50 -07:00
Alexander3a
afc29fb203
Fixed span for PokeDexEntry9SV being too large (#3969)
* Fixed span for PokeDexEntry9SV being too large

Prevents .Clear() from wiping data it shouldnt
2023-08-25 10:08:43 -07:00
Kurt
50608c1b15 Misc encounter tweaks (extract/pass personal)
Removes doublefetch for personal, maybe faster ctor.
2023-08-21 20:07:53 -07:00
Kurt
8dd9e0803d Update dex minmax read offsets
Closes #3943

Also exposes the boolean flag in between the height/weight tuple.
Pretty sure this struct has an unused second half, and is just {byte, bool, byte}[2].
2023-08-20 13:48:01 -07:00
Kurt
86459812c1 Misc tweaks
Ensure GO IVs are respecting the min floor
Add some comments, reuse PersonalInfo reference instead of refetch
Fix Hoopa Unbound SlotWrite changing to 3
2023-08-20 00:31:54 -07:00
Kurt
9855382b0a Misc encounter tweaks, annotations
EncounterEgg now indicates FixedBall(Poke) for Gen2-5
EncounterSlot2 now indicates Form Random for Gen2 Unown, database
EncounterStatic3 now generates FRLG Gen2 Roamers with correct location
EncounterCriteria now used more heavily for requested IVs
EncounterPossible3 now correctly skips Eggs if eggs are not requested
EncounterGift3Colo now generates Japanese Bonus disk gifts only in Japanese, doesn't validate non-Japanese
2023-08-17 00:07:54 -07:00
Kurt
5637b1775d Fix psk tile choice encode/decode, XY flip
Closes #3953
Add in more annotations & clean up things slightly
2023-08-16 18:51:32 -07:00
BlackShark
218a29a16a
Fixed FRLGE Enigma Berry size (#3962) 2023-08-14 23:23:39 -07:00
Kurt
f632aedd15
Encounter Templates: Searching and Creating (#3955)
We implement simple state machine iterators to iterate through every split type encounter array, and more finely control the path we iterate through. And, by using generics, we can have the compiler generate optimized code to avoid virtual calls.

In addition to this, we shift away from the big-5 encounter types and not inherit from an abstract class. This allows for creating a PK* of a specific type and directly writing properties (no virtual calls). Plus we can now fine-tune each encounter type to call specific code, and not have to worry about future game encounter types bothering the generation routines.
2023-08-12 16:01:16 -07:00
Momonopopotee
6d098cc848
Update gen 2 event flags and PLA blocks (#3944) 2023-08-09 00:44:34 -07:00
Kurt
d647f15f23 Fix indexing check for tile rotation
Closes #3950
Does not resolve #3953 , separate issue as caused by the April refactor. Need to debug old & new and see where the data is being copied wrong
2023-08-09 00:43:29 -07:00
Kurt
18fd790657 Minor perf tweaks
Relocate checksum adders to Checksums class, improve performance by eliminating slice calls
Improve HOME sharing for GO8 and IMoveset encounters: actually sanity check GO8, and skip other non-PK7/PB7 cases.
2023-07-15 11:22:48 -07:00
Kurt
ee9ae63c22 Misc tweaks
Move enum -> ushort instead of int
Redo handling of HOME Volt Tackle (disallow on SWSH Cap Pikachu)
Pass spans instead of strings to use span methods
Reset encounter filters on early abort
2023-07-13 22:18:34 -07:00
Kurt
26cabd022b Update 23.07.09 2023-07-09 14:10:40 -07:00
Zazsona
b340e2327a
Crystal (International) Checksum 2 Fix (#3939)
* Correct invalid OverallChecksumPosition2 offset for International Crystal

* Update SAV2 Checksum validation to check against both Checksum values
2023-07-08 20:21:43 -07:00
Kurt
2ea6ee4e10 Misc fixes
Add sound for adding all XY fashion items (was silent)

Fix Gen7 Resort PKM loading (4 bytes extra per slot)
Fix Gen6 HallOfFame TID/SID validation dropping leading zeroes
Fix Gen6 Best Friends ribbon validation
Treat GO8 as server date restricted, give detailed message outside window
HasTracker => must have HT name
2023-07-08 20:00:41 -07:00
Kurt
6d4cd60461 More fixes/improvements
Improve cctor times for Breeding; direct calls for splitbreed checks; inlined binary searches via generated IL instead of hashset
Fix permitting alpha ribbon on non-alphas in Gen8/8a/8b, disallow Gen8a/8b ribbons for Gen7 Alolan Raichu
Improve some IL generation of EvoChain logic
Add xmldoc for new evotree additions
2023-07-08 12:46:46 -07:00