Commit Graph

467 Commits

Author SHA1 Message Date
volzhs 65f2ab1b61 Update libwebp to 1.1.0 2020-01-17 03:49:31 +09:00
Rémi Verschelde 29e07dfa4e bullet: Sync with upstream 2.89
This allows distro unbundling again for distros that ship Bullet 2.89+.
2020-01-08 18:05:43 +01:00
Fabio Alessandrelli 141da69c84
Merge pull request #34843 from akien-mga/enet-1.3.14
enet: Sync with upstream 1.3.14
2020-01-06 17:30:36 +01:00
Rémi Verschelde 078527465f
Merge pull request #33566 from akien-mga/xatlas-5b9de84
xatlas: Sync with upstream e12ea82
2020-01-06 14:20:08 +01:00
Rémi Verschelde c35f461445 enet: Sync with upstream 1.3.14
We still have local modifications necessary for IPv6 support
and using Godot sockets.
2020-01-05 19:19:56 +01:00
Rémi Verschelde 571c713a5e enet: Resync with upstream we forked at, add patch
Before rebasing on the newly released enet 1.3.14, let's resync with the actual
commit we initially imported, which seems to be:
f46fee0acc
2020-01-05 19:15:23 +01:00
Rémi Verschelde a7f49ac9a1 Update copyright statements to 2020
Happy new year to the wonderful Godot community!

We're starting a new decade with a well-established, non-profit, free
and open source game engine, and tons of further improvements in the
pipeline from hundreds of contributors.

Godot will keep getting better, and we're looking forward to all the
games that the community will keep developing and releasing with it.
2020-01-01 11:16:22 +01:00
Rémi Verschelde 84a3d3b981 xatlas: Sync with upstream e12ea82 2019-12-22 11:23:44 +01:00
Rémi Verschelde f111d1aaed Drop b2d_convexdecomp. no longer necessary.
We now use `thirdparty/misc/triangulator.h` for all physics-related
(collision, navigation) triangulation needs.

Follow-up to #34293.
2019-12-13 23:29:52 +01:00
Rémi Verschelde 19252d48ed vhacd: Patch to fix UWP ARM build
This is a very outdated copy of Bullet's btScalar.h,
we're probably only discovering the tip of the bad
cross-platform compatibility of the unmaintained vhacd.
2019-12-13 17:46:51 +01:00
James Westman 589eb80a90 Fix build on musl-based systems
On some systems, including Alpine Linux, musl is used instead of
glibc. This commit patches the third-party V-HACD module to provide
a macro not provided by musl.

Fixes #31555.
2019-12-10 15:54:32 -06:00
Ignacio Etcheverry 066ae9d83b Mono/C#: Several android fixes
- Added correct config file for android dllmaps.
- Fix __Internal DllImports with a dlopen fallback.
- Add missing P/Invoke functions and internal calls expected by the monodroid BCL and our custom version of the 'Android.Runtime.AndroidEnvironment' class (this last one can be found in the godot-mono-builds repo).
- Make sure to set 'btls' instead of 'legacy' as the default TLS provider on Android.
2019-12-04 19:03:42 +01:00
Rémi Verschelde 46ae64cd60 Revert "Update opus to 1.3.1 and opusfile to 0.11"
This reverts commit e00426c512.

The way we handle platform-specific intrinsics is not good, so the
current state will not compile on armv8. This commit also requires
SSE4.1 support, which is likely not a good idea for portable binaries.

We'll have to redo this with more caution after 3.2 is released, or
we might simply drop opus as we're only using it as dependency for
theora right now.

Fixes #33606.
2019-11-18 09:56:48 +01:00
Rémi Verschelde 974646309b Revert "opus: Packaging fixups after #33311"
This reverts commit 0387657fa4.
2019-11-18 09:56:09 +01:00
Rémi Verschelde 0387657fa4 opus: Packaging fixups after #33311
Removes the custom code for VS2012 support in config.h,
and reduces diff with upstream config.h.

