PKHeX/PKHeX.Core/Saves
Kurt fa9a809751
Encapsulate item pouch arrays/etc for finer control (#3860)
* Extract/encapsulate inventory legal arrays to interface+class

Hiding them behind methods allows these to be left as ReadOnlySpan<ushort> and thus never allocate on the heap.
Also refactors out some logic for checking if an item is legal.

End result feels more maintainable and is less bloaty (no more passing in a nullable func)

Batch editing
* Add HasType filter

```
=HasType=11
.HeldItem=Meadow Plate
```

slaps a meadow plate on any pkm with grass type
Use `=PersonalType1=11` for only primary grass types; only-secondary-type grass will not match it.
2023-04-16 12:58:07 -07:00
..
Access Label profile picture/trainer icon save blocks 2023-04-15 11:59:55 -04:00
Blocks Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
Encryption Add more overload methods 2023-04-10 00:49:39 -07:00
Storage Misc tweaks 2023-04-10 01:26:54 -07:00
Substructures Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
Util Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
SAV1.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV1Stadium.cs Minor clean 2023-04-13 00:05:10 -07:00
SAV1StadiumJ.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV2.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV2Stadium.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV3.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV3Colosseum.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV3E.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV3FRLG.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV3GCMemoryCard.cs Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
SAV3RS.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV3RSBox.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV3XD.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV4.cs Use Memory<byte> for Gen4 saves 2023-03-26 15:16:12 -07:00
SAV4BR.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV4DP.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV4HGSS.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV4Pt.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV4Sinnoh.cs Use Memory<byte> for Gen4 saves 2023-03-26 15:16:12 -07:00
SAV5.cs Minor minor perf 2023-04-15 01:58:37 -07:00
SAV5B2W2.cs Use Memory<byte> for Gen4 saves 2023-03-26 15:16:12 -07:00
SAV5BW.cs Use Memory<byte> for Gen4 saves 2023-03-26 15:16:12 -07:00
SAV6.cs Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
SAV6AO.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV6AODemo.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
SAV6XY.cs Encapsulate item pouch arrays/etc for finer control (#3860) 2023-04-16 12:58:07 -07:00
SAV7.cs Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
SAV7b.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
SAV7SM.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
SAV7USUM.cs Skip initial cctor alloc on non-byte primitives (#3850) 2023-03-25 17:55:55 -07:00
SAV8BS.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV8LA.cs Use span for savefile slot API 2023-03-25 23:14:50 -07:00
SAV8SWSH.cs Expose FashionUnlock8 From SAV8SWSH (#3859) 2023-04-16 12:32:25 -07:00
SAV9SV.cs Add Enrollment Date To SaveBlockAccessor9SV and SAV9SV (#3851) 2023-03-29 20:44:04 -07:00
SAV_BEEF.cs File scoped namespaces (#3529) 2022-06-18 11:04:24 -07:00
SAV_STADIUM.cs Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
SaveFile.cs Minor tweaks 2023-03-28 11:29:29 -07:00
SaveFileMetadata.cs Update from .NET Framework 4.6 to .NET 7 (#3729) 2023-01-21 20:02:33 -08:00
SaveFileState.cs Minor clean 2022-04-11 11:56:56 -07:00