mirror of
https://github.com/godotengine/godot
synced 2024-09-05 11:28:29 +00:00
Changed API to use sequenced packets for UDP (drop old)
This commit is contained in:
parent
38338e90c0
commit
2b7aa98d2d
|
@ -17,8 +17,8 @@ void NetworkedMultiplayerPeer::_bind_methods() {
|
|||
ObjectTypeDB::bind_method(_MD("is_refusing_new_connections"), &NetworkedMultiplayerPeer::is_refusing_new_connections );
|
||||
|
||||
BIND_CONSTANT( TRANSFER_MODE_UNRELIABLE );
|
||||
BIND_CONSTANT( TRANSFER_MODE_UNRELIABLE_ORDERED );
|
||||
BIND_CONSTANT( TRANSFER_MODE_RELIABLE );
|
||||
BIND_CONSTANT( TRANSFER_MODE_ORDERED );
|
||||
|
||||
BIND_CONSTANT( CONNECTION_DISCONNECTED );
|
||||
BIND_CONSTANT( CONNECTION_CONNECTING );
|
||||
|
|
|
@ -17,8 +17,8 @@ public:
|
|||
};
|
||||
enum TransferMode {
|
||||
TRANSFER_MODE_UNRELIABLE,
|
||||
TRANSFER_MODE_UNRELIABLE_ORDERED,
|
||||
TRANSFER_MODE_RELIABLE,
|
||||
TRANSFER_MODE_ORDERED
|
||||
};
|
||||
|
||||
enum ConnectionStatus {
|
||||
|
|
|
@ -371,10 +371,10 @@ Error NetworkedMultiplayerENet::put_packet(const uint8_t *p_buffer,int p_buffer_
|
|||
case TRANSFER_MODE_UNRELIABLE: {
|
||||
packet_flags=ENET_PACKET_FLAG_UNSEQUENCED;
|
||||
} break;
|
||||
case TRANSFER_MODE_RELIABLE: {
|
||||
packet_flags=ENET_PACKET_FLAG_RELIABLE;
|
||||
case TRANSFER_MODE_UNRELIABLE_ORDERED: {
|
||||
packet_flags=0;
|
||||
} break;
|
||||
case TRANSFER_MODE_ORDERED: {
|
||||
case TRANSFER_MODE_RELIABLE: {
|
||||
packet_flags=ENET_PACKET_FLAG_RELIABLE;
|
||||
} break;
|
||||
}
|
||||
|
@ -513,7 +513,7 @@ NetworkedMultiplayerENet::NetworkedMultiplayerENet(){
|
|||
unique_id=0;
|
||||
target_peer=0;
|
||||
current_packet.packet=NULL;
|
||||
transfer_mode=TRANSFER_MODE_ORDERED;
|
||||
transfer_mode=TRANSFER_MODE_RELIABLE;
|
||||
connection_status=CONNECTION_DISCONNECTED;
|
||||
}
|
||||
|
||||
|
|
|
@ -1841,14 +1841,14 @@ void SceneTree::_rpc(Node* p_from,int p_to,bool p_unreliable,bool p_set,const St
|
|||
add_path_message[2]=psc->id;
|
||||
|
||||
network_peer->set_target_peer(E->get()); //to all of you
|
||||
network_peer->set_transfer_mode(NetworkedMultiplayerPeer::TRANSFER_MODE_ORDERED);
|
||||
network_peer->set_transfer_mode(NetworkedMultiplayerPeer::TRANSFER_MODE_RELIABLE);
|
||||
network_peer->put_var(add_path_message); //a message with love
|
||||
|
||||
psc->confirmed_peers.insert(E->get(),false); //insert into confirmed, but as false since it was not confirmed
|
||||
}
|
||||
|
||||
//take chance and set transfer mode, since all send methods will use it
|
||||
network_peer->set_transfer_mode(p_unreliable ? NetworkedMultiplayerPeer::TRANSFER_MODE_UNRELIABLE : NetworkedMultiplayerPeer::TRANSFER_MODE_ORDERED);
|
||||
network_peer->set_transfer_mode(p_unreliable ? NetworkedMultiplayerPeer::TRANSFER_MODE_UNRELIABLE : NetworkedMultiplayerPeer::TRANSFER_MODE_RELIABLE);
|
||||
|
||||
if (has_all_peers) {
|
||||
|
||||
|
@ -1993,7 +1993,7 @@ void SceneTree::_network_process_packet(int p_from, const Array& p_packet) {
|
|||
|
||||
path_get_cache[p_from].nodes[id]=ni;
|
||||
|
||||
network_peer->set_transfer_mode(NetworkedMultiplayerPeer::TRANSFER_MODE_ORDERED);
|
||||
network_peer->set_transfer_mode(NetworkedMultiplayerPeer::TRANSFER_MODE_RELIABLE);
|
||||
network_peer->set_target_peer(p_from);
|
||||
|
||||
Array message;
|
||||
|
|
Loading…
Reference in a new issue