We still have many custom defines for ARM optimizations
which we probably don't use properly, since we don't
compile the included asm code, so a thorough review and
cleanup would be welcome.
2019-11-12 12:58:32 +01:00
Rémi Verschelde 7d836a7cc3
Merge pull request #33565 from akien-mga/vhacd-b07958e
vhacd: Sync with upstream b07958e
2019-11-12 09:57:10 +01:00
Rémi Verschelde 466e867d77
Merge pull request #33563 from akien-mga/tinyexr-656bb61
tinyexr: Sync with upstream 656bb61
2019-11-12 09:53:40 +01:00
Rémi Verschelde cbc5d9405f
Merge pull request #33562 from akien-mga/nanosvg-25241c5
nanosvg: Sync with upstream c1f6e20
2019-11-12 09:52:47 +01:00
Rémi Verschelde 604891a87d
Merge pull request #33561 from akien-mga/miniupnpc-0ab1d67
miniupnpc: Sync with upstream master (0ab1d67)
2019-11-12 09:49:45 +01:00
Rémi Verschelde f6e62f1147
Merge pull request #33560 from akien-mga/mbedtls-2.16.3
mbedtls: Update to upstream version 2.16.3
2019-11-12 09:49:38 +01:00
Rémi Verschelde 424d2fcfb4 vhacd: Sync with upstream b07958e
Nothing to see here, it is just a cosmetic sync to confirm
that we have the latest upstream changes.
2019-11-12 09:24:09 +01:00
Rémi Verschelde 6a2c2e5062 tinyexr: Sync with upstream 656bb61 2019-11-12 09:17:05 +01:00
Rémi Verschelde 097b746fdd nanosvg: Sync with upstream c1f6e20
Now formally unmaintained, so probably no further sync to expect
from this repository.
2019-11-12 09:12:11 +01:00
Rémi Verschelde e2fbfb1ded miniupnpc: Sync with upstream master (0ab1d67) 2019-11-12 09:06:31 +01:00
Rémi Verschelde a3d77be53b mbedtls: Update to upstream version 2.16.3 2019-11-12 08:56:18 +01:00
Rémi Verschelde 92c3b6c85e glad: Sync with upstream 0.1.33 2019-11-12 08:45:51 +01:00
Rémi Verschelde ba4c808721
Merge pull request #33311 from SneakyFish5/update-opus
Update opus to 1.3.1 and opusfile to 0.11
2019-11-12 07:55:25 +01:00
Rémi Verschelde 01e24447a5
Merge pull request #33524 from SneakyFish5/update-std-vorbis
Update stb_vorbis to 1.17
2019-11-10 18:08:31 +01:00
Jonathan Mannancheril 97af5569d9 Update stb_vorbis to 1.17 2019-11-10 10:31:24 -06:00
Jonathan Mannancheril 55afd6e784 Update zstd to 1.4.4 2019-11-09 23:20:49 -06:00
unknown e00426c512 Update opus to 1.3.1 and opusfile to 0.11 2019-11-09 13:06:56 -06:00
RevoluPowered 5fb160c7c6 Updated assimp to 308db73 from https://github.com/assimp/assimp/ 2019-11-05 20:38:26 +00:00
RevoluPowered 0bd877780f FBX Importer Generation 3
Basic skin support

Various fixes

- Fixes bind mount id and mesh index
- Fixed duplicate nodes being created
- Prevented leak when instances being freed during re-import.
- Improved camera and light transform import
- skeleton handling and technical debt removal
- ASSIMP: bone nodes were unlinked from bones by this code
- bone_add working can distinguish between armatutes
- Updated transform to be the correct offset
- Added safety for state.root node errors
- Fixed memory leak with leaf bones
- Implemented children re-parenting for mesh template
- import_animation fixes to basic skeleton data
- Adds some more debug messages
- Fixed Godot import segfault
- Fix build failing on mono
- Clear resources we use which are no longer required after import
- Fixed bone duplication issue
- Working skeleton_bone_map which can lookup armatures properly now.
- Fixed stack being used up when mesh swapped & Fixed bone ID

Additional notes:
We use a mesh template which is a fake node to instance the initial
mesh nodes . This is to ensure the entire tree can be built.

We replace mesh node templates with the real mesh after the
skeleton is available, since this makes it ensure that the fully
built skeleton exists with all bones, all nodes, etc.

