示例#1
0
 public Mail3(SAV3 sav, int index)
 {
     JP = sav.Japanese;
     GetMailBlockOffset(sav.Version, ref index, out int block, out int offset);
     DataOffset = (index * SIZE) + sav.GetBlockOffset(block) + offset;
     Data       = sav.GetData(DataOffset, SIZE);
 }
示例#2
0
        private int GetRecordOffset(int record)
        {
            var baseOffset = GetOffset(SAV.Version);
            var offset     = baseOffset + (4 * record);

            SAV3.GetLargeBlockOffset(offset, out var chunk, out var ofs);
            return(SAV.GetBlockOffset(chunk) + ofs);
        }
示例#3
0
 private static List <StorageSlotOffset> GetExtraSlots3(SAV3 sav)
 {
     if (!sav.FRLG)
     {
         return(None);
     }
     return(new List <StorageSlotOffset>
     {
         new StorageSlotOffset {
             Type = StorageSlotType.Daycare, Offset = sav.GetBlockOffset(4) + 0xE18
         }
     });
 }
示例#4
0
 public Roamer3(SAV3 sav)
 {
     SAV    = sav;
     Offset = sav.GetBlockOffset(4);
     if (GameVersion.FRLG.Contains(SAV.Version))
     {
         Offset += 0x250; // 0x250 - FRLG
     }
     else
     {
         Offset += 0x35C; // 0x35C - RSE
     }
     IsGlitched = SAV.Version != GameVersion.E;
 }
 public Roamer3(SAV3 sav)
 {
     SAV    = sav;
     Offset = sav.GetBlockOffset(4);
     if (GameVersion.FRLG.Contains(SAV.Version))
     {
         Offset += 0x250;
     }
     else if (SAV.Version == GameVersion.E)
     {
         Offset += 0x35C;
     }
     else // RS
     {
         Offset += 0x2C4;
     }
     IsGlitched = SAV.Version != GameVersion.E;
 }
示例#6
0
 public Mail3(SAV3 sav, int index)
 {
     DataOffset = index * SIZE + sav.GetBlockOffset(3) + 0xCE0;
     Data       = sav.GetData(DataOffset, SIZE);
 }
示例#7
0
 public Mail3(SAV3 sav, int index)
 {
     GetMailBlockOffset(sav.Version, index, out int block, out int offset);
     DataOffset = index * SIZE + sav.GetBlockOffset(block) + offset;
     Data       = sav.GetData(DataOffset, SIZE);
 }