Commit Graph

577 Commits

Author SHA1 Message Date
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
Rémi Verschelde 197a3b2924
Merge pull request #22044 from Faless/uwp_miniupnpc
Update miniupnpc to use UWP compatible APIs.
2018-09-19 09:30:16 +02:00
JFonS 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
Fabio Alessandrelli f961758fbe Update miniupnpc to use UWP compatible APIs.
Use GetBestInterfaceEX and GetAdaptersAddresses instead of GetBestRoute
and GetIpAddrTable.
2018-09-13 20:31:09 +02:00
Rémi Verschelde afb486e7c9
Merge pull request #22015 from vnen/uwp-arm-zstd
Patch zstd to build for UWP ARM
2018-09-13 11:04:28 +02:00
George Marques fb6fe54058
Patch zstd to build for UWP ARM
Patch comes from upstream and can be removed when it makes to stable
release.
2018-09-12 22:02:48 -03:00
Fabio Alessandrelli 75b2db8c5f Fix libwebsockets 32-bits UWP builds.
Also fix bogus windows detect.py
2018-09-13 02:26:54 +02:00
Fabio Alessandrelli 1b99806b47 Unify PacketPeerUDP using NetSocket 2018-09-12 15:56:16 +02:00
Fabio Alessandrelli 7de28be764 ENet wrapper properly detect disconnect on poll
Now PacketPeerUDP.get_available_packet_count() return -1 if the socket
is in error state.
2018-09-12 12:50:53 +02:00
Rémi Verschelde 277b24dfb7 Make core/ includes absolute, remove subfolders from include path
This allows more consistency in the manner we include core headers,
where previously there would be a mix of absolute, relative and
include path-dependent includes.
2018-09-12 09:52:22 +02:00
Rémi Verschelde af57515775 UPnP: Fix includes of thirdparty headers 2018-09-11 18:09:12 +02:00
Andrea Catania 6142448417 Update bullet to Master 12409f1118a7c7a266f9071350c70789dfe73bb9 2018-09-07 16:11:04 +02:00
volzhs 1dc6d47df9 Add Hindi font for editor 2018-08-30 05:11:09 +09:00
Rémi Verschelde 57ba7caa6d
Merge pull request #21511 from eska014/webm-nomt
Fix WebM and Theora video in HTML5 export
2018-08-28 07:56:52 +02:00
Rémi Verschelde 439e562b1a
Merge pull request #21474 from elasota/fix-cvtt-scalar
Fix CVTT scalar version not compiling
2018-08-27 13:36:23 +02:00
elasota 0fe3bda9af Fix CVTT scalar version not compiling 2018-08-27 04:15:52 -04:00
elasota 4b7885fb1e Fix tiled EXR crash, update tinyexr to head to fix corrupted uncompressed EXR loading 2018-08-27 02:52:12 -04:00
Leon Krause 92b259ccf1 Fix WebM module for HTML5 platform 2018-08-27 04:08:04 +02:00
elasota 2dbd74b3a9 Fix CVTT compile failures in VS2015 2018-08-24 13:18:33 -04:00
Rémi Verschelde 3573d5f4ae
Merge pull request #21281 from elasota/fix-squish-sse
Fix Squish SSE misconfiguration
2018-08-22 09:55:57 +02:00
elasota 35f6ba5c5d BPTC support 2018-08-21 22:56:04 -04:00
elasota 04410346bb Fix Squish SSE misconfiguration 2018-08-21 22:21:56 -04:00
Juan Linietsky 4e55835e48
Merge pull request #18096 from aaronfranke/master
[Core] Split up math_2d.h
2018-08-14 18:58:32 -03:00
Rémi Verschelde 139e621338
Merge pull request #20913 from pulkomandy/master
Rebase patches for fixing haiku build.
2018-08-13 21:26:15 +02:00
Rémi Verschelde fed34c3fef
Merge pull request #20581 from ronchaine/nvmath-dont-use-obsolete-functions-on-linux
Do not use deprecated stuff that only glibc now implements
2018-08-13 09:04:43 +02:00
Adrien Destugues a294a842cb Rebase patches for fixing haiku build. 2018-08-11 17:20:51 +02:00
Aaron Franke 28fc195339 [Core] Change math_2d includes to vector2 includes where relevant 2018-08-10 14:59:29 -05:00
Jari Ronkainen 687b95b41f Do not use deprecated stuff that only glibc now implements 2018-07-29 22:27:47 +03:00
Rémi Verschelde 04ec0bf5e1
Merge pull request #20539 from akien-mga/mbedtls-2.12.0
mbedtls: Update to upstream version 2.12.0
2018-07-28 15:40:40 +02:00
Rémi Verschelde bdbc63c4ee
Merge pull request #20537 from akien-mga/glad-0.1.25
glad: Sync with upstream 0.1.25
2018-07-28 15:40:33 +02:00
Rémi Verschelde d8e1cd7a10 mbedtls: Update to upstream version 2.12.0
_WIN32_WINNT redefinition fix is no longer needed as it was merged
upstream. PR 1453 is still not merged, diff updated to current state.
2018-07-28 11:16:58 +02:00
Rémi Verschelde a431492b62 glad: Sync with upstream 0.1.25 2018-07-28 11:01:43 +02:00
Rémi Verschelde f4e682d717 libpng: Update to upstream version 1.6.35 2018-07-28 10:57:14 +02:00
Rémi Verschelde 27b70914e4
Merge pull request #19422 from Faless/mbedtls_2.10
Bump mbedTLS to version 2.10.0
2018-07-10 15:04:16 +02:00
Max Hilbrunner f672ea1559
Merge pull request #19138 from firefly2442/pcre2-10.31
update PCRE2 to version 10.31, fixes #15662
2018-07-03 17:43:22 +02:00
Fabio Alessandrelli 888379e513 Bump mbedTLS to version 2.10.0 2018-06-07 18:50:44 +02:00
Fabio Alessandrelli 333e398413 Add libwebsocket 3.0 BSD fix 2018-06-07 18:07:35 +02:00
Fabio Alessandrelli e56a3c1dc4 Bump libwebsockets to version 3.0.0 2018-06-07 18:07:35 +02:00
Rémi Verschelde d0811ed3f9 Thirdparty: Fill copyright for lws, miniupnpc, clipper
Rename `lws` to `libwebsockets` which is its library name.

