Example #1
0
        private void SetTrainerData(SaveFile sav, LiveHeXVersion lv)
        {
            var size = RamOffsets.GetTrainerBlockSize(lv);
            var ofs  = RamOffsets.GetTrainerBlockOffset(lv);

            // Check and set trainerdata based on ISaveBlock interfaces
            if (sav is ISaveBlock8Main s8)
            {
                Remote.Bot.ReadBytes(ofs, size).CopyTo(s8.MyStatus.Data);
            }
            else if (sav is SAV7b slgpe)
            {
                Remote.Bot.ReadBytes(ofs, size).CopyTo(slgpe.Blocks.Status.Data);
            }
        }
Example #2
0
        private void SetTrainerData(SaveFile sav, LiveHeXVersion lv)
        {
            // Check and set trainerdata based on ISaveBlock interfaces
            byte[] dest;
            int    startofs = 0;

            switch (sav)
            {
            case ISaveBlock8Main s8:
                dest     = s8.MyStatus.Data;
                startofs = s8.MyStatus.Offset;
                break;

            case ISaveBlock7Main s7:
                dest     = s7.MyStatus.Data;
                startofs = s7.MyStatus.Offset;
                break;

            case ISaveBlock6Main s6:
                dest     = s6.Status.Data;
                startofs = s6.Status.Offset;
                break;

            case SAV7b slgpe:
                dest     = slgpe.Blocks.Status.Data;
                startofs = slgpe.Blocks.Status.Offset;
                break;

            default:
                dest = Array.Empty <byte>();
                break;
            }

            if (dest.Length == 0)
            {
                return;
            }

            var ofs  = RamOffsets.GetTrainerBlockOffset(lv);
            var data = Remote.Bot.com.ReadBytes(ofs, RamOffsets.GetTrainerBlockSize(lv));

            data.CopyTo(dest, startofs);
        }