Commit graph

814 commits

Author SHA1 Message Date
REBELLIOUSX\Rebel_X
20d6af6028 Fix issue #7331
A Drive with "Z" letter assigned to it on Windows will be shown.
2016-12-22 07:05:56 -06:00
Juan Linietsky
f9603d8236 can bake for omni and spotlight
store normal when baking
2016-12-22 10:00:15 -03:00
Juan Linietsky
37f558cd7b Some BRDF fixes 2016-12-21 14:22:17 -03:00
reduz
72b844c349 Godot works on Windows again.. 2016-12-21 02:29:58 -03:00
Juan Linietsky
075fde7f26 work in progress global illumination 2016-12-20 00:21:07 -03:00
Juan Linietsky
22a90e8f2a DOF blur, near and far fields.. 2016-12-10 01:13:20 -03:00
Fabio Alessandrelli
de23ce11b5 Remove old unused AI_V4MAPPED flag to getaddrinfo 2016-12-09 23:38:14 +01:00
Fabio Alessandrelli
1aff508dd9 IP_Address now handle IPv4 and IPv6 transparently
IP_Address changes:
- Converts to and from String transparently while handling IPv4 as IPv6
  mapped (::ffff:[IP]) address internally.
- Completely remove AddrType enum.
- Setting/Getting of ip array is now only possible through dedicated functions
  (ie. set_ipv4, get_ipv4, set_ipv6, get_ipv6)
- Add function to know if the address is a valid IPv4 (for IP implementation and enet)
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
c18c5013f8 Migrate int.IP_TYPE_ constants to IP.TYPE_ 2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
4d90a4fcd5 Move V6ONLY flag selection inside helpers 2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
9200da58e4 Automatically map IPv4 address to IPv6 when needed 2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
95bdd97768 Use an instance variable for ip_type in raw sockets
PacketPeerUDP/StreamPeerTCP/TCP_Server now uses an instance variable
to store the selected ip_type (IPv4/IPv6/ANY, where ANY = dual stack).
All calls to resolve addresses, sending/receving data, connecting/listening
will use that socket type.
2016-12-09 18:24:59 +01:00
Fabio Alessandrelli
311f1f165b Fix getaddrinfo failing on android 2016-12-09 18:24:58 +01:00
Fabio Alessandrelli
4f07b595a1 Properly handle tcp connection failure 2016-12-09 18:24:58 +01:00
Fabio Alessandrelli
cdc1ca0f13 Fix _set_ip_addr_port not setting the address. 2016-12-09 18:24:58 +01:00
Juan Linietsky
18ebd22000 Multi stage glow with light bleeding from HDR 2016-12-08 09:48:38 -03:00
Juan Linietsky
8534ced22d Tonemapping and Auto Exposure support 2016-12-07 17:49:52 -03:00
Juan Linietsky
9bc506067a fix small issue with copying reflections 2016-12-04 13:08:38 -03:00
Juan Linietsky
a299c3ebf1 Support for SSAO 2016-12-04 12:45:30 -03:00
Juan Linietsky
27a46d78ec Subsurface scattering material param is now working! 2016-12-02 22:23:16 -03:00
eska
a6ae3204fb OS additions and fixes for WebAssembly/asm.js
- Implement alert, shell_open, set_window_title
 - Add locale lookup, fixes #2477
 - Print without color control sequences
 - Move get_executable_path implementation to OS_JavaScript
