var file: FileAccess; var chunk_size = 0; func _init(file: FileAccess): self.file = file; self.chunk_size = 0; func has_data_to_read(): return file.get_position() < file.get_length() func set_chunk_size(size): chunk_size = size; func get_8(): chunk_size -= 1; return file.get_8(); func get_32(): chunk_size -= 4; return file.get_32(); func get_buffer(length): chunk_size -= length; return file.get_buffer(length); func read_remaining(): get_buffer(chunk_size); chunk_size = 0; func get_string(length): return get_buffer(length).get_string_from_ascii() func get_vox_string(): var length = get_32(); return get_string(length); func get_vox_dict(): var result = {}; var pairs = get_32(); for _p in range(pairs): var key = get_vox_string(); var value = get_vox_string(); result[key] = value; return result;