public void WriteToSAV(SAV7 SAV) { if (SAV.Generation != 7) { return; } int ofs = SAV.PokeDex + 0x8 + MiscLen; setBits(Owned).CopyTo(SAV.Data, ofs); ofs += OwnedLen; for (int i = 0; i < 4; i++) { setBits(Seen[i]).CopyTo(SAV.Data, ofs); ofs += SeenDispLen; } for (int i = 0; i < 4; i++) { setBits(Displayed[i]).CopyTo(SAV.Data, ofs); ofs += SeenDispLen; } setBits(LanguageFlags).CopyTo(SAV.Data, SAV.PokeDexLanguageFlags); }
public PokeDex7(SAV7 SAV) { if (SAV.Generation != 7) { return; } int ofs = SAV.PokeDex + 0x8 + MiscLen; Owned = getBits(SAV.Data, ofs, OwnedLen); ofs += OwnedLen; for (int i = 0; i < 4; i++) { Seen[i] = getBits(SAV.Data, ofs, SeenDispLen); ofs += SeenDispLen; } for (int i = 0; i < 4; i++) { Displayed[i] = getBits(SAV.Data, ofs, SeenDispLen); ofs += SeenDispLen; } LanguageFlags = getBits(SAV.Data, SAV.PokeDexLanguageFlags, LanguageLen); }
public PokeDex7(SAV7 SAV) { if (SAV.Generation != 7) return; int ofs = SAV.PokeDex + 0x8 + MiscLen; Owned = getBits(SAV.Data, ofs, OwnedLen); ofs += OwnedLen; for (int i = 0; i < 4; i++) { Seen[i] = getBits(SAV.Data, ofs, SeenDispLen); ofs += SeenDispLen; } for (int i = 0; i < 4; i++) { Displayed[i] = getBits(SAV.Data, ofs, SeenDispLen); ofs += SeenDispLen; } LanguageFlags = getBits(SAV.Data, SAV.PokeDexLanguageFlags, LanguageLen); }
public void WriteToSAV(SAV7 SAV) { if (SAV.Generation != 7) return; int ofs = SAV.PokeDex + 0x8 + MiscLen; setBits(Owned).CopyTo(SAV.Data, ofs); ofs += OwnedLen; for (int i = 0; i < 4; i++) { setBits(Seen[i]).CopyTo(SAV.Data, ofs); ofs += SeenDispLen; } for (int i = 0; i < 4; i++) { setBits(Displayed[i]).CopyTo(SAV.Data, ofs); ofs += SeenDispLen; } setBits(LanguageFlags).CopyTo(SAV.Data, SAV.PokeDexLanguageFlags); }
/// <summary>Creates an instance of a SaveFile using the given save data.</summary> /// <param name="data">Save data from which to create a SaveFile.</param> /// <returns>An appropriate type of save file for the given data, or null if the save data is invalid.</returns> public static SaveFile getVariantSAV(byte[] data) { // Pre-check for header/footer signatures SaveFile sav; byte[] header = new byte[0], footer = new byte[0]; CheckHeaderFooter(ref data, ref header, ref footer); switch (getSAVGeneration(data)) { // Main Games case GameVersion.Gen1: sav = new SAV1(data); break; case GameVersion.Gen2: sav = new SAV2(data); break; case GameVersion.Gen3: sav = new SAV3(data); break; case GameVersion.Gen4: sav = new SAV4(data); break; case GameVersion.Gen5: sav = new SAV5(data); break; case GameVersion.Gen6: sav = new SAV6(data); break; case GameVersion.Gen7: sav = new SAV7(data); break; // Side Games case GameVersion.COLO: sav = new SAV3Colosseum(data); break; case GameVersion.XD: sav = new SAV3XD(data); break; case GameVersion.RSBOX: sav = new SAV3RSBox(data); break; case GameVersion.BATREV: sav = new SAV4BR(data); break; // No pattern matched default: return null; } sav.Header = header; sav.Footer = footer; return sav; }