//------------------------------------------------ //--- 010 Editor v12.0.1 Binary Template // // File: RawImageDiff.bt // Authors: blacktop // Version: 1.0 // Purpose: Apple Raw Image Diff // Category: Image // File Mask: * // ID Bytes: 52 49 44 49 46 46 31 30 // History: //------------------------------------------------ LittleEndian(); typedef enum { RIDIFF10 = 0x3031464649444952 } Magic ; typedef struct Header { Magic magic; uint16 variants; uint64 flags; uint64 control_count; uint32 excess_space; uint64 meta_data_offset; uint64 controls_offset; uint64 patch_data_offset[variants]; uint64 diff_size; }; typedef struct Control { uint64 offset; uint64 size; }; Header header; FSeek(header.meta_data_offset); char meta_data[header.controls_offset - header.meta_data_offset]; FSeek(header.controls_offset); char controls[header.patch_data_offset[0] - header.controls_offset]; FSeek(header.patch_data_offset[0]); char patch_data[header.diff_size-header.patch_data_offset[0]];