From 355f35c7197938c7a2bfadb6befad10c2738120f Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sun, 23 May 2021 15:27:42 +1000 Subject: [PATCH] Fix multiplayer not working --- src/Platform_Web.c | 4 +++- src/interop_web.js | 14 +++++--------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/src/Platform_Web.c b/src/Platform_Web.c index 30b65906b..7f9dddf77 100644 --- a/src/Platform_Web.c +++ b/src/Platform_Web.c @@ -283,7 +283,9 @@ cc_result Socket_GetError(cc_socket s, cc_result* result) { cc_result Socket_Connect(cc_socket s, const cc_string* ip, int port) { char addr[NATIVE_STR_LEN]; Platform_EncodeUtf8(addr, ip); - return interop_SocketConnect(s, addr, port); + + /* returned result is negative for error */ + return -interop_SocketConnect(s, addr, port); } cc_result Socket_Read(cc_socket s, cc_uint8* data, cc_uint32 count, cc_uint32* modified) { diff --git a/src/interop_web.js b/src/interop_web.js index 141f2f82c..ad0f4e8be 100644 --- a/src/interop_web.js +++ b/src/interop_web.js @@ -203,17 +203,13 @@ mergeInto(LibraryManager.library, { getPending:function(fd) { var sock = this.sockets[fd]; if (!sock) return this.EBADF; - - var bytes = 0; - if (sock.recv_queue.length) { - bytes = sock.recv_queue[0].data.length; - } - return bytes; + + return sock.recv_queue.length; }, getError:function(fd) { var sock = this.sockets[fd]; if (!sock) return this.EBADF; - + return sock.error || 0; }, close:function(fd) { @@ -277,8 +273,8 @@ mergeInto(LibraryManager.library, { sock.recv_queue.unshift(packet); } - HEAPU8.set(msg.buffer, dst); - return msg.buffer.byteLength; + HEAPU8.set(msg, dst); + return msg.byteLength; } }; },