Commit Graph

2336 Commits

Author SHA1 Message Date
elasota d4045d835f Fix bad res file include in VS project and simplify a bit 2018-09-01 00:13:49 -04:00
Pedro J. Estébanez 28019c71a6 Fix multitouch input not working on certain devices on Windows
Fixes #20474.
2018-08-30 22:42:18 +02:00
Leon Krause cd7c0f67b9 Fix HTML5 gamepad input 2018-08-30 03:42:02 +02:00
Hein-Pieter van Braam 6fcc20ec51 Fix typo in os_uwp causing a build failure 2018-08-28 22:45:39 +02: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
Wojciech Milkowski 3a3ea6d514 No need to link with libandroid_support in NDK 17
According to https://github.com/bytedeco/javacpp/pull/244 in NDK 17
libandroid_support library is not needed any more, and on armv8 is
already gone which breaks compilation.
2018-08-28 02:34:59 +02:00
Leon Krause b4b816c122 Enable Theora module for HTML5 platform 2018-08-28 01:56:47 +02:00
Alexandru Croitor 3624644630 Pass -isysroot to compiler / linker when doing a macOS build
Previously the compiler would use system headers located at
/System/Library/Frameworks, which could result in compilation failures
due to the headers not always being up-to-date in regards to the
latest installed macOS SDK headers that come with Xcode.

Fix the issue by passing the SDK path via the -isysroot option to the
compiler and linker invocations.

If no custom SDK path is given, the build system queries the SDK path
via xcrun --show-sdk-path, which returns something similar to

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/
 /Developer/SDKs/MacOSX.sdk/

Querying via xcrun is now also done for iphone (and simulator)
platforms as well.

Here is an example of a compilation failure message due to outdated
headers:

