Commit graph

558 commits

Author SHA1 Message Date
Rémi Verschelde
575e986bde 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.

(cherry picked from commit 5fef84a135)
2016-10-30 14:51:30 +01:00
Rémi Verschelde
846db09038 Drop nedmalloc which is apparently not used anymore
(cherry picked from commit f63bf12193)
2016-10-30 14:51:30 +01:00
mookiexl
f63b338e0f Limit directional shadow draw distance, fixes #559, optimization (#1991)
* Shadow fadeout exponent hardcoded for now, should be user configurable.
* optimization - skip shadows outside visible range
(cherry picked from commit 0b12ebba11)
2016-10-09 17:33:20 +02:00
Błażej Szczygieł
13108317ae Fixes in Theora SCsub
- properly pass x86 assembly define to the compiler,
- don't compile unnecessary/encoder files.

(cherry picked from commit 75299cf334)
2016-10-09 17:33:12 +02:00
Błażej Szczygieł
a827734e03 Don't crash in "_process_hdr()" if "framebuffer.luminance" is empty
If "glFramebufferTexture2D()" fails on old drivers the Vector is empty.
Don't allow to read from empty Vector (NULL pointer).

(cherry picked from commit 7b8fe97888)
2016-10-09 17:22:01 +02:00
Błażej Szczygieł
f4f5855168 Don't crach when OpenGL version is unsupported
(cherry picked from commit ca3b8deb78)
2016-10-09 17:21:48 +02:00
Błażej Szczygieł
f4da1e9ed2 Add compatibility with old OpenGL 2.1 drivers
If ARB_framebuffer_object is not supported, try to fall-back to
EXT_framebuffer_object if present.

In current version of godot, the way framebuffers are used is backward
compatible with the older EXT_framebuffer_object extension.

Fixes #6591
Done with SuperUserNameMan

(cherry picked from commit a27fafb273)
2016-10-09 17:21:41 +02:00
knd
b9399e93ad removed redundant assign operation in mesh_add_surface: elem_count is reassigned a value before the old one has been used.
(cherry picked from commit 708a028ce8)
2016-10-09 17:20:20 +02:00
Błażej Szczygieł
d2aa006ddb Vorbis: Don't compile unnecessary encoder files
(cherry picked from commit 222bc07874)
2016-09-18 23:21:36 +02:00
Pedro J. Estébanez
c44757c2b7 Expose light shadow color to canvas item shaders
(cherry picked from commit 0960887625)
2016-09-18 23:11:08 +02:00
Pedro J. Estébanez
ffe5ecd67d Rename misleading define
The macro USE_LIGHT_SHADOW_COLOR actually was being defined when the shader used SHADOW (the output shadow color), not the shadow color set for the light so it's better named USE_OUTPUT_SHADOW_COLOR. In 3D there's not that difference but renaming as well for consistency.

(cherry picked from commit b69e422af9)
2016-09-18 23:10:26 +02:00
Rémi Verschelde
a155342eca GLES2: Check for GPU capabilities to display an error
The engine will still segfault, but the error message should be displayed by the
OS in a blocking manner, so that it will only crash once users have acknowledged
the error dialog.

Closes #1162.
2016-07-25 23:08:46 +02:00
Rémi Verschelde
c1ab343f02 RtAudio: Update to upstream version 4.1.2
The only differences we have with the upstream tarball are marked with
`// -GODOT-` comments for clarity. The changes we currently have are
just some defines for cross-platform configuration, and could likely be
moved to the SCons buildsystem (ideally in a sub-environment to avoid
having RtAudio-specific defines pollute the whole build log).

