=> 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); }
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); }