class_name GRF class Header: 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