platform/osx/os_osx.mm:1421:41: error: use of undeclared identifier 'NSAppKitVersionNumber10_12'; did you mean 'NSAppKitVersionNumber'?
                                if (floor(NSAppKitVersionNumber) >= NSAppKitVersionNumber10_12) {
                                                                    ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                                                    NSAppKitVersionNumber
/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:26:28: note: 'NSAppKitVersionNumber' declared here
2018-08-27 18:01:05 +02:00
Rémi Verschelde 72996df656
Revert "Try closing gracefully before terminating process" 2018-08-27 17:32:43 +02:00
Rémi Verschelde c1f687c681
Merge pull request #21387 from hpvb/fix-15324
Fall back to GLES2 if GLES3 is not working
2018-08-27 16:54:22 +02:00
Hein-Pieter van Braam 3d4b7c6c5f When setting an X11 icon fails, try halving the size
When setting an icon that is too large previously Godot would die with a
X Error of failed request:  BadLength error. To avoid this we install an
error handler right before we set an icon. If the error handler triggers
we halve the icon size until it works or until we've reached a 0 size on
either width or height.

We print a warning when this happens to alert developers.

This fixes #19716
2018-08-27 01:28:11 +02:00
Hein-Pieter van Braam 08f452d1a9 Fall back to GLES2 if GLES3 is not working
This adds a static is_viable() method to all rasterizers which has to be
called before initializing the rasterizer. This allows us to check what
rasterizer to use in OS::initialize together with the GL context
initialization.

This commit also adds a new project setting
"rendering/quality/driver/driver_fallback" which allows the creator of a
project to specify whether or not fallback to GLES2 is allowed. This
setting is ignored for the editor so the editor will always open even if
the project itself cannot run. This will hopefully reduce confusion for
users downloading projects from the internet.

We also no longer crash when GLES3 is not functioning on a platform.

This fixes #15324
2018-08-26 16:40:46 +02:00
Crazy-P e4af39cbc0 Fixes several resource leaks in ...
- gdscript
- gdscript_compiler
- regex
- android/export
- gles3/rasterizer (scene and storage)
2018-08-26 09:19:02 +08:00
Hein-Pieter van Braam c8464eb69f Support more X11 dialogs for X11::alert()
Modern distributions such as Fedora do not ship 'xdialog' with their
default deployment. This commit adds support for Gnome's Zenity as well
as KDE's kdialog.
2018-08-25 00:53:45 +02:00
Rémi Verschelde ff81b2daea
Merge pull request #21375 from akien-mga/msvc-nominmax
SCons: Disable min/max WinDef.h macros on MSVC
2018-08-24 20:02:53 +02:00
Rémi Verschelde 7238462601 SCons: Disable min/max WinDef.h macros on MSVC
Fixes #21370.
2018-08-24 18:04:18 +02:00
Juan Linietsky c6b340ea98
Merge pull request #20712 from marcelofg55/midi_open_close
Add OS::open_midi_inputs and OS::close_midi_inputs
2018-08-24 12:17:14 -03:00
Rémi Verschelde 52466d57e9 Make some debug prints verbose-only, remove others 2018-08-24 14:59:01 +02:00
Rémi Verschelde de59fe04e7 Add print_verbose to print to stdout only in verbose mode
Equivalent of the cumbersome:
if (OS::get_singleton()->is_stdout_verbose())
	print_line(msg);
2018-08-24 09:23:20 +02:00
Rémi Verschelde cef310e0ea
Merge pull request #21336 from eska014/html5-new-presentation
Add responsive HTML5 export page with full-size canvas as new default
2018-08-24 00:10:46 +02:00
Rémi Verschelde 8ebe5f45a7
Merge pull request #21332 from dragmz/apk-hint-fix
Fix file hints
2018-08-23 23:35:58 +02:00
Marcin Zawiejski 3c4c8c40db Fix file hints
Fixes file hints so the file dialog actually displays the files with given extension (e.g. *.apk).
2018-08-23 22:18:59 +02:00
Rémi Verschelde b90dff787c
Merge pull request #21330 from eska014/html5-canvas-resize
Facilitate external modification of HTML5 canvas size
2018-08-23 21:48:27 +02:00
Leon Krause 86d9e67d7a Add responsive HTML5 export page with full-size canvas as new default 2018-08-23 21:28:09 +02:00
Rémi Verschelde d3714d1787
Merge pull request #20507 from rdhafidh/android_libcpp_shared_master
add support libc++_shared on android (master)
2018-08-23 08:44:41 +02:00
Leon Krause 6e8b6be136 Facilitate external modification of HTML5 canvas size 2018-08-23 04:54:36 +02:00
Juan Linietsky 2db494267b Modifications to raw input so the handling of absolute coordinates is more correct. 2018-08-22 21:27:15 -03:00
Juan Linietsky 106e5a8d5e
Merge pull request #20523 from moiman100/windows-raw-input
Raw input relative motion for Windows
2018-08-22 19:32:20 -03:00
Ridwan Abdul Hafidh b0419db46f add support libc++_shared stl on android 2018-08-23 05:02:47 +07:00
elasota 35f6ba5c5d BPTC support 2018-08-21 22:56:04 -04:00
Rémi Verschelde 4bf15d8090
Merge pull request #21236 from dragmz/windows-graceful-close
Try closing gracefully before terminating process
2018-08-21 22:47:21 +02:00
Rémi Verschelde e71c20099c CI: Disable debug_symbols on Travis/AppVeyor
Also increase AppVeyor cache size to 1024,
should match what is available for us in the free plan:
https://www.appveyor.com/docs/build-cache/#cache-size-beta

And drop obsolete debug_release option for Windows, superseded
by target=release and debug_symbols=yes.
2018-08-21 12:36:57 +02:00
Leon Krause e9cb03f33e
Merge pull request #20922 from kripken/err
HTML5: use console.warn instead of Module.printErr
2018-08-21 03:34:21 +02:00
Marcin Zawiejski ca1c851dbd Try closing gracefully before terminating process
Use a Microsoft recommended way of process termination for the project
process run from the editor. This allows loaded DLLs to receive and handle
DLL_PROCESS_DETACH notification and cleanup any global state before the
process actually exits.
2018-08-20 22:41:06 +02:00
Alessandro 9c1fd91732 fix Android/HTML5 custom templates option does not work 2018-08-20 17:38:23 +02:00
Rémi Verschelde 661c9ece7c Add PROPERTY_HINT_PLACEHOLDER_TEXT for String properties
Use it to provide a better example for application identifiers
on Android, iOS and macOS, where users thought they *had* to use
this as a magic token.
2018-08-20 13:48:05 +02:00
Rémi Verschelde 54fcdabfd3
Merge pull request #21179 from elasota/vs-pdb
Support debug_symbols in VS optimized builds
2018-08-19 09:34:06 +02:00
elasota ffe0235f62 Support debug_symbols in VS optimized builds 2018-08-19 01:37:53 -04:00
Rémi Verschelde 92401772c8
Merge pull request #21132 from neonsoup/win_move_to_trash_fix
Fix errors during removing files or folders and fix for latin symbols
2018-08-18 22:44:39 +02:00
neonsoup 42dc2ec080 Fix errors during removing files or folders and fix for latin symbols
This commit adds support for unicode strings in OS_Windows::move_to_trash.
Also reverts commit 6188388c5a as it did not add extra null character to the path string (SHFILEOPSTRUCTA and SHFILEOPSTRUCTW require path to be double null-terminated).
2018-08-18 01:30:22 +03:00
Tiago Quendera aa594614db
Update detect.py
Fixed a typo in detect.py
2018-08-17 12:08:17 +01:00
Hein-Pieter van Braam 827cadafc8 Replace XRaiseWindow with a _NET_ACTIVE_WINDOW ClientRequest
This fixes the editor on X11 not getting put on the foreground when a
debugged project hits an error or breakpoint.
2018-08-16 21:36:37 +02: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
Chaosus 6188388c5a Fix impossibility of removing folder which contains non-latin symbols(on Windows) 2018-08-14 11:49:16 +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
Mikko Mustonen 51fa23a52a Added double clicking to all buttons 2018-08-12 12:41:31 +03:00
Alon Zakai (kripken) 71c03883b5 use console.warn instead of Module.printErr: emscripten no longer exports printErr by default, and instead err() should be used in code seen by the optimizer; however, as Godot only runs on the Web (and not in node.js or elsewhere), using console.warn directly is good enough, and will work in all versions if emscripten 2018-08-11 09:49:19 -07:00
Adrien Destugues a294a842cb Rebase patches for fixing haiku build. 2018-08-11 17:20:51 +02:00
Aaron Franke cf136a91d6 [Core] Completely kill math_2d.h, change includes 2018-08-11 03:08:34 -05:00
Juan Linietsky ea3d997f9d
Revert "added get_creation_time function for gdscript" 2018-08-10 13:29:49 -03:00
Juan Linietsky 275e0d5ee4
Merge pull request #18914 from notwarp/master
added get_creation_time function for gdscript
2018-08-10 13:28:47 -03:00
Marcelo Fernandez 05fc12ddb6 Add OS::open_midi_inputs and OS::close_midi_inputs 2018-08-04 10:07:46 -03:00
Mikko Mustonen dcbbc445db Relative motion based on raw input for Windows 2018-07-30 23:51:51 +03:00
Marcin Zawiejski b1e0da455b Fix Windows handles leak
Fixes thread and process handles leak when running and killing project
from editor (caused by a missing CloseHandle call) plus a potential leak
when calling OS_Windows::execute with p_blocking and !r_pipe.

The leak could be easily observed with a Handles counter in Task Manager
(or Performance Monitor) for the Godot editor process.
2018-07-30 13:41:46 +02:00
Juan Linietsky e896261b87 Added missing support for traditional chinese on Windows, fixes #7674 2018-07-29 21:10:30 -03:00
Viktor Ferenczi c5bd0c37ce Running builder (content generator) functions in subprocesses on Windows
- Refactored all builder (make_*) functions into separate Python modules along to the build tree
- Introduced utility function to wrap all invocations on Windows, but does not change it elsewhere
- Introduced stub to use the builders module as a stand alone script and invoke a selected function

There is a problem with file handles related to writing generated content (*.gen.h and *.gen.cpp)
on Windows, which randomly causes a SHARING VIOLATION error to the compiler resulting in flaky
builds. Running all such content generators in a new subprocess instead of directly inside the
build script works around the issue.

Yes, I tried the multiprocessing module. It did not work due to conflict with SCons on cPickle.
Suggested workaround did not fully work either.

Using the run_in_subprocess wrapper on osx and x11 platforms as well for consistency. In case of
running a cross-compilation on Windows they would still be used, but likely it will not happen
in practice. What counts is that the build itself is running on which platform, not the target
platform.

Some generated files are written directly in an SConstruct or SCsub file, before the parallel build starts. They don't need to be written in a subprocess, apparently, so I left them as is.
2018-07-27 21:37:55 +02:00
Hein-Pieter van Braam 0e29f7974b Reduce unnecessary COW on Vector by make writing explicit
This commit makes operator[] on Vector const and adds a write proxy to it.  From
now on writes to Vectors need to happen through the .write proxy. So for
instance:

Vector<int> vec;
vec.push_back(10);
std::cout << vec[0] << std::endl;
vec.write[0] = 20;

Failing to use the .write proxy will cause a compilation error.

In addition COWable datatypes can now embed a CowData pointer to their data.
This means that String, CharString, and VMap no longer use or derive from
Vector.

_ALWAYS_INLINE_ and _FORCE_INLINE_ are now equivalent for debug and non-debug
builds. This is a lot faster for Vector in the editor and while running tests.
The reason why this difference used to exist is because force-inlined methods
used to give a bad debugging experience. After extensive testing with modern
compilers this is no longer the case.
2018-07-26 00:54:16 +02:00
PanPan 746a15142f change framework name CoreMidi to CoreMIDI 2018-07-26 00:06:17 +08:00
Rémi Verschelde a501678ba1
Merge pull request #20154 from marcelofg55/midi_driver
Added a new MIDIDriver class
2018-07-25 01:17:57 +02:00
Rémi Verschelde d1624cca99
Merge pull request #20245 from bruvzg/fix_win_pp_transp
Fix OpenGL buffer depth for per pixel transparency support (Windows)
2018-07-24 22:36:24 +02:00
Wilson E. Alvarez a22e746bc3 Removed unnecessary assignments 2018-07-24 09:51:03 +02:00
Rémi Verschelde 8e4de57e56 SCons: Add "execinfo" option to force linking libexecinfo
Fixes #20035.
2018-07-22 19:03:52 +02:00
Juan Linietsky 2b9902db06 -Fix disable_3d flag
-Add extra flag optimize=[size,speed] to be able to prioritize size
2018-07-21 17:26:49 -03:00
Marcelo Fernandez 7a5f9fc08e Added a new MIDIDriver class 2018-07-21 09:09:42 -03:00
Rémi Verschelde 814fdd3985 Fix some more build issues after c69de2ba4
Fixes #20301.
2018-07-20 11:56:18 +02:00
Rémi Verschelde 8c9e10553c Fix build issues and typos after c69de2ba4 2018-07-20 08:37:10 +02:00
Juan Linietsky c69de2ba46 -Project/Editor settings now use new inspector
-Project/Editor settings now show tooltips properly
-Settings thar require restart now will show a restart warning
-Video driver is now visible all the time, can be changed easily
-Added function to request current video driver
2018-07-19 19:02:04 -03:00
bruvzg 31a0b9eaed
Fix OpenGL buffer depth for per pixel transparency support (Windows, NVIDIA) 2018-07-18 17:40:20 +03:00
Rémi Verschelde 7c9f7452f4 Style: Format code with clang-format 6.0.1 2018-07-18 16:27:03 +02:00
Rémi Verschelde 26d3e31e05
Merge pull request #20132 from ibrahn/fix-android-device-poll-thread
fixed branch on uninit and data race in editor android device polling
2018-07-17 14:48:49 +02:00
volzhs d18235bc38 Fix keep screen on property path for Android/iOS/UWP 2018-07-17 18:45:57 +09:00
Ibrahn Sahir fe4265ad46 fixed branch on uninit and data race in editor android device polling
Initialised relevant variables before stating thread,
to prevent a branch on uninitialised data.
Fixed race condition in polling that could miss a device change.
2018-07-13 13:30:50 +01:00
George Marques a684e853ab
UWP: Add support for GLES2 driver 2018-07-12 16:21:35 -03:00
Max Hilbrunner 29e70fa5ce
Merge pull request #19840 from jjay/ios_screen_orientation
Respect window/handheld/orientation setting in iOS
2018-07-12 05:23:57 +02:00
mm bd9c592c52 Fixed button mask behavior 2018-07-11 01:15:03 +03:00
Leon Krause b6ae2d8037 Refactor OS_JavaScript 2018-07-10 16:57:56 +02:00
unknown 9cc41a59ac Added support for extra mouse buttons. 2018-07-09 14:34:19 +03:00
Hein-Pieter van Braam e2b7a68db4
Merge pull request #20041 from hpvb/fix-android-export
Write new permissions to the AndroidManifest.xml
2018-07-08 15:47:12 +02:00
Hein-Pieter van Braam 2a126242dd Write new permissions to the AndroidManifest.xml
Instead of editing the placeholder permissions actually write new ones.
This should solve the privacy statement problems for the Play store.
This means we also no longer need to placeholder permissions in the
template.
2018-07-08 14:58:15 +02:00
Patrick Kaster 8bb90fd5f3 added 'android_add_asset_dir('...') method to Android module gradle build config
(cherry picked from commit 9190ae2be7)
2018-07-05 01:58:33 +02:00
Juan Linietsky 085483e885 -Fix fullscreen on Windows with a HiDPI monitor but a non-HiDPI project
-Replaced some viewport size calls to screen size, since viewport size should be deprecated at this point..
2018-07-03 18:53:27 -03:00
Max Hilbrunner 28ebddd49e
Merge pull request #19799 from kosz78/android-payment-fix
Fix possible NullPointerException crash on cancel payment
2018-07-03 18:52:10 +02:00
Max Hilbrunner 2017119a3d
Merge pull request #19919 from marcelofg55/notif_crash
Add a new notification to detect crashes on native scripts
2018-07-03 18:42:49 +02:00
Rémi Verschelde 1d57d03ea0
Merge pull request #19934 from volzhs/gles2-android
Change required gles version to 2 for android
2018-07-03 17:34:11 +02:00
volzhs 1262f940c1 Change required gles version to 2 for android 2018-07-04 00:29:23 +09:00
Max Hilbrunner bb8844d8d7
Merge pull request #19708 from RandomShaper/fix-windows-touch
Fix touch issues on Windows
2018-07-03 15:41:14 +02:00
Marcelo Fernandez deebeb2742 Add a new notification to detect crashes on native scripts 2018-07-02 16:18:58 -03:00
Yasha Borevich f78e5e5725 Respect window/handheld/orientation setting in iOS 2018-07-01 22:08:37 +03:00
Hugo Locurcio 53e94a1ce1
Optimize images losslessly using `oxipng -o6 --strip all --zopfli` 2018-06-28 19:17:41 +02:00
Konstantin Zaitsev d05db4de8e Fix possible NullPointerException crash on cancel payment 2018-06-27 14:12:53 +07:00
Pedro J. Estébanez 2f161ffd4f Fix touch issues on Windows 2018-06-26 20:00:23 +02:00
Rémi Verschelde 07af826051
Merge pull request #19766 from GodotExplorer/android-gles2
Implement OpenGL ES rasterizer selection logic for Android.
2018-06-26 10:00:25 +02:00
geequlim e2aa777d4d Implement OpenGL ES rasterizer selection logic for Android. 2018-06-26 12:21:06 +08:00
Rémi Verschelde 74bd1bf1c2
Merge pull request #19718 from thduynguyen/bug_fixes
bugfix: correct #ifdef for TOUCH_ENABLED and OPENGL_ENABLED
2018-06-25 16:10:40 +02:00
Duy-Nguyen Ta 25ad5f8a35 bugfix: correct #ifdef for TOUCH_ENABLED and OPENGL_ENABLED 2018-06-22 10:42:28 -04:00
Saracen c5bdb5b1d8 IME context detection. 2018-06-11 17:22:11 +01:00
Rémi Verschelde 69058d33fc
Merge pull request #19443 from eska014/html5-audio-refactor
Detect channel count and mix rate in HTML5 audio driver
2018-06-08 18:04:59 +02:00
Leon Krause 8d3ca2c137 Detect channel count, mix rate, and buffer length in HTML5 audio driver
Refactor WebAudio driver.
2018-06-08 02:50:58 +02:00
Hugo Locurcio d54b5da940
Tweak some help texts in the build system
This also removes `unix_global_settings_path` from SConstruct
since it is no longer used.
2018-06-07 21:40:54 +02:00
Juan Linietsky efdd0c4b89 Oops, for some reason gedit used this file as my notebook, though I made a new one. 2018-06-07 12:52:00 -03:00
Juan Linietsky b659fd6d74 Entirely new (and much improved) animation editor. 2018-06-07 12:52:00 -03:00
Rémi Verschelde 7d392cd6f4 SCons: Allow unbundling libwebsockets and miniupnpc 2018-06-07 10:42:30 +02:00
Rémi Verschelde f392650be2 Improve return value of OS.execute in blocking/non-blocking variants
Initialized the PID to -2, which will be the value returns in blocking-
mode where the PID is not available. (-1 was already taken to signify an
execution failure).

OS::execute will now properly return a non-OK error code when it fails
to execute the target file.

The documentation was rewritten to be very clear about the differences
between blocking and non-blocking mode.

Fixes #19056.
2018-05-30 12:55:17 +02:00
Dmitry Pupinin 46bab3abc7 Allow setting higher numbers in Android version/code 2018-05-29 11:59:23 +02:00
Guilherme Felipe c8e0ec0580 Change position of validation in set_custom_mouse_cursor 2018-05-28 09:36:30 -03:00
Max Hilbrunner 856d945248
Merge pull request #19210 from guilhermefelipecgs/fix_invalid_image
Add validation in set_custom_mouse_cursor
2018-05-28 12:52:10 +02:00
Guilherme Felipe aad6bdad94 Add validation in set_custom_mouse_cursor
Check if the image is valid.
2018-05-27 20:55:05 -03:00
Guilherme Felipe aa174d963d Fix memory leak in set_custom_mouse_cursor 2018-05-26 15:56:35 -03:00
Max Hilbrunner fd1ee14056
Merge pull request #19148 from mhilbrunner/mhilbrunner-js-log
Javascript: Remove weird log
2018-05-24 21:11:17 +02:00
Max Hilbrunner 0c56e011ad
Javascript: Remove weird log 2018-05-24 20:18:21 +02:00
Guilherme Felipe 8c17d8e6fe More fixes to set_borderless_window
[x11] Preserve window size when calling this method.
[osx] Make sure it don't make the window resizable if it's not needed.
[windows] clean up the code.
2018-05-23 17:42:31 -03:00
Max Hilbrunner 0980991e64
Merge pull request #19070 from guilhermefelipecgs/fix_19033
Fix mouse confined and set_borderless_window
2018-05-21 18:30:11 +02:00
Max Hilbrunner 3ac7f08b55
Merge pull request #19082 from guilhermefelipecgs/fix_cursor
Fix cursor not displaying arrow when transiting from mode captured to visible.
2018-05-21 18:26:42 +02:00
Guilherme Felipe 9af14ac1db Fix #15678
Fix cursor not displaying arrow when transiting from mode captured to
visible.
2018-05-21 14:37:30 -03:00
Fabio Alessandrelli 875d822d77 Fix OSXCROSS build with clang-6.0 2018-05-21 16:16:16 +02:00
Guilherme Felipe 28d24c4f66 Fix #19033
- Fix a bug when mouse is confined don't update the cursor shape.
- Don't let the mouse leave the window when resizing to a smaller
resolution when MOUSE_MODE_CONFINED.
- Fix set_borderless_window to preserve the actual video_mode.widht/height.
2018-05-20 20:53:04 -03:00
Rémi Verschelde 82042bdd03
Merge pull request #18893 from eska014/html5-reldeb-Os
Build HTML5 release_debug with -Os
2018-05-16 22:50:45 +02:00
Daniele Giuliani d315b0fb8a added get_creation_time function for gdscript 2018-05-16 00:50:57 +02:00
Rémi Verschelde 57d257c361
Merge pull request #18680 from Gamblify/DummyTextureLoader
Dummy texture importer
2018-05-15 10:27:07 +02:00
Leon Krause 975c0516a4 Build HTML5 release_debug with -Os, like release.
The increased build time is negligible in comparison to the decreased
file size.
2018-05-14 15:31:16 +02:00
Leon Krause 504ffda8d7 Small refactoring in HTML5 build scripts
Drop logic for non-existent 'profile' target
2018-05-14 15:30:27 +02:00
Max Hilbrunner 0db3d1d2a7
Merge pull request #15739 from poke1024/macos-catch-exception
Catch NSException in macOS run loop to prevent crashs
2018-05-13 23:51:20 +02:00
bruvzg 096eb38fb0
[macOS] Fix numeric keys scan-codes remapping. 2018-05-13 22:19:08 +03:00
Rémi Verschelde 0902915c33
Merge pull request #18751 from guilhermefelipecgs/fix_cursor_osx
Fix custom cursor disappearing on osx
2018-05-11 14:23:13 +02:00
Ruslan Mustakov 08a924bcee Proper focus in/out handling on iOS
PR #18675 (commit 96301e9) revealed a problem with how iOS lifecycle
callbacks were handled by Godot. Before that PR it was possible to get
NOTIFICATION_WM_FOCUS_IN callback without getting the corresponding
NOTIFICATION_WM_FOCUS_OUT. That commit added a flag to ensure they are
always coupled, but now there is an issue when, for example, you open a
notification panel on iOS without moving the app to background.
It resulted in view.stopAnimation being called without the
corresponding startAnimation when the app moves to foreground again, so
it looked like the game hanged.

I changed focus out notification to be sent in applicationWillResignActive,
because it makes more sense than to do it in applicationDidEnterBackground,
because it is always called in pair with applicationDidBecomeActive, where
focus in is sent. applicationDidEnterBackground may not come under
circumstances that are now described as a comment in code.
2018-05-11 17:19:39 +07:00
Guilherme Felipe 50a0220d2d Reset the cursor with Input.set_custom_mouse_cursor(null) 2018-05-10 20:02:12 -03:00
Rémi Verschelde a415efa4b7
Merge pull request #18765 from eska014/enginejs-extalt
Facilitate using non-default filename extensions in HTML5 platform
2018-05-10 21:57:07 +02:00
Max Hilbrunner 486ec499f3
Merge pull request #18766 from eska014/html5-localcustomshell
Use local path for custom HTML5 shell export
2018-05-10 16:51:13 +02:00
Leon Krause d1970888d3 Use local path for custom HTML5 shell export 2018-05-10 15:31:44 +02:00
Leon Krause 96f907c023 Accept non-default main packs in engine.js startGame()
Allows using startGame() with main packs exported as .zip, but also any
other custom extension, for example if a web game host does not allow
the .pck filename extension.
2018-05-10 15:08:19 +02:00
Max Hilbrunner f20af4b632
Merge pull request #18753 from eska014/html5-iframefocus
Fix keyboard focus lock-out with HTML5 canvas in iframe
2018-05-10 15:01:24 +02:00
Leon Krause 32eb3e1b7d Add Engine.setWebAssemblyFilenameExtension()
Some web game hosts only allow certain filename extensions. If .wasm is
not allowed, this function allows overriding the WebAssembly filename
extension to work around that restriction.
2018-05-10 14:50:34 +02:00
Leon Krause 9080e96bc8 Fix keyboard focus lock-out with HTML5 canvas in iframe 2018-05-10 02:42:47 +02:00
Rémi Verschelde fe82b5a122
Merge pull request #18749 from eska014/html5-mousecapture-rel
Fix relative motion with captured mouse in HTML5 platform
2018-05-10 01:26:49 +02:00
Guilherme Felipe 48f9e6a05b Fix custom cursor disappearing on osx 2018-05-09 20:06:59 -03:00
Leon Krause d78b10313b Fix relative mouse motion when captured in HTML5 platform 2018-05-10 01:02:48 +02:00
Rémi Verschelde 1380040337
Merge pull request #18716 from guilhermefelipecgs/support_for_atlas_tex_on_cursor_2
Add support for atlas texture on set_custom_mouse_cursor
2018-05-09 19:53:56 +02:00
Guilherme Felipe 8ead09342d Add support for atlas texture on set_custom_mouse_cursor 2018-05-09 12:44:43 +00:00
Gustav Lund 3dcf338ebb Dummy texture importer
Added a dummy importer for textures to use with the server platform.
Allows for running a project in headless mode without crashing when loading scenes containing textured objects
Also as a result decreases load time as no image files have to be loaded.
2018-05-09 08:13:02 +02:00
Hein-Pieter van Braam 07f590046a For uwp the ARM architecture needs to be in lower case 2018-05-09 01:16:05 +02:00
Rémi Verschelde 720e2f7b09
Merge pull request #18726 from volzhs/remove-legacy
Remove android compatibility under API 16
2018-05-08 23:49:37 +02:00
volzhs 2f8f34ceaf Remove android compatibility under API 16 2018-05-09 06:01:33 +09:00
Hein-Pieter van Braam e668757aa9
Merge pull request #14622 from bruvzg/non-rectangular-windows
Experimental support for windows with per-pixel transparency.
2018-05-08 16:44:35 +02:00
Rémi Verschelde a6552819b1 Android: Increase targetSdkVersion to 27
Matches the change for 2.1 in #18626, and the new requirements from Google
for new apps starting with August 2018 (targetSdkVersion 26 or higher):
https://android-developers.googleblog.com/2017/12/improving-app-security-and-performance.html
2018-05-08 15:29:42 +02:00
Rémi Verschelde 7e39647623
Merge pull request #18665 from mhilbrunner/build-sdk
Windows detect.py: Detect missing WindowsSdkDir
2018-05-08 10:21:54 +02:00
Max Hilbrunner af128f6d39
Merge pull request #16573 from StateOff/more_console_debugging
Local debugging fix & extensions
2018-05-08 07:00:45 +02:00
Blazej Floch c45f44d856 Local debugger fixes and extensions
- Adds q/quit option to console debugging
- Adds options (variable_prefix)
- Breaks into debugger with Ctrl-C in local debug mode (Unix/Windows)
- Added option to list all breakpoints
- Fixes add/remove breakpoint bug (invalid path parsing)
- Minor cleanup
2018-05-07 23:17:06 -04:00
Max Hilbrunner c32b24da70
Merge pull request #18627 from RameshRavone/patch-2
Fix: JAR files signed with the MD5 algorithm as unsigned (godot 3)
2018-05-08 04:31:20 +02:00
RameshRavone d3182248c4
Fix: JAR files signed with the MD5 algorithm as unsigned 2018-05-07 21:02:53 +05:30
Ruslan Mustakov 96301e934d Resume audio on iOS after phone call or alarm
When a phone call or an alarm triggers on iOS, the application receives
an "audio interruption" and it's up to the application to resume
playback when the interruption ends. I added handling for audio
interruptions same as if the game is focused out and then back in.
2018-05-07 15:48:46 +07:00
Max Hilbrunner a6b191e3e0
Windows detect.py: Detect missing WindowsSdkDir 2018-05-07 00:42:12 +02:00
Max Hilbrunner a53b08861a
Merge pull request #18541 from profan/fix/win-sleep
Windows: ensure minimum possible timer resolution for sleep
2018-05-05 06:47:13 +02:00
Rémi Verschelde 18c28c159d
Merge pull request #17196 from RandomShaper/improve-gui-touch
Implement universal translation of touch to mouse (3.1)
2018-05-02 10:47:49 +02:00
Rémi Verschelde de97339a2d
Merge pull request #18291 from akien-mga/coverity-uninitialized-scalar-var
Fix Coverity reports of uninitialized scalar variable
2018-05-01 19:14:07 +02:00
Robin Hübner 8cb1ff9452 windows: ensure minimum possible timer resolution for sleep 2018-05-01 09:58:16 +02:00
Pedro J. Estébanez de9d40a953 Implement universal translation of touch to mouse
Now generating mouse events from touch is optional (on by default) and it's performed by `InputDefault` instead of having each OS abstraction doing it. (*)

The translation algorithm waits for a touch index to be pressed and tracks it translating its events to mouse events until it is raised, while ignoring other pointers.

Furthermore, to avoid an stuck "touch mouse", since not all platforms may report touches raised when the window is unfocused, it checks if touches are still down by the time it's focused again and if so it resets the state of the emulated mouse.

*: In the case of Windows, since it already provides touch-to-mouse translation by itself, "echo" mouse events are filtered out to have it working like the rest.

On X11 a little hack has been needed to avoid a case of a spurious mouse motion event that is generated during touch interaction.

Plus: Improve/fix tracking of current mouse position.

** Summary of changes to settings: **

- `display/window/handheld/emulate_touchscreen` becomes `input/pointing_devices/emulate_touch_from_mouse`
- New setting: `input/pointing_devices/emulate_mouse_from_touch`
2018-04-30 19:03:38 +02:00
Ignacio Etcheverry c8884ce3bd Fix _export_begin not being called when exporting to android 2018-04-26 23:07:21 +02:00
Hugo Locurcio 1c419531a0 Change ".." punctuation for "..." in editor strings (#16507) 2018-04-22 19:36:01 +02:00
Ruslan Mustakov 265caa687b Provide error details when in-app purchase fails 2018-04-19 21:04:20 +07:00
Rémi Verschelde bf7ca623a6 Fix Coverity reports of uninitialized scalar variable
Fixes most current reports on Coverity Scan of uninitialized scalar
variable (CWE-457): https://cwe.mitre.org/data/definitions/457.html

These happen most of the time (in our code) when instanciating structs
without a constructor (or with an incomplete one), and later returning
the instance. This is sometimes intended though, as some parameters are
only used in some situations and should not be double-initialized for
performance reasons (e.g. `constant` in ShaderLanguage::Token).
2018-04-19 15:20:45 +02:00
Ruslan Mustakov 5dffa506dc Fix Android input source checks
Input source types are not pure bit flags, they are combinations of
flags, so != 0 check was incorrect and resulted in crashes later, when
trying to obtain the device.
2018-04-16 11:19:07 +07:00
Ruslan Mustakov 1d9a3a9b1c iPhone X support and iOS-related fixes
Starting from April 2018 Apple no longer accepts apps that do not
support iPhone X. For games this mainly means respecting the safe area,
unobstructed by notch and virtual home button. UI controls must be
placed within the safe area so that users can interact with them.

This commit:

- Adds OS::get_window_safe_area method that returns unobscured area of
  the window, where interactive controls should be rendered.

- Reorganizes how launch screens are exported - the previous way was
  incorrect and modern iPhones did not pick up the correct screens and
  because of that used a non-native resolution to render the game.

- Adds launch screen options for iPhone X.

- Makes launch screens optional in the export template. If not
  specified, a white screen will be used.

- Adds App Store icon (1024x1024) export option as it now has to be
  bundled with the app instead of being provided in iTunes Connect.

- Fixes crash when launching games in iOS Simulator. It happened because
  controllerWasConnected callback came before the engine was
  initialized. Now in such case the controllers will be queued up and
  registered after initialization is done.

- Fixes issue with the virtual keyboard where for some reason
  autocorrection panel would intersect with the keyboard itself and not
  allow you to use the top row of the keyboard. This is fixed by
  disabling autocorrection altogether.

Closes #17358. Fixes #17428. Fixes #17331.
2018-04-11 14:53:24 +07:00
Guilherme Felipe 62b835a2cd Fix custom cursor when it's hidden
[Linux] Ensures that the custom cursor will be used when changing to
MOUSE_MODE_VISIBLE. Fix #3086

[Windows] Fix cursor flickering when MOUSE_MODE_HIDDEN.

[Mac] Fix possible cursor flicker when MOUSE_MODE_HIDDEN.
2018-04-09 10:28:20 -03:00
Juan Linietsky 1570a72eee
Merge pull request #17742 from marcelofg55/audio_device_list
Added new audio device functions to set/get the audio device
2018-04-07 16:40:47 -03:00
bruvzg ddae098dee
Experimental support for windows with per-pixel transparency (macOS, X11 and Windows). 2018-04-07 17:11:45 +03:00
Guilherme Felipe dc57632d66 Remove size restriction for mouse cursor 2018-04-05 15:41:09 -03:00
Rémi Verschelde 866254343b
Merge pull request #17827 from bruvzg/macos_shortcut_key_remapping_fix
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts.
2018-04-05 13:22:52 +02:00
Rémi Verschelde 7e9aa89fb8
Merge pull request #17777 from bruvzg/macos_exit_code
[macOS] Return exit code specified by `OS.exit_code` parameter.
2018-04-04 22:35:40 +02:00
Rémi Verschelde 919209907d
Merge pull request #17792 from eska014/enginejs-preloadpaths
Handle directories in engine.js preloadFile()
2018-04-04 22:26:14 +02:00
Rémi Verschelde bba80721dc
Merge pull request #17801 from endragor/android-input-checks
Add safety checks when handling Android input
2018-04-04 22:09:03 +02:00
Rémi Verschelde 5dc514aced
Merge pull request #17880 from litdeviant/master
Fix UpdatePowerInfo method implementation in PowerIphone class
2018-04-03 11:05:49 +02:00
Rémi Verschelde 3ef85ddb8d
Merge pull request #17836 from eska014/detect-emconfig
Detect and configure JavaScript build per Emscripten configuration file
2018-04-03 10:33:33 +02:00
Rémi Verschelde 59710880cd
Merge pull request #17844 from Faless/uwp_fix
Fix UWP build after #17194
2018-04-02 11:51:26 +02:00
Igors Vaitkus 06fab24348
Fix UpdatePowerInfo method implementation in PowerIphone class 2018-03-31 02:52:37 +03:00
Fabio Alessandrelli b8c73b195f Fix bug in HTML5 HTTPClient.
The URL parameter already has a slash, adding an extra one results in
an invalid resource path
2018-03-30 14:31:18 +02:00
Fabio Alessandrelli e6364c3fd5 Fix UWP build after #17194
`uwp/detect.py` was not setting the `env.msvc` variable to true causing
scons to pass wrong arguments to `msvc` (using `clang/gcc` options)
which in turn break the build due to `-Werror=return-type` not being
recognized by ms compiler.
2018-03-29 18:21:08 +02:00
Leon Krause 5be7c3dcee Detect and configure JavaScript build per Emscripten configuration file 2018-03-29 04:07:23 +02:00
bruvzg 5ba984fc8c
[macOS] Fix keyboard shortcuts on non QWERTY keyboard layouts. 2018-03-28 20:22:59 +03:00
Fabio Alessandrelli e7b9e2f970 Fix IPhone and OSX cross compilation 2018-03-28 19:08:20 +02:00
Ruslan Mustakov 995724b762 Add safety checks when handling Android input
It is possible that input comes before the engine is fully initialized.
This fixes the crashes that ocurred when that happens.
2018-03-27 22:03:44 +07:00
Leon Krause 3014e48ec5 Fix engine.js startGame() when loading from directory 2018-03-27 11:26:34 +02:00
Leon Krause d373029382 Allow custom path when using engine.js preloadFile() with URL 2018-03-27 11:26:29 +02:00
Leon Krause 6f1bddf4b5 Fix engine.js preloadFile() with directories 2018-03-27 11:26:25 +02:00
Leon Krause 63c7fc6358 Expose Emscripten libs to engine.js discreetly 2018-03-27 09:12:08 +02:00
Marcelo Fernandez ecc1b34cbc Added new audio device functions to set/get the audio device 2018-03-26 17:41:05 -03:00
Rémi Verschelde 4a5723f59e
Merge pull request #17760 from eska014/html5-refactor
Refactor HTML5 platform build script
2018-03-26 21:15:17 +02:00
Leon Krause d8d9eea722 Refactor JavaScript platform build script 2018-03-26 19:46:56 +02:00
bruvzg 1a38449ab9
[macOS] Return exit code specified by `OS.exit_code` parameter. 2018-03-26 16:55:57 +03:00
bruvzg d6c6a65438
Revert "Implement OS_OSX::execute"
This reverts commit e42576548f.
2018-03-23 11:56:05 +02:00
bruvzg 14597dc2b2
Fix dragging window from non-retina to retina display. 2018-03-22 18:24:09 +02:00
Marcelo Fernandez 35d21c0881 Fix several in-class initialization clang warning 2018-03-22 00:17:18 -03:00
Rémi Verschelde baa092e99d
Merge pull request #17653 from eska014/rwlock-dummy
Add RWLockDummy for NO_THREADS builds
2018-03-21 17:40:01 +01:00
Xavier Sellier 61e8f8a866 Prevent android to split-screen 2018-03-21 08:53:51 -04:00
Rémi Verschelde 6066b236aa
Merge pull request #17645 from volzhs/android-device-info
Fix getting Android device information
2018-03-20 11:28:15 +01:00
volzhs 4e378aeeb8 Fix getting Android device information
Fix #17644
2018-03-20 13:53:33 +09:00
Leon Krause 25800ffb0e Add RWLockDummy for NO_THREADS builds 2018-03-20 05:37:42 +01:00
bruvzg e42576548f
Implement OS_OSX::execute 2018-03-19 12:56:03 +02:00
Leon Krause d6c9d8d778 Disable Emscripten assertions in release_debug builds
The messages generated by some assertions can be confusing to users.
2018-03-18 21:33:54 +01:00
Leon Krause e06a56eac8 Fix typo in engine.js 2018-03-16 15:40:00 +01:00
bruvzg e337eecd17
Fix MinGW cross-build 2018-03-15 17:29:55 +02:00
Bastiaan Olij cc9e8aa732 Added missing import BoolVariable
Didn't like the missing BoolVariable :)
2018-03-15 22:35:44 +11:00
Leon Krause 61026e62bf Check only for WebGL 1.0, move test to HTML file
Whether to use WebGL 1.0 or 2.0 can only be determined at runtime after
reading project settings, so check for the lower version.

The test is now in the HTML file, so if desired WebGL 2.0 can be
checked early by changing the behaviour there.
2018-03-15 04:04:24 +01:00
Gary Oberbrunner d1318ee12c Enable SCons to autodetect Windows MSVC compiler
SCons has good compiler detection logic for MSVC compilers. Up to now,
Godot hasn't used it; it depends on passed-in OS environment vars from
a specific Visual Studio cmd.exe windows. This makes it harder to
build from a msys or cygwin shell.

This change allows SCons to autodetect Visual Studio unless it sees
VCINSTALLDIR in the os.environ. It also adds a 'msvc_version' arg for
manual specification of compiler version, and uses the existing 'bits'
arg to specify the target architecture. More detail could be added as
desired. It also adds 'use_mingw' to always use mingw, even if Visual
Studio is installed. That uses the existing mingw setup logic.

If people are used to building Godot in a Visual Studio cmd window,
this should not change the behavior in that case, since VCINSTALLDIR
will be set in those windows. (However, note that you could now unset
that var and build with any other MSVC version or target arch, even in
that window.)

I refactored much of platform/windows/detect.py during this, to
simplify and clarify the logic. I also cleaned up a bunch of env var
settings in windows/detect.py and SConstruct to use modern SCons
idioms and simplify things.

I suspect this will also enable using the Intel compiler on Windows,
though that hasn't been tested.
2018-03-13 09:51:05 -04:00
Rémi Verschelde 18d543d7ab
Merge pull request #17311 from marcelofg55/export_err_checks
Improved error checking at EditorExportPlatformPC::export_project
2018-03-13 12:17:53 +01:00
Rémi Verschelde 4287c7822b
Merge pull request #17440 from viktor-ferenczi/issue-5042
Properly closing all files in Python build code
2018-03-13 11:49:58 +01:00
Yannick Le Duc b5c7e6bac9 fix iOS build - error due to GLES2 missing include (with the advice from bruvzg[m] on irc) 2018-03-13 10:42:23 +01:00
Viktor Ferenczi 272ecddb28 Properly closing all files in Python code 2018-03-11 14:55:50 +01:00
Leon Krause 802b6d3669 Reinstate WebGL 1.0 driver in HTML5 platform 2018-03-07 20:38:14 +01:00
Marcelo Fernandez 0876502f72 Improved error checking at EditorExportPlatformPC::export_project 2018-03-06 14:23:17 -03:00
bruvzg ad67911f1a
Explicitly set OpenGL profile to core (X11, Windows).
Enable GLES2 on Windows.
2018-03-06 15:53:30 +02:00
Marcelo Fernandez d780d774aa Clean and expose get_audio/video_driver_* funcs on OS class 2018-03-04 14:18:05 -03:00
Rémi Verschelde e619727e99 SCons: Fix linking system pcre2 on server platform
Fixes #17245.
2018-03-04 13:46:54 +01:00
Marcelo Fernandez a42dfd7882 Modify OSX can_export logic to match the logic from EditorExportPlatformPC::can_export 2018-03-03 10:23:00 -03:00
bruvzg 506e17ee70
Hack to force macOS window activation for non-bundled app. 2018-03-03 13:28:59 +02:00
Rémi Verschelde 8d01b706ff
Merge pull request #17158 from bruvzg/gles2_driver_select
[GLES2] Renderer selection improvement
2018-03-02 18:43:18 +01:00
bruvzg a5a4f3714b
GLES2 renderer support on macOS. 2018-03-02 13:15:12 +02:00
bruvzg f0d24de960
Fix `--help` output, allow renderer override from command line (`--video-driver`). 2018-03-02 10:05:14 +02:00
Rémi Verschelde 4bb98348a8
Merge pull request #17133 from bruvzg/macos_fix_webm_optim
[Build] Fix WebM (libvpx) SIMD optimizations on macOS.
2018-03-01 16:36:24 +01:00
karroffel eac4c984df add GLES 2 renderer for 2D
This commit adds a new rendering backend, GLES2, and adds a
project setting to enable it.

Currently this backend can only be used on the X11 platform,
but integrating into other platforms is planned.
2018-03-01 15:12:30 +01:00
Rémi Verschelde 7f3024d343
Merge pull request #17058 from marcelofg55/minmax_windows
Fixed Windows ignoring minimized/maximized status set by user
2018-03-01 13:31:02 +01:00
Rémi Verschelde 3e03ed90a8
Merge pull request #17137 from endragor/fix-audio-init-crash
Fix intermittent audio driver crash during startup on Android
2018-03-01 12:50:31 +01:00
Ruslan Mustakov c10749d51f Fix intermittent audio driver crash during startup on Android
set_pause can be called before the driver is initialized, and there
already is a check for that. The problem is that the 'active' field
was not initialied in the constructor, which lead to it having an
undefined value.
2018-03-01 17:40:44 +07:00
bruvzg eec0f83cf3
Fix WebM SIMD optimizations on macOS. 2018-03-01 09:21:58 +02:00
Fabio Alessandrelli 8f9914bd94 Fix server build on FreeBSD 2018-03-01 02:16:52 +01:00
Hein-Pieter van Braam d702d7b335 Fix various valgrind reported uninitialized variable uses 2018-02-28 21:55:13 +01:00
Rémi Verschelde 7d09e6540a Android: Mark GLES3 as required in the manifest
Fixes #17076.
2018-02-27 13:33:24 +01:00
Marcelo Fernandez f8da9550f4 Fixed Windows ignoring minimized/maximized status set by user 2018-02-26 17:38:00 -03:00
bruvzg e3c2778d7e
Add missing return statements (iOS and server). 2018-02-25 01:11:03 +02:00
Rémi Verschelde 6e3ba43457
Merge pull request #16901 from jandrewlong/ios-restore-purchases
add restore purchases for ios
2018-02-24 01:24:37 +01:00
Rémi Verschelde 23ebae01dc Refactor version macros and fix related bugs
The previous logic with VERSION_MKSTRING was a bit unwieldy, so there were
several places hardcoding their own variant of the version string, potentially
with bugs (e.g. forgetting the patch number when defined).

The new logic defines:

- VERSION_BRANCH, the main 'major.minor' version (e.g. 3.1)
- VERSION_NUMBER, which can be 'major.minor' or 'major.minor.patch',
  depending on whether the latter is defined (e.g. 3.1.4)
- VERSION_FULL_CONFIG, which contains the version status (e.g. stable)
  and the module-specific suffix (e.g. mono)
- VERSION_FULL_BUILD, same as above but with build/reference name
  (e.g. official, custom_build, mageia, etc.)
  Note: Slight change here, as the previous format had the build name
  *before* the module-specific suffix; now it's after
- VERSION_FULL_NAME, same as before, so VERSION_FULL_BUILD prefixed
  with "Godot v" for readability

Bugs fixed thanks to that:

- Export templates version matching now properly takes VERSION_PATCH
  into account by relying on VERSION_FULL_CONFIG.
- ClassDB hash no longer takes the build name into account, but limits
  itself to VERSION_FULL_CONFIG (build name is cosmetic, not relevant
  for the API hash).
- Docs XML no longer hardcode the VERSION_STATUS, this was annoying.
- Small cleanup in Windows .rc file thanks to new macros.
2018-02-23 20:15:29 +01:00
J Andrew Long da652c1539 add restore purchases for iOS 2018-02-22 14:28:37 -05:00
Rémi Verschelde be7bfdfac3 server: Add support for statically linking libgcc and libstdc++ 2018-02-22 19:06:11 +01:00
luz.paz 612ab4bbc6 Fix typos with codespell
Found via `codespell -q 3 --skip="./thirdparty,./editor/translations" -I ../godot-word-whitelist.txt`
Whitelist consists of:
```
ang
doubleclick
lod
nd
que
te
unselect
```
2018-02-21 19:46:06 +01:00
Fabio Alessandrelli d29488ee9b Link bcrypt lib in window and UWP 2018-02-20 17:42:16 +01:00
Rémi Verschelde 3e6f2b7d98 Fix previous commit, "bits" still needed for buildsystem 2018-02-19 23:36:34 +01:00
Rémi Verschelde 42c5af5e48 OSX: Remove unnecessary bits assignment 2018-02-19 23:34:11 +01:00
Rémi Verschelde 2b7037b148
Merge pull request #16675 from Iskustvo/improved_error_detectioin_in_move-to-trash_for_Linux
[X11] Improving error detection in move_to_trash
2018-02-19 20:50:58 +01:00
Rémi Verschelde 3925e6a543
Merge pull request #16696 from BTaskaya/master
PEP3101 applied with changing old type string formatting as new ones
2018-02-19 20:38:37 +01:00
Hein-Pieter van Braam 6d99975707
Merge pull request #16763 from RandomShaper/improve-fullscreen
Remove window decorations for fullscreen on X11
2018-02-19 20:21:43 +01:00
Rémi Verschelde f04958cd5d OSX: Remove support for 32-bit and fat binaries
Mac OS X is 64-bit only since 10.7 (Lion), which has reached End-Of-Life in October 2014.
Therefore it no longer makes sense to support exporting 32-bit binaries for Mac OS X,
and we can now default to 64-bit instead of bigger "fat" binaries.
2018-02-19 12:53:28 +01:00
Iskustvo 268d7c7c5b [X11] Improving error detection in move_to_trash 2018-02-18 17:02:19 +01:00
Hugo Locurcio d698814367
Remove some debugging prints on Android 2018-02-18 00:09:56 +01:00
Rémi Verschelde df522cf4e1
Merge pull request #16781 from eska014/html5-httpc
HTML5 HTTPClient fixes
2018-02-17 19:00:55 +01:00
Leon Krause 98039909f2 Flush HTTPClient response data only on request/close in HTML5 platform 2018-02-17 18:13:05 +01:00
Leon Krause ca9fa9cca8 Warn when polling HTTPClient synchronously in HTML5 platform 2018-02-17 18:12:50 +01:00
Leon Krause 2cd7bc04ea Disable insecure HTTP methods CONNECT and TRACE in HTML5 platform 2018-02-17 16:56:40 +01:00
Pedro J. Estébanez 935a99e758 Remove window decorations for fullscreen on X11 2018-02-16 22:09:17 +01:00
Rémi Verschelde b526088ae2 X11: Link libgcc statically with use_static_cpp option
We were already linking libstdc++ statically for official binaries,
protecting us against most portability issues. But apparently since
we started using GCC 7 for official builds, we also need to link
libgcc statically for at least 32-bit builds to be portable.

Fixes #16409.
2018-02-16 18:48:11 +01:00
Leon Krause 8a21f27f54 Fix HTML5 HTTPClient response header retrieval 2018-02-16 05:38:36 +01:00
Leon Krause 9ea4452d21 Fix HTML5 HTTPClient failure detection 2018-02-16 05:11:25 +01:00
K. S. Ernest (iFire) Lee 4e1923a931 Add dummy audio driver, fix dummy rasterizer 2018-02-15 07:34:11 -08:00
Fabio Alessandrelli 2de10aa467 Fixes to OS_Server and DummyRasterizer to match new signatures 2018-02-15 07:34:11 -08:00
Fabio Alessandrelli 6784d743f7 server platform now compiles and run on linux.
Seems to also be able to do exports of some demos I tried.
2018-02-15 07:34:11 -08:00
Rémi Verschelde 4fa8987494 Windows: Fix case of imm32 for case-sensitive MinGW build
Fixes #16713.
2018-02-15 09:06:02 +01:00
BTaskaya 78dba05fc0 PEP3101 applied with changing old type string formatting as new ones 2018-02-14 19:29:25 +03:00
Rémi Verschelde e0f43e0678
Merge pull request #15564 from RandomShaper/adpod-topmost
Add new window setting: always on top
2018-02-14 16:43:40 +01:00
Rémi Verschelde 7d7f8d9e54
Merge pull request #15864 from GodotExplorer/pr-get_unique_id-desktop-impl
Implement more methods for OS on Desktop platforms
2018-02-14 16:11:53 +01:00
Rémi Verschelde 717e388e19
Merge pull request #14804 from ColinKinloch/master
Fixed android arm64v8
2018-02-14 11:55:28 +01:00
Xavier Sellier b8def58705 Add signals and a check function for Android service connectivity.
- Add a iap_connect and iap_disconnect events for android platform.
- Add isConnected() function returning true if its connected to android service, false otherwise

(cherry picked from commit 546b48813f)
2018-02-14 08:05:19 +01:00
Fabio Alessandrelli bd3c27ba78 Allow building with system wide mbedtls on X11
Using builtin_mbedtls=yes is still the default as many distributions
do not ship with mbedtls included.
2018-02-14 01:34:25 +01:00
Fabio Alessandrelli 9e2b1b3b00 Disabled mbedtls module in javascript platform 2018-02-14 01:26:34 +01:00
Fabio Alessandrelli 6fcc8b7e1f Deleting OpenSSL module and library 2018-02-14 01:26:34 +01:00
Rémi Verschelde 71ea00a358
Merge pull request #16648 from marcelofg55/center_window
Added OS::center_window to center the window precisely on desktop platforms
2018-02-14 00:14:59 +01:00
Rémi Verschelde e3658a6464 Fix broken APK expansion due to missed option renames
Command line options were refactored for 3.0 to follow the common usage
of double-dashed long options, but `--main-pack` went through the cracks.

Fixes #16533.
2018-02-13 22:41:19 +01:00
Marcelo Fernandez ea1d726a46 Added OS::center_window to center the window precisely on desktop platforms 2018-02-12 15:45:41 -03:00
Paolo Perkovic 08d4bfacaf Fix inconsistencies and typos in argument names 2018-02-01 16:47:20 +01:00
geequlim 5980bef672 OSX: implement OS.get_unique_id
Update the documentations for OS.get_unique_id()
2018-02-01 23:29:39 +08:00
geequlim df1c16d0fe X11: implement OS.get_unique_id 2018-01-31 09:40:33 +08:00
geequlim 3be04f73f5 Windows: implement OS.get_unique_id and OS.set_ime_position 2018-01-31 09:40:33 +08:00
Pedro J. Estébanez 2e8c7824c0 Implement always-on-top for MacOS
Courtesy of @bruvzg.
2018-01-30 20:39:53 +01:00
bruvzg 9ef0315b06
[macOS] Strip executable when `separate_debug_symbols` is set to yes 2018-01-30 16:51:46 +02:00
Rémi Verschelde 22ef1fa23d
Merge pull request #16162 from hpvb/implement-windows-processor-count
Implement OS::get_processor_count() for Windows
2018-01-30 13:41:03 +01:00
Hein-Pieter van Braam fb60f2dbe6 Fix Copy/Paste problems on X11
The target of the TARGETS type should be XA_ATOM and not XA_TARGETS when
requested. Since we are sending a number of ATOMS the size should be set
to the integer size and not the char size.

The size field of the atoms is also the number of atoms and not the size
of the array. This caused some clients to wrongly interpret the data and
read garbage in the X11 packet.

I also add the more modern representation for UTF-8 and clarify the
error message if a client attempts to request a type we don't know
about.

This fixes #10431
2018-01-29 18:38:04 +01:00
Hein-Pieter van Braam b4d369c887 Implement OS::get_processor_count() for Windows
Current this is hardcoded as '1' for any platform except Unix. The
little is_wow64() dance is required to get correct output on a 32bit
compiled godot running on 64bit Windows according to MSDN.

This code should be UWP safe but I have no way to test that so it's not
implemented for UWP yet.
2018-01-29 16:50:49 +01:00
Rémi Verschelde f12e8568d4
Merge pull request #16081 from djgaspa/dll-directory
Fix remove_dll_directory crash when cookie is null
2018-01-27 23:32:05 +01:00
bruvzg 24b01fe70c
Fix macOS build after #16092 2018-01-26 22:39:08 +02:00
Hein-Pieter van Braam c6d9a7665a Make separate debug symbols opt-in
This adds a separate_debug_symbols option to the x11, windows, and osx
targets. This will default to adding normal debugging symbols to the
artifacts and only splits them when separate_debug_symbols=yes on the
Scons command line.
2018-01-26 20:46:56 +01:00
Rémi Verschelde 9ba5fb87f0 Bullet: allow unbundling only if > 2.87
Looks like we are using cutting edge methods which are not even
if the current stable 2.87.
2018-01-26 19:17:24 +01:00
djgaspa 18e66a28bc Fix remove_dll_directory crash when cookie is null 2018-01-26 12:30:02 +01:00
Rémi Verschelde 8afe5b4d9f
Merge pull request #16059 from eska014/html5-notls
Disable OpenSSL module in HTML5 platform by default
2018-01-25 09:14:50 +01:00
Leon Krause 4a3aaaf276 Disable OpenSSL module in HTML5 platform by default 2018-01-25 09:07:07 +01:00
Rémi Verschelde 94f315df01 Silence verbose stderr info message on X11 2018-01-24 21:49:11 +01:00
Leon Krause dcc55bad20 Fix HTML5 JS API setResizeCanvasOnStart 2018-01-24 05:08:35 +01:00
binbitten 017a8521c0 Fix horizontal scroll for windows platform 2018-01-20 21:15:58 +01:00
x1212 eec2218e7c HTML export: Make s3tc the standard Texture Format 2018-01-20 15:20:26 +01:00
Bernhard Liebl 2419ffd428 On macOS, prevent key_event_buffer overflows 2018-01-19 08:47:30 +01:00
Ruslan Mustakov 8d41175cae Fix Android onTextChanged crash
As it turns out, onTextChanged supplies a mutable CharSequence, which
lead to crashes or unexpected behaviour when input was coming faster
than it was processed.
2018-01-17 19:28:27 +07:00
Rémi Verschelde fb0cd802c4
Merge pull request #15773 from endragor/android-gdnative-remote-fs
Make remote FS work with GDNative on Android
2018-01-16 22:26:27 +01:00
Ruslan Mustakov 99f93ea440 Make remote FS work with GDNative on Android
.so files are added to the .apk when remote FS is used.
2018-01-16 15:18:47 +07:00
Bernhard Liebl 3ff18ee61e Catch NSException in macOS run loop to prevent crashs 2018-01-15 09:31:12 +01:00
Leon Krause bd1750c076 Wrap Emscripten module into JS Engine singleton per SCons
Emscripten's meta DCE changes in 1.37.27(/28?) make it impossible to
keep using --pre-js for this
2018-01-13 19:40:59 +01:00
Rémi Verschelde 5f22422d99
Merge pull request #15665 from endragor/fix-android-gdnative
Fix open_dynamic_library for Android
2018-01-13 17:04:42 +01:00
Rémi Verschelde e141845bfb SCons: Allow unbundling bullet on Linux (only 2.87+) 2018-01-13 15:16:22 +01:00
Ruslan Mustakov 1d763a2cb8 Fix open_dynamic_library for Android 2018-01-13 20:40:20 +07:00
bruvzg f0029fd3c6
[macOS] Adds ability to open files with "Open With" or double-click from Finder 2018-01-12 16:38:19 +02:00
Rémi Verschelde 00630479dd
Merge pull request #15613 from eska014/html5-feature-tags
Fix HTML5 feature tags
2018-01-12 08:18:56 +01:00
Leon Krause 5a1156347d Fix HTML5 feature tags
'HTML5' is the platform tag, the 'JavaScript' tag indicates availability of
the JavaScript.eval singleton.

Also report texture compression support.
2018-01-12 00:32:17 +01:00
volzhs b63384a9f1
Merge pull request #15605 from volzhs/fix-android-build-27
Fix Android build error
2018-01-12 04:25:47 +09:00
volzhs dfdc8c2d9a Fix Android build error
Fix #15603
Fix #15513
2018-01-12 04:24:11 +09:00
Juan Linietsky 554e95747c sorry, accidentally pressed delete before commiting. 2018-01-10 17:55:00 -03:00
Juan Linietsky 0f00384c93 Added middle button doubleclick, fixes #15567 2018-01-10 17:46:41 -03:00
bruvzg b3d803c901
Fix IME producing multiple events per key press. 2018-01-10 13:43:24 +02:00
Rémi Verschelde 51709cd8c8
Merge pull request #15344 from bruvzg/osx_dylib_export
[GDnative] macOS `dylib` export fixes
2018-01-08 15:12:50 +01:00
Rémi Verschelde b49f32deae
Merge pull request #15461 from endragor/better-loading-screen-msg
Improve missing iOS loading screen error message
2018-01-08 08:10:13 +01:00
Rémi Verschelde 06bb4acae0
Merge pull request #15440 from volzhs/fix-android-touch
Fix Android multi touch
2018-01-08 08:04:33 +01:00
Ruslan Mustakov 90f7c84bba Improve missing iOS loading screen error message 2018-01-07 21:50:41 +01:00
Rémi Verschelde 4ab4001ab2
Merge pull request #15447 from eska014/html5-optmode
Build WebAssembly release module with -Os to decrease file size
2018-01-07 17:47:15 +01:00
Leon Krause 4211e4453e Build WebAssembly module with -Os to decrease file size 2018-01-07 17:43:06 +01:00
Leon Krause 2dbf8251bc Initialize WebGL context in OS 2018-01-07 15:49:48 +01:00
volzhs 8fbb82719e Fix Android multi touch
Fix #11798
2018-01-07 23:29:44 +09:00
Rémi Verschelde 8c7b6feb5f
Merge pull request #15425 from bruvzg/osx_runtime_version_checks
[macOS] Remove 10.6+ runtime version checks, add 10.12+ runtime version checks
2018-01-07 01:17:10 +01:00
Rémi Verschelde b33bf23c6a
Merge pull request #15422 from eska014/html5-logger
Print without color control sequences in HTML5 platform
2018-01-07 00:30:58 +01:00
bruvzg ff82fbdf64
Remove 10.6+ runtime version checks, add 10.12+ runtime version checks 2018-01-07 01:21:47 +02:00
Rémi Verschelde 00d5b9ce96
Merge pull request #15420 from eska014/html5-internal-calls
Fix internal Emscripten JS API calls
2018-01-07 00:11:58 +01:00
Leon Krause efdca59a03 HTML5: Print without color control sequences 2018-01-07 00:04:09 +01:00
Rémi Verschelde 6edd2154c8
Merge pull request #15401 from bruvzg/osx_10_12_and_depric_fix
[macOS] Fix build on pre 10.12 and deprecation warnings on 10.12+
2018-01-06 19:54:45 +01:00
Leon Krause cf5b074a95 Fix internal Emscripten JS API calls
Emscripten 1.37.24 no longer exports these by default
2018-01-06 15:53:04 +01:00
bruvzg 47770df198
Fix build on macOS pre 10.12, fix deprecation warnings on 10.12+ 2018-01-06 16:12:57 +02:00
volzhs d2dc70d7d5 Fix Android build error 2018-01-06 22:32:39 +09:00
Pedro J. Estébanez ee2c31d306 Add new window setting: always on top
Implemented for Windows and Linux.
2018-01-05 21:31:04 +01:00
Rémi Verschelde db49f35ab8 SCons: Fix usage of LD when we meant LINK
Also made LINK and CXXFLAGS configurable as command line options.
Note that LINK currently expects the *compiler* that will be used
for linking and will call its configured linker behind the scenes
(so g++, clang++, etc., not ld.gold). See #15364 for details.
2018-01-05 20:37:45 +01:00
Rémi Verschelde 22cd45b1d5
Merge pull request #15365 from guilhermefelipecgs/add_unimplemented_method
Add missing method for javascript
2018-01-05 19:46:27 +01:00
Juan Linietsky 7332da31fc Forced set mouse global position always, hopefully will fix #15354, otherwise out of luck. 2018-01-05 14:33:13 -03:00
Guilherme Silva ea02c62345 Add missing method for javascript 2018-01-05 13:37:31 -02:00
Andreas Haas fab0d53f7e
X11: Add missing return in OS_X11::initialize(). 2018-01-05 12:11:45 +01:00
Rémi Verschelde e4213e66b2 Add missing copyright headers and fix formatting
Using `misc/scripts/fix_headers.py` on all Godot files.
Some missing header guards were added, and the header inclusion order
was fixed in the Bullet module.
2018-01-05 01:22:23 +01:00
bruvzg cce6adfc51
Adds dylib export for "dmg" export mode and change dylib path to "/Contents/Frameworks" 2018-01-04 21:41:59 +02:00
Duy-Nguyen TA 322cb08dd9 Fix macOS and other builds after #15299
Commit ammended by @akien-mga to fix more platforms.
2018-01-04 19:48:05 +01:00
Juan Linietsky 6e2ed15ff1 Add support from properly exporting shared objects, needed for GDNative export 2018-01-04 15:43:06 -03:00
Artem Varaksa 76b5f8b0df
Fixed missing parenthesis 2018-01-04 19:31:35 +03:00
Rémi Verschelde d78335d87f Add missing translation in Javascript export dialog
Also remove newlines from translated strings.
2018-01-04 16:08:24 +01:00
Emmanuel Leblond e315c94900 Change OS::initialize signature to return Error (fix segfault on x11) 2018-01-04 15:15:55 +01:00
Rémi Verschelde b997773b26
Merge pull request #15033 from poke1024/shortcuts-mac
Alternative keyboard shortcuts for macOS
2018-01-04 14:56:29 +01:00
Rémi Verschelde b7b0ffd5c4
Merge pull request #15279 from volzhs/android-update-build
Update android build tool to latest
2018-01-03 18:06:08 +01:00
Rémi Verschelde 5019f5e298
Merge pull request #15092 from guilhermefelipecgs/fix_infinite_loop_on_splash_screen
Fix infinite loop on splash screen on tiling windows managers
2018-01-03 11:41:38 +01:00
volzhs 4bea7d1b5f Update android build tool to latest 2018-01-03 17:25:07 +09:00
Rémi Verschelde 6322b0bbb7
Merge pull request #12814 from guilhermefelipecgs/add_hardware_custom_cursor
Custom hardware-accelerated mouse cursor
2018-01-03 08:35:59 +01:00
George Marques c9005ca7fd
Merge pull request #15246 from vnen/uwp-gdnative
Make GDNative DLLs work on UWP
2018-01-01 22:47:22 -02:00
George Marques 2a023a425d
Make GDNative DLLs work on UWP 2018-01-01 13:59:14 -02:00
Rémi Verschelde b50a9114b1 Update copyright statements to 2018
Happy new year to the wonderful Godot community!
2018-01-01 14:40:47 +01:00
George Marques abf416f922
Improve LTO build with MSVC 2017-12-31 14:35:38 -02:00
Guilherme Silva 2a6035dff4 Fix infinite loop introduced by 6f3486c4 on tiling windows managers 2017-12-27 08:44:18 -02:00
George Marques 62fe640ca8
Add option to sign UWP exports with signtool
Windows-only.
2017-12-26 11:30:18 -02:00
Bernhard Liebl 3f122672a2 On macOS, change some default editor shortcuts 2017-12-26 11:24:12 +01:00
Juan Linietsky 021f3c924b -Removed OpenMP support, replaced by a custom class.
-Disabled Opus, implementation is wrong.
2017-12-24 09:32:12 -03:00
Enzo Nocera 6f3486c486 x11: Fix maximized splash-boot screen bug.
Fixes #14336
2017-12-24 01:16:17 +01:00
Colin Kinloch 853b1daa49 Fixed android arm64v8 2017-12-23 16:49:04 +00:00
Rémi Verschelde bf4d398d4e Do not require OpenMP for non-tools builds (export templates) 2017-12-22 12:24:40 +01:00
Rémi Verschelde aefa23eac1
Merge pull request #14794 from endragor/remove-debug-logs
Remove debug logs that are of no use to end users
2017-12-18 07:40:01 +01:00
Ruslan Mustakov ec31c4f380 Remove debug logs that are of no use to end users 2017-12-18 13:37:37 +07:00
Guilherme Silva a392dbdbe3 Add implementation for custom hardware cursor 2017-12-17 13:40:29 -02:00
Rémi Verschelde 8f25a2dc11 Cleanup some #if 0'd code 2017-12-17 15:40:24 +01:00
Rémi Verschelde fc0e341fc5
Merge pull request #14764 from poke1024/android
Increase sleep time for android export thread
2017-12-17 14:18:47 +01:00
Colin Kinloch 064189c693 Fixed Android NDK unified header detection for python 3 2017-12-17 12:01:16 +00:00
Bernhard Liebl 95edc3855a Increase sleep time for android export thread 2017-12-17 11:50:11 +01:00
George Marques f1683a290b
Add support for whole program optimization on MSVC
Since it's similar to LTO, it can be enabled by setting use_lto=yes.
2017-12-16 22:29:02 -02:00
Juan Linietsky 652c98a7be Add epic hack so vsync can be toggled in run-time from script. Fixes #14458.
Call needs to be routed via visual server to reach the proper thread.
2017-12-16 17:11:02 -03:00
Hein-Pieter van Braam 05018582d7 Rename the debug symbol files to .debugsymbols
Some users were confused by the '.debug' suffix for the symbols.
2017-12-16 13:55:04 +01:00
Rémi Verschelde a68d15d509
Merge pull request #14597 from NathanWarden/linux_extensions
Updated Linux template extensions to match architecture.
2017-12-16 13:05:18 +01:00
Rémi Verschelde cf7bd1a7e3
Merge pull request #14708 from Faless/get_packet_not_const_rebased
Remove "const" from PacketPeer get_packet/get_var, move windows network related stuff to drivers
2017-12-16 00:05:18 +01:00
Hein-Pieter van Braam 241de95884 Fix 32bit MingW build for thekla_altas 2017-12-15 23:26:10 +01:00
Fabio Alessandrelli ac7444023e Move windows networking class to drivers/windows/
Also rename stream_peer_winsock.* to stream_peer_tcp_winsock.* and
StreamPeerWinsock to StreamPeerTCPWinsock.
2017-12-15 18:25:29 +01:00
Fabio Alessandrelli 92067b4714 Remove "const" from PacketPeer get_packet/get_var
They are NOT constant methods, as state by the comment message,
they fetch the last packet and then forget about it, actively
changing the state of the object.
2017-12-15 17:14:17 +01:00
Fabio Alessandrelli 206275f3e7 Fix javascript build error and improve #14604 2017-12-15 15:35:18 +01:00
Rémi Verschelde c0beab6c5b Remove debug printf on Windows 2017-12-15 07:56:47 +01:00
Rémi Verschelde 108a36f515
Merge pull request #14604 from mhilbrunner/http-defaults
HTTP cleanup & better defaults
2017-12-15 07:53:38 +01:00
Rémi Verschelde e3fd61b638
Merge pull request #14672 from akien-mga/openmp-linking
openmp: Simplify linking on X11, fixing clang build
2017-12-14 23:04:36 +01:00
Rémi Verschelde 60d41e9caf openmp: Simplify linking on X11, fixing clang build 2017-12-14 21:50:10 +01:00
Rémi Verschelde 9314628921
Merge pull request #14667 from bruvzg/macports-clang-imp
Minor improvements for #14658 (MacPorts clang support)
2017-12-14 21:29:26 +01:00
bruvzg 0571a36152
MacPorts clang version selection, and OpenMP linking fix. 2017-12-14 20:41:50 +02:00
Rémi Verschelde fb84b49d87 Fix type mismatch in OS::set_borderless_window
Closes #14663.
2017-12-14 19:16:20 +01:00
Rémi Verschelde ab9cda1497 openmp: Don't try to link GCC's implementation on Clang
Also disable openmp build on Travis, breaks on Trusty's Clang.
Group deps more naturally.
2017-12-14 18:27:56 +01:00
Rémi Verschelde ccea45e4fd
Merge pull request #14658 from bruvzg/macports-clang
Adds `macports_clang` build flag.
2017-12-14 16:09:08 +01:00
bruvzg f8303ec6fb
Adds `macports_clang` build flag to build using clang-5.0 form MacPorts (with OpenMP support). 2017-12-14 16:44:45 +02:00
Colin Kinloch edb1df15ea Added indent_style to editorconfig, fixed inconsistent use of tabs and spaces in indentation. 2017-12-14 13:52:23 +00:00
Juan Linietsky f3ad14224e -Add lightmapper
-Fixes to unwrapper (remove degenerates), makes Thekla not crash
-Added optional cancel button in EditorProgress
-Added function to force processing of events (needed for cancel button)
2017-12-14 09:01:27 -03:00
mhilbrunner 966c054fc9 HTTP cleanup & better defaults 2017-12-14 10:59:42 +01:00
Nathan Warden f89d78a7a4 Updated Linux template extensions to match architecture. 2017-12-12 16:09:48 -05:00
Rémi Verschelde f15c255916
Merge pull request #14565 from bruvzg/mingw-specific-binutils
Use MinGW specific binutils for debug symbols separation.
2017-12-12 00:15:26 +01:00
bruvzg 5f5c461385
Use MinGW specific binutils for debug symbols separation 2017-12-11 18:12:50 +02:00
Rémi Verschelde 5563f4cc56 iOS: Drop obsolete code from never-public modules 2017-12-10 18:29:26 +01:00
Rémi Verschelde bf739f9fe6
Merge pull request #14494 from RandomShaper/fix-mouse-x11
Fix no mouse if touch device present in X11
2017-12-10 11:43:12 +01:00
Rémi Verschelde d98e280137
Merge pull request #14485 from RandomShaper/fix-android-export
Fix crash on Android export
2017-12-10 11:22:45 +01:00
Pedro J. Estébanez ef64bfd687 Fix no mouse if touch device present in X11
Plus several improvements in this area.

Sadly, grabbing has been disabled until a better solution is found.

Fixes #14427.
2017-12-10 07:14:59 +01:00
Pedro J. Estébanez 9e9db55cb8 Fix crash on Android export
Caused by a zero-length command-line segment.

Fixes #14343.
2017-12-10 02:31:51 +01:00
Rémi Verschelde 7cb6e6b723 Style: Apply clang-format to Java files
Only those from org/godotengine/godot though, not the thirdparty ones.
2017-12-10 01:16:07 +01:00
Andreas Haas 94a573bb39
X11: Process entire event queue at startup.
Should fix #14336
2017-12-09 23:24:25 +01:00
Rémi Verschelde a8ee9a6116
Merge pull request #14434 from Smjert/fix/13447/vsync
Fixes vsync setting ignored when using a separate thread for rendering
2017-12-09 13:21:36 +01:00
Rémi Verschelde ae012f2381 Windows export: Use WINE to run rcedit on non-Windows host
WINE can be either run from a provided path ("export/windows/wine"),
or looked up in the system PATH.

Fixes #14441.
2017-12-09 11:42:08 +01:00
Rémi Verschelde 3fd1c0c76b
Merge pull request #14437 from vnen/rcedit
Call rcedit on export for Windows desktop
2017-12-09 10:48:19 +01:00
George Marques 78a7241911
Call rcedit on export for Windows desktop
- Add an editor setting to read the rcedit path.
- Add settings to the export preset with icon and other exe information
(version, name, copyright, etc.)
2017-12-09 01:31:10 -02:00
Stefano Bonicatti c067cf2c6a Fixes vsync setting ignored when using a separate thread for rendering
Setting the vsync in the main thread, after the rendering thread starts
and takes the OpenGL context fails, so we need to do that before.
Also, for some reason, the main thread cannot make current the context
anymore.

Fixes #13447
2017-12-09 01:43:23 +01:00
MattUV 93231819c2 Fix Manage Export Templates link
In some cases, the link to download export templates was missing.
Fixes #14391
2017-12-08 00:46:03 +01:00
Rémi Verschelde fbd270bfa8
Merge pull request #14356 from volzhs/ios-delegate-master
use application:didFinishLaunchingWithOptions: instead of application…
2017-12-07 09:33:34 +01:00
Rémi Verschelde 13c2ff9320 Style: Apply new clang-format 5.0 style to all files 2017-12-07 08:02:00 +01:00
Rémi Verschelde d5ca9e2f6f Style: Apply clang-format again on all files
Fixes issues introduced by newer clang-format versions or commits
pushed directly without using the clang-format pre-commit hook.
2017-12-07 08:02:00 +01:00
MrCdK 651677f033 Fix windows compilation when using MinGW 2017-12-07 04:59:11 +01:00
volzhs b87abeb9f9 use application:didFinishLaunchingWithOptions: instead of applicationDidFinishLaunching: for iOS 2017-12-07 10:09:05 +09:00
bruvzg 69dca1722f Use run-time dynamic linking for AddDllDirectory and RemoveDllDirectory to support mingw-w64 build and Windows 7 with KB2533623. 2017-12-07 00:20:42 +01:00
Pedro J. Estébanez 6f3343f1ce Remove guards for the now targeted Windows 7+ 2017-12-06 23:47:09 +01:00
Pedro J. Estébanez 0d48af4afd Add build param for targeted Windows version 2017-12-06 23:47:09 +01:00
Pedro J. Estébanez d089e688b0 Improve/fix multitouch on Windows
- Fix logic error.
- Track touches to enable defensive handling and releasing on focus out.
- Change comment-out by preprocessor `#if`.
- Track/report coordinates as float.
2017-12-06 23:47:09 +01:00
Pedro J. Estébanez 6decbec461 Implement multitouch on X11 2017-12-06 23:47:09 +01:00
Rémi Verschelde e7b7e7b7b0
Merge pull request #14318 from endragor/compile-sdk-version-26
Update Android compileSdkVersion to 26
2017-12-06 19:14:31 +01:00
Ruslan Mustakov b697444bc8 Update Android compileSdkVersion to 26 2017-12-06 22:35:15 +07:00
Unknown fd1b94e307 Improve slang, especially in user-visible parts 2017-12-05 15:41:38 +01:00
Juan Linietsky af27414b1c
Merge pull request #13850 from endragor/fix-iphone-gdnative
Fix open_dynamic_library override in OSIPhone
2017-12-03 04:57:03 -03:00
Ruslan Mustakov 59451c5b8d Fix open_dynamic_library override in OSIPhone
Was broken at 9678231b10
2017-12-03 14:49:12 +07:00
bruvzg 4899d91732 Add macOS shell_open URL escaping 2017-12-01 16:48:21 +02:00
Juan Linietsky 0243803117 Properly take into consideration that VERTEX must be written to in opaque pre pass, does some speed up to scenes using triplanar. 2017-12-01 08:45:36 -03:00
Bastiaan Olij 4c930f3663 Needed a broader search path flag 2017-12-01 00:34:37 +11:00
Juan Linietsky 9678231b10 Changed the dynamic library open function to allow setting the path of the library to open extra libraries. 2017-11-30 10:00:55 -03:00
Indah Sylvia 1746fbd1c6 Enhanced iOS and UWP logo on Export dialog 2017-11-29 17:34:01 +07:00
Rémi Verschelde f0b43678c4
Merge pull request #13383 from Krakean/fix_whitescreen
Fixed fleeting window white screen on editor/game startup
2017-11-29 09:11:18 +01:00
Rémi Verschelde 76725b6c1f
Merge pull request #13387 from rraallvv/refactor
Add target helper functions and refactor (master)
2017-11-29 08:54:59 +01:00
Rhody Lugo a65c0939fd disable caching for targets using helper functions 2017-11-28 23:24:12 -04:00
Dmitry Koteroff 7f26fba8cb Fixed white screen on editor/game startup by moving window displaying to a bit later phase 2017-11-29 03:49:36 +03:00
Leon Krause 640d8cc5d2 Fix inverted relative mouse motion in HTML5 export 2017-11-29 00:56:47 +01:00
Rhody Lugo a4a222d62d use the same cache for all branches for appveyor 2017-11-28 03:23:33 -04:00
Rémi Verschelde af9c67db0c Allow customizing user:// path (folder in OS::get_data_path())
This allows to specify any valid folder name (including with subfolders) to use
as user:// on all platforms. The folder is constrained to the platform-specific
OS::get_data_path() (typically what `XDG_DATA_HOME` resolves to).

Fixes #13236.
2017-11-26 19:02:32 +01:00
Rémi Verschelde e1cf789593
Merge pull request #13278 from eska014/jseval-returntypes
Remove contrived JavaScript.eval() return types
2017-11-25 15:59:43 +01:00
Leon Krause 8de25d6e62 Remove contrived JavaScript.eval return types 2017-11-25 15:38:02 +01:00
Rémi Verschelde d9faf6f2f4 Fix build on macOS and Android after bc2e8d99 2017-11-25 10:42:20 +01:00
Indah Sylvia ac92c147c6 Completed bc2e8d99e5 so that windows can be built 2017-11-25 11:12:07 +07:00
Juan Linietsky bc2e8d99e5 Made Vector::ptrw explicit for writing, compiler was sometimes using the wrong function,
leading to unnecesary copy on writes and reduced performance.
2017-11-25 00:09:40 -03:00
Ruslan Mustakov 871deb6878 Allow to specify multiple resolution Android icons 2017-11-24 11:19:22 +07:00
Rémi Verschelde bedcbdd420
Merge pull request #13130 from endragor/gdnative-android-export
Proper GDNative export on Android
2017-11-21 23:59:01 +01:00
Ruslan Mustakov ebf9b80a47 Proper GDNative export on Android 2017-11-21 20:40:31 +07:00
Rémi Verschelde 6c9ee1f125
Merge pull request #13133 from endragor/resurrect-file-logging
Return and repair file logging
2017-11-21 14:25:33 +01:00
Ruslan Mustakov d42c5646a5 Return and repair file logging
And make it configurable, too.
2017-11-21 16:43:44 +07:00
Bernhard Liebl 80ad8afc85 Native pan and zoom for macOS 2017-11-21 09:11:39 +01:00
Ruslan Mustakov 8f0f327f02 Allow configuring iOS export
- EditorExportPlugin's _export_begin accepts all the arguments related
   to the current export (is_debug, path, flags).

 - EditorExportPlugin API is extended with methods allowing to configure
   iOS export: add_ios_framework, add_ios_plist_content,
   add_ios_linker_flags, add_ios_bundle_file.

 - iOS export template now contains Godot as a static library so that
   it can be linked with third-party Frameworks and GDNative static
   libraries.

 - Adds method to DirAccess for recursive copying of a directory.

 - Fixes iOS export to work with Xcode 9 (released recently).
2017-11-21 01:16:49 +07:00
Rémi Verschelde 450bdda97a
Merge pull request #12387 from santouits/x1111
Fix x11 boot logo position in fullscreen and in maximized
2017-11-20 15:48:08 +01:00
Rémi Verschelde fa8bc8ef13
Merge pull request #13061 from eska014/html5-export
Export boot splash image and add option for custom HTML shell file in HTML5 export
2017-11-20 08:59:23 +01:00
Rémi Verschelde 83e7287752
Merge pull request #13053 from akien-mga/methods-mkstr
Remove need to _MKSTR version strings and rename "revision" to "build"
2017-11-20 08:54:19 +01:00
Konstantin Zaitsev 79178e75cd Set android 'compileSdkVersion' to 24 2017-11-20 10:45:59 +07:00
Rémi Verschelde 3fd23da5ee Rename the version's "revision" to "build"
That "revision" was inherited from SVN days but had been since then
used to give information about the build: "custom_build", "official",
"<some distro's build>".

It can now be overridden with the BUILD_NAME environment variable.
2017-11-20 00:51:14 +01:00
Rémi Verschelde 6947bed015 Pass engine name and version parts as proper strings
Removes the need for _MKSTR all over the place which has the drawback of
converting _MKSTR(UNKNOWN_DEFINE) to "UKNOWN_DEFINE" instead of throwing
a compilation error.
2017-11-20 00:51:14 +01:00
Rémi Verschelde ecf80fbbba
Merge pull request #12988 from akien-mga/xdg-home-paths
Add support for XDG Base Directory spec
2017-11-20 00:42:51 +01:00
Leon Krause ae859fb81e Export boot splash and add custom HTML file option in HTML5 export 2017-11-20 00:06:11 +01:00
Rémi Verschelde 6ace4011e4
Merge pull request #13045 from akien-mga/gles2-cleanup
Cleanup old references to GLES2 renderer
2017-11-19 21:36:00 +01:00
Rémi Verschelde 6e3f2f44af Use new XDG folders to dehardcode paths 2017-11-19 20:54:26 +01:00
Rémi Verschelde 32c12a92a5 Add initial support for the XDG Base Directory spec
Spec version 0.7 from https://standards.freedesktop.org/basedir-spec/basedir-spec-0.7.html
(latest as of this commit).

Three virtual methods are added to OS for the various XDG paths we will use:
- OS::get_data_path gives XDG_DATA_HOME, or if missing:
  ~/.local/share on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_config_path gives XDG_CONFIG_HOME, or if missing:
  ~/.config on X11, ~/Library/Application Support/ on macOS and %APPDATA% on Windows
- OS::get_cache_path gives XDG_CACHE_HOME, or if missing:
  ~/.cache on X11, ~/Library/Caches on macOS and %APPDATA% on Windows

So for Windows there are no changes, for Linux we follow the full split spec
and for macOS stuff will move from ~/.godot to ~/Library/Application Support/Godot.

Support for system-wide installation of templates on Unix was removed for now,
as it's a bit hackish and I don't think anyone uses it.

user:// will still be OS::get_data_path() + "/godot/app_userdata/$name" by
default, but when using the application/config/use_shared_user_dir option
it will now use XDG_DATA_HOME/$name, e.g. ~/.local/share/MyGame.

For now everything still goes in EditorSettings::get_settings_dir(), but
this will be changed in a later commit to make use of the new splitting
where relevant.

Part of #3513.
2017-11-19 20:54:24 +01:00
Rémi Verschelde f0795ae2fe
Merge pull request #13044 from eska014/enginejs
Change HTML5 start-up API
2017-11-19 20:18:00 +01:00
Rémi Verschelde d629a753ec
Merge pull request #13033 from MednauN/master
Add currency code to iOS product details response
2017-11-19 18:16:38 +01:00
Rémi Verschelde 9f134aa5d1 Cleanup old references to GLES2 renderer
There are still some left in the Android Java code, even stuff to swap between
GLES1 and GLES2 support from early Godot days... would be good to see some cleanup
there too one day.

The "graphics/api" option for Android exports is removed, as only GLES 3.0 is supported.
It can be readded when GLES 2.0 support comes back. Fixes #13004.
2017-11-19 17:52:18 +01:00
Rémi Verschelde 992a40a50d
Merge pull request #12961 from eska014/platform-doc
Facilitate documenting platform-exclusive classes
2017-11-19 16:19:47 +01:00
Leon Krause 35adf718cf Change HTML5 start-up API
Rename engine.start() to startGame(), new start() takes string arguments
handed directly to main(). Rename Engine.loadEngine() to load().

Add setLocale(), setResizeCanvasOnStart(), setExecutableName() and
preloadFile().
2017-11-19 15:39:57 +01:00
Evgeny Zuev 785f364bb0 Add currency code to iOS product details response 2017-11-19 15:47:27 +07:00
Leon Krause ddf21ca016 Remove asm.js support from HTML5 platform
Since WebGL 2.0 is required, requiring WebAssembly support as well has
little impact on compatibility.
2017-11-18 05:52:14 +01:00
Leon Krause 63b1a096eb Facilitate exposing platform-exclusive interfaces to all platforms
This makes the interfaces available, without implementation, in other
platforms and the editor, which facilitates documenting platform-exclusive
classes.

Platform-exclusive APIs must be set up in platform/<platform>/api/api.cpp.
Provide noop method-implementations where necessary.

Also setup and document the HTML5 platform's JavaScript singleton.
2017-11-18 03:54:21 +01:00
Rémi Verschelde ad199c3964 EditorSettings: Rename settings_path to settings_dir
Also to prepare for upcoming refactoring for XDG support.
2017-11-17 20:55:09 +01:00
Rémi Verschelde 73049d115e Rename OS::get_data_dir to OS::get_user_data_dir
Will be needed to avoid confusion with system data path (XDG_DATA_HOME)
and editor data dir in upcoming refactoring.
2017-11-17 20:55:09 +01:00
Rémi Verschelde d629fd9a36
Merge pull request #12606 from rraallvv/window_position
Fix window position on macOS (master)
2017-11-17 00:36:16 +01:00
Leon Krause 6b34f10ab1 Fix HTML5 HTTPClient includes 2017-11-15 23:02:36 +01:00
Rémi Verschelde 61a693cf78
Merge pull request #12922 from eska014/engine-singletons
Singleton management changes
2017-11-14 20:44:55 +01:00
Leon Krause 9b7b46143d Move singleton management from ProjectSettings to Engine 2017-11-14 15:15:13 +01:00
Rhody Lugo 2355f545ec fix window position computation on macOS 2017-11-14 08:59:22 -04:00
Rémi Verschelde ba7e00dfef
Merge pull request #12885 from rraallvv/osx_android_travis
travis: caching Android, iOS, macOS (cross-compile) (master)
2017-11-13 21:44:23 +01:00
Rhody Lugo 7f3ecd4227 change matrix and enable caching for Android, iOS and macOS (cross-compile) 2017-11-13 15:05:26 -04:00
Juan Linietsky 2e3a1caa06 Disable OpenGL warnings unless running with -v, closes #7171 2017-11-13 13:40:07 -03:00
Leon Krause 159c2ec69c Fix HTML5 mouse button release events 2017-11-13 16:14:08 +01:00
Rémi Verschelde 0dd96bccd3
Merge pull request #12867 from eska014/html5-http
Implement HTTPClient in HTML5 platform
2017-11-13 08:32:32 +01:00
Leon Krause 2970061a73 Implement HTTPClient in HTML5 platform
Limitations:

 - Subject to same-origin policy
 - No persistent connection (but simulated for compatibility)
 - No blocking mode
 - No StreamPeer access
 - No chunked responses
 - Cannot disable host verification
2017-11-13 00:58:29 +01:00
Bastiaan Olij 6205eb40e7 Align sensors and implement gravity sensor for Android 2017-11-11 09:42:23 +11:00
Rémi Verschelde ed57f0a0d4 Remove get_default_video_mode definition on OSX/iOS
It had been missed in d09160a8b6 and broke compilation
for those platforms.

Took the opportunity to run clang-format on the code base to fix some corner cases
that went through our static tests/were overlooked recently.
2017-11-09 23:36:08 +01:00
George Marques a3387a9e22
UWP: Update to build with Windows SDK 10.16229.0
- Update the OpenSSL shim to work with the new SDK
- Change the ARM platform detection to work with VS2017
2017-11-09 16:06:44 -02:00
Rémi Verschelde 2507818f05
Merge pull request #12782 from rraallvv/unified_headers_fix
add missing distutils.version.LooseVersion import
2017-11-09 17:17:35 +01:00
Juan Linietsky d09160a8b6 Make video mode initialization more intuitive, fixes #12022 2017-11-09 13:02:26 -03:00
Rhody Lugo 7957bbf558 add missing distutils.version.LooseVersion import 2017-11-09 11:58:29 -04:00
Rhody Lugo 7664a0feac unified headers fix 2017-11-09 09:46:43 -04:00
AndreaCatania e44408f653 Compile Android with STL enabled by default 2017-11-08 12:51:35 +01:00
Rémi Verschelde 9437db7bc5
Merge pull request #12604 from rraallvv/unified_headers
add support for Android NDK unified headers (master)
2017-11-06 16:07:00 +01:00
Rhody Lugo ec31b23b33 add support for Android NDK unified headers 2017-11-06 07:51:09 -04:00
volzhs 00ce629bc6 Prevent to stop music in another background app on iOS 2017-11-06 20:16:34 +09:00
Rémi Verschelde e20241c02c
Merge pull request #12691 from eska014/webaudio
Fix WebAudio and HTML5 build
2017-11-06 09:36:13 +01:00
Leon Krause 1a5d3c26db Fix WebAudio and HTML5 build 2017-11-06 00:25:57 +01:00
Rémi Verschelde 5bc2cf257b Convert DOS line endings to Unix line endings
Should fix issues some of us have with `misc/dist/uwp_template/AppxManifest.xml`
always showing up as modified.
Might cause issues on Windows due to the removal of BOMs or change of line endings
in some of the Mono, UWP or gradlew.bat files, we will test and adapt if need be.
2017-11-05 11:37:59 +01:00
Juan Linietsky 7715a261d5
Merge pull request #12262 from AndreaCatania/pplug
Physics server plug
2017-11-03 23:39:44 -03:00
AndreaCatania 7a9ca08f16 Implemented physics plug
Moved init_physics

Implemented physics 2D plug

Fix clang

Fix clang

Fix static check

Fix clang

Fix static check

Moved physics server initialization

Moved physics server settings initialization
2017-11-04 03:25:51 +01:00
Rémi Verschelde cefdb34f6c SCons: make use_lto a global option and opt-in for iphone
Supersedes #12553, see discussion in #12552.
2017-11-02 09:11:50 +01:00
N0hbdy f3fc07272c Add Colemak keybindings to editor for osx 2017-10-30 22:51:02 +01:00
Marcelo Fernandez be6ac69f75 Implemented OS get_latin_keyboard_variant on x11 2017-10-30 12:14:40 -03:00
Rémi Verschelde 62a3dcdc72
Merge pull request #12467 from marcelofg55/emscripten_detect
Detect javascript platform using EMSCRIPTEN env as well

[ci skip]
2017-10-30 11:43:03 +01:00
Rémi Verschelde 87694d1884 Disable logging until the logs location is sorted out
Temporary workaround for #12277.
2017-10-29 15:50:27 +01:00
Marcelo Fernandez 33daf4d8bc Detect javascript platform using EMSCRIPTEN env as well 2017-10-28 16:24:44 -03:00
Rémi Verschelde 0c043bc257
Merge pull request #12442 from mhilbrunner/patch-1
detect.py: Fix KeyError if using MinGW and LTO
2017-10-27 21:22:37 +02:00
mhilbrunner 0407c2ac46 detect.py: Fix KeyError if using MinGW and LTO 2017-10-27 21:04:27 +02:00
Rémi Verschelde 37f1bb3298 Travis: Simplify matrix, disable iphone and add X11 tools=no/clang
Travis always has massive backlog of macOS builds, so we can't rely on them
too much.
The iphone build was mostly useful to spot tools=no or target=release_debug
issues, so replacing it by an appropriate X11 build.
2017-10-27 19:56:37 +02:00
Juan Linietsky b8ac700046 Sound support for Javascript (untested). 2017-10-26 22:35:40 -03:00
santouits 55fae24710 Fix x11 boot logo position in fullscreen and in maximized 2017-10-26 01:06:26 +03:00
Marcelo Fernandez ad4000d376 Implemented vsync OS functions for OS X 2017-10-23 13:26:33 -03:00
George Marques 58b849800e
Add WindowsTerminalLogger to UWP build 2017-10-22 12:15:59 -02:00
Rémi Verschelde 6361e24f29 Cleanup unnecessary debug prints 2017-10-21 20:41:07 +02:00
Rémi Verschelde 5bc44fe000 Merge pull request #12252 from MednauN/master
iOS GameCenter fixes
2017-10-20 21:37:14 +02:00
sersoong 771b742047 update GKScore init function
(cherry picked from commit 5ed8826dd0)
2017-10-20 13:01:07 +02:00
Evgeny Zuev fe02180feb Fix iOS GameCenter connection flow
Add method for secure authentication to GameCenter
2017-10-20 16:24:52 +07:00
Marcelo Fernandez 2baf54526b Fix BSD compile issues 2017-10-17 16:50:41 +00:00
Rémi Verschelde 1b2e09355e SCons: Disable server platform as it does not build
See #8361. [ci skip]
2017-10-17 07:56:04 +02:00
Ruslan Mustakov 011d997840 Sign iOS dylibs before packaging
These changes allow to open the exported project in XCode and Run it
immediately to begin debugging. Before these changes you'd have to
sign GDNative libs and change Build Configuration manually.
2017-10-16 10:35:58 +07:00