Add missing license file for mbedtls.
2018-06-07 10:46:05 +02:00
Fabio Alessandrelli b4c65093d7
Merge pull request #18780 from mhilbrunner/upnp
Add UPnP support (port forwarding, querying external IP)
2018-06-07 02:10:48 +02:00
mhilbrunner c21da40de5 Add UPnP support (port forwarding, querying external IP) 2018-06-07 01:52:04 +02:00
firefly2442 5383ae005c update PCRE2 to version 10.31, fixes #15662 2018-05-28 21:11:41 -06:00
Rémi Verschelde 121eaddf11
Merge pull request #19150 from guilhermefelipecgs/update_stb
Update stb_truetype to 1.19 and stb_vorbis to 1.14
2018-05-25 12:31:38 +02:00
Guilherme Felipe afbc66fccd Update stb_truetype to 1.19 and stb_vorbis to 1.14 2018-05-24 15:58:12 -03:00
Guilherme Felipe 4932c7ddcf Update libvorbis to 1.3.6 2018-05-24 13:52:05 -03:00
Rémi Verschelde 5e96eaf162
Merge pull request #18905 from volzhs/zstd-1.3.4
Update zstd to 1.3.4
2018-05-16 22:59:52 +02:00
Rémi Verschelde b1182f9de1
Merge pull request #18903 from volzhs/minizip-1.2.11
Update minizip to 1.2.11
2018-05-16 18:13:19 +02:00
volzhs 5c5918a52d Update zstd to 1.3.4 2018-05-16 02:45:22 +09:00
volzhs 7e563f75b5 Update minizip to 1.2.11 2018-05-16 01:58:34 +09:00
volzhs 6ed8124923 Update libwebp to 1.0.0 2018-05-16 01:00:55 +09:00
volzhs c9bd739a8b Update FreeType to 2.9.1
close #15660
2018-05-10 15:21:33 +09:00
Juan Linietsky 8b9b653e76
Merge pull request #18113 from toger5/bold_font
added bold font to editor (support for coustom bold font)
2018-05-07 15:54:44 -03:00
Chaosus 9cb468da7f Update GLAD to 0.1.20a0 2018-05-04 22:57:22 +03:00
toger5 29216b2bad added bold font to editor (support for coustom bold font) 2018-04-19 22:00:58 +02:00
Hugo Locurcio 93f52813bf
Update Hack font to v3.003 2018-04-11 22:40:58 +02:00
Fabio Alessandrelli d97c45ad2e MbedTLS PR 1453 (fix UWP build)
The patch seems to be ready for merge upstream
2018-04-03 20:13:55 +02:00
Fabio Alessandrelli 7e776f5b2e Small patch to change mbedtls _WIN32_WINNT 2018-04-03 20:13:12 +02:00
Fabio Alessandrelli febec68763 Update mbedTLS to version 2.8.0 2018-04-03 19:25:24 +02:00
Fabio Alessandrelli 629783f3aa Always verify peer certificate in lws.
Behavior is defined by SSL flags passed via the context.