One change for WinRT was not kept, if it is needed it should ideally be
integrated upstream:
```
 #if defined(__WINDOWS_DS__) || defined(__WINDOWS_ASIO__) || defined(__WINDOWS_WASAPI__)
-#ifdef WINRT_ENABLED
-  #define MUTEX_INITIALIZE(A) InitializeCriticalSectionEx(A, 0, 0)
-#else
   #define MUTEX_INITIALIZE(A) InitializeCriticalSection(A)
-#endif
```
2016-07-23 13:25:25 +02:00
Rémi Verschelde
b13f430853 zlib: Update builtin version to upstream 1.2.8
Our only differences to the upstream distribution are:
- The `gz*.c` files are not included
- Z_PREFIX and Z_SOLO are defined in zconf.h
2016-07-23 13:06:54 +02:00
Rémi Verschelde
1d41a070f6 rg_etc1: Upstream version 1.04
From https://github.com/richgel999/rg-etc1
2016-07-23 12:44:40 +02:00
Rémi Verschelde
4d4cb1bfab FreeType: Update to upstream version 2.6.5
The only diffs to the upstream sources are to be found in `include/ft2build.h`
and `include/freetype/config/ftoption.h`.
2016-07-22 23:29:25 +02:00
Rémi Verschelde
b13bbcecc3 FreeType: Remove unnecessary subfolder
Also sort sources alphabetically for clarity.
2016-07-22 22:01:16 +02:00
Rémi Verschelde
6b70676306 FreeType: Reduce diff with upstream 2.5.0 version
The Godot specific changes to ftoption.h are indicated with a
`// -Godot-` comment for clarity.
See #5859 for details.
2016-07-22 21:51:30 +02:00
Rémi Verschelde
9698571d61 Fix multichar character constant warning
Multi-character character constants are implementation defined,
and therefore they are risky to use for use when trying to be compatible
with so many different platforms. Fixes #2540.
2016-07-18 21:34:50 +02:00
Rémi Verschelde
22419082d9 Remove some noisy debug prints
Part of #5031
2016-07-17 18:25:21 +02:00
Rémi Verschelde
1f2110956b Merge pull request #5592 from volzhs/libwebp-0.5.1
Update webp driver to 0.5.1
2016-07-14 09:03:14 +02:00
Rémi Verschelde
68fbb8f8ac Drop obsolete "webpold" backup of previous webp version
Fixes #5252
2016-07-14 08:36:06 +02:00
George Marques
2c6d0d4905
Fix builtin OpenSSL configuration
Fixes a bug that happens on Windows 64-bits.
2016-07-09 20:13:35 -03:00
volzhs
e55c6f8232 Modified webp source codes for godot 2016-07-08 22:10:25 +09:00
volzhs
ddd446f274 Update webp driver to 0.5.1 (upstream) 2016-07-08 21:44:40 +09:00
Rémi Verschelde
3fcb9b1ec1 Removed unused variables (second pass) + dead code
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:15:59 +02:00
Rémi Verschelde
b6ac91c0e6 Removed unused variables (first pass)
Fixes various gcc 5.4.0 warnings for -Wunused-variable and -Wunused-but-set-variable
2016-07-07 23:15:03 +02:00
Rémi Verschelde
a28bf56ef9 GH linguist: properly detect .inc files as C++
Also drop two unnecessary speex buildsystem files.
2016-07-03 15:17:25 +02:00
Juan Linietsky
f9bd038ca7 Removed no longer needed check 2016-07-02 13:32:07 -03:00
Juan Linietsky
ffbc2e56c9 Fix some bugs in diraccess, closes #5288 2016-06-30 18:23:39 -03:00
Juan Linietsky
f56a0435f2 Turn on SNI in OpenSSL 2016-06-29 11:20:17 -03:00
Juan Linietsky
620da09b87 try to fix windows build 2016-06-25 15:20:37 -03:00
Juan Linietsky
8dac3bf3b1 Added function to notify ScriptLanguage when a thread is created/freed, allows scripts to allocate a stack there via TLS 2016-06-25 10:41:23 -03:00
Rémi Verschelde
9bf3ee7acc png: Do not output warnings as errors 2016-06-23 08:23:45 +02:00
J08nY
f0290e643b
libpng: New version 1.6.27
Warning: libpng 1.6 is strict about iCCp chunks being incorrect,
solution is to fix the profile. On *nix ImageMagicks "convert" works
on windows optiPNG.
2016-06-22 20:57:30 +02:00
Juan Linietsky
93441d6119 properly initialize loops to 0 in eventplayer 2016-06-20 14:46:17 -03:00
Juan Linietsky
8f7a1367fe fix loop counter for eventstream, closes #4493 2016-06-20 14:43:20 -03:00
J08nY
214f316cf9
libtheora: New version 1.1.1 2016-06-19 15:37:58 +02:00
J08nY
644e9076bb
libvorbis: New version 1.3.5 2016-06-19 15:37:49 +02:00
J08nY
98f23d27a4
libogg: New version 1.3.2 2016-06-19 14:39:38 +02:00
Daniel J. Ramirez
422fac5066 Removed lots of prints 2016-06-18 18:01:06 -05:00
Rémi Verschelde
bb3362fd12 Drop useless 3rd party files from nedmalloc and png
Part of #5272
2016-06-18 20:27:58 +02:00
Rémi Verschelde
80727b6896 Drop empty .cpp files for header-only classes
Part of #5272
2016-06-18 20:00:08 +02:00
George Marques
e048d1e0a2
Fix make_dir for long paths on Windows 2016-06-18 12:28:11 -03:00
Juan Linietsky
e3905a084e -made get_space_left() return values more homogenous, also for script, converted to mb, closes #4617 2016-06-18 11:32:45 -03:00
Juan Linietsky
61655d6dc2 Fixed make_dir and make_dir_recursive erros, closes #1680 closes #1872 2016-06-18 11:13:03 -03:00
Rémi Verschelde
a7fc04626a Add missing license headers in our source files (#5255)
Also removes a couple wrong Godot headers from third-party source files.
2016-06-18 14:46:12 +02:00
Błażej Szczygieł
aebad5de5f Fix Theora video playback without a Vorbis stream
- prevent audio resampler errors when number of channels is 0,
- don't check for 'audio_done' when there is no audio data.

(cherry picked from commit 763b29f34e)
2016-06-18 00:49:55 +02:00
Juan Linietsky
7f02627290 -Add visible IO errors when closing a file fails due to it being locked (most likely on windows), closes #4760 2016-06-13 10:10:50 -03:00
Juan Linietsky
3d95c82669 Merge pull request #5090 from akien-mga/glew-1.13.0
Upgrade embedded GLEW to version 1.13.0
2016-06-08 07:54:31 -03:00
J08nY
39260f9dca
RtAudio: proper under/overflow warning
fix #5102
2016-06-08 12:25:40 +02:00
Rémi Verschelde
5bed0af65e GLEW: Update to upstream version 1.13.0 (pristine)
This removes a custom redefinition of glewGetProcAddress,
which was apparently necessary for older Macs with buggy OpenGL
(see #5087).

The added source files are as provided in the upstream tarball.
2016-06-08 00:17:54 +02:00
Rémi Verschelde
768e925271 GLEW: Define static + enabled and includes via SCons
This allows us not to have to hack our definitions in the upstream files,
making it easier to upgrade to newer versions in the future.

For the include paths to work, the headers are moved to a GL subfolder to
match their upstream location.
2016-06-08 00:16:27 +02:00
Rémi Verschelde
4c658dc523 Haiku: Do not define GLEW_ENABLED to undefine it later
Partial revert of f61eb5fd8e.
2016-06-08 00:10:30 +02:00
Juan Linietsky
0c985913a7 Merge pull request #4092 from sanikoyes/Pr-etc1-pkm-loading
Add etc1(pkm) texture loading support
2016-06-06 22:14:11 -03:00
Juan Linietsky
be830d10c2 Merge pull request #5026 from Geequlim/patch9frame-extension
Enhanced Patch9Frame
2016-06-06 20:15:33 -03:00
Rémi Verschelde
7fd6977ef9 Merge pull request #5070 from zenvoid/master
Add missing license information for bundled libraries
2016-06-06 23:31:55 +02:00
Roberto
c0a8c4f6e4 Add missing license information (ogg/vorbis/opus) 2016-06-06 19:05:36 +02:00
Roberto
18fc2ccbe1 Add missing license information (Theora) 2016-06-06 16:32:37 +02:00
Roberto
f97f8971e3 Add missing license information (WebP) 2016-06-06 12:45:30 +02:00
J08nY
3fb3b7c1f7 Somewhat fixed Directory::get_space_left() return values. 2016-06-06 08:14:22 +02:00
Juan Linietsky
2420e46b44 vsync support
-works on windows
-may not work on X11, if so please fix
-OSX does not seem to support disabling vsync
2016-06-05 19:14:33 -03:00
Rémi Verschelde
2884faf55b Merge pull request #4999 from volzhs/fix-project-path
change invalid characters when get user data dir on Windows & Unix
2016-06-04 21:37:47 +02:00
Geequlim
fdf914e53e Add texture region support for stylebox render 2016-06-05 00:45:53 +08:00
Rémi Verschelde
bc25492e63 Update to libpng 1.5.27
No security relevant fix as far as I can see, but the version bump
does not hurt either.
2016-06-02 23:28:54 +02:00
volzhs
9073dc9963 change invalid characters when get user data dir on Windows & Unix
Can't create user data folder when project name has ``\ / : * ? " < > |`` characters on OS_Windows & OS_Unix.
So, change it to ``-`` to be able to make folder.

fixes #4928 and it's altanative to #4986.
2016-06-03 03:39:37 +09:00
Juan Linietsky
4f100f92d8 DPI Detection support
Windows only for now.
Many builds may break (older visual studio, mingw32)
2016-05-29 13:40:21 -03:00
Rémi Verschelde
53279bf02d FreeType: Add mandatory license text
Part of #4859.
2016-05-29 17:30:57 +02:00
Juan Linietsky
3e8eb396d7 Finalized DynamicFont implementation
-DynamicFont uses Freetype by default
-Editor fonts are now scalable thanks to this
-Cleaned up documentation browser and added fonts for this
2016-05-29 11:37:52 -03:00
Juan Linietsky
8be2fabbe5 Changed import workflow
-Rearrange favorites in fs dock with drag and drop
-Removed import -> sub-scene, moved to scenetree contextual menu
-Removed import -> re-import , moved and integrated to FS dock
-Added ability in FS dock to re-import more than one resource
simultaneously
-Added ability to drag from native filesystem explorer to Godot, only
works on Windows though
-Removed scene reimport merge options, never worked well. Eventually
merging materials should be re-added
-Added ability to set custom root node type when importing scenes
-Re-Import is now automatic, can be configured back to manual in editor
settings
-Added resource previews in property list for many resource types
2016-05-27 14:19:11 -03:00
Ariel Manzur
dbb4c0c9b7 fixes android drivers build 2016-05-21 21:47:21 -03:00
Ariel Manzur
4c4d79e3c9 fix drivers build on ios 2016-05-21 21:07:34 -03:00
Ariel Manzur
12bd9ee6f2 fix 2016-05-21 20:07:32 -03:00
Ariel Manzur
6cf2353305 using 1 env for all drivers 2016-05-21 19:31:58 -03:00
eska
2392824dba Remove nocpuid.c from builtin OpenSSL
Since opensslconf.h no longer defines OPENSSL_CPUID_OBJ, OpenSSL defines
OPENSSL_cpuid_setup itself (with the same empty definition)
2016-05-12 17:06:34 +02:00
Rémi Verschelde
c7292b1f3d OpenSSL buildsystem: actually apply the flag on gcc/clang
Commit 972b0f7 was bogus.
2016-05-11 19:41:52 +02:00
Rémi Verschelde
972b0f78b3 Windows: Fix MinGW argument being passed to MSVC
Fixes #4620
2016-05-11 18:48:04 +02:00
George Marques
2e44e255ed
Add ignore error flag to OpenSSL driver 2016-05-09 12:52:49 -03:00
Rémi Verschelde
8a45936abd Merge pull request #4560 from eska014/fix-emscripten-opus
Fix JavaScript build
2016-05-07 20:19:58 +02:00
Ariel Manzur
baaa74f215 cloning env for builtin_openssl _and_ openssl :) 2016-05-06 22:43:22 -03:00
Ariel Manzur
62c17d65a8 clonning env for builtin ssl 2016-05-06 22:30:48 -03:00
eska
5619efe9f8 Ignore unneeded Opus file, fix JavaScript build 2016-05-05 19:21:57 +02:00
George Marques
81297f0fa1
Fix build for Windows 64-bits with GCC 2016-05-05 14:10:41 -03:00
Juan Linietsky
8043135e0d missing default value 2016-05-04 12:46:37 -03:00
Juan Linietsky
fd6667a7dc fix to avoid video texture scaling 2016-05-04 12:44:50 -03:00
Juan Linietsky
89d87294db ability to shrink all images x2 on load
this is for extreme cases when running on devices with very low video
memory, so you can still retain compatibility.
2016-05-04 12:37:07 -03:00
Rémi Verschelde
db0fde9d39 Merge pull request #4541 from vnen/pr-fix-win64-build
Fix windows 64-bits build.
2016-05-04 08:35:45 +02:00
George Marques
9424c6c58f
Fix windows 64-bits build.
The change in `tools/doc/doc_data.cpp` is needed because the MSVC
compiler does not support variable length arrays.

Fix #4113
2016-05-03 16:35:36 -03:00
mrezai
ab623c923d Update OpenSSL to 1.0.2h 2016-05-03 23:59:14 +04:30
George Marques
7c59d819a7
Update Opus driver to 1.1.2
And opusfile to 0.7.
2016-05-02 13:18:34 -03:00
Aren Villanueva
e5c1a2c3f7 Implements get_executable_path for OS X should proc_pidpath in os_osx.mm doesn't succeed. Silences the warning for javascript as the function currently appears superfluous. 2016-04-20 17:49:48 +10:00
Rémi Verschelde
206895afae Merge pull request #4329 from mrezai/openssl-1.0.2g
Update OpenSSL to version 1.0.2g
2016-04-18 19:21:46 +02:00
Zher Huei Lee
48b2dfab9f Fixed zero-length arrays in nrex. Fixes #4346 2016-04-18 10:06:47 +01:00
mrezai
e97922f220 Update OpenSSL to version 1.0.2g 2016-04-15 19:03:35 +04:30
mrezai
2cbd850979 Fix OpenSSL compilation on Windows
Fixes #4285.
2016-04-12 07:58:56 +02:00
Rémi Verschelde
925aa086a2 Merge pull request #4275 from mrezai/openssl-1.0.1s
Update OpenSSL to version 1.0.1s
2016-04-11 23:16:31 +02:00
mrezai
c860574d8b Update OpenSSL to version 1.0.1s 2016-04-10 17:48:59 +04:30
Zher Huei Lee
6207d56b95 Updated nrex to v0.2
* Fixed capturing groups matching to invalid results
 * Fixed parents of recursive quantifiers not expanding properly
 * Fixed LookAhead sometimes adding to result
2016-04-08 13:29:37 +01:00
MSC
7a9998370f free Material 'shadow_material_double_sided' on ::finish() 2016-04-03 19:24:14 +02:00
sanikoyes
dda9528dac Add etc1(pkm) texture loading support 2016-03-19 09:48:41 +08:00