public CSectorData(CR2WFile cr2w) : base(cr2w) { Unknown1 = new CUInt32(cr2w) { Name = "unknown1", }; Unknown2 = new CUInt32(cr2w) { Name = "unknown2", }; blocksize = new CVLQInt32(cr2w) { Name = "blocksize", }; Resources = new CBufferVLQ <CSectorDataResource>(cr2w, _ => new CSectorDataResource(_)) { Name = "resources", }; Objects = new CBufferVLQ <CSectorDataObject>(cr2w, _ => new CSectorDataObject(_)) { Name = "objects", }; BlockData = new CCompressedBuffer <SBlockData>(cr2w, _ => new SBlockData(_)) { Name = "blockData", }; }
public CSectorData(IRed3EngineFile cr2w, CVariable parent, string name) : base(cr2w, parent, name) { blocksize = new CVLQInt32(cr2w, this, nameof(blocksize)) { IsSerialized = true }; BlockData = new CCompressedBuffer <SBlockData>(cr2w, this, nameof(BlockData)) { IsSerialized = true }; }
public override void Write(BinaryWriter file) { if (elements.Count == 0) { file.Write((byte)0x80); } else { CVLQInt32 count = new CVLQInt32(cr2w, null, ""); count.val = elements.Count; count.Write(file); } base.Write(file); }
private void ReadBytes(int bytestart, BinaryReader reader) { reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); //try //{ // var obj = new CVariable(File, null, "obj"); // obj.Read(reader, (uint) (bytes.Length - bytestart)); // var v = CreatePropertyLayout(obj); // v.Endpos = (int) reader.BaseStream.Position; // v.HexValue = bytes[bytestart].ToString("X2"); // v.Method = "CVector"; //} //catch //{ //} //reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CUInt64(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CUInt64"; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CUInt32(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CUInt32"; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CUInt16(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CUInt16"; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CUInt8(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CUInt8"; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CVLQInt32(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CVLQInt32"; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CDynamicInt(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CDynamicInt"; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CFloat(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CFloat"; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CName(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CName"; var valueTest = v.Value; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CHandle <CVariable>(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CHandle"; var valueTest = v.Value; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = new CSoft <CVariable>(File, null, "obj"); obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "CSoft"; var valueTest = v.Value; } catch { } reader.BaseStream.Seek(bytestart, SeekOrigin.Begin); try { var obj = File.ReadVariable(reader, null); if (obj != null) { obj.Read(reader, (uint)(bytes.Length - bytestart)); var v = CreatePropertyLayout(obj); v.Endpos = (int)reader.BaseStream.Position; v.HexValue = bytes[bytestart].ToString("X2"); v.Method = "ReadVariable"; } } catch { } }