2016-11-30 22:01:55 +01:00
Juan Linietsky
1652f876fd Add missing glsl file and remove generated .h files 2016-11-30 07:36:56 +01:00
Juan Linietsky
a47c78aed1 Screen space reflection effect 2016-11-29 19:55:12 -03:00
Juan Linietsky
3f40701002 fixed bug removing dependencies 2016-11-24 23:30:54 -03:00
Juan Linietsky
a732708b9d Blend shapes using transform feedback (GPU) 2016-11-24 20:46:55 -03:00
Juan Linietsky
69c30709ec implemented immediates 2016-11-23 08:00:15 -03:00
Juan Linietsky
7cf8d75cf8 WIP immediates and proper buffers swapping 2016-11-23 07:04:55 -03:00
Juan Linietsky
b72ca04605 Changed to proper GLSL version 2016-11-22 20:53:37 -03:00
Juan Linietsky
9d635f0629 Migrated from GLES to GLAD, fixes many issues. 2016-11-22 20:51:56 -03:00
Juan Linietsky
943d27f46d Instancing is working! (hooray) 2016-11-22 01:26:56 -03:00
Juan Linietsky
70d095d8f2 Skeletons are working now. 2016-11-21 19:03:39 -03:00
Juan Linietsky
a2505542ff Huge amount of improvement in the material system. Materials should be
a lot more complete and usable now.
2016-11-20 22:49:53 -03:00
Juan Linietsky
c39d2b3f42 working reflection probes!! 2016-11-19 13:23:37 -03:00
Juan Linietsky
a7078a4be9 Done with lights and shadows (wonder if i'm missing something..) 2016-11-11 12:27:52 -03:00
Juan Linietsky
cacf9ebb7f all light types and shadows are working, pending a lot of clean-up 2016-11-09 23:55:06 -03: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
Rémi Verschelde
cc95d4448c scons: Reorder options for clarity
Also prefix all thirdparty-related toggles with `builtin`.
2016-11-03 07:45:08 +01:00
George Marques
3958171a7a Merge pull request #7006 from vnen/fix-ipv6-uwp
Fix IPv6 linking for UWP
2016-11-01 12:39:45 -02:00
George Marques
4160b3c9fe
Fix IPv6 linking for UWP 2016-10-31 21:39:45 -02:00
Rémi Verschelde
f34151ff0f style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

- E701 - Put colon-separated compound statement on separate lines.
- E702 - Put semicolon-separated compound statement on separate lines.
- E703 - Put semicolon-separated compound statement on separate lines.
- E711 - Fix comparison with None.
- E712 - Fix (trivial case of) comparison with boolean.
- E713 - Fix (trivial case of) non-membership check.
- E721 - Fix various deprecated code (via lib2to3).
2016-11-01 00:35:16 +01:00
Rémi Verschelde
d4c17700aa style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

- E201 - Remove extraneous whitespace.
- E202 - Remove extraneous whitespace.
- E203 - Remove extraneous whitespace.
- E211 - Remove extraneous whitespace.
- E221 - Fix extraneous whitespace around keywords.
- E222 - Fix extraneous whitespace around keywords.
- E223 - Fix extraneous whitespace around keywords.
- E224 - Remove extraneous whitespace around operator.
- E225 - Fix missing whitespace around operator.
- E226 - Fix missing whitespace around operator.
- E227 - Fix missing whitespace around operator.
- E228 - Fix missing whitespace around operator.
- E231 - Add missing whitespace.
- E231 - Fix various deprecated code (via lib2to3).
- E241 - Fix extraneous whitespace around keywords.
- E242 - Remove extraneous whitespace around operator.
- E251 - Remove whitespace around parameter '=' sign.
- E261 - Fix spacing after comment hash.
- E262 - Fix spacing after comment hash.
- E265 - Format block comments.
- E271 - Fix extraneous whitespace around keywords.
- E272 - Fix extraneous whitespace around keywords.
- E273 - Fix extraneous whitespace around keywords.
- E274 - Fix extraneous whitespace around keywords.
- W291 - Remove trailing whitespace.
- W293 - Remove trailing whitespace.
2016-11-01 00:35:16 +01:00
Rémi Verschelde
97c8508f5e style: Start applying PEP8 to Python files, indentation issues
Done with `autopep8 --select=E1`, fixes:

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-01 00:33:51 +01:00
Juan Linietsky
6b2a27bbe5 shadow atlas allocation (work in progress) 2016-10-31 08:47:46 -03:00
Fabio Alessandrelli
bdc7ca84ca Define IPV6_V6ONLY flag if not defined on windows (old mingw versions) 2016-10-30 22:58:15 +01:00
Fabio Alessandrelli
eb27e993f0 TCP/UDP Listen sockets can now be set to IPv6 only 2016-10-30 17:46:05 +01:00
Fabio Alessandrelli
812908e236 Fix windows debugger connection problems.
Unify network socket creation between platform.
Ensure IPV6_V6ONLY flag is not set on sockets (allow IPv4 connection in IPv6 socket, dual-stack).
2016-10-30 17:46:05 +01:00
Fabio Alessandrelli
ee69bd81cf TCPServer listen now default to IP type ANY (v6 socket with v4 support) 2016-10-30 17:46:05 +01:00
Rémi Verschelde
1944635ac4 Merge pull request #6959 from RandomShaper/fix-big-libs
Adopt simpler strategy for big libs on Windows
2016-10-30 17:35:37 +01:00
Rémi Verschelde
e34a5324c8 scons: Move lib splitting method to methods.py
Apparently it might still be necessary for some console ports.
2016-10-30 17:04:07 +01:00
Juan Linietsky
acfa606915 resolved reflection cubemap blending 2016-10-29 22:11:05 -03:00
Juan Linietsky
d6567010bf -Many many fixes
-Gizmos work again
2016-10-29 20:48:09 -03:00
Pedro J. Estébanez
51ad1c1668 Adopt simpler strategy for big libs on Windows 2016-10-29 03:34:53 +02:00
Juan Linietsky
53d8f2b1ec PBR more or less working, still working on bringing gizmos back 2016-10-27 11:50:26 -03:00
Zher Huei Lee
439d439321 RegEx re-implemented as a module
Re-wrote nrex as a module using godot-specific parts and new
features:

 * Added string substitutions.
 * Named groups are now supported.
 * Removed use of mutable variables in RegEx. RegExMatch is returned
   instead.
2016-10-27 10:27:40 +01:00
Fabio Alessandrelli
25e29972a9 Fix PacketPeerUDP get_packet_port()
Properly convert port field from network to system ordering on incoming packets.
2016-10-26 18:27:01 +02:00
Rémi Verschelde
c67e3a485d Merge pull request #6925 from godotengine/ipv6
Adding IPv6 support
2016-10-26 14:32:51 +02:00
Fabio Alessandrelli
80e911647c Pass correct address size (ipv4,ipv6) to socket connect, bind, sendto
The address size passed to network system calls now reflects the the actual IP type (v4 or v6).
Fix Windows and OSX ipv6 sockets
2016-10-26 08:20:31 +02:00
Juan Linietsky
cb34b70df1 More scene work, can display a skybox 2016-10-21 07:27:13 -03:00
Ariel Manzur
672225b710 added windows support for ipv6, cleaned up unix code 2016-10-20 07:04:10 -03:00
Ariel Manzur
1d45f35a4a fixed some byte order and parsing problems 2016-10-19 18:32:36 -03:00
Juan Linietsky
4428115916 Everything returning to normal in 3D, still a long way to go
-implemented the scene part of visual server and rasterizer, objects without lighting and material are rendererd only
2016-10-19 11:14:41 -03:00
Ariel Manzur
887a897c02 adding ipv6 2016-10-18 18:53:18 -03:00
Rémi Verschelde
c23e8797f1 Merge pull request #6855 from vnen/xaudio2-driver
Isolate XAudio2 driver
2016-10-18 07:22:10 +02:00
George Marques
05bf24b9a5
Fix memory management of XAudio2 driver 2016-10-17 20:42:37 -02:00
George Marques
f3102160a1
Isolate XAudio2 driver
Now it's possible to compile for Windows platform if wanted. It's
supported only for Windows 8 or later, so it's not enabled by default.
2016-10-17 20:42:12 -02:00
Rémi Verschelde
fc8ccd5b8c SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.
2016-10-17 20:10:46 +02:00
Rémi Verschelde
e57042e8a9 png: Try to fix neon issue on iphone armv7 2016-10-15 18:10:19 +02:00
Rémi Verschelde
248bc9159c drivers: Refactor SCsub and drop redundant env_drivers clone
The reordering of the SConscript includes allows to ensure that
stuff like the builtin zlib headers will be available for libpng.

Also moved glew back into global env, otherwise windows seems
not to find it... Kind of shooting in the dark with this multi-env
setup.
2016-10-15 18:10:18 +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
e6dc51a0f7 chibi: Move to a module 2016-10-15 12:20:53 +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
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
da09c6131b modules: Clone env in each module
This allows to pass include paths and flags only to a given thirdparty
library, thus preventing conflicts between their files (e.g. between
opus and openssl which both provide modes.h.

This also has the nice effect of making the compilation command smaller
for each module as it no longer related to all other modules, only the
final linking brings them together.

This however requires adding manually the ogg include path in opus
and vorbis when building against the builtin ogg, since it is no longer
in the global env.

Also simplified template 'thirdparty_<module>_sources' to
'thirdparty_sources'.

"Core" modules like cscript, gdscript, gridmap, ik and virtual_script
still use the main env_modules, but it could be changed if need be.
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
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
Rémi Verschelde
f63bf12193 Drop nedmalloc which is apparently not used anymore 2016-10-14 18:21:23 +02:00
Rémi Verschelde
d3d0507c05 Remove speex support, it is obsoleted by opus
As mentioned by upstream, Xiph.Org [0]:
> The Speex codec has been obsoleted by Opus. It will continue to be
> available, but since Opus is better than Speex in all aspects,
> users are encouraged to switch.

[0] http://www.speex.org/
2016-10-13 18:58:56 +02:00
Juan Linietsky
1527cf8c0d 2D Shaders are working again using the new syntax, though all is buggy in general 2016-10-10 18:31:01 -03:00
Juan Linietsky
cf5778e51a -Added ViewportContainer, this is the only way to make viewports show up in GUI now
-2D editing now seems to work
-Added some functions and refactoring to Viewport
2016-10-05 01:26:35 -03:00
Juan Linietsky
a6e9dc6153 make editor update by tracking changes in visualserverraster 2016-10-03 23:46:24 -03:00
Juan Linietsky
22d83bc9f6 Begining of GLES3 renderer:
-Most 2D drawing is implemented
-Missing shaders
-Missing all 3D
-Editor needs to be set on update always to be used, otherwise it does not refresh
-Large parts of editor not working
2016-10-03 21:35:16 +02:00
Rémi Verschelde
78d97b060a Merge pull request #6605 from zaps166/old-gl-ext-funcs
Add compatibility with old OpenGL 2.1 drivers
2016-10-03 14:21:37 +02:00
Rémi Verschelde
c46e205237 Merge pull request #6617 from zaps166/theora-x86-simd-fix
Fixes in Theora SCsub
2016-10-03 12:33:57 +02:00
mookiexl
0b12ebba11 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
2016-10-03 12:28:32 +02:00
Błażej Szczygieł
75299cf334 Fixes in Theora SCsub
- properly pass x86 assembly define to the compiler,
- don't compile unnecessary/encoder files.
2016-10-03 12:26:52 +02:00
Rémi Verschelde
463a42c71e Merge pull request #6606 from zaps166/don-crash-on-unsupported-gl
Don't crach when OpenGL version is unsupported
2016-10-03 11:54:49 +02:00
Rémi Verschelde
9fce85f9d7 Merge pull request #6501 from SuperUserNameMan/windows_compile_with_standalone_msvc
scons detects standalone MSVC on Windows
2016-10-03 11:36:44 +02:00
Błażej Szczygieł
7b8fe97888 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).
2016-09-25 13:09:23 +02:00
Błażej Szczygieł
ca3b8deb78 Don't crach when OpenGL version is unsupported 2016-09-25 13:06:14 +02:00
Błażej Szczygieł
a27fafb273 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
2016-09-25 12:58:22 +02:00
knd
708a028ce8 removed redundant assign operation in mesh_add_surface: elem_count is reassigned a value before the old one has been used. 2016-09-21 05:23:42 +03:00
Rémi Verschelde
c05242e324 Merge pull request #6489 from zaps166/vorbis-no-enc
Vorbis: Don't compile unnecessary encoder files
2016-09-17 18:36:10 +02:00
Rémi Verschelde
80861b7d59 Merge pull request #6414 from RandomShaper/improve-shader-shadow
Expose additional light/shadow properties to canvas item shaders
2016-09-17 18:34:22 +02:00
yg2f
663d4ee7de scons detects standalone MSVC on Windows
Under Windows, Scons is now capable of detecting and compiling with
standalone MSVC compilers (aka "Visual C++ Build Tools").
http://landinghub.visualstudio.com/visual-cpp-build-tools

Tried with version 2015, and native x86 and x64 compilers under
Windows 10 pro 64 and Windows 8.1 64, with the default Win8 SDK
provided by the "Visual C++ Build Tools" web-installer.

Follow the same compiling instructions than for compiling with Visual
Studio, except that Visual Studio is no more required.

KNOWN ISSUES :
- ``methods.detect_visual_c_compiler_version()`` will emit a warning message
on computers where the ``VSINSTALLDIR`` environement variable is not present.
But it should compile just fine and still automatically detects the 32 or
64 bits according to the compiler you picked.

TODO :
- eventually, update ``platform/winrt/dectet.py`` with function
``methods.msvc_is_detected()`` and try to compile winrt/UWP with
these standalone compilers (if you did not select Win10 SDK when
installing the standalone tools, you can run it again).
- update doc to make users aware of "Visual C++ Build Tools" aka
"stadalone MSVC".
- eventually, update ``methods.detect_visual_c_compiler_version()``
2016-09-16 11:17:57 +02:00
Błażej Szczygieł
222bc07874 Vorbis: Don't compile unnecessary encoder files 2016-09-14 22:40:20 +02:00
Juan Linietsky
fc61eb37ce Merge pull request #5920 from 29jm/fix-warnings
Fix some more warnings
2016-09-10 12:21:02 -03:00
Juan Linietsky
e2aad59b59 Merge pull request #5962 from Alex-doc/Y_billboard
Implements Y billboard
2016-09-10 12:12:26 -03:00
Juan Linietsky
7a27d5d9e7 Merge pull request #6363 from vnen/winrt
Fix the support for WinRT/UWP
2016-09-10 11:47:42 -03:00
Pedro J. Estébanez
0960887625 Expose light shadow color to canvas item shaders 2016-09-07 01:52:54 +02:00
Pedro J. Estébanez
b69e422af9 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.
2016-09-07 00:51:03 +02:00
George Marques
15458c8e6a
Add Windows Universal export to editor
- Use OPENSSL_ENABLED definition to the whole source to detect it
  anywhere.
- Add WinRT/UWP template files with manifest and default images.
2016-09-06 13:09:45 -03:00
George Marques
5f5db46e8d
Patch thirdy-party libraries to build for WinRT
- Patch enet code.
- Patch OpenSSL code and add shims for unavailable API.
- Add extra definition header for Freetype.
2016-09-03 19:46:26 -03:00
George Marques
c9b82498b4
Fix drivers coding for WinRT
- Add a proper function to retrieve IP addresses.
- Solve issues with Windows FileAccess and DirAccess to use the same code
  for WinRT.
- Add patches to the GLES2 rasterizer to workaround ANGLE issues.
2016-09-03 19:36:44 -03:00
Juan Linietsky
fb4d6d1db0 More visual script improvements
-Added anti-aliasing on lines
-Improved draw performance enormously
-Removed sequence ports for most nodes, current visual scripts will likely be broken now. Sorry!
2016-08-30 23:46:41 -03:00
Johan Manuel
a4674bda47 Fix some comparisons between signed and unsigned integers 2016-08-13 13:21:35 +02:00
Johan Manuel
67b29e3b9e Fix some warnings about misleading indentation 2016-08-13 13:21:35 +02:00
Johan Manuel
046f94d3ac Remove some unused variables 2016-08-13 13:21:35 +02:00
Alex Piola
c3b9ef8229 Implements Y billboard
Y billboard wasn't hooked up. This commit implements it.
2016-08-01 14:00:30 +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
Kyle Luce
674c6f2f2d Add function to convert Date time from a dictionary to Epoch
- Also changed get_time_from_unix_time to get_date_time_from_unix_time to be
  consistent.

Ticket:
https://github.com/godotengine/godot/issues/4038
2016-03-16 23:13:39 -07:00
Rémi Verschelde
c9a401e541 Merge pull request #3694 from techtonik/patch-1
Show driver information in verbose mode
2016-03-15 10:30:47 +01:00
Rémi Verschelde
aec4f57f95 Merge pull request #3528 from SaracenOne/baked_light_realtime_colourize
Ability to colourize baked lighting in real time.
2016-03-15 10:22:09 +01:00
Kyle Luce
feef563f3f Fixes the month consistency issue in enums and get_date etc
- Also updated the docs to reflect this.
- Added some vim temp files to gitignore
- Changed NaCL to be consistent with the other OS_Unix::get_date implementation
   (added 1 to month to map to 1-12)

Ticket:
https://github.com/godotengine/godot/issues/4025
2016-03-13 15:27:39 -07:00
Saracen
24bc7d8db7 Fix 'FLAG_RECEIVE_SHADOWS' flag for GeometryInstances so that turning it off now correctly disables shadows from affecting the instance. 2016-03-12 16:51:17 +00:00
Juan Linietsky
8b1dcbfe4d -Made editor support SSL certs by default (embedded them)
-Made asset sharing support https
-Many fixes to HTTPRequest
-Added an asset installer dialog
-Visual cleanups to asset sharing tab
-Fixed some issues in ScrollContainer, hope it does not break things
-Asset sharing tab is not visible (hidden on purpose) for now.
2016-03-12 10:46:38 -03:00
Juan Linietsky
a3d6768199 Merge pull request #3958 from SaracenOne/cpu_skinning_path_fix
Fix to CPU skinning path when using GPU skinning (meshes with morphs)
2016-03-08 15:34:36 -03:00
Saracen
7fecebd8a8 Added extra controls to GeometryInstances to control how they should cast shadows: double-sided and shadows only.
Conflicts:
	servers/visual/visual_server_raster.h
2016-03-07 23:14:14 +00:00
volzhs
db89a47e28 This will disable png arm neon optimizing for android template if compile on windows, but make compiling successful.
And arm neon opt is enabled if not on windows.
2016-03-07 21:20:32 +09:00
Saracen
23a4683879 Fix to CPU skinning path when using GPU skinning (meshes with morphs) causing modifications to root bone to have doubled offset and wasted performance. 2016-03-06 18:47:52 +00:00
Zher Huei Lee
d7052ddba3 Added relative paths for DirAccess::remove()
Follows similar behaviour to DirAccess::rename()
2016-03-01 10:40:31 +00:00
Rémi Verschelde
f740d0ced3 Merge pull request #3693 from SaracenOne/hardware_skinning_fix
Fixed hardware-accelerated skinning support.
2016-02-28 23:01:56 +01:00
anatoly techtonik
ba6858dd41 Show which video driver is used in verbose mode 2016-02-24 23:36:40 +03:00
Saracen
fe49ac19df Fixed hardware-accelerated skinning support. 2016-02-24 02:16:20 +00:00
est31
fb1e52f4d8 Fix allocation bug if compiled with modern clang or gcc
* Add overflow checked intrinsic abstractions that check on overflow.
* Use them for memory allocation code.
* Use size_t type for memory allocation code to support full platform dependent width.

Fixes #3756.
2016-02-19 07:58:42 +01:00
Julian Murgia - StraToN
aec721b61f Forgot to correct the ERR_FAIL_COND_V. 2016-02-12 07:50:35 +01:00
Julian Murgia - StraToN
e380ea8fac Added RegEx::get_capture_start() method 2016-02-12 07:45:12 +01:00
Saracen
de5281c398 Ability to colourize baked lighting in real time. 2016-02-06 18:03:20 +00:00
Juan Linietsky
80e88c6a50 Removed PE-bliss, win32 binares so far remain without icon, had many issues with it:
-corrupted 32 binaries without reason
-does not support upx binaries
-forces dependency o libstdc++
2016-02-04 20:03:03 -03:00
Juan Linietsky
f6a8a0f513 -Correctly flip BG texture if viewport is flipped, fixes #3507 2016-02-02 07:40:38 -03:00
Ariel Manzur
0cd8c054a2 thread renaming 2016-01-31 20:23:24 -03:00
Ariel Manzur
b406aae790 total pointers 2016-01-31 20:23:24 -03:00
Ariel Manzur
5b68608b10 checking for file? 2016-01-31 20:23:23 -03:00
Juan Linietsky
caddcca4f4 -Many fixes to windows build system with Mingw on Windows. Fixes #2690 2016-01-25 00:21:04 -03:00
Juan Linietsky
2fce78ad10 Correct viewport scaling with stretch mode viewport, fixes #1571 2016-01-24 00:46:26 -03:00
Juan Linietsky
784a3eeb90 -Fixed video stream theora not finishing when stream finishes, closes #3066 2016-01-23 17:58:17 -03:00
Juan Linietsky
08e536dbe0 -Support the TRNS flag on libpng, fixes #3097 2016-01-23 17:19:51 -03:00
Rémi Verschelde
d67df42cc8 Merge pull request #2180 from sketchyfun/SketchyFun
Billboards were displayed upside down when drawn to a render texture
2016-01-19 22:25:40 +01:00
Saracen
1cc5ccba1b Allows vec4 shader uniforms to be set by quaternion variant type. 2016-01-13 22:09:07 +00:00
Juan Linietsky
c633a29a39 improve reporting of error in wrong inheritance for autoload script 2016-01-13 09:42:03 -03:00
Ariel Manzur
761b08ec8f loading unaligned pbm 2016-01-12 06:24:47 -03:00
punto-
4a5db60843 Update bitmap_loader_pnm.cpp 2016-01-11 11:55:20 -03:00
Juan Linietsky
9e8f647440 fix issue loading binary pbm 2016-01-11 11:44:53 -03:00
Rémi Verschelde
7f82c8d7c5 Merge pull request #3230 from touilleMan/issue-55
Remove unnecessary null pointer checks
2016-01-11 12:00:44 +01:00
Juan Linietsky
6eb742d49f -Make a rare corner case where disabling/reenabling mipmaps causes invalid texture state. Fixes #3102 2016-01-10 21:45:58 -03:00
Juan Linietsky
a120c66f98 -Removed OS.get_system_time_msec(), this is undoable on Windows and also unusable from GDscript due to precision.
-Added, instead an OS.get_system_time_secs(), which is 32 bits friendly, fixes #3143
2016-01-10 18:24:55 -03:00
Juan Linietsky
f6798d9d73 -Made tile parameter work, fixes #3167 2016-01-10 17:45:41 -03:00
Juan Linietsky
52e53d4513 -Added a new mode, WRITE_READ to File, to recover compatibility with old projects but also achieve desired functionality. Closes #3272 2016-01-10 15:15:04 -03:00
eska
a6c1a5c6d0 Fix pthread renaming in Open/FreeBSD 2016-01-09 15:56:31 +01:00
mrezai
88ecc29d1e Fix uint compile error 2016-01-05 15:45:02 +03:30
Emmanuel Leblond
cabf923484 Remove unnecessary null pointer checks 2016-01-04 11:46:16 +01:00
Juan Linietsky
908f75c23f having active items is pointless in input map 2016-01-03 18:52:42 -03:00
Juan Linietsky
e8fbf39f88 -Replaced tinyjpg for jpgd (public domain), fixes progressive encoded jpgs and speeds up. Closes #2040
-Removed support of loading BitMap as image, now it must be load as a pnm, also closes #2040
2016-01-03 17:14:28 -03:00
Juan Linietsky
eca92bb7ac make it impossible to shrink framebuffer < 0, fixes #2066 2016-01-02 21:08:57 -03:00