diff --git a/README.md b/README.md index 695e3125..26f73ace 100644 --- a/README.md +++ b/README.md @@ -185,7 +185,7 @@ Everything will immediately show up in ImHex's Content Store and gets bundled wi | VHDX | | [`patterns/vhdx.hexpat`](patterns/vhdx.hexpat) | Microsoft Hyper-V Virtual Hard Disk format | | VOX | | [`patterns/vox.hexpat`](patterns/vox.hexpat) | MagicaVoxel scene description format | | WAV | `audio/x-wav` | [`patterns/wav.hexpat`](patterns/wav.hexpat) | RIFF header, WAVE header, PCM header | -| WAS | | [`patterns\was_oskasoftware.hexpat`](patterns\was_oskasoftware.hexpat) | Oska Software DeskMates WAS/WA3 (WAVE/MP3 Set) file +| WAS | | [`patterns/was_oskasoftware.hexpat`](patterns/was_oskasoftware.hexpat) | Oska Software DeskMates WAS/WA3 (WAVE/MP3 Set) file | WAD | | [`patterns/wad.hexpat`](patterns/wad.hexpat) | DOOM WAD Archive | | WebP | `image/webp` | [`patterns/webp.hexpat`](patterns/webp.hexpat) | Google WebP image | | XBEH | `audio/x-xbox-executable` | [`patterns/xbeh.hexpat`](patterns/xbeh.hexpat) | Xbox executable | diff --git a/patterns/fas_oskasoftware.hexpat b/patterns/fas_oskasoftware.hexpat index 617ba4bc..f72b8559 100644 --- a/patterns/fas_oskasoftware.hexpat +++ b/patterns/fas_oskasoftware.hexpat @@ -1,25 +1,25 @@ #pragma author DmitriLeon2000 -#pragma description Oska Software DeskMates FAS (Frames and Sequences) file +#pragma description Oska Software DeskMates FAS (Frames and Sequences) #pragma endian little enum Compression : u32 { - BI_RGB, - BI_RLE8, - BI_RLE4, - BI_BITFIELDS, - BI_JPEG, - BI_PNG, - BI_ALPHABITFIELDS, - BI_CMYK, - BI_CMYKRLE8, - BI_CMYKRLE4, + BI_RGB, + BI_RLE8, + BI_RLE4, + BI_BITFIELDS, + BI_JPEG, + BI_PNG, + BI_ALPHABITFIELDS, + BI_CMYK, + BI_CMYKRLE8, + BI_CMYKRLE4, }; struct Colors { - u8 blue; - u8 green; - u8 red; - u8 reserved; + u8 blue; + u8 green; + u8 red; + u8 reserved; }; struct FASHeader { @@ -69,7 +69,7 @@ struct SeqHeader { }; struct Bitmap { - u8 byte[fas.fasHeader.version >= 3 ? fas.fasHeader.frameSize + (fas.frameSizeHigh << 16) : fas.fasHeader.frameSize]; + u8 byte[parent.fasHeader.version >= 3 ? parent.fasHeader.frameSize + (parent.frameSizeHigh << 16) : parent.fasHeader.frameSize] [[sealed]]; }; struct FramesHeader { @@ -105,7 +105,7 @@ struct FAS { u8 filenameChecksum; // a checksum for a filename in ASCII AnimSequence sequences[seqHeader.count]; FramesHeader framesHeader; + Bitmap framesBitmap[framesHeader.count]; }; FAS fas @ 0x00; -Bitmap framesBitmap[fas.framesHeader.count] @ $; \ No newline at end of file diff --git a/patterns/fas_oskasoftware_old.hexpat b/patterns/fas_oskasoftware_old.hexpat index 9c7e7902..fc04ec43 100644 --- a/patterns/fas_oskasoftware_old.hexpat +++ b/patterns/fas_oskasoftware_old.hexpat @@ -1,25 +1,25 @@ #pragma author DmitriLeon2000 -#pragma description Oska Software DeskMates FAS (Frames and Sequences) file (Oska DeskMate versions 1.3 and 2.06) +#pragma description Oska Software DeskMates FAS (Frames and Sequences) (Oska DeskMate 1.03 and 2.06) #pragma endian little enum Compression : u32 { - BI_RGB, - BI_RLE8, - BI_RLE4, - BI_BITFIELDS, - BI_JPEG, - BI_PNG, - BI_ALPHABITFIELDS, - BI_CMYK, - BI_CMYKRLE8, - BI_CMYKRLE4, + BI_RGB, + BI_RLE8, + BI_RLE4, + BI_BITFIELDS, + BI_JPEG, + BI_PNG, + BI_ALPHABITFIELDS, + BI_CMYK, + BI_CMYKRLE8, + BI_CMYKRLE4, }; struct Colors { - u8 blue; - u8 green; - u8 red; - u8 reserved; + u8 blue; + u8 green; + u8 red; + u8 reserved; }; struct FASHeader { @@ -59,14 +59,14 @@ struct AnimSequence { }; struct SeqHeader { - le u32 size; - le u32 count; - le u32 strPointers[count*2]; + le u32 size; + le u32 count; + le u32 strPointers[count*2]; }; struct Frame { - u8 colorBitmap[fas.fasHeader.frameSizeColor]; - u8 maskBitmap[fas.fasHeader.frameSizeMask]; + u8 colorBitmap[parent.fasHeader.frameSizeColor] [[sealed]]; + u8 maskBitmap[parent.fasHeader.frameSizeMask] [[sealed]]; }; struct FramesHeader { @@ -80,8 +80,7 @@ struct FAS { SeqHeader seqHeader; AnimSequence sequences[seqHeader.count]; FramesHeader framesHeader; + Frame frames[framesHeader.count]; }; - FAS fas @ 0x00; -Frame frames[fas.framesHeader.count] @ $; diff --git a/patterns/was_oskasoftware.hexpat b/patterns/was_oskasoftware.hexpat index 9feed166..ccdfe707 100644 --- a/patterns/was_oskasoftware.hexpat +++ b/patterns/was_oskasoftware.hexpat @@ -7,8 +7,8 @@ import type.size; struct Sound { char name[]; u32 length; - u8 data[length]; -}; + u8 data[length] [[sealed]]; +} [[name(name), hex::visualize("sound", data, 1, 8000)]]; struct Header { type::Size size; @@ -21,4 +21,4 @@ struct WAS { Sound sounds[header.count]; }; -WAS was @ 0x00; \ No newline at end of file +WAS was @ 0x00;