=> 2 + Ennegrams.Length * 18 + 2;     // 0xFFFF as end.

    protected override void ReadArgs(IBinaryStream reader)
    {
        var type = reader.ReadInt16LE();

        if (type < 0 || type >= TypeNames.Length)
        {
            throw new InvalidDataException("$Invalid SssInputCode type {_type}");
        }
        Type = (SssType)type;
        var ennegrams = new List <short[]>();

        while (true)
        {
            var s = reader.ReadInt16LE();
            if (s == -1)
            {
                break;
            }
            var ennegram = new short[9];
            ennegram[0] = s;
            foreach (var i in 1..9)
            {
                ennegram[i] = reader.ReadInt16LE();
            }
            ennegrams.Add(ennegram);
        }
        Ennegrams = ennegrams.ToArray();
    }
 protected override void ReadArgs(IBinaryStream reader)
 {
     AreaIndex = reader.ReadInt16LE();
     X         = reader.ReadInt16LE();
     Y         = reader.ReadInt16LE();
     Width     = reader.ReadInt16LE();
     Height    = reader.ReadInt16LE();
 }
 protected override void ReadArgs(IBinaryStream reader)
 {
     Short1 = reader.ReadInt16LE();
     Short2 = reader.ReadInt16LE();
     if (Short1 == -1 || Short2 == -1)
     {
         _extralength = 4;
     }
     else
     {
         reader.Seek(-2);
         _extralength = 2;
     }
     ReadString(reader);
 }
Example #4
0
 protected override void ReadArgs(IBinaryStream reader)
 {
     FlagIndex = reader.ReadInt16LE();
     Sound     = reader.ReadInt16LE();
     Changes   = Utils.Generate(reader.ReadInt16LE, 9).ToArray();
 }
 protected override void ReadArgs(IBinaryStream reader)
 {
     TargetScript     = reader.ReadInt16LE();
     TargetEntryIndex = reader.ReadInt16LE();
 }
 protected override void ReadArgs(IBinaryStream reader)
 {
     Short1 = reader.ReadInt16LE();
     Short2 = reader.ReadInt16LE();
     ReadString(reader);
 }