The bone stack is a stack which pops when it finds bones,
this overcomes duplicate bones with the same names.

FBX has lots of these because animation armature has bone names like bone001
and another armature will also have bone001
Fixed errors in node path assignment

Simple explanation:
- Every mesh uses a node from the stack
- Node stack was empties before completed
- Every time node not found, stack must be rebuilt to maintain correct armature order :)

Additional fixes:
- Fixes destructor in assimp
- Implements aiNode* mArmature in bone data
- Implements aiNode* mParent in bone data
- Fixes parent ID on bones.

Implemented skeleton assignment in generate_mesh_indicies

This is the only place we can safely do a lookup for the skeleton for the mesh.h
I used a pointer reference so we can pass this back out, since the skeleton assignment happens inside the function.

Added mesh re-parenting to the armature node this is a permanent feature and must be enforced, just like GLTF2 specification.

Fixed import_animation spawning tracks per skin
2019-11-05 17:54:57 +00:00
Rémi Verschelde 68dc6c6c62
Merge pull request #33254 from SneakyFish5/update-zstd
Update zstd to 1.4.3
2019-11-03 18:07:34 +01:00
unknown 61ad365fc9 Update zstd to 1.4.3 2019-11-03 10:37:48 -06:00
Jonathan Mannancheril e70e894433
Add new file in libogg readme 2019-10-31 17:30:36 -05:00
Jonathan Mannancheril 6eb8c11d32 Update libogg to upstream c8fca6b 2019-10-30 19:03:26 -05:00
volzhs 074d421dca Update libwebp to 1.0.3 2019-10-27 21:29:43 +09:00
Hugo Locurcio 379e1789dd
Remove unused stb_truetype-based DynamicFont implementation
The DynamicFont implementation currently in use is based on
FreeType, which provides much better visual quality.

This old implementation wasn't exposed anywhere, so this shouldn't
break compatibility.

This decreases binary sizes by a few kilobytes.
2019-10-03 01:19:02 +02:00
RevoluPowered 269ba00fd3 Implemented maya stingray support 2019-09-19 16:45:33 +01:00
RevoluPowered efd6f6dbad Implemented basic texture mapping for PBR material definitions
This reads materials properly from Maya and expands on existing functionality to make this work properly.

aiTextureType_SHININESS no longer used as not appropriate for PBR texture as it is legacy.

This fix will be also present in assimp soon.
2019-09-19 16:45:33 +01:00
Gordon MacPherson ad214c0356 Assimp FBX Import support
Issues fixed:
- Updated assimp to latest and backported fixes into godot.
- Fixed file scale being ignored from FBX file.
- Fixed bone removal
- Implemented proper armature binding
- Fixed recursion not always going through the entire path
- Implemented assimp global scaling system
- Fixed assimp global scale process to support unit conversion
- Implemented proper fbx scaling
- Fixed asserts caused by missing faces in some models which could crash
- Fixed valid bone removal
- Fixed root node being overwriten by assimp which caused data loss
- Fixed armature construction so that it works with multiple roots
- Implemented basic support for FBX standard materials
- Refactoring to improve code quality and improve function reuse.
- Simplified node creation from assimp scene into subsections: create_light, create_mesh, create_bone.
- Creating meshes is now done after hierarchy is created so that the skeleton is always available.
- Added support to assimp to support file scale in all formats which call SetFileScale.
- Many other fixes provided into assimp.

Known issues:
- FBX pivots from Maya do not currently work. (workaround: for now use blender import and export to remove pivot tracks)
- Hierarchy creates an extra node for each mesh - this was done intentionally but we intended to do a pass to remove these as they're a required node.
- When an animated mesh has not executed any animation the rest pose is wrong.

Co-authored-by: K. S. Ernest (iFire) Lee <ernest.lee@chibifire.com>
2019-09-01 19:08:34 +01:00
K. S. Ernest Lee c3c805aff8 Tweak xatlas and import new version b4b5426
* Avoid xatlas crash
* Enable alignment and disable bruteforce for speedups
* Update xatlas to b4b5426
* Delete old patches
2019-08-28 01:12:56 -07:00
follower 84698dfa3d Fix error when building assimp on older Mac OS X version.
Prevents this error when building with Mac OS X 10.9 SDK:

    error: no member named 'atoi' in namespace 'std'; did you mean simply 'atoi'?