Simplified port of the patch submitted and accepted in lws master branch
(PR 1215)
2018-04-03 19:25:24 +02:00
Fabio Alessandrelli 13185681ff mbedtls: client: stop spinning on handshake fail
Backport cf3a4ee49357f4e6f3aaeb98137d85c307b17008 from 2.4-stable to
2.4.2
2018-04-03 19:25:24 +02:00
Fabio Alessandrelli dbf7898cea Fix lws MinGW compilation
Cherry picked 5b22276420032677841af9e9f3b0272d0dd467b8 from upstream.
This is fixed upstream and will be included in the next release
2018-04-03 19:25:24 +02:00
Fabio Alessandrelli 262cb262eb Bump libwebsockets to version 2.4.2 2018-04-03 19:25:24 +02:00
Brigham Henry Keys cd63e699ca Updated thekla_atlas to support arm64 2018-03-20 13:44:45 -05:00
ShyRed e71f109910 Update libwebm
Update of libwebm.

Up-to-date version of libwebm contains several bugfixes that allow playback of files that would crash Godot otherwise.
2018-03-09 18:18:30 +01:00
bruvzg e256f9d4e5
Add GL_ARB_framebuffer_object extension support check and GL_EXT_framebuffer_object fallback for GLES2 (updated GLAD bindings).
Add GL_ARB_debug_output extension support check on all platforms.
2018-03-05 20:49:47 +02:00
Rémi Verschelde cbb4fe45d0
Merge pull request #17035 from Chaosus/fixleaks
Fix memory leaks
2018-03-03 15:06:34 +01:00
Chaosus 7c0da76402 Fix 3 memory leaks 2018-03-03 09:11:26 +03:00
bruvzg a5a4f3714b
GLES2 renderer support on macOS. 2018-03-02 13:15:12 +02:00
Fabio Alessandrelli 982fa59126 Remove unneeded and problematic minilex.c from lws.
We don't need it, it's used upstream to test the lexical parser
2018-03-01 16:43:42 +01:00
Fabio Alessandrelli ea7af81460 Fix lws compilation on FreeBSD, same as OSX
This error is actually fixed upstream, waiting for a new release
2018-02-28 18:09:43 +01:00
Juan Linietsky 9e3a1e5401 Add base support for 2D meshes in Godot, including Sprite -> Mesh2D conversion. 2018-02-21 09:39:09 -03:00
Fabio Alessandrelli dfef6f24d5 Small patch to change mbedtls _WIN32_WINNT
We are using 0x0601 as min anyway.
This avoids SOCKADDR_STORAGE error on uwp build
2018-02-20 17:50:08 +01:00
Fabio Alessandrelli a929a5aea5 Import PR 730 from mbedTLS project
Fixes UWP build while we wait for it to get into next release.
2018-02-20 15:12:00 +01:00
Rémi Verschelde 294af5617a Update CA certificates to latest Mozilla bundle
Copied from an up-to-date Fedora 27 install (ca-certificates-2018.2.22-1.0.fc27).
2018-02-16 17:58:43 +01:00
Rémi Verschelde 717e388e19
Merge pull request #14804 from ColinKinloch/master
Fixed android arm64v8
2018-02-14 11:55:28 +01:00
Fabio Alessandrelli 6fcc8b7e1f Deleting OpenSSL module and library 2018-02-14 01:26:34 +01:00
Fabio Alessandrelli 308b03b377 Small change to lws `mbedtls_wrapper` to fix OSX build.
Checks for OSX in thirdparty/lws/mbedtls_wrapper/include/platform/ssl_port.h
to include stdlib.h instead of malloc.h.

