parent
18eddfc98d
commit
67313c681d
5 changed files with 77 additions and 68 deletions
35
thirdparty/enet/enet/enet.h
vendored
35
thirdparty/enet/enet/enet.h
vendored
|
@ -13,7 +13,16 @@ extern "C"
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
// -- Godot start --
|
||||||
|
#if 0
|
||||||
|
#ifdef _WIN32
|
||||||
|
#include "enet/win32.h"
|
||||||
|
#else
|
||||||
|
#include "enet/unix.h"
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
#include "enet/godot.h"
|
#include "enet/godot.h"
|
||||||
|
// -- Godot end --
|
||||||
|
|
||||||
#include "enet/types.h"
|
#include "enet/types.h"
|
||||||
#include "enet/protocol.h"
|
#include "enet/protocol.h"
|
||||||
|
@ -69,6 +78,7 @@ typedef enum _ENetSocketShutdown
|
||||||
ENET_SOCKET_SHUTDOWN_READ_WRITE = 2
|
ENET_SOCKET_SHUTDOWN_READ_WRITE = 2
|
||||||
} ENetSocketShutdown;
|
} ENetSocketShutdown;
|
||||||
|
|
||||||
|
#define ENET_HOST_ANY 0
|
||||||
#define ENET_HOST_BROADCAST 0xFFFFFFFFU
|
#define ENET_HOST_BROADCAST 0xFFFFFFFFU
|
||||||
#define ENET_PORT_ANY 0
|
#define ENET_PORT_ANY 0
|
||||||
|
|
||||||
|
@ -82,13 +92,15 @@ typedef enum _ENetSocketShutdown
|
||||||
* but not for enet_host_create. Once a server responds to a broadcast, the
|
* but not for enet_host_create. Once a server responds to a broadcast, the
|
||||||
* address is updated from ENET_HOST_BROADCAST to the server's actual IP address.
|
* address is updated from ENET_HOST_BROADCAST to the server's actual IP address.
|
||||||
*/
|
*/
|
||||||
|
// -- Godot start --
|
||||||
|
#if 0
|
||||||
typedef struct _ENetAddress
|
typedef struct _ENetAddress
|
||||||
{
|
{
|
||||||
uint8_t host[16];
|
enet_uint32 host;
|
||||||
enet_uint16 port;
|
enet_uint16 port;
|
||||||
uint8_t wildcard;
|
|
||||||
} ENetAddress;
|
} ENetAddress;
|
||||||
#define enet_host_equal(host_a, host_b) (memcmp(&host_a, &host_b,16) == 0)
|
#endif
|
||||||
|
// -- Godot end --
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Packet flag bit constants.
|
* Packet flag bit constants.
|
||||||
|
@ -535,16 +547,6 @@ ENET_API int enet_address_set_host_ip (ENetAddress * address, const char * hostN
|
||||||
*/
|
*/
|
||||||
ENET_API int enet_address_set_host (ENetAddress * address, const char * hostName);
|
ENET_API int enet_address_set_host (ENetAddress * address, const char * hostName);
|
||||||
|
|
||||||
/** Sets the host field in the address parameter from ip struct.
|
|
||||||
@param address destination to store resolved address
|
|
||||||
@param ip the ip struct to read from
|
|
||||||
@param size the size of the ip struct.
|
|
||||||
@retval 0 on success
|
|
||||||
@retval != 0 on failure
|
|
||||||
@returns the address of the given ip in address on success.
|
|
||||||
*/
|
|
||||||
ENET_API void enet_address_set_ip(ENetAddress * address, const uint8_t * ip, size_t size);
|
|
||||||
|
|
||||||
/** Gives the printable form of the IP address specified in the address parameter.
|
/** Gives the printable form of the IP address specified in the address parameter.
|
||||||
@param address address printed
|
@param address address printed
|
||||||
@param hostName destination for name, must not be NULL
|
@param hostName destination for name, must not be NULL
|
||||||
|
@ -585,9 +587,6 @@ ENET_API void enet_host_channel_limit (ENetHost *, size_t);
|
||||||
ENET_API void enet_host_bandwidth_limit (ENetHost *, enet_uint32, enet_uint32);
|
ENET_API void enet_host_bandwidth_limit (ENetHost *, enet_uint32, enet_uint32);
|
||||||
extern void enet_host_bandwidth_throttle (ENetHost *);
|
extern void enet_host_bandwidth_throttle (ENetHost *);
|
||||||
extern enet_uint32 enet_host_random_seed (void);
|
extern enet_uint32 enet_host_random_seed (void);
|
||||||
ENET_API void enet_host_dtls_server_setup (ENetHost *, void *, void *);
|
|
||||||
ENET_API void enet_host_dtls_client_setup (ENetHost *, void *, uint8_t, const char *);
|
|
||||||
ENET_API void enet_host_refuse_new_connections (ENetHost *, int);
|
|
||||||
|
|
||||||
ENET_API int enet_peer_send (ENetPeer *, enet_uint8, ENetPacket *);
|
ENET_API int enet_peer_send (ENetPeer *, enet_uint8, ENetPacket *);
|
||||||
ENET_API ENetPacket * enet_peer_receive (ENetPeer *, enet_uint8 * channelID);
|
ENET_API ENetPacket * enet_peer_receive (ENetPeer *, enet_uint8 * channelID);
|
||||||
|
@ -617,6 +616,10 @@ ENET_API size_t enet_range_coder_decompress (void *, const enet_uint8 *, size_t,
|
||||||
|
|
||||||
extern size_t enet_protocol_command_size (enet_uint8);
|
extern size_t enet_protocol_command_size (enet_uint8);
|
||||||
|
|
||||||
|
// -- Godot start --
|
||||||
|
#include "enet/godot_ext.h"
|
||||||
|
// -- Godot end --
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
8
thirdparty/enet/enet/godot.h
vendored
8
thirdparty/enet/enet/godot.h
vendored
|
@ -69,4 +69,12 @@ typedef struct
|
||||||
|
|
||||||
typedef void ENetSocketSet;
|
typedef void ENetSocketSet;
|
||||||
|
|
||||||
|
typedef struct _ENetAddress
|
||||||
|
{
|
||||||
|
uint8_t host[16];
|
||||||
|
uint16_t port;
|
||||||
|
uint8_t wildcard;
|
||||||
|
} ENetAddress;
|
||||||
|
#define enet_host_equal(host_a, host_b) (memcmp(&host_a, &host_b,16) == 0)
|
||||||
|
|
||||||
#endif /* __ENET_GODOT_H__ */
|
#endif /* __ENET_GODOT_H__ */
|
||||||
|
|
18
thirdparty/enet/enet/godot_ext.h
vendored
Normal file
18
thirdparty/enet/enet/godot_ext.h
vendored
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#ifndef __ENET_GODOT_EXT_H__
|
||||||
|
#define __ENET_GODOT_EXT_H__
|
||||||
|
|
||||||
|
/** Sets the host field in the address parameter from ip struct.
|
||||||
|
@param address destination to store resolved address
|
||||||
|
@param ip the ip struct to read from
|
||||||
|
@param size the size of the ip struct.
|
||||||
|
@retval 0 on success
|
||||||
|
@retval != 0 on failure
|
||||||
|
@returns the address of the given ip in address on success.
|
||||||
|
*/
|
||||||
|
ENET_API void enet_address_set_ip(ENetAddress * address, const uint8_t * ip, size_t size);
|
||||||
|
|
||||||
|
ENET_API void enet_host_dtls_server_setup (ENetHost *, void *, void *);
|
||||||
|
ENET_API void enet_host_dtls_client_setup (ENetHost *, void *, uint8_t, const char *);
|
||||||
|
ENET_API void enet_host_refuse_new_connections (ENetHost *, int);
|
||||||
|
|
||||||
|
#endif // __ENET_GODOT_EXT_H__
|
13
thirdparty/enet/patches/dtls_support.patch
vendored
13
thirdparty/enet/patches/dtls_support.patch
vendored
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/thirdparty/enet/enet/enet.h b/thirdparty/enet/enet/enet.h
|
|
||||||
index 966e3a465d..ac7552adb2 100644
|
|
||||||
--- a/thirdparty/enet/enet/enet.h
|
|
||||||
+++ b/thirdparty/enet/enet/enet.h
|
|
||||||
@@ -578,6 +578,8 @@ ENET_API void enet_host_channel_limit (ENetHost *, size_t);
|
|
||||||
ENET_API void enet_host_bandwidth_limit (ENetHost *, enet_uint32, enet_uint32);
|
|
||||||
extern void enet_host_bandwidth_throttle (ENetHost *);
|
|
||||||
extern enet_uint32 enet_host_random_seed (void);
|
|
||||||
+ENET_API void enet_host_dtls_server_setup (ENetHost *, void *, void *);
|
|
||||||
+ENET_API void enet_host_dtls_client_setup (ENetHost *, void *, uint8_t, const char *);
|
|
||||||
|
|
||||||
ENET_API int enet_peer_send (ENetPeer *, enet_uint8, ENetPacket *);
|
|
||||||
ENET_API ENetPacket * enet_peer_receive (ENetPeer *, enet_uint8 * channelID);
|
|
|
@ -1,61 +1,54 @@
|
||||||
diff --git a/thirdparty/enet/enet/enet.h b/thirdparty/enet/enet/enet.h
|
diff --git a/thirdparty/enet/enet/enet.h b/thirdparty/enet/enet/enet.h
|
||||||
index 650b199ee5..246cbb0a62 100644
|
index 54d91b5603..24d36647d9 100644
|
||||||
--- a/thirdparty/enet/enet/enet.h
|
--- a/thirdparty/enet/enet/enet.h
|
||||||
+++ b/thirdparty/enet/enet/enet.h
|
+++ b/thirdparty/enet/enet/enet.h
|
||||||
@@ -10,13 +10,10 @@ extern "C"
|
@@ -10,13 +10,19 @@ extern "C"
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
+#include <stdint.h>
|
+#include <stdint.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
|
||||||
-#ifdef _WIN32
|
+// -- Godot start --
|
||||||
-#include "enet/win32.h"
|
+#if 0
|
||||||
-#else
|
#ifdef _WIN32
|
||||||
-#include "enet/unix.h"
|
#include "enet/win32.h"
|
||||||
-#endif
|
#else
|
||||||
|
#include "enet/unix.h"
|
||||||
|
#endif
|
||||||
|
+#endif
|
||||||
+#include "enet/godot.h"
|
+#include "enet/godot.h"
|
||||||
|
+// -- Godot end --
|
||||||
|
|
||||||
#include "enet/types.h"
|
#include "enet/types.h"
|
||||||
#include "enet/protocol.h"
|
#include "enet/protocol.h"
|
||||||
@@ -72,7 +69,6 @@ typedef enum _ENetSocketShutdown
|
@@ -86,11 +92,15 @@ typedef enum _ENetSocketShutdown
|
||||||
ENET_SOCKET_SHUTDOWN_READ_WRITE = 2
|
* but not for enet_host_create. Once a server responds to a broadcast, the
|
||||||
} ENetSocketShutdown;
|
* address is updated from ENET_HOST_BROADCAST to the server's actual IP address.
|
||||||
|
|
||||||
-#define ENET_HOST_ANY 0
|
|
||||||
#define ENET_HOST_BROADCAST 0xFFFFFFFFU
|
|
||||||
#define ENET_PORT_ANY 0
|
|
||||||
|
|
||||||
@@ -88,9 +84,11 @@ typedef enum _ENetSocketShutdown
|
|
||||||
*/
|
*/
|
||||||
|
+// -- Godot start --
|
||||||
|
+#if 0
|
||||||
typedef struct _ENetAddress
|
typedef struct _ENetAddress
|
||||||
{
|
{
|
||||||
- enet_uint32 host;
|
enet_uint32 host;
|
||||||
+ uint8_t host[16];
|
|
||||||
enet_uint16 port;
|
enet_uint16 port;
|
||||||
+ uint8_t wildcard;
|
|
||||||
} ENetAddress;
|
} ENetAddress;
|
||||||
+#define enet_host_equal(host_a, host_b) (memcmp(&host_a, &host_b,16) == 0)
|
+#endif
|
||||||
|
+// -- Godot end --
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Packet flag bit constants.
|
* Packet flag bit constants.
|
||||||
@@ -519,6 +517,16 @@ ENET_API int enet_socketset_select (ENetSocket, ENetSocketSet *, ENetSock
|
@@ -606,6 +616,10 @@ ENET_API size_t enet_range_coder_decompress (void *, const enet_uint8 *, size_t,
|
||||||
*/
|
|
||||||
ENET_API int enet_address_set_host (ENetAddress * address, const char * hostName);
|
|
||||||
|
|
||||||
+/** Sets the host field in the address parameter from ip struct.
|
extern size_t enet_protocol_command_size (enet_uint8);
|
||||||
+ @param address destination to store resolved address
|
|
||||||
+ @param ip the ip struct to read from
|
+// -- Godot start --
|
||||||
+ @param size the size of the ip struct.
|
+#include "enet/godot_ext.h"
|
||||||
+ @retval 0 on success
|
+// -- Godot end --
|
||||||
+ @retval != 0 on failure
|
|
||||||
+ @returns the address of the given ip in address on success.
|
|
||||||
+*/
|
|
||||||
+ENET_API void enet_address_set_ip(ENetAddress * address, const uint8_t * ip, size_t size);
|
|
||||||
+
|
+
|
||||||
/** Gives the printable form of the IP address specified in the address parameter.
|
#ifdef __cplusplus
|
||||||
@param address address printed
|
}
|
||||||
@param hostName destination for name, must not be NULL
|
#endif
|
||||||
diff --git a/thirdparty/enet/host.c b/thirdparty/enet/host.c
|
diff --git a/thirdparty/enet/host.c b/thirdparty/enet/host.c
|
||||||
index 3be6c0922c..fc4da4ca67 100644
|
index 3be6c0922c..fc4da4ca67 100644
|
||||||
--- a/thirdparty/enet/host.c
|
--- a/thirdparty/enet/host.c
|
||||||
|
@ -70,10 +63,10 @@ index 3be6c0922c..fc4da4ca67 100644
|
||||||
host -> receivedData = NULL;
|
host -> receivedData = NULL;
|
||||||
host -> receivedDataLength = 0;
|
host -> receivedDataLength = 0;
|
||||||
diff --git a/thirdparty/enet/protocol.c b/thirdparty/enet/protocol.c
|
diff --git a/thirdparty/enet/protocol.c b/thirdparty/enet/protocol.c
|
||||||
index 29d648732d..ab26886de4 100644
|
index 0a60253173..fefc0e6f0a 100644
|
||||||
--- a/thirdparty/enet/protocol.c
|
--- a/thirdparty/enet/protocol.c
|
||||||
+++ b/thirdparty/enet/protocol.c
|
+++ b/thirdparty/enet/protocol.c
|
||||||
@@ -298,7 +298,7 @@ enet_protocol_handle_connect (ENetHost * host, ENetProtocolHeader * header, ENet
|
@@ -307,7 +307,7 @@ enet_protocol_handle_connect (ENetHost * host, ENetProtocolHeader * header, ENet
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (currentPeer -> state != ENET_PEER_STATE_CONNECTING &&
|
if (currentPeer -> state != ENET_PEER_STATE_CONNECTING &&
|
||||||
|
@ -82,7 +75,7 @@ index 29d648732d..ab26886de4 100644
|
||||||
{
|
{
|
||||||
if (currentPeer -> address.port == host -> receivedAddress.port &&
|
if (currentPeer -> address.port == host -> receivedAddress.port &&
|
||||||
currentPeer -> connectID == command -> connect.connectID)
|
currentPeer -> connectID == command -> connect.connectID)
|
||||||
@@ -1010,9 +1010,8 @@ enet_protocol_handle_incoming_commands (ENetHost * host, ENetEvent * event)
|
@@ -1027,9 +1027,8 @@ enet_protocol_handle_incoming_commands (ENetHost * host, ENetEvent * event)
|
||||||
|
|
||||||
if (peer -> state == ENET_PEER_STATE_DISCONNECTED ||
|
if (peer -> state == ENET_PEER_STATE_DISCONNECTED ||
|
||||||
peer -> state == ENET_PEER_STATE_ZOMBIE ||
|
peer -> state == ENET_PEER_STATE_ZOMBIE ||
|
||||||
|
@ -94,7 +87,7 @@ index 29d648732d..ab26886de4 100644
|
||||||
(peer -> outgoingPeerID < ENET_PROTOCOL_MAXIMUM_PEER_ID &&
|
(peer -> outgoingPeerID < ENET_PROTOCOL_MAXIMUM_PEER_ID &&
|
||||||
sessionID != peer -> incomingSessionID))
|
sessionID != peer -> incomingSessionID))
|
||||||
return 0;
|
return 0;
|
||||||
@@ -1054,7 +1053,7 @@ enet_protocol_handle_incoming_commands (ENetHost * host, ENetEvent * event)
|
@@ -1071,7 +1070,7 @@ enet_protocol_handle_incoming_commands (ENetHost * host, ENetEvent * event)
|
||||||
|
|
||||||
if (peer != NULL)
|
if (peer != NULL)
|
||||||
{
|
{
|
Loading…
Reference in a new issue