2019-08-02 04:19:51 +12:00
Rémi Verschelde 4b7b1b0d4a
Merge pull request #30945 from RevoluPowered/feature/assimp_update
Updated assimp to commit 1d565b0 with iFire
2019-07-30 20:47:34 +02:00
RevoluPowered 243f400ee2 Updated assimp to commit 1d565b0 with iFire
Signed-off-by: RevoluPowered <gordon@gordonite.tech>
Signed-off-by: K. S. Ernest (iFIre) Lee <ernest.lee@chibifire.com>
2019-07-30 18:59:29 +01:00
Rémi Verschelde 5c333270ed jpgd.h: Backport security vulnerabilities fixes from Google Android
Squashed version of https://github.com/richgel999/jpeg-compressor/pull/10
with the line endings fixed (DOS to Unix).

See https://github.com/richgel999/jpeg-compressor/pull/10 and #30952
for details. Relates to CVE-2017-0700.

Fixes #30952.
2019-07-30 12:32:57 +02:00
Rémi Verschelde b81fa47f38 zstd: Update to upstream version 1.4.1 2019-07-20 20:47:07 +02:00
K. S. Ernest (iFIre) Lee a04e99ce4d Update xatlas to f65a664.
xatlas is now multicore.
2019-07-16 14:35:56 -07:00
Rémi Verschelde eb98c5e047
Merge pull request #30129 from fire/xatlas_update
[WIP] Update xatlas to latest upstream commit (1efe581).
2019-07-11 19:44:55 +02:00
Rémi Verschelde 8a1dc8393a
Merge pull request #30515 from akien-mga/tinyexr-a685e33
tinyexr: Sync with upstream a685e33
2019-07-11 13:45:43 +02:00
Rémi Verschelde 41c28aae9a
Merge pull request #30514 from akien-mga/pcre2-10.33
pcre2: Update to upstream version 10.33
2019-07-11 13:45:27 +02:00
Rémi Verschelde 60c6cf9f71
Merge pull request #30513 from akien-mga/stb_vorbis-1.16
stb_vorbis: Update to upstream version 1.16
2019-07-11 13:45:14 +02:00
Rémi Verschelde 36d587fc7f
Merge pull request #30512 from akien-mga/glad-0.1.31
glad: Sync with upstream 0.1.31
2019-07-11 13:45:02 +02:00
Rémi Verschelde af5c02def8
Merge pull request #30511 from akien-mga/freetype-2.10.1
freetype: Update to upstream version 2.10.1
2019-07-11 13:44:52 +02:00
Rémi Verschelde 3e727bc659 stb_vorbis: Update to upstream version 1.16 2019-07-11 10:37:28 +02:00
Rémi Verschelde ca71f7d3d0 freetype: Update to upstream version 2.10.1 2019-07-11 10:36:54 +02:00
Rémi Verschelde 2bbcc521b6 glad: Sync with upstream 0.1.31 2019-07-11 10:36:32 +02:00
Rémi Verschelde 518e23424e pcre2: Update to upstream version 10.33 2019-07-11 10:35:39 +02:00
Rémi Verschelde b5b3aa920b tinyexr: Sync with upstream a685e33 2019-07-11 10:34:40 +02:00
Rémi Verschelde 6321cc8da3 mbedtls: Update to upstream version 2.16.2 2019-07-11 08:32:07 +02:00
K. S. Ernest (iFire) Lee d81d29dcbf Update xatlas to b7d7bb. 2019-07-09 15:24:10 -07:00
Fabio Alessandrelli 9233edd344 Godot addition to wslay, fixes MSVC build 2019-07-04 15:03:04 +02:00
Fabio Alessandrelli aae6c075aa Remove libwebsocket. No longer used, yay! 2019-07-04 15:03:04 +02:00
Fabio Alessandrelli 9e303ef71c WebSocket module now uses wslay library.
Both client and server are supported on native builds (as usual).

SSL server is still not supported, but will soon be possible with this
new library.

