diff --git a/source/enet/ChangeLog b/source/enet/ChangeLog index 6145b690..45f14db6 100644 --- a/source/enet/ChangeLog +++ b/source/enet/ChangeLog @@ -1,4 +1,4 @@ -ENet 1.3.0 (May 24, 2010): +ENet 1.3.0 (June 5, 2010): * enet_host_create() now requires the channel limit to be specified as a parameter @@ -15,7 +15,7 @@ Caveats: This version is not protocol compatible with the 1.2 series or earlier. The enet_host_connect and enet_host_create API functions require supplying additional parameters. -ENet 1.2.2 (May 20, 2010): +ENet 1.2.2 (June 5, 2010): * checksum functionality is now enabled by setting a checksum callback inside ENetHost instead of being a configure script option diff --git a/source/enet/include/enet/enet.h b/source/enet/include/enet/enet.h index 9f40793a..425e7531 100755 --- a/source/enet/include/enet/enet.h +++ b/source/enet/include/enet/enet.h @@ -522,6 +522,8 @@ extern void enet_peer_setup_outgoing_command (ENetPeer *, ENetO extern ENetOutgoingCommand * enet_peer_queue_outgoing_command (ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32, enet_uint16); extern ENetIncomingCommand * enet_peer_queue_incoming_command (ENetPeer *, const ENetProtocol *, ENetPacket *, enet_uint32); extern ENetAcknowledgement * enet_peer_queue_acknowledgement (ENetPeer *, const ENetProtocol *, enet_uint16); +extern void enet_peer_dispatch_incoming_unreliable_commands (ENetPeer *, ENetChannel *); +extern void enet_peer_dispatch_incoming_reliable_commands (ENetPeer *, ENetChannel *); ENET_API void * enet_range_coder_create (void); ENET_API void enet_range_coder_destroy (void *); diff --git a/source/enet/peer.c b/source/enet/peer.c index d73625e7..d778ce1d 100755 --- a/source/enet/peer.c +++ b/source/enet/peer.c @@ -585,7 +585,7 @@ enet_peer_queue_outgoing_command (ENetPeer * peer, const ENetProtocol * command, return outgoingCommand; } -static void +void enet_peer_dispatch_incoming_unreliable_commands (ENetPeer * peer, ENetChannel * channel) { ENetListIterator currentCommand; @@ -614,7 +614,7 @@ enet_peer_dispatch_incoming_unreliable_commands (ENetPeer * peer, ENetChannel * } } -static void +void enet_peer_dispatch_incoming_reliable_commands (ENetPeer * peer, ENetChannel * channel) { ENetListIterator currentCommand; diff --git a/source/enet/protocol.c b/source/enet/protocol.c index b4d13b8b..8e26dfb2 100755 --- a/source/enet/protocol.c +++ b/source/enet/protocol.c @@ -593,6 +593,9 @@ enet_protocol_handle_send_fragment (ENetHost * host, ENetPeer * peer, const ENet memcpy (startCommand -> packet -> data + fragmentOffset, (enet_uint8 *) command + sizeof (ENetProtocolSendFragment), fragmentLength); + + if (startCommand -> fragmentsRemaining <= 0) + enet_peer_dispatch_incoming_reliable_commands (peer, channel); } return 0; diff --git a/source/lib/enet.lib b/source/lib/enet.lib index ea7e4cf8..235fdf0d 100644 Binary files a/source/lib/enet.lib and b/source/lib/enet.lib differ