public void Write(PkgOffsetType offsetType) { UInt32 temp = (UInt32)offsetType.Type << 24; temp += (UInt32)offsetType.Offset & 0x00FFFFFF; Write(temp); }
public void Write(PkgOffsetType offsetType) { var temp = (uint)offsetType.Type << 24; temp += (uint)offsetType.Offset & 0x00FFFFFF; Write(temp); }
public void SetData(string data, PkgOffsetType offsetType) { string type = data.Remove(4); offsetType.Type = (byte)AddData(type); offsetType.Offset = ((PkgData)Elements[offsetType.Type].ComplexValueData).SetData(data.Substring(5)); }
public PkgOffsetType ReadOffsetType() { PkgOffsetType offsetType = new PkgOffsetType(); UInt32 temp = ReadUInt32(); offsetType.Type = (Byte)(temp >> 24); offsetType.Offset = (Int32)(temp & 0x00FFFFFF); return(offsetType); }
public override void Read(PkgBinaryReader reader) { valueOffsetType = reader.ReadOffsetType(); if (valueOffsetType.Type == 128) { long pos = reader.BaseStream.Position; reader.Seek(valueOffsetType.Offset, SeekOrigin.Begin); string chunkType = reader.ReadString(4); switch (chunkType) { case "!idi": complexValueData = new PkgObject(ParentFile); complexValueData.Read(reader); break; case "!ili": complexValueData = new PkgArray(ParentFile); complexValueData.Read(reader); break; case "!iar": complexValueData = new PkgDataArrayReference(ParentFile); complexValueData.Read(reader); break; case "!vca": complexValueData = new PkgDataArray(ParentFile); complexValueData.Read(reader); break; case "!sbi": complexValueData = PkgData.Create(ParentFile, "stri"); complexValueData.Read(reader); break; case "!vbi": complexValueData = PkgData.Create(reader, ParentFile); complexValueData.Read(reader); break; default: throw new Exception("Chunk type not supported! " + chunkType); } reader.Seek((int)pos, SeekOrigin.Begin); } }
public override void Write(PkgBinaryWriter writer) { writer.Write(ChunkType, 4); var elemVerData = new PkgOffsetType() { Offset = Elements.Count, Type = Version }; writer.Write(elemVerData); foreach (var val in Elements) { val.Write(writer); } foreach (var val in Elements) { val.WriteComplexValue(writer); } }
public string GetData(PkgOffsetType offsetType) { return(((PkgData)Elements[offsetType.Type].ComplexValueData).GetData(offsetType.Offset)); }
public PkgPairBase(PkgFile parentFile) : base(parentFile) { NameOffsetType = new PkgOffsetType(); }
public PkgValue(PkgFile parentFile) : base(parentFile) { valueOffsetType = new PkgOffsetType(); }
public PkgValue(PkgFile parentFile) : base(parentFile) { ValueOffsetType = new PkgOffsetType(); ComplexValueData = new PkgObject(parentFile); }
public override void Read(PkgBinaryReader reader) { nameOffsetType = reader.ReadOffsetType(); base.Read(reader); }