mirror of
https://github.com/kwsch/PKHeX
synced 2025-02-17 05:48:44 +00:00
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. |
||
---|---|---|
.. | ||
AlcremieDecoration.cs | ||
G3PKM.cs | ||
G4PKM.cs | ||
G6PKM.cs | ||
GBPKM.cs | ||
GBPKML.cs | ||
GroundTileType.cs | ||
IAffection.cs | ||
IAwakened.cs | ||
IBattleVersion.cs | ||
ICaughtData2.cs | ||
IContestStats.cs | ||
IDynamaxLevel.cs | ||
IFavorite.cs | ||
IFixedOTFriendship.cs | ||
IFormArgument.cs | ||
IGameValueLimit.cs | ||
IGeneration.cs | ||
IGeoTrack.cs | ||
IGigantamax.cs | ||
IGroundTile.cs | ||
IHandlerLanguage.cs | ||
IHomeTrack.cs | ||
IHyperTrain.cs | ||
ILangNick.cs | ||
ILangNicknamedTemplate.cs | ||
IMemoryHT.cs | ||
IMemoryOT.cs | ||
INature.cs | ||
IRegionOrigin.cs | ||
ISanityChecksum.cs | ||
IScaledSize.cs | ||
IShadowPKM.cs | ||
IShiny.cs | ||
ISpeciesForm.cs | ||
ITrainerID.cs | ||
ITrainerMemories.cs | ||
PokeList1.cs | ||
PokeList2.cs | ||
PokeListGB.cs | ||
PokeListType.cs | ||
PokeSize.cs | ||
QRPK7.cs | ||
QRPKM.cs |