diff options
Diffstat (limited to 'thirdparty')
-rw-r--r-- | thirdparty/README.md | 4 | ||||
-rw-r--r-- | thirdparty/b2d_convexdecomp/b2Glue.h | 3 | ||||
-rw-r--r-- | thirdparty/enet/godot.cpp | 9 | ||||
-rw-r--r-- | thirdparty/libogg/ogg/config_types.h | 2 | ||||
-rw-r--r-- | thirdparty/libwebsockets/plat/lws-plat-win.c | 20 | ||||
-rw-r--r-- | thirdparty/libwebsockets/uwp_fixes.diff | 47 | ||||
-rw-r--r-- | thirdparty/miniupnpc/miniupnpcstrings.h | 2 | ||||
-rw-r--r-- | thirdparty/misc/aes256.h | 2 | ||||
-rw-r--r-- | thirdparty/misc/hq2x.cpp | 2 | ||||
-rw-r--r-- | thirdparty/misc/hq2x.h | 2 | ||||
-rw-r--r-- | thirdparty/misc/md5.h | 2 | ||||
-rw-r--r-- | thirdparty/misc/pcg.h | 2 | ||||
-rw-r--r-- | thirdparty/misc/triangulator.h | 8 | ||||
-rw-r--r-- | thirdparty/misc/yuv2rgb.h | 2 | ||||
-rw-r--r-- | thirdparty/pvrtccompressor/BitScale.h | 2 | ||||
-rw-r--r-- | thirdparty/zstd/1314.diff | 13 | ||||
-rw-r--r-- | thirdparty/zstd/common/cpu.h | 2 |
17 files changed, 101 insertions, 23 deletions
diff --git a/thirdparty/README.md b/thirdparty/README.md index 82b7748194..55f6a71179 100644 --- a/thirdparty/README.md +++ b/thirdparty/README.md @@ -266,6 +266,8 @@ File extracted from upstream source: - Also copy `win32helpers/` from `win32port/` inside `thirdparty/libwebsockets` - A small fix has been added in `libwebsockets/libwebsockets.h` to `#include <sys/socket.h>` for the BSD family. This change has been PRed upstream, and should be merged before the next update. Remember to check and remove this line. +- Another fix has been added to allow building for 32-bits UWP, replacing `GetFileSize[Ex]` and `CreateFileW` with supported functions. + There is a diff for this change in `thirdparty/libwebsockets/uwp_fixes.diff` Important: `lws_config.h` and `lws_config_private.h` contains custom Godot build configurations, check them out when updating. @@ -523,3 +525,5 @@ Files extracted from upstream source: - lib/{common/,compress/,decompress/,zstd.h} - LICENSE + +- Applied the patch in `thirdparty/zstd/1314.diff` (PR 1314 upstream, already merged). Needed to build on UWP ARM. Can be removed when a new version is released with the patch. diff --git a/thirdparty/b2d_convexdecomp/b2Glue.h b/thirdparty/b2d_convexdecomp/b2Glue.h index 10c2f62361..175f75be75 100644 --- a/thirdparty/b2d_convexdecomp/b2Glue.h +++ b/thirdparty/b2d_convexdecomp/b2Glue.h @@ -19,7 +19,8 @@ #ifndef B2GLUE_H #define B2GLUE_H -#include "vector2.h" +#include "core/math/vector2.h" + #include <limits.h> namespace b2ConvexDecomp { diff --git a/thirdparty/enet/godot.cpp b/thirdparty/enet/godot.cpp index 7813b70286..6ba7cf0000 100644 --- a/thirdparty/enet/godot.cpp +++ b/thirdparty/enet/godot.cpp @@ -108,7 +108,7 @@ int enet_socket_bind(ENetSocket socket, const ENetAddress *address) { ENetSocket enet_socket_create(ENetSocketType type) { - PacketPeerUDP *socket = PacketPeerUDP::create(); + PacketPeerUDP *socket = memnew(PacketPeerUDP); socket->set_blocking_mode(false); return socket; @@ -151,7 +151,7 @@ int enet_socket_send(ENetSocket socket, const ENetAddress *address, const ENetBu err = sock->put_packet((const uint8_t *)&w[0], size); if (err != OK) { - if (err == ERR_UNAVAILABLE) { // blocking call + if (err == ERR_BUSY) { // Blocking call return 0; } @@ -168,8 +168,9 @@ int enet_socket_receive(ENetSocket socket, ENetAddress *address, ENetBuffer *buf PacketPeerUDP *sock = (PacketPeerUDP *)socket; - if (sock->get_available_packet_count() == 0) { - return 0; + int pc = sock->get_available_packet_count(); + if (pc < 1) { + return pc; } const uint8_t *buffer; diff --git a/thirdparty/libogg/ogg/config_types.h b/thirdparty/libogg/ogg/config_types.h index 5ea49b8abd..e630657547 100644 --- a/thirdparty/libogg/ogg/config_types.h +++ b/thirdparty/libogg/ogg/config_types.h @@ -1,7 +1,7 @@ #ifndef __CONFIG_TYPES_H__ #define __CONFIG_TYPES_H__ -#include "int_types.h" +#include "core/int_types.h" typedef int16_t ogg_int16_t; typedef uint16_t ogg_uint16_t; diff --git a/thirdparty/libwebsockets/plat/lws-plat-win.c b/thirdparty/libwebsockets/plat/lws-plat-win.c index 948db62896..8a43081ef1 100644 --- a/thirdparty/libwebsockets/plat/lws-plat-win.c +++ b/thirdparty/libwebsockets/plat/lws-plat-win.c @@ -635,9 +635,20 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, HANDLE ret; WCHAR buf[MAX_PATH]; lws_fop_fd_t fop_fd; - LARGE_INTEGER llFileSize = {0}; + FILE_STANDARD_INFO fInfo = {0}; MultiByteToWideChar(CP_UTF8, 0, filename, -1, buf, ARRAY_SIZE(buf)); + +#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0602 // Windows 8 (minimum when UWP_ENABLED, but can be used in Windows builds) + CREATEFILE2_EXTENDED_PARAMETERS extParams = {0}; + extParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL; + + if (((*flags) & 7) == _O_RDONLY) { + ret = CreateFile2(buf, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING, &extParams); + } else { + ret = CreateFile2(buf, GENERIC_WRITE, 0, CREATE_ALWAYS, &extParams); + } +#else if (((*flags) & 7) == _O_RDONLY) { ret = CreateFileW(buf, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); @@ -645,6 +656,7 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, ret = CreateFileW(buf, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); } +#endif if (ret == LWS_INVALID_FILE) goto bail; @@ -657,9 +669,9 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, fop_fd->fd = ret; fop_fd->filesystem_priv = NULL; /* we don't use it */ fop_fd->flags = *flags; - fop_fd->len = GetFileSize(ret, NULL); - if(GetFileSizeEx(ret, &llFileSize)) - fop_fd->len = llFileSize.QuadPart; + fop_fd->len = 0; + if(GetFileInformationByHandleEx(ret, FileStandardInfo, &fInfo, sizeof(fInfo))) + fop_fd->len = fInfo.EndOfFile.QuadPart; fop_fd->pos = 0; diff --git a/thirdparty/libwebsockets/uwp_fixes.diff b/thirdparty/libwebsockets/uwp_fixes.diff new file mode 100644 index 0000000000..5b9d8724ed --- /dev/null +++ b/thirdparty/libwebsockets/uwp_fixes.diff @@ -0,0 +1,47 @@ +diff --git a/thirdparty/libwebsockets/plat/lws-plat-win.c b/thirdparty/libwebsockets/plat/lws-plat-win.c +index 948db6289..511e29739 100644 +--- a/thirdparty/libwebsockets/plat/lws-plat-win.c ++++ b/thirdparty/libwebsockets/plat/lws-plat-win.c +@@ -635,9 +635,20 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, + HANDLE ret; + WCHAR buf[MAX_PATH]; + lws_fop_fd_t fop_fd; +- LARGE_INTEGER llFileSize = {0}; ++ FILE_STANDARD_INFO fInfo = {0}; + + MultiByteToWideChar(CP_UTF8, 0, filename, -1, buf, ARRAY_SIZE(buf)); ++ ++#if defined(_WIN32_WINNT) && _WIN32_WINNT >= 0x0602 // Windows 8 (minimum when UWP_ENABLED, but can be used in Windows builds) ++ CREATEFILE2_EXTENDED_PARAMETERS extParams = {0}; ++ extParams.dwFileAttributes = FILE_ATTRIBUTE_NORMAL; ++ ++ if (((*flags) & 7) == _O_RDONLY) { ++ ret = CreateFile2(buf, GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING, &extParams); ++ } else { ++ ret = CreateFile2(buf, GENERIC_WRITE, 0, CREATE_ALWAYS, &extParams); ++ } ++#else + if (((*flags) & 7) == _O_RDONLY) { + ret = CreateFileW(buf, GENERIC_READ, FILE_SHARE_READ, + NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL); +@@ -645,6 +656,7 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, + ret = CreateFileW(buf, GENERIC_WRITE, 0, NULL, + CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + } ++#endif + + if (ret == LWS_INVALID_FILE) + goto bail; +@@ -657,9 +669,9 @@ _lws_plat_file_open(const struct lws_plat_file_ops *fops, const char *filename, + fop_fd->fd = ret; + fop_fd->filesystem_priv = NULL; /* we don't use it */ + fop_fd->flags = *flags; +- fop_fd->len = GetFileSize(ret, NULL); +- if(GetFileSizeEx(ret, &llFileSize)) +- fop_fd->len = llFileSize.QuadPart; ++ fop_fd->len = 0; ++ if(GetFileInformationByHandleEx(ret, FileStandardInfo, &fInfo, sizeof(fInfo))) ++ fop_fd->len = fInfo.EndOfFile.QuadPart; + + fop_fd->pos = 0; + diff --git a/thirdparty/miniupnpc/miniupnpcstrings.h b/thirdparty/miniupnpc/miniupnpcstrings.h index 1d5c5882fd..a718cc7bbf 100644 --- a/thirdparty/miniupnpc/miniupnpcstrings.h +++ b/thirdparty/miniupnpc/miniupnpcstrings.h @@ -1,7 +1,7 @@ #ifndef MINIUPNPCSTRINGS_H_INCLUDED #define MINIUPNPCSTRINGS_H_INCLUDED -#include <version.h> +#include "core/version.h" #define OS_STRING VERSION_NAME "/1.0" #define MINIUPNPC_VERSION_STRING "2.1" diff --git a/thirdparty/misc/aes256.h b/thirdparty/misc/aes256.h index 8fcc25a4de..150a0670f5 100644 --- a/thirdparty/misc/aes256.h +++ b/thirdparty/misc/aes256.h @@ -21,7 +21,7 @@ #ifndef AES_256_H #define AES_256_H -#include "typedefs.h" +#include "core/typedefs.h" #ifdef __cplusplus extern "C" { diff --git a/thirdparty/misc/hq2x.cpp b/thirdparty/misc/hq2x.cpp index 7ebb505d64..9c089ba85c 100644 --- a/thirdparty/misc/hq2x.cpp +++ b/thirdparty/misc/hq2x.cpp @@ -16,8 +16,8 @@ #include "hq2x.h" -#include "math_funcs.h" +#include "core/math/math_funcs.h" static const uint32_t AMASK = 0xFF000000; static const uint32_t YMASK = 0x00FF0000; diff --git a/thirdparty/misc/hq2x.h b/thirdparty/misc/hq2x.h index 8f119d2a01..bebd917950 100644 --- a/thirdparty/misc/hq2x.h +++ b/thirdparty/misc/hq2x.h @@ -1,7 +1,7 @@ #ifndef HQ2X_H #define HQ2X_H -#include "typedefs.h" +#include "core/typedefs.h" uint32_t *hq2x_resize( diff --git a/thirdparty/misc/md5.h b/thirdparty/misc/md5.h index e99d58b443..14b3cd3ddf 100644 --- a/thirdparty/misc/md5.h +++ b/thirdparty/misc/md5.h @@ -42,7 +42,7 @@ /* NOT typedef a 32 bit type */ -#include "typedefs.h" +#include "core/typedefs.h" /* Data structure for MD5 (Message Digest) computation */ typedef struct { diff --git a/thirdparty/misc/pcg.h b/thirdparty/misc/pcg.h index 81f4c9770e..e2d66d51d5 100644 --- a/thirdparty/misc/pcg.h +++ b/thirdparty/misc/pcg.h @@ -4,7 +4,7 @@ #ifndef RANDOM_H #define RANDOM_H -#include "typedefs.h" +#include "core/typedefs.h" #define PCG_DEFAULT_INC_64 1442695040888963407ULL diff --git a/thirdparty/misc/triangulator.h b/thirdparty/misc/triangulator.h index d1538cfae5..c85792fd50 100644 --- a/thirdparty/misc/triangulator.h +++ b/thirdparty/misc/triangulator.h @@ -21,11 +21,11 @@ #ifndef TRIANGULATOR_H #define TRIANGULATOR_H -#include "list.h" -#include "set.h" -#include "vector2.h" -//2D point structure +#include "core/list.h" +#include "core/math/vector2.h" +#include "core/set.h" +//2D point structure #define TRIANGULATOR_CCW 1 #define TRIANGULATOR_CW -1 diff --git a/thirdparty/misc/yuv2rgb.h b/thirdparty/misc/yuv2rgb.h index d0c2813a75..3ec8388246 100644 --- a/thirdparty/misc/yuv2rgb.h +++ b/thirdparty/misc/yuv2rgb.h @@ -27,7 +27,7 @@ ship it. #ifndef YUV2RGB_H #define YUV2RGB_H -#include "typedefs.h" +#include "core/typedefs.h" static const uint32_t tables[256*3] = { /* y_table */ diff --git a/thirdparty/pvrtccompressor/BitScale.h b/thirdparty/pvrtccompressor/BitScale.h index 36613aeeee..3ea7962f55 100644 --- a/thirdparty/pvrtccompressor/BitScale.h +++ b/thirdparty/pvrtccompressor/BitScale.h @@ -2,7 +2,7 @@ #pragma once -#include "typedefs.h" +#include "core/typedefs.h" //============================================================================ diff --git a/thirdparty/zstd/1314.diff b/thirdparty/zstd/1314.diff new file mode 100644 index 0000000000..c9f4efadbf --- /dev/null +++ b/thirdparty/zstd/1314.diff @@ -0,0 +1,13 @@ +diff --git a/common/cpu.h b/common/cpu.h +index 88e0ebf44..eeb428ad5 100644 +--- a/common/cpu.h ++++ b/common/cpu.h +@@ -36,7 +36,7 @@ MEM_STATIC ZSTD_cpuid_t ZSTD_cpuid(void) { + U32 f1d = 0; + U32 f7b = 0; + U32 f7c = 0; +-#ifdef _MSC_VER ++#if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) + int reg[4]; + __cpuid((int*)reg, 0); + { diff --git a/thirdparty/zstd/common/cpu.h b/thirdparty/zstd/common/cpu.h index 4eb48e39e1..a109520a33 100644 --- a/thirdparty/zstd/common/cpu.h +++ b/thirdparty/zstd/common/cpu.h @@ -36,7 +36,7 @@ MEM_STATIC ZSTD_cpuid_t ZSTD_cpuid(void) { U32 f1d = 0; U32 f7b = 0; U32 f7c = 0; -#ifdef _MSC_VER +#if defined(_MSC_VER) && (defined(_M_X64) || defined(_M_IX86)) int reg[4]; __cpuid((int*)reg, 0); { |