The bug is fixed upstream in master via LWS_HAVE_MALLOC_H,
but not in the 2.4.1 branch (as the file structure has, one again,
changed).
2018-02-14 01:26:23 +01:00
Fabio Alessandrelli 34b9fc3022 lws module now uses mbedtls as OpenSSL replacement 2018-02-14 01:26:23 +01:00
Fabio Alessandrelli b33d10ccdf Add mbedTLS lib. Version 2.7.0, license Apache 2.0 2018-02-14 01:26:23 +01:00
robfram 59baf3da92 Add FreeBSD and OpenBSD #defines to skip LWS_HAVE_SYS_PRCTL_H
compiling libwebsocket, as it would fail otherwise. Fix #16472.
2018-02-13 18:12:39 +01:00
Fabio Alessandrelli fa33e0f62d Add libwebsockets as thirdparty library.
License is LGPLv2.1 + static linking exception, version is 2.4.1
2018-02-05 16:11:41 +01:00
Rémi Verschelde a294c99400 Copyright: Add license info for bullet and Mozilla CA certs 2018-01-22 11:11:51 +01:00
Rémi Verschelde af9c2f8b9c COPYRIGHT: Update with recently added thirdparty libraries
Also various updates to thirdparty/README.md.
2018-01-13 14:44:53 +01:00
Rémi Verschelde e12c89e8c9 bullet: Streamline bundling, remove extraneous src/ folder
Document version and how to extract sources in thirdparty/README.md.
Drop unnecessary CMake and Premake files.
Simplify SCsub, drop unused one.
2018-01-13 14:08:45 +01:00
Rémi Verschelde 53c65ae761 zstd: Update to pristine 1.3.3 2018-01-13 13:50:59 +01:00
Rémi Verschelde 76e5b048d0 tinyexr: Update to pristine commit e385dad (security update) 2018-01-13 13:46:03 +01:00
Rémi Verschelde 00abb1f201 openssl: Update to pristine 1.0.2n (security update) 2018-01-13 13:39:08 +01:00
Rémi Verschelde de0b31edd5 libogg: Update to pristine version 1.3.3 2018-01-13 13:00:44 +01:00
Rémi Verschelde 5519481803
Merge pull request #15114 from capnm/fix-bad-lightmap-crash
Avoid thekla_unwrap crash
2018-01-03 12:36:47 +01:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
Martin Capitanio c0226d2e92 Add thekla_atlas/godot-changes.patch 2017-12-31 01:24:03 +01:00
Martin Capitanio 1df63bf3cb Avoid thekla_unwrap crash
Godot crashed here sometimes by generating the uv map.
2017-12-31 00:43:32 +01:00
Colin Kinloch 853b1daa49 Fixed android arm64v8 2017-12-23 16:49:04 +00:00
Rémi Verschelde 3f7f65cd1c Thekla: redo reduz's changes from 8b01b2e85c
But this time without messing up the code style and with proper
comments documenting changed code.
2017-12-20 00:39:57 +01:00
Rémi Verschelde eb39b7f5de Thekla: Revert to state before clang-format changes
The file was wrongly formatted in 8b01b2e85c,
for thirdparty code we keep the upstream style *if* we need to make changes at all.
2017-12-20 00:39:57 +01:00
Juan Linietsky 8b01b2e85c -Fix some crashes in unwrapper
-Add emission lighting to raytrace mode, fixes #14686
2017-12-19 12:16:55 -03:00
Orkun e021097c80 Fix #12220: Add Decompress Bc5 to Squish
This Commit fixes the corrupted file preview described in #12220.
Added DecompressColourBc5 function to squish.
2017-12-16 15:38:36 +01:00
Hein-Pieter van Braam 241de95884 Fix 32bit MingW build for thekla_altas 2017-12-15 23:26:10 +01:00
Rémi Verschelde d6b6dcd20e thekla: Fix build on x86 systems without SSE support
Fixes #14709.

