Commit graph

439 commits

Author SHA1 Message Date
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
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