Bläddra i källkod

Merge pull request #80293 from Faless/mp/fix_enet_flags_with_channels

[ENet] Properly set transfer flags when using custom channels
Rémi Verschelde 2 år sedan
förälder
incheckning
e43ae7c039
1 ändrade filer med 14 tillägg och 15 borttagningar
  1. 14 15
      modules/enet/enet_multiplayer_peer.cpp

+ 14 - 15
modules/enet/enet_multiplayer_peer.cpp

@@ -343,23 +343,22 @@ Error ENetMultiplayerPeer::put_packet(const uint8_t *p_buffer, int p_buffer_size
 	int packet_flags = 0;
 	int channel = SYSCH_RELIABLE;
 	int tr_channel = get_transfer_channel();
+	switch (get_transfer_mode()) {
+		case TRANSFER_MODE_UNRELIABLE: {
+			packet_flags = ENET_PACKET_FLAG_UNSEQUENCED | ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT;
+			channel = SYSCH_UNRELIABLE;
+		} break;
+		case TRANSFER_MODE_UNRELIABLE_ORDERED: {
+			packet_flags = ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT;
+			channel = SYSCH_UNRELIABLE;
+		} break;
+		case TRANSFER_MODE_RELIABLE: {
+			packet_flags = ENET_PACKET_FLAG_RELIABLE;
+			channel = SYSCH_RELIABLE;
+		} break;
+	}
 	if (tr_channel > 0) {
 		channel = SYSCH_MAX + tr_channel - 1;
-	} else {
-		switch (get_transfer_mode()) {
-			case TRANSFER_MODE_UNRELIABLE: {
-				packet_flags = ENET_PACKET_FLAG_UNSEQUENCED | ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT;
-				channel = SYSCH_UNRELIABLE;
-			} break;
-			case TRANSFER_MODE_UNRELIABLE_ORDERED: {
-				packet_flags = ENET_PACKET_FLAG_UNRELIABLE_FRAGMENT;
-				channel = SYSCH_UNRELIABLE;
-			} break;
-			case TRANSFER_MODE_RELIABLE: {
-				packet_flags = ENET_PACKET_FLAG_RELIABLE;
-				channel = SYSCH_RELIABLE;
-			} break;
-		}
 	}
 
 #ifdef DEBUG_ENABLED