Ejemplo n.º 1
0
        public PersonalInfoSWSH(byte[] data)
        {
            Data = data;
            TMHM = new bool[200];
            for (var i = 0; i < 100; i++)
            {
                TMHM[i]       = FlagUtil.GetFlag(Data, 0x28 + (i >> 3), i);
                TMHM[i + 100] = FlagUtil.GetFlag(Data, 0x3C + (i >> 3), i);
            }
            TypeTutors = Array.Empty <bool>();

            // 0x38-0x3B type tutors, but only 8 bits are valid flags.
            var typeTutors = new bool[8];

            for (int i = 0; i < typeTutors.Length; i++)
            {
                typeTutors[i] = FlagUtil.GetFlag(Data, 0x38, i);
            }
            TypeTutors = typeTutors;

            // 0xA8-0xAF are armor type tutors, one bit for each type
            var armorTutors = new bool[18];

            for (int i = 0; i < armorTutors.Length; i++)
            {
                armorTutors[i] = FlagUtil.GetFlag(Data, 0xA8 + (i >> 3), i);
            }
            SpecialTutors = new[]
            {
                armorTutors,
            };
        }
Ejemplo n.º 2
0
 public void LoadTMHM()
 {
     TMHM = new bool[200];
     for (var i = 0; i < 100; i++)
     {
         TMHM[i]       = FlagUtil.GetFlag(Data, 0x28 + (i >> 3), i);
         TMHM[i + 100] = FlagUtil.GetFlag(Data, 0x3C + (i >> 3), i);
     }
 }
Ejemplo n.º 3
0
 public override byte[] Write()
 {
     for (var i = 0; i < 100; i++)
     {
         FlagUtil.SetFlag(Data, 0x28 + (i >> 3), i, TMHM[i]);
         FlagUtil.SetFlag(Data, 0x3C + (i >> 3), i, TMHM[i + 100]);
     }
     return(Data);
 }
Ejemplo n.º 4
0
 public PersonalInfoSWSH(byte[] data)
 {
     Data = data;
     TMHM = new bool[200];
     for (var i = 0; i < 100; i++)
     {
         TMHM[i]       = FlagUtil.GetFlag(Data, 0x28 + (i >> 3), i);
         TMHM[i + 100] = FlagUtil.GetFlag(Data, 0x3C + (i >> 3), i);
     }
     TypeTutors = Array.Empty <bool>();
 }
Ejemplo n.º 5
0
        public void LoadTutors()
        {
            TypeTutors = Array.Empty <bool>();

            // 0x38-0x3B type tutors, but only 8 bits are valid flags.
            var typeTutors = new bool[8];

            for (int i = 0; i < typeTutors.Length; i++)
            {
                typeTutors[i] = FlagUtil.GetFlag(Data, 0x38, i);
            }
            TypeTutors = typeTutors;
        }
Ejemplo n.º 6
0
 public override byte[] Write()
 {
     for (var i = 0; i < 100; i++)
     {
         FlagUtil.SetFlag(Data, 0x28 + (i >> 3), i, TMHM[i]);
         FlagUtil.SetFlag(Data, 0x3C + (i >> 3), i, TMHM[i + 100]);
     }
     for (int i = 0; i < TypeTutors.Length; i++)
     {
         FlagUtil.SetFlag(Data, 0x38, i, TypeTutors[i]);
     }
     return(Data);
 }
Ejemplo n.º 7
0
        public void LoadSpecial()
        {
            // 0xA8-0xAF are armor type tutors, one bit for each type
            var armorTutors = new bool[18];

            for (int i = 0; i < armorTutors.Length; i++)
            {
                armorTutors[i] = FlagUtil.GetFlag(Data, 0xA8 + (i >> 3), i);
            }
            SpecialTutors = new[]
            {
                armorTutors,
            };
        }