Commit graph

2402 commits

Author SHA1 Message Date
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
Rémi Verschelde
a851546845 Merge pull request #12074 from J08nY/fix/use-bin-name
Use binary names instead of absolute paths in calls to OS::execute.
2017-10-15 20:20:34 +02:00
Ramesh Ravone
55784b0c38
export onBackPress for Android Module 2017-10-15 10:35:13 +05:30
Indah Sylvia
53facb07cf Fixed wrong Virtual-KeyCode(0x12) pair on Windows platform (#12073) 2017-10-14 15:41:57 +07:00
J08nY
b1252caa10
Use binary names instead of absolute paths in calls to OS::execute.
Now that #12009 is merged, we should let the system find the binary on
the users $PATH and don't assume we know where to look for them in
different distributions.
2017-10-13 16:45:24 +02:00
Rémi Verschelde
79e247d74e Drop unusued LEGACYGL_ENABLED check
[ci skip]
2017-10-13 00:18:04 +02:00
Rémi Verschelde
3e681227ab Merge pull request #12010 from eska014/jseval
Improve JavaScript calls, allow passing byte arrays to GDScript
2017-10-11 22:36:52 +02:00
Leon Krause
5e06d3d814 Improve JavaScript calls
- Allow returning ArrayBuffer and views as PoolByteArray
 - Return real_t for integral numbers
 - Read all color channels as 0.0 - 1.0 floating point numbers
2017-10-11 01:14:07 +02:00
Andreas Haas
547cc8b7ab Merge pull request #11775 from endragor/android-keyboard-input
Improve input handling on Android
2017-10-10 20:22:06 +02:00
Rémi Verschelde
cb7e4aa6d4 Merge pull request #11926 from RameshRavone/patch-11
flatDir support [Android] (Master)

[ci skip]
2017-10-09 15:05:47 +02:00
Rémi Verschelde
321ae21d5f Merge pull request #11878 from endragor/gradle-repository-urls
Use additional repositories for gradle build dependencies too

[ci skip]
2017-10-09 12:40:31 +02:00
Rémi Verschelde
7e05d249e6 Merge pull request #11826 from endragor/fix-game-center-player-id
Fix returning Game Center player ID
2017-10-09 12:23:48 +02:00
Rémi Verschelde
ad85acfe31 Merge pull request #11824 from endragor/ios-logging
Fix logging on iOS
2017-10-09 12:23:34 +02:00
Rémi Verschelde
e8b9cca614 Merge pull request #11810 from marcelofg55/osx_export_improv
OS X export code improvements
2017-10-09 12:20:39 +02:00
Rémi Verschelde
2e0c7bb22a Merge pull request #11718 from poke1024/retina
Fixes some retina problems on multi monitor setups
2017-10-09 11:04:46 +02:00
Ramesh Ravone
a4cee286e6
flatDir support [Android] 2017-10-07 15:10:17 +05:30
N0hbdy
a0c6fa68fb Fix python 3 build in osx-specific platform 2017-10-07 00:01:36 -07:00
Ruslan Mustakov
a6625221d2 Use additional repositories for gradle build dependencies too 2017-10-06 16:08:57 +07:00
Juan Linietsky
3d87b70f7a Added the set/get_setting function in Editor/Project settings. Renamed has() to has_setting. Fixes #11844 2017-10-05 15:34:34 -03:00
Bernhard Liebl
a7f18798aa fixes several scaling problems on multi monitor retina/non-retina setups on OS X 2017-10-05 08:12:17 +02:00
Gilles Roudiere
5b9b158354 Merge pull request #11823 from endragor/virtual-keyboard-height
Allow to obtain virtual keyboard height
2017-10-04 18:16:28 +02:00
Ruslan Mustakov
f4c77b9ad5 Fix logging on iOS
RotatedFileLogger needs data_dir on iOS to be initialized, so setting
data_dir has been moved to initialize_core.
2017-10-04 23:06:23 +07:00
Ruslan Mustakov
275e537058 Allow to obtain virtual keyboard height
On mobile platforms virtual keyboards take up significant amount of
screen space and UI containing a text box may need to be adjusted
after the keyboard appears to keep the text box visible to user. This
commit adds a way to obtain virtual keyabord height so that controls
are aware of how much they need to move.
2017-10-04 17:21:05 +07:00
Ruslan Mustakov
c8191d04c9 Fix returning Game Center player ID 2017-10-04 17:18:09 +07:00
Ruslan Mustakov
ca7447daf6 Improve input handling on Android
- Dispatch input immediately as it comes, instead of delaying it to the
   next step().

 - Fix text box input handling when caret is at the middle of the text.

 - Minimize queueEvent calls on Java side.
2017-10-04 16:14:29 +07:00
Juan Linietsky
3cadecf17b fixed the OS.has_feature() API, and added support for 32 and 64. 2017-10-03 17:36:14 -03:00
Marcelo Fernandez
b6daa94a80 Improvements on the export code on OS X 2017-10-03 15:09:57 -03:00
Marcelo Fernandez
4b695c3bdf OS::execute can now read from stderr too when executing with a pipe 2017-10-03 15:09:04 -03:00
Hein-Pieter van Braam
2bece6bbd3 Merge pull request #11782 from eska014/persistent-userfs-test
Add OS::is_userfs_persistent, allow starting HTML5 platform in private mode
2017-10-03 12:24:11 +02:00
Andreas Haas
132ba0ed97 Merge pull request #11568 from endragor/loggers
Extract logging logic
2017-10-02 23:51:26 +02:00
Leon Krause
7b23665e72 Add OS::is_userfs_persistent to check user:// persistence
Allows starting HTML5 export when IndexedDB is not available.
2017-10-02 21:07:05 +02:00
Poommetee Ketson
478fd21e07 Merge pull request #11575 from marcelofg55/move_path_to_trash
FileSystemDock will now remove files/dirs to trashcan using OS::move_to_trash
2017-10-02 23:52:09 +07:00
Poommetee Ketson
3f4e973a60 Merge pull request #11716 from marcelofg55/coreaudio_driver
Merged iphone and osx audio drivers into drivers/coreaudio
2017-10-02 23:37:55 +07:00
Leon Krause
11ab7b6efc Use primary WebAssembly.instantiate overload
Previously WebAssembly.compile was used along with the secondary
WebAssembly.instantiate overload. Using only the primary overload is
recommended to get best performance.
2017-10-02 13:09:59 +02:00
Marcelo Fernandez
12d40fa03f Merged iphone and osx audio drivers into drivers/coreaudio 2017-09-30 02:16:42 -03:00
Felix M. Cobos
ec644ccb69 Reduce gcc lto build time by telling the linker to
use the number of jobs indicated by -j
2017-09-26 17:04:04 +02:00
Marcelo Fernandez
20918587d3 FileSystemDock will now remove files/dirs to trashcan using OS::move_to_trash 2017-09-25 21:49:01 -03:00
Rémi Verschelde
78aa7b382a Merge pull request #11567 from QuLogic/scons-var-types
Add types to scons command-line options
2017-09-25 22:44:05 +02:00
Elliott Sales de Andrade
3e69d19116 Use BoolVariable in platform-specific options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade
5be675eb03 Use BoolVariable for module options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade
45a9a680a3 Use BoolVariable for third-party options. 2017-09-25 14:36:30 -04:00
Elliott Sales de Andrade
ffab67b8da Use BoolVariable in target/component/advanced options. 2017-09-25 14:36:02 -04:00
Elliott Sales de Andrade
f9e463bce2 Use EnumVariable for choice-based build options. 2017-09-25 14:36:01 -04:00
Ruslan Mustakov
f5b3b24c22 Enhance iOS export
- The export process now builds complete .ipa on macOS, instead of just
   creating XCode project.

 - The project includes Capabilities games usually require: Game Center,
   Push Notifications, In-App Purchase.

 - Icons and launch screens can be specified in export preset.
2017-09-26 00:18:08 +07:00
Ruslan Mustakov
1a2311e350 Extract logging logic
Previously logging logic was scattered over OS class implementations
with plenty of duplication. Major changes in this commit:

 - Extracted logging logic into a separate Logger hierarchy. It allows
   easy configuration of logging mechanism depending on compile-time or
   run-time configuration.

 - Implemented RotatedFileLogger which is usually used with StdLogger,
   providing persistency of logs. It is often important to be able to
   obtain logs of the game even in production to be able to understand
   what happened prior to some problem. On mobile there previously was
   no way to obtain the logs aside from having the device connected to
   your machine.

 - flush() is not performed in release mode for every logged line. It
   is only performed for errors.
2017-09-25 16:19:21 +07:00
Rémi Verschelde
4ac7f5acf9 Merge pull request #11519 from hpvb/fix-gcc-lto
Fix gcc lto

[ci skip]
2017-09-24 13:32:00 +02:00
BastiaanOlij
9d04f89beb Removed get_resource_dir from osx platform 2017-09-24 19:37:22 +10:00
Rémi Verschelde
df5dab738a Merge pull request #11527 from QuLogic/system-zstd
Enable building against system zstd.
2017-09-24 08:58:38 +02:00
Elliott Sales de Andrade
00c03bdd2b Add support for OpenSSL 1.1.0.
This release hides many struct members which provides easier forward
compatibility but is a break from previous releases. A few small macros
provide compatibility between both 1.1.0 and 1.0.x.

Fixes #8624.
2017-09-24 02:11:02 -04:00
Elliott Sales de Andrade
a408388623 Enable building against system zstd. 2017-09-23 23:46:47 -04:00
Hein-Pieter van Braam
43757fcc85 Fix gcc lto
This repairs LTO on X11 and adds it to MingW targets. The difference in
linktime is substantial, but runtime performance is quite a bit better.
2017-09-23 22:55:26 +02:00
BastiaanOlij
86c66597f3 Comment out code that is causing project loading to fail on osx 2017-09-22 13:05:53 +10:00
George Marques
d595b79c62
UWP: Fix build issue about Object ambiguity 2017-09-21 22:47:52 -03:00
Rémi Verschelde
4664d03a0e Merge pull request #11458 from volzhs/fix-trustmanager-master
Fix TrustManager for Android

[ci skip]
2017-09-21 14:06:55 +02:00
volzhs
1a704d7676 Fix TrustManager for Android 2017-09-21 20:56:38 +09:00
Rémi Verschelde
e8a0c5da77 Merge pull request #11243 from hpvb/add-debug-info-on-release
Create separate debug info files by default
2017-09-21 10:30:17 +02:00
Rémi Verschelde
0eec37e247 Merge pull request #11141 from fcobos/x11_borderless_switch_fix
X11 - Adding borders back to a borderless window was not working.
2017-09-21 10:23:52 +02:00
letheed
5ad9be4c24 Rename pos to position in user facing methods and variables
Rename user facing methods and variables as well as the corresponding
C++ methods according to the folloming changes:

* pos -> position
* rot -> rotation
* loc -> location

C++ variables are left as is.
2017-09-20 13:11:10 +02:00
Rémi Verschelde
96882c7224 Merge pull request #11432 from endragor/min-sdk-version-18
Set Android minSdkVersion to 18

[ci skip]
2017-09-20 09:30:46 +02:00
Ruslan Mustakov
ea7223d181 Set Android minSdkVersion to 18
It's the minimum version where GLES 3 API is available. It is already
the version Godot binary is compiled with for Android, but the config
files were not updated in time.
2017-09-20 11:49:46 +07:00
Ruslan Mustakov
a84093559c Return player ID after connecting to Game Center 2017-09-20 11:48:10 +07:00
Leon Krause
d1ecc25db4 Fix mouse button state in HTML5 platform
Regression from 844c5e12e6
2017-09-19 19:27:52 +02:00
Marcelo Fernandez
9a0aa45d5c Fix crash handler not including stdlib.h 2017-09-19 11:21:45 -03:00
Marcelo Fernandez
ff1e0a3e2c Prevent running the crash_handler when a debugger is present on windows 2017-09-18 16:29:23 -03:00
Rémi Verschelde
53bbc046ee Merge pull request #11252 from marcelofg55/fix_noaudio_crash
Fix crash when no audio driver is available
2017-09-17 22:48:22 +02:00
Marcelo Fernandez
3528b1e571 Fix x11 exported executables not getting the +x flag 2017-09-17 14:40:58 -03:00
Hein-Pieter van Braam
88be952fc9 Create separate debug info files by default
Now that we have a built-in stacktrace on a segfault it would be useful
to have debug information on debug_release builds so that bugreports can
include this information. Without this debug info we will still get
function names in the backtrace but not file location.

This commit will by default build all targets with minimal debug info
and then strip the information into separate files. On MacOS this is a
.dSYM file, on Linux/MingW this is a .debug file. MacOSX will
automatically load a dSYM file if it exists in its debugger. On
Linux/MingW we create a 'gnu debuglink' meaning that gdb and friends
will automatically find the debug symbols if they exist.

Existing workflow for developers does not change at all, except that we
now create two instead of one build artifact by default.

This commit also adds a 'debug_symbols' option to X11, MacOS, and MingW
targets. The default is 'yes' which corresponds to -g1. The alternatives
are 'no' (don't generate debug infos at all) or 'full' which runs with
-g2. A target=debug build will now build with -g3.
2017-09-16 12:00:46 +02:00
Thomas Herzog
7dffed485b Merge pull request #11230 from maxim-sheronov/fix_enum_bindings
Fix enums bindings
2017-09-15 08:43:35 +02:00
Andreas Haas
9488f06e4a
X11: Fix gamepads not being added whith udev.
Seems like this property isn't present on some gamepads...
Fixes #10958
2017-09-14 22:50:40 +02:00
Marcelo Fernandez
7a4c0ff35e Fix crash when no audio driver is available 2017-09-13 20:54:55 -03:00
Rémi Verschelde
f48a1c9ebf Buildsystem: Windows cross-compilation on Linux defaults to 64-bit 2017-09-13 22:36:15 +02:00
Maxim Sheronov
0fffa45158 Fix enums bindings
Add missed bindings for enums
Move some enums to class to have correct output of api.json
2017-09-13 20:57:07 +03:00
Marcelo Fernandez
83fe937362 Added a crash handler to dump the backtrace on Windows, Linux and OS X 2017-09-13 10:07:23 -03:00
Rémi Verschelde
42504ef0d4 Merge pull request #11062 from BastiaanOlij/osx_datapack
Fixed loading package from resource folder, exporting textures to bun…
2017-09-13 11:11:01 +02:00
Rémi Verschelde
e73e00d369 Style: Apply clang-format to @reduz's changes
[ci skip]
2017-09-13 09:13:34 +02:00
Marcelo Fernandez
730d36f350 Fixed issues with surround sound on audio server 2017-09-12 15:13:28 -03:00
Felix M. Cobos
2e74bf488b Adding borders back to a borderless window was not working. 2017-09-12 18:53:34 +02:00
Hein-Pieter van Braam
647a914155 Merge pull request #11111 from marcelofg55/drive_funcs_osx
Implemented DirAccess get_drive and get_drive_count for OS X
2017-09-12 17:17:55 +02:00
Juan Linietsky
eb0f9651b3 HiDPI support on Windows.. yes this is all it took. 2017-09-12 11:18:16 -03:00
Andreas Haas
d0f0d2916f Merge pull request #11123 from fcobos/x11_bypass_compositor
X11 - Hint the window manager to disable desktop compositing in fullscreen mode
2017-09-12 15:17:04 +02:00
Rémi Verschelde
aabbd00284 Merge pull request #10908 from hpvb/fix-unused-variables
Fix unused variable warnings
2017-09-12 12:55:53 +02:00
Rémi Verschelde
cf941fdc35 Merge pull request #11026 from hpvb/fix-assign-in-if
Remove assignment and declarations in if statements
2017-09-12 11:57:49 +02:00
Marcelo
fb871b5ada Implemented DirAccess get_drive and get_drive_count for OS X 2017-09-11 23:46:34 -03:00
Poommetee Ketson
8bf8cf1316 Merge pull request #11154 from eska014/html5-startup-revamp
HTML5 start-up overhaul with download progress display
2017-09-12 04:35:30 +07:00
Leon Krause
4db801aaea HTML5 start-up overhaul
- Implement promise-based JS interface for custom HTML page
   integration
 - Add download progress callback
 - Add progress bar and indeterminate spinner to default HTML page
 - Try downloading files multiple times when failing
 - Get rid of godotfs.js
 - Separate steps for engine initialization, game initialization and game
   start
 - Allow multiple games on one HTML page
 - Substitution placeholders only used in .html file
 - Placeholders renamed: $GODOT_BASE => $GODOT_BASENAME,
   $GODOT_TMEM -> $GODOT_TOTAL_MEMORY
 - Emscripten Module is now Engine.RuntimeEnvironment (no longer a global)
2017-09-11 20:56:29 +02:00
Felix M. Cobos
3b5ee014bd Hint the window manager to disable desktop compositing in fullscreen mode. 2017-09-09 23:24:19 +02:00
Hein-Pieter van Braam
b2a38854fd Fix unused variable warnings
The forth in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-08 15:03:53 +02:00
Hein-Pieter van Braam
8230bf0a2f Remove assignment and declarations in if statements
After discussing with @reduz and @akien-mga it was decided that we do
not allow assignments or declarations in if statements. This PR removes
the instances of this I could find by automated means.
2017-09-08 14:59:15 +02:00
BastiaanOlij
099546ac00 Fixed loading package from resource folder, exporting textures to bundle and added a bit of feedback for a debug compile 2017-09-08 11:39:32 +10:00
Rémi Verschelde
6a08f8288e Merge pull request #10914 from eska014/html5-main-notif
Prevent sending MainLoop notifications before initialized
2017-09-03 11:28:03 +02:00
Leon Krause
8c4fb4cec8 HTML5: Prevent sending MainLoop notifications before initialized 2017-09-03 04:13:24 +02:00
Poommetee Ketson
459f526119 Fix typos 'a' and 'an' 2017-09-02 21:19:06 +07:00
Hein-Pieter van Braam
9c63ab99f0 Fix use of unitialized variables
The second in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-02 01:59:26 +02:00
Rémi Verschelde
dac150108a Merge pull request #10846 from hpvb/fix-sign-compare
Fix signed and unsigned comparisons
2017-09-01 21:52:55 +02:00
Rémi Verschelde
3694c58d3c Merge pull request #10775 from marcelofg55/buffersize_fixes
Corrections to audio buffer size calculations
2017-09-01 21:41:24 +02:00
Marcelo Fernandez
f231eadc9e Corrections to audio buffer size calculations 2017-09-01 11:12:13 -03:00
Poommetee Ketson
ed606ded52 Fix files header 2017-09-01 21:07:55 +07:00
Hein-Pieter van Braam
f9467ec1ea Fix signed and unsigned comparisons
The first in my quest to make Godot 3.x compile with -Werror on GCC7
2017-09-01 08:13:12 +02:00
Rémi Verschelde
6f762ad709 Merge pull request #10422 from endragor/gdnative-android
Make GDNative work on Android
2017-08-31 13:51:10 +02:00
Rémi Verschelde
0cee288c11 Merge pull request #10148 from leezh/pcre2
Replacement of internal RegEx with PCRE2
2017-08-31 11:56:19 +02:00
Rémi Verschelde
b86aa5614f Merge pull request #10793 from RandomShaper/fix-android-dbg-pre-21
Fix pre-Lollipop Android debug
2017-08-31 11:00:01 +02:00
Rémi Verschelde
433d4ada05 Merge pull request #10765 from poke1024/osx-system-dir
Implements OS_OSX::get_system_dir()
2017-08-31 10:58:02 +02:00
Pedro J. Estébanez
d5447a90cc Fix pre-Lollipop (21) Android debug
Namely, automatically pick debug over Wi-Fi for devices with an older release and debug over USB otherwise.

A message is printed both in editor output window and console (uppercase here) to let the user know about what mechanism is being used and why.
2017-08-30 20:39:01 +02:00
Pedro J. Estébanez
a464659d5b Fix parsing of Android API level
And renaming the `Device.release` field to `api_level` for correctness.
2017-08-30 20:21:26 +02:00
Ruslan Mustakov
5ccdeccb6e Make GDNative work on Android
The changes include work done to ensure that GDNative apps and Nim
integration specifically can run on Android. The changes have been
tested on our WIP game, which uses godot-nim and depends on several
third-party .so libs, and Platformer demo to ensure nothing got broken.

 - .so libraries are exported to lib/ folder in .apk, instead of assets/,
   because that's where Android expects them to be and it resolves the
   library name into "lib/<ABI>/<name>", where <ABI> is the ABI matching
   the current device. So we establish the convention that Android .so
   files in the project must be located in the folder corresponding to
   the ABI they were compiled for.

 - Godot callbacks (event handlers) are now called from the same thread
   from which Main::iteration is called. It is also what Godot now
   considers to be the main thread, because Main::setup is also called
   from there. This makes threading on Android more consistent with
   other platforms, making the code that depends on Thread::get_main_id
   more portable (GDNative has such code).

 - Sizes of GDNative API types have been fixed to work on 32-bit
   platforms.
2017-08-30 18:14:19 +07:00
Hein-Pieter van Braam
d44414c711 Disable -ffast-math for etc2comp
Apparently -ffast-math generates incorrect code with recent versions of
GCC and Clang. The manual page for GCC warns about this possibility.

In my tests it doesn't actually appear to be measurably slower in this
case, and this is used in a batch process so it seems safe to disable
this.

This fixes #10758 and fixes #10070
2017-08-30 11:51:24 +02:00
poke1024
9d841b5336 Implements OS_OSX::get_system_dir() 2017-08-29 20:31:03 +02:00
Henrik Andersson
230de5bc9c Fix export of 32 Bits Framebuffer option 2017-08-29 02:36:41 +02:00
Rémi Verschelde
a91d12ab94 Merge pull request #10531 from RandomShaper/remove-old-android-setting
Sanitize Android debug
2017-08-29 00:09:27 +02:00
Rémi Verschelde
9a8a0e20e5 Merge pull request #10552 from RandomShaper/improve-posix
Improve Mac/UNIX conformance/reliability
2017-08-29 00:07:07 +02:00
Rémi Verschelde
3ce6972d2c Merge pull request #10692 from marcelofg55/wasapi_driver
Added new WASAPI driver for Windows
2017-08-28 22:53:53 +02:00
Matthias Hoelzl
b6e1e47e3a Make build scripts Python3 compatible
- The Windows, UWP, Android (on Windows) and Linux builds are
  tested with Scons 3.0 alpha using Python 3.
- OSX and iOS should hopefully work but are not tested since
  I don't have a Mac.
- Builds using SCons 2.5 and Python 2 should not be impacted.
2017-08-27 23:05:39 +02:00
Rémi Verschelde
7ad14e7a3e Dead code tells no tales 2017-08-27 22:13:45 +02:00
Marcelo Fernandez
8e814774b1 Added new WASAPI driver for Windows 2017-08-27 15:26:15 -03:00
Rémi Verschelde
bd282ff43f Use HTTPS URL for Godot's website in the headers 2017-08-27 14:16:55 +02:00
Rémi Verschelde
c90bfcb1c6 Re-apply clang-format to all files
Some badly formatted code has managed to pass through our CI...
2017-08-27 14:16:32 +02:00
Rémi Verschelde
612099e377 Merge pull request #10591 from Rubonnek/possible-null-ptr-dereference
Added/Fixed null pointer checks
2017-08-27 02:10:56 +02:00
Rémi Verschelde
ea55b400d9 Merge pull request #10598 from Rubonnek/free-memory
Free memory when Main::setup returns an error
2017-08-27 02:10:41 +02:00
Rémi Verschelde
5976e8d7de Merge pull request #10625 from Rubonnek/fixed-leaks
Fixed several memory leaks
2017-08-27 02:10:32 +02:00
Wilson E. Alvarez
7a07895920 Added/Fixed null pointer checks 2017-08-26 16:58:47 -04:00
Henrik Andersson
3cd3c1da5f Fix refactored Object::cast_to in NO_SAFE_CAST branch 2017-08-26 18:59:37 +02:00
Wilson E. Alvarez
bd257153dc Free memory when Main::setup returns an error 2017-08-25 21:12:19 -04:00
Wilson E. Alvarez
1577f41653 Fixed several memory leaks 2017-08-25 08:47:05 -04:00
Hein-Pieter van Braam
cacced7e50 Convert Object::cast_to() to the static version
Currently we rely on some undefined behavior when Object->cast_to() gets
called with a Null pointer. This used to work fine with GCC < 6 but
newer versions of GCC remove all codepaths in which the this pointer is
Null. However, the non-static cast_to() was supposed to be null safe.

This patch makes cast_to() Null safe and removes the now redundant Null
checks where they existed.

It is explained in this article: https://www.viva64.com/en/b/0226/
2017-08-24 23:08:24 +02:00
Pedro J. Estébanez
d806ad4a3d Implement custom thread numbering for POSIX
For every UNIX-derived (Android, Linux, macOS, iOS) flavor, a global counter is atomically incremented on thread start. That id is kept as thread-local storage.

Therefore, thread ids are sequential numbers, trivially comparable. This improves the previous state of things, in which `pthread_t` were casted to `Thread::ID` and unportabily compared. Also big, ugly thread ids appeared.
2017-08-24 07:02:55 +02:00
Fabio Alessandrelli
d7f08ead4e Allow building fat binaries with osxcross 2017-08-23 15:44:22 +02:00
Rémi Verschelde
582a97fc2c Merge pull request #10575 from henkz1/android_quit_error
fix UnsatisfiedLinkError when quitting on android
2017-08-23 08:11:34 +02:00
Henrik Andersson
16de3835fa fix UnsatisfiedLinkError when quitting 2017-08-23 03:14:51 +02:00
Wilson E. Alvarez
baa94a3758 Removed unnecessary returns and break statements 2017-08-22 13:01:57 -04:00
Pedro J. Estébanez
2a5ee5dec9 Fix Android remote debug not hitting breakpoints
A change in `Main`'s API is needed. Please read the comment in the diff for an explanation.
2017-08-22 17:24:20 +02:00
Pedro J. Estébanez
39c6b3d942 Make Android debug over USB the only option
'Remote debug over ADB' is removed as that will be always the case.
2017-08-22 17:17:42 +02:00
Rémi Verschelde
7f49e2a7a0 Merge pull request #10487 from marcelofg55/curscr_as_default
p_screen param from get_screen_* funcs now default to the current screen
2017-08-22 08:12:04 +02:00
Rémi Verschelde
df590fc2d3 Merge pull request #10340 from Rubonnek/remove-unnecessary-assignments
Removed unnecessary assignments
2017-08-22 00:58:12 +02:00
Rémi Verschelde
13f879587d Merge pull request #10254 from marcelofg55/master
Added notification const NOTIFICATION_WM_ABOUT
2017-08-22 00:56:31 +02:00
Marcelo Fernandez
63f847b306 p_screen param from get_screen_* funcs now default to the current screen 2017-08-21 18:28:29 -03:00