mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 21:51:22 +00:00 
			
		
		
		
	Many fixes to networking, demo should work now
This commit is contained in:
		
							parent
							
								
									1add52b55e
								
							
						
					
					
						commit
						2fa693273c
					
				
					 2 changed files with 14 additions and 4 deletions
				
			
		|  | @ -285,8 +285,8 @@ void NetworkedMultiplayerENet::poll(){ | ||||||
| 							incoming_packets.push_back(packet); | 							incoming_packets.push_back(packet); | ||||||
| 						} else { | 						} else { | ||||||
| 							//to someone else, specifically
 | 							//to someone else, specifically
 | ||||||
| 							ERR_CONTINUE(!peer_map.has(source)); | 							ERR_CONTINUE(!peer_map.has(target)); | ||||||
| 							enet_peer_send(peer_map[source],0,packet.packet); | 							enet_peer_send(peer_map[target],0,packet.packet); | ||||||
| 						} | 						} | ||||||
| 					} else { | 					} else { | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1760,6 +1760,17 @@ void SceneTree::_rpc(Node* p_from,int p_to,bool p_unreliable,bool p_set,const St | ||||||
| 		ERR_FAIL(); | 		ERR_FAIL(); | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | 	if (p_to!=0 && !connected_peers.has(ABS(p_to))) { | ||||||
|  | 		if (p_to==get_network_unique_id()) { | ||||||
|  | 			ERR_EXPLAIN("Attempt to remote call/set yourself! unique ID: "+itos(get_network_unique_id())); | ||||||
|  | 		} else { | ||||||
|  | 			ERR_EXPLAIN("Attempt to remote call unexisting ID: "+itos(p_to)); | ||||||
|  | 
 | ||||||
|  | 		} | ||||||
|  | 
 | ||||||
|  | 		ERR_FAIL(); | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| 	NodePath from_path = p_from->get_path(); | 	NodePath from_path = p_from->get_path(); | ||||||
| 	ERR_FAIL_COND(from_path.is_empty()); | 	ERR_FAIL_COND(from_path.is_empty()); | ||||||
| 
 | 
 | ||||||
|  | @ -1816,7 +1827,6 @@ void SceneTree::_rpc(Node* p_from,int p_to,bool p_unreliable,bool p_set,const St | ||||||
| 			} | 			} | ||||||
| 
 | 
 | ||||||
| 			has_all_peers=false; | 			has_all_peers=false; | ||||||
| 			break; |  | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
|  | @ -1990,10 +2000,10 @@ void SceneTree::_network_process_packet(int p_from, const Array& p_packet) { | ||||||
| 			message.resize(2); | 			message.resize(2); | ||||||
| 			message[0]=NETWORK_COMMAND_CONFIRM_PATH; | 			message[0]=NETWORK_COMMAND_CONFIRM_PATH; | ||||||
| 			message[1]=path; | 			message[1]=path; | ||||||
| 
 |  | ||||||
| 			network_peer->put_var(message); | 			network_peer->put_var(message); | ||||||
| 		} break; | 		} break; | ||||||
| 		case NETWORK_COMMAND_CONFIRM_PATH: { | 		case NETWORK_COMMAND_CONFIRM_PATH: { | ||||||
|  | 
 | ||||||
| 			ERR_FAIL_COND(p_packet.size()!=2); | 			ERR_FAIL_COND(p_packet.size()!=2); | ||||||
| 			NodePath path = p_packet[1]; | 			NodePath path = p_packet[1]; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Juan Linietsky
						Juan Linietsky