Same as https://github.com/Thekla/thekla_atlas/pull/11,
but adding  comments until it's merged upstream.
2017-12-15 20:35:51 +01:00
Hugo Locurcio 979c451d07
Update Hack font to version 3.000 2017-12-15 10:25:12 +01:00
bruvzg f55162ac1d
Fixes thekla atlas mingw-w64 build 2017-12-15 09:04:51 +02:00
bruvzg f8303ec6fb
Adds `macports_clang` build flag to build using clang-5.0 form MacPorts (with OpenMP support). 2017-12-14 16:44:45 +02:00
Hein-Pieter van Braam 5387613c7b Fix mingw build for thekla_atlas 2017-12-12 17:30:43 +01:00
volzhs 043103fe6a Update libwebp to 0.6.1
* lossless performance and compression improvements + a new 'cruncher' mode (-m 6 -q 100)
* ARM performance improvements with clang (15-20% w/ndk r15c)
* webp-js: emscripten/webassembly based javascript decoder
* miscellaneous bug & build fixes
2017-12-12 02:55:47 +09:00
Juan Linietsky 4f7588b0d8 oops, missing 2017-12-09 15:21:57 -03:00
Rémi Verschelde 690c05e6c2 thekla_atlas: Fix compilation error
Bug introduced in 65fb961b8b.
2017-12-09 18:52:19 +01:00
Juan Linietsky 65fb961b8b -Ability to and unwrap lightmap coordinates on import
-Added unwrap functionality to Mesh
-Ability to display and debug mesh UVs
-Added multiline draw, so it's easier and faster to draw UVs
-Many fixes to SurfaceTool
-Fixes to Thekla Unwrap, but it's a piece of ass and it keeps crashing. Will have to go away
2017-12-09 14:18:14 -03:00
Hein-Pieter van Braam bf05309af7 Import thekla_atlas
As requested by reduz, an import of thekla_atlas into thirdparty/
2017-12-08 15:47:15 +01:00
Rémi Verschelde 0036019e67 tinyexr: Update to current upstream master branch 2017-12-05 22:00:53 +01:00
Rémi Verschelde c2b8856f2d Revert "Fix MinGW-w64 build of TinyEXR for old toolchains"
This reverts commit 37f5e1dcd9.
2017-12-05 21:59:05 +01:00
Indah Sylvia 7f68960be5 glad: Sync with upstream 0.1.16a0 2017-11-30 14:38:34 +07:00
Martin Lindhe efe2558519 fix some typos 2017-11-28 16:18:22 +01:00
Rémi Verschelde 03a080547d
Merge pull request #12014 from hi-ogawa/fix-video-playback
Fix video playback
2017-11-13 19:57:18 +01:00
George Marques a3387a9e22
UWP: Update to build with Windows SDK 10.16229.0
- Update the OpenSSL shim to work with the new SDK
- Change the ARM platform detection to work with VS2017
2017-11-09 16:06:44 -02:00
Rémi Verschelde 5bc2cf257b Convert DOS line endings to Unix line endings
Should fix issues some of us have with `misc/dist/uwp_template/AppxManifest.xml`
always showing up as modified.
Might cause issues on Windows due to the removal of BOMs or change of line endings
in some of the Mono, UWP or gradlew.bat files, we will test and adapt if need be.
2017-11-05 11:37:59 +01:00
AndreaCatania ed047261f0 Vendor thirdparty Bullet source for upcoming physics server backend 2017-11-04 20:08:26 +01:00
Rémi Verschelde e9d1d648cd libpng: Cosmetic update to upstream 1.6.34
No code change in the part we are using, it only affected contrib code.
[ci skip]
2017-10-29 17:06:48 +01:00
Ferenc Arn f3436a841a Add an option to use zstd's recently introduced long range matching (off by default). 2017-10-27 12:26:13 -04:00
Ferenc Arn 01815e9b5f Update zstd to 1.3.2. 2017-10-26 16:41:47 -04:00
Marcelo Fernandez 2baf54526b Fix BSD compile issues 2017-10-17 16:50:41 +00:00
Matt Hughes 3edd3cd377 Fix video playback
This adds support to

- VideoPlayer
- VideoStreamWebm
- VideoStreamTheora
2017-10-14 23:20:39 +09:00
Indah Sylvia 8bdb494032 updated libpng to version 1.6.33 (September 28, 2017) 2017-10-12 14:38:30 +07:00
volzhs dfc717c458 Update freetype to 2.8.1 2017-10-10 01:33:39 +09:00
Elliott Sales de Andrade a408388623 Enable building against system zstd. 2017-09-23 23:46:47 -04:00
Daniel J. Ramirez 52c0550dd7 Changed Mononoki font to Hack font 2017-09-17 13:55:48 -05:00
Rémi Verschelde 8c08f2380d Merge pull request #11253 from djrm/pr_better_docs
Improved editor docs
2017-09-14 12:06:36 +02:00
Daniel J. Ramirez b17c801ee8 Changed source font to Mononoki. 2017-09-14 01:13:30 -05:00
Rémi Verschelde a5e907b830 Copyright: Document recastnavigation 2017-09-13 20:56:23 +02:00
Saracen 92e77d5ff2 Recast integration. 2017-09-04 21:41:57 +01:00
volzhs a4a4f6dada Replace editor font to NotoSans for Latin, Arabic, Hebrew, Thai 2017-08-31 21:49:48 +09:00
volzhs f031b111dd Update source code pro font to 2.030 2017-08-31 21:31:46 +09:00
Rémi Verschelde 0cee288c11 Merge pull request #10148 from leezh/pcre2
Replacement of internal RegEx with PCRE2
2017-08-31 11:56:19 +02:00
Rémi Verschelde bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Rémi Verschelde 3acf6857d9 nanosvg: Document in COPYRIGHT.txt and thirdparty README.md 2017-08-27 13:32:23 +02:00
Rémi Verschelde ec6a9617bb Copyright: Add etc2comp and small fixes 2017-08-27 12:16:36 +02:00
Rémi Verschelde c3ab9eb590 zstd: Update to upstream version 1.3.1
It is now dual-licensed BSD-3-Clause and GPL-2.0, we use the former.
The PATENTS file is no longer applicable \o/

