Files
ImHex-Patterns/patterns/swf.hexpat
Nik f70b7066b9 includes: Switch over to import statements (#224)
* Update includes and patterns to new import system

* Update namespaces to new syntax
2024-02-25 22:04:41 +01:00

29 lines
1.0 KiB
Rust

#pragma author saturnaliam
#pragma description SWF file header
#pragma endian little
import type.magic;
// RECTs are more complicated, but for the header,
// this works fine.
bitfield Rect {
nSize : 5 [[name("N Size")]];
signed xMin : 15 [[name("X Min")]];
signed xMax : 15 [[name("X Max")]];
signed yMin : 15 [[name("Y Min")]];
signed yMax : 15 [[name("Y Max")]];
};
struct Header {
char compressionSignature [[name("Compression"), comment("F - Uncompressed\nC - zlib Compressed\nZ - LZMA compressed")]];
type::Magic<"WS"> signature [[name("Signature")]];
u8 swfVersion [[name("SWF Version")]];
u32 bytesSize [[name("Uncompressed Size")]];
be Rect rect [[name("Frame Size"), comment("Needs to be uncompressed to have the correct value.")]];
padding[1];
u8 frameRate [[name("Framerate"), comment("Needs to be uncompressed to have the correct value.")]];
u16 frameCount [[name("Frame Count"), comment("Needs to be uncompressed to have the correct value.")]];
};
Header header @ 0x00;