mirror of
https://github.com/WerWolv/ImHex-Patterns.git
synced 2026-03-27 23:37:04 -05:00
* repo-wide: trim trailing spaces Note: This doesn't touch the .tbl files in encodings/ since they include meaningful trailing spaces (`20= `) * patterns: clean up duplicate semicolons * ELF: add header magic check * glTF: use type::Magic for magic value * glTF: check that the file size in the header matches * xgstexture: fix generics syntax for magic value * JPEG: define hex enum with 0x00 instead of 0X00 * CI: update deprecated actions --------- Co-authored-by: Nik <werwolv98@gmail.com>
27 lines
433 B
Rust
27 lines
433 B
Rust
#pragma author WerWolv
|
|
#pragma description DOOM WAD Archive
|
|
|
|
import type.magic;
|
|
import type.size;
|
|
|
|
enum WADType : char {
|
|
Internal = 'I',
|
|
Patch = 'P'
|
|
};
|
|
|
|
struct FileLump {
|
|
u32 filePos;
|
|
type::Size<u32> size;
|
|
char name[8];
|
|
|
|
u8 data[size] @ filePos [[sealed]];
|
|
};
|
|
|
|
struct WAD {
|
|
WADType type;
|
|
type::Magic<"WAD"> identification;
|
|
u32 numLumps;
|
|
FileLump *infoTable[numLumps] : u32;
|
|
};
|
|
|
|
WAD wad @ 0x00; |