The API stays the same, we just need to work out potential issues due to
this big library switch.
2019-07-04 15:03:04 +02:00
Rémi Verschelde e9d624d7ce
Merge pull request #30239 from Faless/crypto/crypto_core
CryptoCore class to access to base crypto utils.
2019-07-02 14:52:43 +02:00
Martin Liska f48bb8fac8 Fix few GCC9 warnings:
thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const':
thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy]
  176 |     pOut = aiColor3D(c.r,c.g,c.b);

modules/dds/texture_loader_dds.cpp:167:50: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  167 |  if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT1")) {
      |                                                  ^
[ 28%] modules/dds/texture_loader_dds.cpp:170:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  170 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT3")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:174:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  174 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("DXT5")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:177:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  177 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI1")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:180:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  180 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("ATI2")) {
      |                                                         ^
modules/dds/texture_loader_dds.cpp:183:57: error: comparison of integer expressions of different signedness: 'uint32_t' {aka 'unsigned int'} and 'int' [-Werror=sign-compare]
  183 |  } else if (format_flags & DDPF_FOURCC && format_fourcc == PF_FOURCC("A2XY")) {
      |                                                         ^

thirdparty/assimp/include/assimp/material.inl: In member function 'aiReturn aiMaterial::Get(const char*, unsigned int, unsigned int, aiColor3D&) const':
thirdparty/assimp/include/assimp/material.inl:176:33: error: implicitly-declared 'aiColor3D& aiColor3D::operator=(const aiColor3D&)' is deprecated [-Werror=deprecated-copy]
  176 |     pOut = aiColor3D(c.r,c.g,c.b);
2019-07-02 13:35:30 +02:00
Fabio Alessandrelli 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
Fabio Alessandrelli 78907d91f1 Update miniupnpc library to latest master 2019-06-30 17:49:40 +02:00
Rémi Verschelde 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
Rémi Verschelde 900d90bb61 Git: Explicitly list binary files as such to avoid EOL change
text=auto works well in Git 2.10+ but it's broken in previous versions,
which are still used in production on e.g. Ubuntu 16.04 LTS.

Also fix a couple missed text files with CRLF terminators.
.bat files likely require it to be processed properly on Windows,
but core.autocrlf should take care of converting them on the fly
when checking out on Windows.
2019-05-25 10:43:48 +02:00
Andrii Doroshenko (Xrayez) 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
Rémi Verschelde b7e737639f Fix non UTF8-encoded thirdparty files 2019-05-22 10:34:57 +02:00
Rémi Verschelde c38d9180df
Revert "Revert "Implemented terrain raycast acceleration"" 2019-05-16 10:18:48 +02:00
Rémi Verschelde e0517a12c5
Merge pull request #28518 from clayjohn/GLES2-MSAA
Added MSAA to GLES2 backend
2019-05-13 17:46:11 +02:00
Fabio Alessandrelli 0239d8bd9f
Merge pull request #28453 from Tarik02/enet_socket_set_option
Partially implement enet_socket_set_option
2019-05-07 10:14:52 +02:00
clayjohn a3d5aec68d added MSAA to GLES backend 2019-05-02 14:24:20 -07:00
Fabio Alessandrelli be414e4476 Revert "Update libwebsockets to 3.1 (plus UWP patch)"
This reverts commit 90210c4862.
2019-05-01 14:41:47 +02:00
Rémi Verschelde 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
Tarik02 63d1a80656 Removed a call to `set_blocking_enabled` from function `enet_socket_create` since it is already called from https://github.com/godotengine/godot/blob/master/thirdparty/enet/host.c#L63 2019-04-26 22:27:50 +03:00
Tarik02 bb3089895c Implement function enet_socket_set_option using ENetSocket class's methods.
Implemented options:
 - ENET_SOCKOPT_NONBLOCK
 - ENET_SOCKOPT_BROADCAST
 - ENET_SOCKOPT_REUSEADDR
 - ENET_SOCKOPT_NODELAY
Not implemented options:
 - ENET_SOCKOPT_RCVBUF
 - ENET_SOCKOPT_SNDBUF
 - ENET_SOCKOPT_RCVTIMEO
 - ENET_SOCKOPT_SNDTIMEO
2019-04-26 22:23:52 +03:00
Rémi Verschelde 225b61ab2a libpng: Update to upstream 1.6.37
Fixes CVE-2019-7317.
2019-04-26 10:37:22 +02:00
Rémi Verschelde 458827efc2
Revert "Implemented terrain raycast acceleration" 2019-04-23 13:56:23 +02:00
Hein-Pieter van Braam 4575769115
Merge pull request #25543 from Zylann/optimize_bullet_heightfield_raycast2
Implemented terrain raycast acceleration
2019-04-23 06:25:15 +03:00
Rémi Verschelde 1e67f214c5
Merge pull request #27817 from fire/assimp_d3d98a
Update Assimp to master at d3d98a7ec0c8d38e1952b46dfe53f7e9233dc92d
2019-04-22 12:00:06 +02:00
Rémi Verschelde 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
Rémi Verschelde 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
Rémi Verschelde 44f9a966e0 xatlas: Redo our custom changes, but properly documented 2019-04-19 12:40:01 +02:00
Rémi Verschelde 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
Rémi Verschelde 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
Rémi Verschelde 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
Rémi Verschelde 74ab31b7f7 vhacd: Fix -fpermissive build issue with MinGW
Fixes #27926.
2019-04-11 18:20:33 +02:00
Rémi Verschelde 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
Rémi Verschelde 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
Windy Darian f05af9d492 fix vhacd namespace placing in thirdparty/vhacd/src/btConvexHullComputer.cpp 2019-04-10 23:45:26 -04:00
Juan Linietsky 5823b5d77d Bundled VHACD library for convex decomposition.
Modified both MeshInstance tools as well as importer to use it instead of QuickHull.
2019-04-10 17:47:28 -03:00
K. S. Ernest (iFire) Lee cc72bc6713 Update Assimp to master at d3d98a7ec0c8d38e1952b46dfe53f7e9233dc92d
* ASCII FBX embedded content
* Improved uv scaling metadata
2019-04-09 07:42:31 -07:00
K. S. Ernest (iFire) Lee 793b0de197 Add Assimp library in thirdparty
From https://github.com/assimp/assimp repo at d2b45377e4b09a1f43be95e45553afcc06b03f4b
2019-04-05 07:17:52 -07:00
volzhs a6300b454d Update freetype to 2.10.0 2019-03-31 23:20:36 +09:00
Chaosus 6280be46a6 Properly setup seed in RNG 2019-03-27 19:37:25 +03:00
Fabio Alessandrelli 6d64a54d75 Disable WebSocket IPv6 support on OpenBSD.
OpenBSD does not support dual stacking, disabling IPv6 for now.
Will possibly come back if/when we get websocket running using our own
NetSocket class.
2019-03-06 06:34:31 +01:00
Fabio Alessandrelli 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
Fabio Alessandrelli 90210c4862 Update libwebsockets to 3.1 (plus UWP patch) 2019-03-06 02:02:52 +01:00
Rémi Verschelde ab11496a92
Merge pull request #26586 from akien-mga/tinyexr-65f9859
tinyexr: Sync with upstream 65f9859
2019-03-04 16:41:04 +01:00
Rémi Verschelde 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
Rémi Verschelde f173f8625d
Merge pull request #26584 from akien-mga/nanosvg-c1f6e20
nanosvg: Sync with upstream c1f6e20
2019-03-04 15:20:44 +01:00
Rémi Verschelde 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
Rémi Verschelde 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
Rémi Verschelde 9ce6588466 tinyexr: Sync with upstream 65f9859 2019-03-04 14:33:42 +01:00
Rémi Verschelde 0455bc64b6 pcre2: Sync with upstream 10.32 2019-03-04 14:25:49 +01:00
Rémi Verschelde 43d6774dcc nanosvg: Sync with upstream c1f6e20 2019-03-04 14:11:26 +01:00
Rémi Verschelde f102546f34 stb: Update to upstream stb_truetype 1.21 and stb_vorbis 1.15 2019-03-04 14:06:31 +01:00
Rémi Verschelde 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
Rémi Verschelde 6e13002034
Merge pull request #26576 from akien-mga/glad-0.1.29
glad: Sync with upstream 0.1.29
2019-03-04 13:49:22 +01:00
Rémi Verschelde 93f6a065f8 libwebp: Sync with upstream 1.0.2 2019-03-04 13:13:33 +01:00
Chaosus 5a89d08e3f Update libpng (1.6.35 --> 1.6.36) 2019-03-04 14:55:47 +03:00
Rémi Verschelde e860d69183 glad: Sync with upstream 0.1.29 2019-03-04 12:48:43 +01:00
Rémi Verschelde b09f3f93af opus: Better sync sources list with upstream buildsystem 2019-02-28 14:27:56 +01:00
Hein-Pieter van Braam ab276f67b8 Disable all use of avx instructions
For some reason CPU feature detection isn't working on our vendored
libvpx. This breaks Godot on older CPUs (pre-2011).
2019-02-24 23:03:48 +01:00
Hein-Pieter van Braam 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
Aina 9e6aefa3ae Enabling ipv6 in libwebsockets 2019-02-23 08:23:24 +01:00
20kdc b1f5cee7d9 webm/theora/yuv2rgb: Fix YUV conversion issues and add BGRP WEBM handling. (Now clang-format friendly.)
This should fix the various issues with colours in Ogg Theora and WEBM playback.
(A reference project is attached to PR #26051, which this commit should be part of.)

This version of the commit, rather than moving x->RGBA handling into libsimplewebm, uses a colourspace field added to libsimplewebm by a PR there.
Thus, the commit that precedes this should be the synchronization & cleanup commit for that.

Also, this version is now clang-format friendly. I hope.
2019-02-21 22:33:43 +00:00
20kdc 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
Rémi Verschelde 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
Fabio Alessandrelli a056e8dc77 Update mbedtls PR 1453 diff (UWP crypto fixes)
Also remove .orig file which should not have been committed in the first
place
2019-02-20 01:30:39 +01:00
Fabio Alessandrelli 2e495c73d6 Bump mbedTLS to version 2.16 (LTS version) 2019-02-20 01:30:32 +01:00
Marc Gilleron bd9f92cdf8 Implemented terrain raycast acceleration using Bresenham traversal and 1 level of chunks 2019-02-01 14:57:17 +01:00
Rémi Verschelde 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
Rémi Verschelde b21b0ff236 base64.h: Fix return type mismatch
Fixes #25220.
2019-01-22 12:47:11 +01:00
Oussama 22b7c9dfa8 Update Bullet to the latest commit 126b676 2019-01-07 12:30:35 +01:00
Guilherme Felipe e64391f47b Update zstd to 1.3.8 2019-01-03 22:35:20 -02:00
Hein-Pieter van Braam e9ee1273de 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-01-01 19:24:21 +01:00
Rémi Verschelde b16c309f82 Update copyright statements to 2019
Happy new year to the wonderful Godot community!
2019-01-01 12:58:10 +01:00
Rémi Verschelde 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
Rémi Verschelde 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
Rémi Verschelde e50407d2d2 certs: Sync with latest ca-certificates-2018.2.26-2.fc29 2018-12-20 13:04:39 +01:00
Arjen van Staalduinen c3c7ac0953 Disable gzip and lzw support for freetype
This resolves #24287 that causes linking issues when using the debug target for platform iOS.
2018-12-18 15:42:25 +01:00
Rémi Verschelde 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
volzhs d4133ac844 Update libwebp to 1.0.1 2018-12-10 22:34:39 +09:00
Rémi Verschelde 9105538b45 TinyEXR: Sync with upstream master branch
Fixes #24247.
2018-12-10 08:15:16 +01:00
David Sichma 555c4bcb19 Fix GLES2 Red Green Texture Decompression
Replaced broken decompression code with two calls to DXT5 decompression.

This should fix some issues with normal maps as they usually are stored
as RG Textures and were decompressed incorrectly.
2018-11-27 20:45:28 +01:00
Rémi Verschelde 1a41daf3d8 glad: Sync with upstream 0.1.28 2018-11-23 00:53:45 +01:00
Rémi Verschelde e8f702469e
Merge pull request #23124 from Faless/net_enet
Use NetSocket directly for ENet.
2018-11-20 14:53:52 +01:00
Fabio Alessandrelli 3703655ce2 Update libwebsocket to 3.0.1 2018-11-03 17:45:33 +01:00
Fabio Alessandrelli c5a4d638c6 Use NetSocket directly for ENet.
Avoid PacketPeerUDP buffering.
2018-11-02 20:17:54 +01:00
Marcelo Fernandez fe93bb03fe Server platform works on OS X too 2018-10-29 12:54:51 -03:00
Rémi Verschelde 62ecb44035 Fix warning about functions defined but not used [-Wunused-function]
Fixes the following GCC 5 warnings:
```
core/io/zip_io.h:128:26: warning: 'zlib_filefunc_def zipio_create_io_from_file(FileAccess**)' defined but not used [-Wunused-function]
core/script_debugger_remote.cpp:110:17: warning: 'ObjectID safe_get_instance_id(const Variant&)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:103:12: warning: 'int _socket_create(IP::Type&, int, int)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:45:15: warning: 'size_t _set_sockaddr(sockaddr_storage*, const IP_Address&, int, IP::Type)' defined but not used [-Wunused-function]
drivers/unix/socket_helpers.h:76:15: warning: 'size_t _set_listen_sockaddr(sockaddr_storage*, int, IP::Type, IP_Address)' defined but not used [-Wunused-function]
editor/editor_fonts.cpp:40:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function]
editor/editor_themes.cpp:85:26: warning: 'Ref<StyleBoxFlat> change_border_color(Ref<StyleBoxFlat>, Color)' defined but not used [-Wunused-function]
editor/import/editor_import_collada.cpp:493:13: warning: 'void _generate_normals(const PoolVector<int>&, const PoolVector<Vector3>&, PoolVector<Vector3>&)' defined but not used [-Wunused-function]
editor/import/editor_import_collada.cpp:524:13: warning: 'void _generate_tangents_and_binormals(const PoolVector<int>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, const PoolVector<Vector3>&, PoolVector<float>&)' defined but not used [-Wunused-function]
editor/pvrtc_compress.cpp:118:13: warning: 'void _compress_etc(Image*)' defined but not used [-Wunused-function]
modules/etc/image_etc.cpp:89:13: warning: 'void _decompress_etc1(Image*)' defined but not used [-Wunused-function]
modules/etc/image_etc.cpp:93:13: warning: 'void _decompress_etc2(Image*)' defined but not used [-Wunused-function]
modules/gdscript/editor/gdscript_highlighter.cpp:46:13: warning: 'bool _is_whitespace(CharType)' defined but not used [-Wunused-function]
scene/2d/cpu_particles_2d.cpp:510:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function]
scene/3d/cpu_particles.cpp:474:14: warning: 'float rand_from_seed_m1_p1(uint32_t&)' defined but not used [-Wunused-function]
scene/resources/default_theme/default_theme.cpp:123:20: warning: 'Ref<Shader> make_shader(const char*, const char*, const char*)' defined but not used [-Wunused-function]
scene/resources/default_theme/default_theme.cpp:130:24: warning: 'Ref<BitmapFont> make_font(int, int, int, int, const int*, const Ref<Texture>&)' defined but not used [-Wunused-function]
```

Had to split `core/io/zip_io.h` into header and .cpp file without 'static' keyword.

Not fixed yet (static definition in header used in some files but not all):
```
modules/websocket/lws_helper.h:111:13: warning: 'void _lws_make_protocols(void*, int (*)(lws*, lws_callback_reasons, void*, void*, size_t), PoolVector<String>, _LWSRef**)' defined but not used [-Wunused-function]
```

Also fixed a couple other warnings missed in previous commits.
2018-09-29 22:26:12 +02:00
Juan Linietsky 6cbdeedf57 Added xatlas as alternative to thekla, forced it on.
Did some hacks to it to avoid it from failing on bad geometry.
2018-09-29 09:46:26 -03:00
Rémi Verschelde 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
Rémi Verschelde a9e17af09a SCons: Build core's thirdparty code in own environment
Also move Zlib and Zstd's build instructions to core/SCsub.
2018-09-28 11:40:41 +02:00