From 313afffce7a823c30acf4853b083f9ca5132e879 Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Fri, 29 Nov 2024 21:54:32 +0100 Subject: next commit --- extractor/grf.gd | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'extractor/grf.gd') diff --git a/extractor/grf.gd b/extractor/grf.gd index 8cb03c1..27dcab0 100644 --- a/extractor/grf.gd +++ b/extractor/grf.gd @@ -1,4 +1,40 @@ class_name GRF + class Header: - var signature: int + static var byte_length: int = 46 + + ## Byte Length: 15 + ## Master of Magic + var signature: String + + ## Byte Length: 15 + var encryption: PackedByteArray + + ## Byte Type: u32 + ## Byte Length: 4 + var file_table_offset: int + + ## Byte Type: u32 + ## Byte Length: 4 + var reserved_files: int + + ## Byte Type: u32 + ## Byte Length: 4 + var file_count: int + + ## Byte Type: u32 + ## Byte Length: 4 + var version: int + + + static func from_file(file: FileAccess): + var header = Header.new() + header.signature = file.get_buffer(15).get_string_from_utf8() + header.encryption = file.get_buffer(15) + header.file_table_offset = file.get_buffer(4).decode_u32(0) + header.reserved_files = file.get_buffer(4).decode_u32(0) + header.file_count = file.get_buffer(4).decode_u32(0) + header.version = file.get_buffer(4).decode_u32(0) + + return header -- cgit v1.2.3