From 2a61b8aa08e55a6caeb889af528f114441301ba7 Mon Sep 17 00:00:00 2001 From: Lucas Schwiderski Date: Tue, 6 Dec 2022 15:48:21 +0100 Subject: [PATCH] Update 'File Type: Bundle Database' --- File-Type%3A-Bundle-Database.md | 60 +++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 File-Type%3A-Bundle-Database.md diff --git a/File-Type%3A-Bundle-Database.md b/File-Type%3A-Bundle-Database.md new file mode 100644 index 0000000..1f71864 --- /dev/null +++ b/File-Type%3A-Bundle-Database.md @@ -0,0 +1,60 @@ +**010Editor Template:** + +```bt +uint32 format ; +uint32 num_entries; + +typedef struct { + uint32 version; + Assert(version == 0x4); + + uint32 len_name; + char name[len_name]; + + uint32 len_stream; + char stream[len_stream]; + + byte platform_specific; // boolean + + byte buffer[20]; // VT2's SDK only ever writes 0 and ignores while reading + uint64 file_time; // win32 FILETIME +} File; + +typedef struct { + uint64 hash ; + uint32 num_files; + + File files[num_files] ; +} Entry; + +Entry entries[num_entries] ; + +uint32 num_hashes; + +typedef struct { + uint64 hash; + uint64 unknown; +} ResourceHash; + +ResourceHash hashes[num_hashes]; + +if (format <= 5) { + return; +} + +uint32 num_contents; + +typedef struct { + uint64 extension ; + uint64 name ; +} Filename; + +typedef struct { + uint64 hash ; + uint32 num_files; + + Filename files[num_files]; +} BundleContents; + +BundleContents contents[num_contents] ; +``` \ No newline at end of file