using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace PFCRip { public class PFCEntry : PFCObject { #region Declarations protected override byte[] SyncHeader { get { return new byte[] { (byte)'R', (byte)'S', 0x00, 0x00 }; } } #endregion #region Constructors / Teardown public PFCEntry(byte[] data, uint startIndex) : base(data, startIndex) { //Do nothing } #endregion #region Public Properties public ushort Type { get { return LittleEndianConverter.ToUInt16(Data, 0); } } public bool IsFolder { get { return (((LittleEndianConverter.ToUInt16(Data, 2) & (ushort)0x0001) > 0) ? true : false); } } public byte[] EntryData { get { var ret = new byte[0x50]; for (int i = 0; i < ret.Length; i++) { ret[i] = Data[0x12 + i]; } return ret; } } public uint DataPtr { get { return LittleEndianConverter.ToUInt32(Data, 0x72 - 0x08); } } public uint NextPtr { get { return LittleEndianConverter.ToUInt32(Data, 0x76 - 0x08); } } public uint PrevPtr { get { return LittleEndianConverter.ToUInt32(Data, 0x7A - 0x08); } } public uint ParentPtr { get { return LittleEndianConverter.ToUInt32(Data, 0x7E - 0x08); } } public uint ChildPtr { get { return LittleEndianConverter.ToUInt32(Data, 0x82 - 0x08); } } #endregion } }