/// <summary> /// Add a generic data chunk, providing a name for easier access /// Additional functonality for adding/subtracting value /// </summary> /// <param name="dataFormat">the expected format of the data</param> /// <param name="description">a brief written description of what the data is</param> /// <param name="offset">the offset to begin processing at</param> /// <param name="dataLength">the length of the data in bytes</param> /// <param name="addToValue">the byte value to add (or subtract) from each byte read</param> /// <param name="dataChunkName">name of the data chunk for easy access</param> public DataChunk AddDataChunk(DataChunk.DataFormatType dataFormat, string description, int offset, int dataLength, byte addToValue, T dataChunkName) { // create the data chunk DataChunk chunk = new DataChunk(dataFormat, description, FileByteList, offset, dataLength, addToValue); // all data chunks get added to the chunk list AddDataChunk(chunk); // if the datachunk is not classified as unused then add it to the chunk map for quick reference if (!dataChunkName.Equals(unusedValue)) { chunkMap.Add(dataChunkName, chunk); } return(chunk); }
/// <summary> /// Extracts a data chunk from the raw bytes /// </summary> /// <param name="dataType">format is the data in</param> /// <param name="description">a brief description of the data</param> /// <param name="offset">which offset to begin reading at</param> /// <param name="length">the number of bytes to read</param> /// <returns></returns> public DataChunk GetDataChunk(DataChunk.DataFormatType dataType, string description, int offset, int length) { return(new DataChunk(dataType, description, dataChunks.FileByteList, offset, length)); }
/// <summary> /// Add a new generic data chunk (un-named) /// </summary> /// <param name="dataFormat">the expected format of the data</param> /// <param name="description">a brief written description of what the data is</param> /// <param name="offset">the offset to begin processing at</param> /// <param name="dataLength">the length of the data in bytes</param> public DataChunk AddDataChunk(DataChunk.DataFormatType dataFormat, string description, int offset, int dataLength) { return(AddDataChunk(dataFormat, description, offset, dataLength, 0x00, unusedValue)); }
/// <summary> /// Add a new generic data chunk (un-named) /// Additional functionality for adding/subtracting value /// </summary> /// <param name="dataFormat">the expected format of the data</param> /// <param name="description">a brief written description of what the data is</param> /// <param name="offset">the offset to begin processing at</param> /// <param name="dataLength">the length of the data in bytes</param> /// <param name="addToValue">the byte value to add (or subtract) from each byte read</param> public DataChunk AddDataChunk(DataChunk.DataFormatType dataFormat, string description, int offset, int dataLength, byte addToValue) { return(AddDataChunk(dataFormat, description, offset, dataLength, addToValue, _unusedValue)); }