You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
	
	
		
			
				
					
						
							|  |  |  | 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; |