[ENet] Properly set transfer flags when using custom channels
This commit is contained in:
parent
16a93563bf
commit
b96d247ba2
|
@ -343,23 +343,22 @@ Error ENetMultiplayerPeer::put_packet(const uint8_t *p_buffer, int p_buffer_size
|
||||||
int packet_flags = 0;
|
int packet_flags = 0;
|
||||||
int channel = SYSCH_RELIABLE;
|
int channel = SYSCH_RELIABLE;
|
||||||
int tr_channel = get_transfer_channel();
|
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) {
|
if (tr_channel > 0) {
|
||||||
channel = SYSCH_MAX + tr_channel - 1;
|
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
|
#ifdef DEBUG_ENABLED
|
||||||
|
|
Loading…
Reference in New Issue