protected override void Parse(Stream s) { BinaryReader r = new BinaryReader(s); tag = r.ReadUInt32(); if (checking) { if (tag != (uint)FOURCC("MTST")) { throw new InvalidDataException(String.Format("Invalid Tag read: '{0}'; expected: 'MTST'; at 0x{1:X8}", FOURCC(tag), s.Position)); } } version = r.ReadUInt32(); if (checking) { if (version != 0x00000200) { throw new InvalidDataException(String.Format("Invalid Version read: 0x{0:X8}; expected 0x00000200; at 0x{1:X8}", version, s.Position)); } } nameHash = r.ReadUInt32(); index = new GenericRCOLResource.ChunkReference(requestedApiVersion, handler, s); list = new EntryList(OnRCOLChanged, s); }
public MTST(int APIversion, EventHandler handler, uint nameHash, GenericRCOLResource.ChunkReference index, IEnumerable <Entry> list) : base(APIversion, handler, null) { this.nameHash = nameHash; this.index = new GenericRCOLResource.ChunkReference(requestedApiVersion, handler, index); this.list = list == null ? null : new EntryList(OnRCOLChanged, list); }
void Parse(Stream s) { if (_RCOLTag == "GEOM") { index = new BinaryReader(s).ReadInt32(); } else { data = new GenericRCOLResource.ChunkReference(0, handler, s); } ReadZeros(s, 12); }
public ElementTextureRef(int APIversion, EventHandler handler, ElementTextureRef basis, DependentList <TGIBlock> ParentTGIBlocks = null, string RCOLTag = null) : this(APIversion, handler, basis.field, ParentTGIBlocks ?? basis._ParentTGIBlocks, RCOLTag ?? basis._RCOLTag) { if (_RCOLTag == "GEOM") { index = basis.index; } else { data = new GenericRCOLResource.ChunkReference(0, handler, basis.data); } }
public ElementTextureRef(int APIversion, EventHandler handler, DependentList <TGIBlock> ParentTGIBlocks = null, string RCOLTag = "MATD") : this(APIversion, handler, (FieldType)0, ParentTGIBlocks, RCOLTag) { if (_RCOLTag == "GEOM") { index = 0; } else { data = new GenericRCOLResource.ChunkReference(0, handler); } }
public override Stream UnParse() { MemoryStream ms = new MemoryStream(); BinaryWriter w = new BinaryWriter(ms); w.Write(tag); w.Write(version); w.Write(nameHash); if (index == null) { this.index = new GenericRCOLResource.ChunkReference(requestedApiVersion, handler, 0); } index.UnParse(ms); if (list == null) { this.list = new EntryList(OnRCOLChanged); } list.UnParse(ms); return(ms); }
public ElementTextureRef(int APIversion, EventHandler handler, FieldType field, GenericRCOLResource.ChunkReference data) : this(APIversion, handler, field, null, "MATD") { this.data = new GenericRCOLResource.ChunkReference(0, handler, data); }
void Parse(Stream s) { index = new GenericRCOLResource.ChunkReference(requestedApiVersion, handler, s); materialState = (State) new BinaryReader(s).ReadUInt32(); }
public Entry(int APIversion, EventHandler handler, GenericRCOLResource.ChunkReference index, State materialSet) : base(APIversion, handler) { this.index = new GenericRCOLResource.ChunkReference(requestedApiVersion, handler, index); this.materialState = materialSet; }