Also add zstd to COPYRIGHT.txt
2017-08-27 12:05:39 +02:00
Rémi Verschelde 560fc0f199 stb: Update to upstream stb_truetype 1.17 and stb_vorbis 1.11
Also fix documented OpenSSL version, it was updated to 1.0.2l in
67305d1b0a.
2017-08-27 11:40:26 +02:00
Rémi Verschelde ee1d0179c5 libpng: Update to upstream version 1.6.32
Fixes security vulnerability in our 1.6.31rc01 snapshot.
2017-08-27 11:37:42 +02:00
Rémi Verschelde 67e6c1b735 minizip: Fix compatibility with Gentoo's unique zlib API
Fixes #10539 in a diplomatic way (as opposed to telling Gentoo users
to just change their distro or rebuild zlib from upstream...).
2017-08-22 20:11:56 +02:00
Daniel J. Ramirez da8fecf25e Added support for SVG 2017-08-20 13:53:02 -05:00
Zher Huei Lee e3e2f06324 Replacement of internal RegEx with PCRE2
The pattern and replacement matching behaviour has been changed purely
due to the nature of switching to a standards-compliant library.

One mistake in the previous behaviour was that named groups didn't have
a number. This has been corrected.

As names are actually just an alias of numbered groups,
RegExMatch::get_name_dict() is now get_names() and is a dict
referring to the group number it represents.

Duplicate names are enabled and the with the first matching instance
used.

Due the lack of a suitable equivalent in PCRE2, RegExMatch::expand() was
removed.
2017-08-19 19:29:14 +08:00
Rémi Verschelde 53fffa12f1 minizip: Reapply Godot-specific changes for seek support
I have not assessed whether they are still all relevant.
2017-08-18 23:26:41 +02:00
Rémi Verschelde 5681b7b60a minizip: Sync with pristine contrib/minizip from zlib 1.2.4
Godot-specific changes are undone in this commit, they will be readded
and properly documented in the following commit.
2017-08-18 23:17:50 +02:00
Juan Linietsky 5c361485db -Added GLTF scene support (still missing animations and .glb extension)
-Fixed bugs regarding tangent generation in SurfaceTool
2017-08-02 15:43:49 -03:00
George Marques 9db39d72fa
zstd: Apply upstream patch to fix UWP ARM build
Following upstream commit f04deff4fc
2017-07-25 14:52:14 -03:00
George Marques 2c1764d5a9
zstd: Update to upstream version 1.3.0 2017-07-22 18:46:05 -03:00
Rémi Verschelde 492999a33b libpng: Update to upstream version 1.6.31rc01
Fixes various issues with 1.6.30, especially ARM build.
Supersedes change in #9722.
2017-07-22 18:42:20 +02:00
Ruslan Mustakov fbb27a0c43 Fix android export templates build
This commit fixes errors occurring during Android export template
builds.
This required modification in third-party library (libpng) to compile
with NEON. Most likely a similar patch will be applied by them and we
could then replace the modified version.
2017-07-20 01:58:47 +07:00
Rémi Verschelde b1ca62af52 libpng: Update to upstream version 1.6.30 2017-07-14 22:36:01 +02:00
Rémi Verschelde 3e8c4f07e9 Revert "Mark where ETC1 restriction needs to be done to speed up RGBA8 import"
This reverts commit 8b362b5009.

We should not apply our clang-format style to thirdparty code,
it makes it impossible to maintain.
2017-07-08 09:54:15 +02:00
Juan Linietsky 8b362b5009 Mark where ETC1 restriction needs to be done to speed up RGBA8 import 2017-07-06 20:39:05 -03:00
volzhs 0f8cc0fa5b Update freetype to 2.8 2017-06-25 10:41:12 +09:00
Rémi Verschelde 0a87979d2e glad: Sync with upstream 0.1.14a0 2017-06-14 20:15:37 +02:00
Juan Linietsky a8e845a474 Merge pull request #8548 from tagcup/etc2comp
Add ETC1/ETC2 compression support though etc2comp.
2017-06-13 19:17:13 -03:00
Ferenc Arn f177c15347 Add zstd compression support.
zstd has much better compression speed and ratio, and better decompression speed than currently available methods.
Also set zstd as the default compression method for Compression as well as FileAccessCompressed functions.
2017-06-08 23:48:14 -05:00
Ferenc Arn 6a9c990da7 Add ETC1/ETC2 compression support though etc2comp.
Remove rg-etc1 code. Also updated travis to use ubuntu 14.04.

