|
@@ -4,9 +4,11 @@ use binrw::{BinRead, BinResult, BinWrite, BinWriterExt, Endian, FilePtr64};
|
|
|
|
|
|
use crate::{array_of::ArrayOf, layer::Layer, pen::PenHeader, types::Rgba};
|
|
|
|
|
|
+const FILE_MAGIC: &[u8; 16] = b"E\0Z\0C\0A\0D\0X\06\04\0";
|
|
|
+
|
|
|
#[derive(BinRead, Debug)]
|
|
|
+#[br(magic = b"E\0Z\0C\0A\0D\0X\06\04\0")]
|
|
|
pub struct EzCadHeader {
|
|
|
- _magic: [u16; 8],
|
|
|
_unknown_1: [u8; 0x150],
|
|
|
pub thumbnail_offset: FilePtr64<Thumbnail>,
|
|
|
pub pens_offset: FilePtr64<PenHeader>,
|
|
@@ -26,7 +28,7 @@ impl BinWrite for EzCadHeader {
|
|
|
endian: Endian,
|
|
|
args: Self::Args<'_>,
|
|
|
) -> BinResult<()> {
|
|
|
- self._magic.write_options(writer, endian, args)?;
|
|
|
+ FILE_MAGIC.write_options(writer, endian, args)?;
|
|
|
self._unknown_1.write_options(writer, endian, args)?;
|
|
|
|
|
|
// Save offset addresses and write placeholder (zeros) for now
|