Commit Graph

183 Commits

Author SHA1 Message Date
564d93ff10 CryptoCore class to access to base crypto utils.
Godot core needs MD5/SHA256/AES/Base64 which used to be provided by
separate libraries.
Since we bundle mbedtls in most cases, and we can easily only include
the needed sources if we so desire, let's use it.

To simplify library changes in the future, and better isolate header
dependencies all functions have been wrapped around inside a class in
`core/math/crypto_base.h`.

If the mbedtls module is disabled, we only bundle the needed source
files independently of the `builtin_mbedtls` option.
If the module is enabled, the `builtin_mbedtls` option works as usual.

Also remove some unused headers from StreamPeerMbedTLS which were
causing build issues.
2019-07-02 12:36:27 +02:00
78907d91f1 Update miniupnpc library to latest master 2019-06-30 17:49:40 +02:00
99acec63f1 bullet: Sync with current upstream master branch
This updates our local copy to commit 5ec8339b6fc491e3f09a34a4516e82787f053fcc.
We need a recent master commit for some new features that we use in Godot
(see #25543 and #28909).

To avoid warnings generated by Bullet headers included in our own module,
we include those headers with -isystem on GCC and Clang.

Fixes #29503.
2019-06-11 13:19:42 +02:00
9bf48db891 Build Clipper with tools=no and patch it to auto-disable exceptions
Reverts "Build polygon clipper only in tools builds" (see #17319)
which allows to build Clipper with tools disabled (release) and because
of that, Clipper has to be patched to optionally disable exceptions in
order to be built on some platforms.

Patched Clipper 6.4.2 to be compiled with exceptions enabled/disabled.
and ensure that Clipper-specific exception macros are defined: don't use
exceptions by default unless exception handling is detected.

Compilation with exceptions will be determined by various
C++ exceptions defines:

* ` __cpp_exceptions` is part of C++ feature testing macros (since C++98);
* `__EXCEPTIONS` is used by some GNU compilers;
* `_CPPUNWIND` is used by MSVC.

The user can override specific exceptions behavior via corresponding
`*_USER` macros (i.e. compiling for embedded systems).
2019-05-22 13:12:21 +03:00
be414e4476 Revert "Update libwebsockets to 3.1 (plus UWP patch)"
This reverts commit 90210c4862.
2019-05-01 14:41:47 +02:00
12cc760538 Merge pull request #26051 from 20kdc/videofix
webm/theora/yuv2rgb/libsimplewebm: Fix colour issues I could find.
2019-04-30 13:38:44 +02:00
225b61ab2a libpng: Update to upstream 1.6.37
Fixes CVE-2019-7317.
2019-04-26 10:37:22 +02:00
1e67f214c5 Merge pull request #27817 from fire/assimp_d3d98a
Update Assimp to master at d3d98a7ec0c8d38e1952b46dfe53f7e9233dc92d
2019-04-22 12:00:06 +02:00
5899972049 Merge pull request #27554 from volzhs/freetype-2.10.0
Update freetype to 2.10.0
2019-04-20 20:00:56 +02:00
8269ed9cdf Merge pull request #28196 from akien-mga/xatlas-cleanup
xatlas: Document provenance, copyright and custom changes
2019-04-19 12:59:41 +02:00
1e39fee140 xatlas: Revert to unmodified upstream code, add to COPYRIGHT
Imported by @reduz from b8ec29b6b6
Custom changes will be remade properly in the next commit.
2019-04-19 12:39:26 +02:00
6640f397f1 Drop unused thekla_atlas dependency
Since f12cb82 @reduz dropped the use of the thirdparty thekla_atlas
library, which is replaced by xatlas.

Fixes #28180.
Fixes #28182.
2019-04-19 11:42:58 +02:00
88cb9bd27f zstd: Update to upstream 1.4.0
One step towards fixing #17374 as most experimental APIs we use are now
part of the stable 1.4.0.
2019-04-18 12:39:11 +02:00
668439d16a vhacd: Reapply downstream changes to namespace conflicting bullet code
Also adding a patch to easily identify and reapply them.
2019-04-11 18:20:32 +02:00
531b158897 vhacd: Recommit unmodified upstream code without style changes
Godot-specific changes will then be redone without touching upstream formatting.
Also documented current state in thirdparty/README.md and added LICENSE.

Add vhacd to COPYRIGHT.txt.
2019-04-11 18:11:59 +02:00
cc72bc6713 Update Assimp to master at d3d98a7ec0c8d38e1952b46dfe53f7e9233dc92d
* ASCII FBX embedded content
* Improved uv scaling metadata
2019-04-09 07:42:31 -07:00
793b0de197 Add Assimp library in thirdparty
From https://github.com/assimp/assimp repo at d2b45377e4b09a1f43be95e45553afcc06b03f4b
2019-04-05 07:17:52 -07:00
a6300b454d Update freetype to 2.10.0 2019-03-31 23:20:36 +09:00
e3ddf12693 Add fix to libwebsocket to disable V6ONLY.
This was enabled by default on some systems (e.g. Windows).
2019-03-06 06:29:46 +01:00
90210c4862 Update libwebsockets to 3.1 (plus UWP patch) 2019-03-06 02:02:52 +01:00
ab11496a92 Merge pull request #26586 from akien-mga/tinyexr-65f9859
tinyexr: Sync with upstream 65f9859
2019-03-04 16:41:04 +01:00
fcabdf9e83 Merge pull request #26585 from akien-mga/pcre2-10.32
pcre2: Sync with upstream 10.32
2019-03-04 16:14:25 +01:00
f173f8625d Merge pull request #26584 from akien-mga/nanosvg-c1f6e20
nanosvg: Sync with upstream c1f6e20
2019-03-04 15:20:44 +01:00
a1d707f9de Merge pull request #26583 from akien-mga/stb-truetype-1.21-vorbis-1.15
stb: Update to upstream stb_truetype 1.21 and stb_vorbis 1.15
2019-03-04 15:12:10 +01:00
a9e48b981d Updates to thirdparty README and COPYRIGHT
Notably, we now track stable Bullet 2.88, so distros can
unbundle it again.
2019-03-04 14:51:16 +01:00
9ce6588466 tinyexr: Sync with upstream 65f9859 2019-03-04 14:33:42 +01:00
0455bc64b6 pcre2: Sync with upstream 10.32 2019-03-04 14:25:49 +01:00
43d6774dcc nanosvg: Sync with upstream c1f6e20 2019-03-04 14:11:26 +01:00
f102546f34 stb: Update to upstream stb_truetype 1.21 and stb_vorbis 1.15 2019-03-04 14:06:31 +01:00
d2c57e8431 Merge pull request #26577 from akien-mga/webp-1.0.2
libwebp: Sync with upstream 1.0.2
2019-03-04 13:49:50 +01:00
93f6a065f8 libwebp: Sync with upstream 1.0.2 2019-03-04 13:13:33 +01:00
e860d69183 glad: Sync with upstream 0.1.29 2019-03-04 12:48:43 +01:00
b09f3f93af opus: Better sync sources list with upstream buildsystem 2019-02-28 14:27:56 +01:00
e33e0a5ea7 Disable support for VIA Padlock
This code defines a symbol 'unsupported' which is also in a newer
version of libwebsockets. To fix 32bit linux builds just disable
padlock support. Processors that support this are rare and old.
2019-02-24 00:11:35 +00:00
006f6f5ba1 Sync libsimplewebm with fe57fd3 (but not the libwebm sub-lib)
This is to get the colourspace information commit in,
 but it also performs a bit of cleanup regarding the entry in the thirdparty README.

The reason libwebm wasn't synced is because it has a bunch of unmarked changes,
 and it'd be better if the person responsible untangled that as
 they may know what they did and why they did it.

Given this, it might be a good idea to disconnect libwebm from the libsimplewebm code.
2019-02-21 20:43:41 +00:00
51c9ffaec0 Drop RtAudio driver on Windows
We've been defaulting to WASAPI since 3.0 and it's superior to RtAudio
in all aspects.

Obsoletes and closes #25503.

Also enable WINMIDI on MinGW, this had been missed initially.

Fix os_windows.cpp and crash_handler_windows.cpp which had weird
dependencies on RtAudio.h's includes (ugh).
2019-02-20 13:47:01 +01:00
2e495c73d6 Bump mbedTLS to version 2.16 (LTS version) 2019-02-20 01:30:32 +01:00
8c67b43ba1 theora: Add upstream patch to fix UB warning
Patch from https://git.xiph.org/?p=theora.git;a=commit;h=0ae66d565e6bead8604d312bc1a4e9dccf245c88
Fixes #25221.
2019-01-23 12:02:36 +01:00
22b7c9dfa8 Update Bullet to the latest commit 126b676 2019-01-07 12:30:35 +01:00
e64391f47b Update zstd to 1.3.8 2019-01-03 22:35:20 -02:00
123710123d Merge pull request #24503 from akien-mga/certs-update-f29
certs: Sync with latest ca-certificates-2018.2.26-2.fc29
2018-12-20 19:13:11 +01:00
6770357e47 Android: Better identify thirdparty C/C++ code
- The `cpu-features.{c,h}` code was only used by chance by the webm
  (libvpx) code, so I moved it there. It was actually introduced before
  that and wasn't in use, and libvpx just happened to be able to
  compile thanks to it being bundled.
  It could potentially be compiled on the fly from the Android NDK, but
  since we plan to replace the webm module by a GDNative plugin in the
  near future, I went the bundling route.

- `ifaddrs_android.h` is already provided in the Android NDK as
  `ifaddrs.h`, same as on other Unixes. Yet we cannot use it until we
  up the min API level to 24, where `getifaddrs` is first defined.
  I moved the files to `thirdparty/misc` and synced them with upstream
  WebRTC (only indentation changes and removal of `static` qualifiers).

Also removes dropped thirdparty files from COPYRIGHT.txt after changes
in #24105 and #24145.
2018-12-20 13:07:54 +01:00
e50407d2d2 certs: Sync with latest ca-certificates-2018.2.26-2.fc29 2018-12-20 13:04:39 +01:00
fa024537a3 Merge pull request #24258 from volzhs/libwebp-1.0.1
Update libwebp to 1.0.1
2018-12-10 14:58:13 +01:00
d4133ac844 Update libwebp to 1.0.1 2018-12-10 22:34:39 +09:00
9105538b45 TinyEXR: Sync with upstream master branch
Fixes #24247.
2018-12-10 08:15:16 +01:00
1a41daf3d8 glad: Sync with upstream 0.1.28 2018-11-23 00:53:45 +01:00
3703655ce2 Update libwebsocket to 3.0.1 2018-11-03 17:45:33 +01:00
82f2674e8d Move Penner easing equations to thirdparty/misc
It was Godot-ified and integrated into Tween originally (#628)
without mention that it was thirdparty code, but it's actually
derived from https://github.com/jesusgollonet/ofpennereasing.

It's also very bad quality code and should be replaced by a better,
properly-maintained library of easing equations.
2018-09-28 16:01:26 +02:00
f12a1b8863 Add SimplexNoise and NoiseTexture as new resources
SimplexNoise can be used to generate parameterized fractal noise based on Open Simplex.

NoiseTexture uses SimplexNoise to generate noise textures for using in
shaders/visual effects.
2018-09-14 15:24:34 +02:00