Fixes #8457.
2017-05-31 18:59:00 -05:00
Rémi Verschelde 47e0e530a9 opus: Update to upstream version 1.1.5 2017-05-28 21:15:14 +02:00
Rémi Verschelde 67305d1b0a openssl: Sync with upstream 1.0.2l 2017-05-27 19:08:07 +02:00
Rémi Verschelde 996f1ae29e openssl: Reapply necessary UWP changes from patch 2017-05-27 19:08:07 +02:00
Rémi Verschelde c1b0662b40 openssl: Define WIN32_LEAN_AND_MEAN on Windows
This avoids namespace collisions with things such as X509_NAME.
Also force include of necessary definitions in `crypto/o_str.c`
which seem missing on MSVC (but work on MinGW).
2017-05-27 19:08:03 +02:00
Rémi Verschelde cb0f771aaa openssl: Sync with pristine upstream 1.0.2h
Our necessary custom changes will be reapplied in later commits for clarity,
and saved as patches for future updates.
2017-05-27 15:45:25 +02:00
Rémi Verschelde 022541d917 openssl: Document update process and delete unused files 2017-05-27 15:22:49 +02:00
Rémi Verschelde ce8bf1592a TinyEXR: Document licensing and copyright 2017-05-27 13:41:18 +02:00
Rémi Verschelde 37f5e1dcd9 Fix MinGW-w64 build of TinyEXR for old toolchains
MinGW-w64 is at version 2.0.1 on our current Travis CI toolchain, and seems
not to like fopen_s.
2017-05-27 13:13:31 +02:00
Juan Linietsky f89641907f -Added EXR supprot for HDR (no BC6 compression yet though)
-Improvements to texture importer
-Proper detection of S3TC compression modes, and added all modes to Image
-Fixes to non-power of 2 compressed textures, which should all be supported by GLES3
2017-05-26 22:31:32 -03:00
Rémi Verschelde c8aea60324 Improve documentation of thirdparty code snippets 2017-05-07 11:42:37 +02:00
Rémi Verschelde d4029aa51a Move other lone thirdparty files to thirdparty/misc
Also move Box2D ConvexDecomposition contrib code to
thirdparty/b2d_convexdecomp.
2017-04-28 21:19:25 +02:00
Rémi Verschelde c5f830d6b9 Split thirdparty smaz.c out of compressed_translation.cpp
Code comes from 150e125cba/smaz.c

