summaryrefslogtreecommitdiff
path: root/thirdparty
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty')
-rw-r--r--thirdparty/README.md4
-rw-r--r--thirdparty/b2d_convexdecomp/b2Glue.h3
-rw-r--r--thirdparty/enet/godot.cpp9
-rw-r--r--thirdparty/libogg/ogg/config_types.h2
-rw-r--r--thirdparty/libwebsockets/plat/lws-plat-win.c20
-rw-r--r--thirdparty/libwebsockets/uwp_fixes.diff47
-rw-r--r--thirdparty/miniupnpc/miniupnpcstrings.h2
-rw-r--r--thirdparty/misc/aes256.h2
-rw-r--r--thirdparty/misc/hq2x.cpp2
-rw-r--r--thirdparty/misc/hq2x.h2
-rw-r--r--thirdparty/misc/md5.h2
-rw-r--r--thirdparty/misc/pcg.h2
-rw-r--r--thirdparty/misc/triangulator.h8
-rw-r--r--thirdparty/misc/yuv2rgb.h2
-rw-r--r--thirdparty/pvrtccompressor/BitScale.h2
-rw-r--r--thirdparty/zstd/1314.diff13
-rw-r--r--thirdparty/zstd/common/cpu.h2
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);
{