Commit Graph

580 Commits

Author SHA1 Message Date
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
volzhs
e04c7e11ec Update libwebp to 0.5.2 2016-12-24 00:46:09 +09:00
Błażej Szczygieł
79f09b3f15 WebM: Fix crash when there is no audio stream
Sync with libsimplewebm-git: 05cfdc2
2016-12-01 12:00:17 +01:00
Błażej Szczygieł
570a8e6b40 Fix compilation with MSVC 2013 2016-11-15 12:10:05 +01:00
Rémi Verschelde
be4eff1d8b Merge pull request #7019 from vnen/rename-winrt-uwp
Rename WinRT platform to UWP
2016-11-06 12:03:10 +01:00
Rémi Verschelde
611a94e3a6 opus: Move public headers to match system install 2016-11-03 21:18:23 +01:00
George Marques
411faaa6f4
Rename remaining WinRT references to UWP 2016-11-03 14:51:08 -02:00
George Marques
b113c7b7a3
Rename WINRT_ENABLED to UWP_ENABLED 2016-11-03 14:51:08 -02:00
George Marques
fb5a73a39f
Rename WinRT files to UWP 2016-11-03 14:51:08 -02:00
Rémi Verschelde
7504a85e5a libpng: Update to upstream 1.6.26 2016-11-02 23:25:39 +01:00
Błażej Szczygieł
1556d0d377 libvpx: Necessary modifications
- convert ARM assembly (NEON) files,
- add rtcd for run-time CPU features detection,
- modify "system_state.h",
- "arm_cpudetect.c" fixes.
2016-10-19 13:34:46 +02:00
Błażej Szczygieł
5268443fdf Add libvpx thirdparty library
Only necessary files
2016-10-19 13:34:28 +02:00
Błażej Szczygieł
2d77a6f5d3 Add libsimplewebm and libwebm thirdparty libraries 2016-10-17 19:22:33 +02:00
Rémi Verschelde
edbc0c0d0b freetype: Make it a module and split thirdparty library
Comment out the weird workaround for building on Windows at it might
not be needed anymore. Testing needed to confirm.
2016-10-15 18:10:17 +02:00
Rémi Verschelde
cbf52606f4 zlib: Split thirdparty files, simplify scons option 2016-10-15 12:20:47 +02:00
Rémi Verschelde
36738ddda4 glew: Split thirdparty files and isolate env
Not fully happy about the way this one interacts with the various
platforms. Maybe the platform_config.h should be generated by the
SCsub instead of passing a define just to know where is the header.
2016-10-15 12:01:28 +02:00
Rémi Verschelde
249836e530 squish: Update to upstream 1.14
Sources are untouched, tarball from https://sourceforge.net/projects/libsquish
2016-10-15 12:01:28 +02:00
Rémi Verschelde
8311a78df5 squish: Move to a module and split thirdparty lib 2016-10-15 12:01:28 +02:00
Rémi Verschelde
8981ff8a84 rtaudio: Split thirdparty files 2016-10-15 12:01:25 +02:00
Rémi Verschelde
5c12c9e69b mpc: Move to a module and split thirdparty libmpcdec 2016-10-15 11:50:42 +02:00
Rémi Verschelde
cfcc8a20e8 theora: Move to a module and split thirdparty lib
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
422196759f openssl: Move to a module and split thirdparty lib
Same rationale as the previous commits.
2016-10-15 11:50:41 +02:00
Rémi Verschelde
d9a291f641 ogg/vorbis/opus: Make them modules and unbundle thirdparty libs
Took the opportunity to undo the Godot changed made to the
opus source. The opus module should eventually be built in its
own environment to avoid polluting others with too many include
dirs and defines.

TODO: Fix the platform/ stuff for opus.
2016-10-15 11:50:40 +02:00
Rémi Verschelde
ee3cf211c6 webp: Make it a module and unbundle libwebp thirdparty files
Note that there are two Godot-specific changes made to libwebp
for the javascript/HTML5 platform. They are documented in the
README.md.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
b1e8889d96 dds/etc1/pbm/pvr: Make those modules and split thirdparty files
They are not particularly packaged in Linux distros so we do not
facilitate unbundling via SCons. There could be done if/when there
is interest.

Also s/pnm/pbm/, long-lived typo :)
2016-10-15 11:50:39 +02:00
Rémi Verschelde
c31ad71f10 enet: Split enet thirdparty files and allow unbundling
Building against shared libraries only implemented for Linux X11 so far.
TODO: Document Godot's modifications of upstream enet.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
16ba665db6 jpg: Make it a module and split jpgd thirdparty files
Similar rationale as in previous commit.
2016-10-15 11:50:39 +02:00
Rémi Verschelde
5fef84a135 png: Split library to thirdparty dir and allow unbundling
Uses the new structure agreed upon in #6157, but the thirdparty/ folder
does not behave following a logic similar to that of modules/ yet.

The png driver can't be moved to a module as discussed in #6157, as it's
required by core together with a few other ImageLoader implementations
(see drivers/register_driver_types.cpp:register_core_driver_types())

Dropped the possibility to disable PNG support, it's a core component
of Godot.
2016-10-15 11:50:39 +02:00