With a small modification to match Godot expectations:
```
diff --git a/thirdparty/core/smaz.c b/thirdparty/core/smaz.c
index 9b1ebc2..555dfea 100644
--- a/thirdparty/core/smaz.c
+++ b/thirdparty/core/smaz.c
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #include <string.h>

 /* Our compression codebook, used for compression */
-static char *Smaz_cb[241] = {
+static const char *Smaz_cb[241] = {
 "\002s,\266", "\003had\232\002leW", "\003on \216", "", "\001yS",
 "\002ma\255\002li\227", "\003or \260", "", "\002ll\230\003s t\277",
 "\004fromg\002mel", "", "\003its\332", "\001z\333", "\003ingF", "\001>\336",
@@ -89,7 +89,7 @@ static char *Smaz_rcb[254] = {
 "e, ", " it", "whi", " ma", "ge", "x", "e c", "men", ".com"
 };

-int smaz_compress(char *in, int inlen, char *out, int outlen) {
+int smaz_compress(const char *in, int inlen, char *out, int outlen) {
     unsigned int h1,h2,h3=0;
     int verblen = 0, _outlen = outlen;
     char verb[256], *_out = out;
@@ -167,7 +167,7 @@ out:
     return out-_out;
 }

-int smaz_decompress(char *in, int inlen, char *out, int outlen) {
+int smaz_decompress(const char *in, int inlen, char *out, int outlen) {
     unsigned char *c = (unsigned char*) in;
     char *_out = out;
     int _outlen = outlen;
@@ -192,7 +192,7 @@ int smaz_decompress(char *in, int inlen, char *out, int outlen) {
             inlen -= 2+len;
         } else {
             /* Codebook entry */
-            char *s = Smaz_rcb[*c];
+            const char *s = Smaz_rcb[*c];
             int len = strlen(s);

             if (outlen < len) return _outlen+1;
diff --git a/thirdparty/core/smaz.h b/thirdparty/core/smaz.h
index a547d89..a9d8a33 100644
--- a/thirdparty/core/smaz.h
+++ b/thirdparty/core/smaz.h
@@ -14,7 +14,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
 #ifndef _SMAZ_H
 #define _SMAZ_H

-int smaz_compress(char *in, int inlen, char *out, int outlen);
-int smaz_decompress(char *in, int inlen, char *out, int outlen);
+int smaz_compress(const char *in, int inlen, char *out, int outlen);
+int smaz_decompress(const char *in, int inlen, char *out, int outlen);

 #endif
```
2017-04-28 21:19:24 +02:00
Rémi Verschelde 2398eb6ed4 Move core thirdparty files to thirdparty/{minizip,misc} 2017-04-28 21:19:23 +02:00
Rémi Verschelde d463b6e3d0 libpng: Update to upstream version 1.6.29 2017-04-09 15:47:25 +02:00
Rémi Verschelde dd8655aac9 opus: Update to upstream version 1.1.4 2017-04-09 15:17:58 +02:00
Rémi Verschelde fa2d5b91dc squish: Update to upstream version 1.15
Also fix clang-format pre-commit hook to ignore thirdparty files.
2017-04-09 15:03:39 +02:00
Rémi Verschelde df61dc4b2b Add "Godot Engine contributors" copyright line 2017-04-08 00:11:42 +02:00
Fabio Alessandrelli 0450e6539e ENet code cleanup and changes from review. 2017-03-24 02:30:11 +01:00
Fabio Alessandrelli ed075c4c80 Cleanup unused ENet files and updated thirdparty README 2017-03-24 02:30:11 +01:00
Fabio Alessandrelli 5f681d0b0f Allow non blocking UDP put_packet in C++.
- Add blocking mode option to PacketPeerUDP.
- put_packet returns ERR_UNAVAILABLE when operation would block.
- ENet module uses non-blocking UDP.
2017-03-24 02:30:11 +01:00
Fabio Alessandrelli 5bdbc0f762 Convert ENetAddress host to 16 bytes to accomote IPv6 2017-03-08 21:16:26 +01:00
Fabio Alessandrelli 4cc1b04586 Add godot socket implementation 2017-03-08 21:16:20 +01:00
volzhs 6de3defe72 Update libwebp to 0.6.0 2017-02-17 23:49:40 +09:00
Rémi Verschelde b87a232668 Reorder the folders in tools to prepare moving tools/editor
- `certs` and `editor_fonts` go to `thirdparty`
- `dist` and `scripts` go to a new `misc` folder
- `collada` and `doc` go to `tools/editor`

The next step will be to rename `tools/editor` to `editor` directly,
but this will be done at the right time to avoid breaking too many PRs.
2017-02-09 00:08:27 +01:00
Juan Linietsky 0aa7242624 WIP new AudioServer, with buses, effects, etc. 2017-01-21 19:01:00 -03:00
Rémi Verschelde 6a3dae5be9 zlib: Update to upstream version 1.2.11 2017-01-16 17:58:34 +01:00
Rémi Verschelde 41821ba11d Remove libmpcdec bundled lib, no longer used
Musepack support was removed in 857c50db70.
2017-01-11 22:40:51 +01:00
Rémi Verschelde c2310b41fa opus: Update to upstream opusfile 0.8
Had missed it in the previous commit as the upstream website is outdated.
2017-01-08 21:33:37 +01:00
Rémi Verschelde 2a38a5eaa8 Remove bundled glew, obsoleted by glad
Also make Haiku load the glad header for GLES3 too,
though I haven't test it.
2017-01-06 22:56:51 +01:00
Rémi Verschelde 12d1fc7a18 glad: Update to upstream 0.1.13a0
Upstreams the workaround we had to use for OSX.
2017-01-06 22:51:15 +01:00
Rémi Verschelde dc0d08cc93 Move glad files to thirdparty dir 2017-01-06 22:42:19 +01:00
Rémi Verschelde 9845bdde8d opus: Update to upstream libopus 1.1.3 2017-01-05 23:28:02 +01:00
Rémi Verschelde 2ca0337f5f zlib: Update to upstream 1.2.10 2017-01-05 23:27:59 +01:00
Rémi Verschelde a0141fa823 libpng: Update to upstream 1.6.28
Fixes a NULL pointer dereference bug (CVE-2016-10087).
2017-01-05 22:27:53 +01:00
Rémi Verschelde 3f3f5a5359 Merge remote-tracking branch 'origin/gles3' into gles3-on-master
Various merge conflicts have been fixed manually and some mistakes
might have been made - time will tell :)
2017-01-02 21:52:26 +01:00