mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 05:31:01 +00:00 
			
		
		
		
	Add object encoding param to serialization methods
Network peers get_var/put_var File get_var/store_var GDScript/Mono/VisualScript bytes2var/var2bytes Add MultiplayerAPI.allow_object_decoding member which deprecates PacketPeer.allow_object_decoding. Break ABI compatibaility (API compatibility for GDNative).
This commit is contained in:
		
							parent
							
								
									53ab3a1ba9
								
							
						
					
					
						commit
						393e62b98a
					
				
					 23 changed files with 220 additions and 104 deletions
				
			
		|  | @ -1199,7 +1199,8 @@ Error GDScriptTokenizerBuffer::set_code_buffer(const Vector<uint8_t> &p_buffer) | |||
| 
 | ||||
| 		Variant v; | ||||
| 		int len; | ||||
| 		Error err = decode_variant(v, b, total_len, &len); | ||||
| 		// An object cannot be constant, never decode objects
 | ||||
| 		Error err = decode_variant(v, b, total_len, &len, false); | ||||
| 		if (err) | ||||
| 			return err; | ||||
| 		b += len; | ||||
|  | @ -1367,11 +1368,12 @@ Vector<uint8_t> GDScriptTokenizerBuffer::parse_code_string(const String &p_code) | |||
| 	for (Map<int, Variant>::Element *E = rev_constant_map.front(); E; E = E->next()) { | ||||
| 
 | ||||
| 		int len; | ||||
| 		Error err = encode_variant(E->get(), NULL, len); | ||||
| 		// Objects cannot be constant, never encode objects
 | ||||
| 		Error err = encode_variant(E->get(), NULL, len, false); | ||||
| 		ERR_FAIL_COND_V(err != OK, Vector<uint8_t>()); | ||||
| 		int pos = buf.size(); | ||||
| 		buf.resize(pos + len); | ||||
| 		encode_variant(E->get(), &buf.write[pos], len); | ||||
| 		encode_variant(E->get(), &buf.write[pos], len, false); | ||||
| 	} | ||||
| 
 | ||||
| 	for (Map<int, uint32_t>::Element *E = rev_line_map.front(); E; E = E->next()) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Fabio Alessandrelli
						Fabio Alessandrelli