Commit Graph

1110 Commits

Author SHA1 Message Date
Marcelo Fernandez 647c4ae5bf Add closest_power_of_2 func and implement mix_rate/latency on OS X 2017-08-18 12:10:21 -03:00
Marcelo Fernandez 830d7c1af1 Fix get_screen_* funcs returning old values after resolution changes on Windows 2017-08-16 13:13:31 -03:00
Marcelo Fernandez fe37afa8df Implemented borderless window functions on OS X 2017-08-14 09:53:05 -03:00
bruvzg 8edc3991fd Duplicate error messages to macOS logging system
(cherry picked from commit 68bf243461)
2017-08-13 20:29:46 +02:00
bruvzg 5b76a456da Fix warp_mouse_pos on macOS 2017-08-05 00:00:05 +03:00
Rémi Verschelde e87b6d4c63 Merge pull request #9978 from ISylvox/update-gradle-android-for-2.1
[2.1] Update Gradle-Android buildtool
2017-08-04 09:45:21 +02:00
Rémi Verschelde bba0be7967 Merge pull request #9885 from bruvzg/2.1-win-num-enter-fix
Fix Numpad Enter key on Windows (2.1)
2017-07-31 22:59:32 +02:00
Rémi Verschelde c2fd0e65f7 Merge pull request #9986 from marcelofg55/2.1
Fix get_screen_* funcs returning old values after resolution changes on OS X
2017-07-31 14:03:15 +02:00
Rémi Verschelde 3a8550675f X11: Do not force require system OpenSSL to build 2017-07-31 00:14:04 +02:00
Rémi Verschelde c1f54e1a45 Style: Apply clang-format on all files
Thus fixing some invalid changes that had still made it to the 2.1 branch.
2017-07-30 23:00:25 +02:00
Marcelo Fernandez 6eedfe4ecb Fix get_screen_* funcs returning old values after resolution changes on OS X 2017-07-30 16:58:00 -03:00
bruvzg ad034962f1 Change display scale when moving the window from monitor to monitor
(cherry picked from commit d18922a56e)
2017-07-30 21:42:17 +02:00
Rémi Verschelde 437cac9f55 Make MinGW test less verbose on non-Bash shells
The &> construct seems to be Bash-specific.
Supersedes #9755.

(cherry picked from commit 9f768cb519)
2017-07-30 21:36:36 +02:00
Pedro J. Estébanez 7459c43750 Remove ANDROID define
Fixes GDNative build error on Android.

It's also discouraged by Google to rely on it. In case someone needs to check, use ``__ANDROID__`` instead, provided by the very same compiler.

(cherry picked from commit 6ea233434a)
2017-07-30 21:34:59 +02:00
Marcelo Fernandez 4af2afe5b4 Fix fullscreen on X11 for non-resizable windows
(cherry picked from commit 11dbca419c)
2017-07-30 21:09:31 +02:00
ISylvox f7e4190b19 update gradle-android buildtool for 2.1 2017-07-30 12:08:36 +07:00
Marcelo Fernandez a6129f0a21 Fix mutex initialisation in OS X Audio Driver 2017-07-28 16:17:46 -03:00
George Marques ea545859bd Merge pull request #9902 from brenttaylor/msvc-build-tools-fix
Support MSVC (2015) build tools
2017-07-28 10:40:54 -03:00
Rémi Verschelde 0838a1c420 Merge pull request #9922 from RandomShaper/fix-android-debug-2.1
Fix Android debug/run (2.1)
2017-07-28 11:15:45 +02:00
Rémi Verschelde 93e06fa1a8 Merge pull request #9812 from bruvzg/2.1
Add macOS main menu (2.1)
2017-07-28 11:05:22 +02:00
Rémi Verschelde 45566c61e3 Merge pull request #9836 from bruvzg/2.1-resize-fix
Improved macOS window resizing behaviour (2.1)
2017-07-28 11:02:21 +02:00
Pedro J. Estébanez aea12b56bc Fix Android debug/run
Same as _master_'s 0ae3336a329b1fd14b66bb26707c2461b66e5aa8; namely:
- Prefix all __adb__ commands with device specification to avoid errors when multiple devices connected.
- Include Android release in device data collection.
- Force system user:.
    - Ability to enable/disable.
    - Apply only if OS release >= 17 (when multiuser was introduced.
    - Fix argument passing.
- Rename local variable `port` to `dbg_port` to better match its partner `fs_port`.
- Fix typo in error message.

But adds:
- Get the debug port from the editor settings, where it lives now.

Fixes #8581.
2017-07-27 18:11:23 +02:00
Brent Taylor 90f853f710 Support MSVC (2015) build tools 2017-07-26 21:45:11 -07:00
bruvzg 673211a692 Fix Numpad Enter key on Windows 2017-07-26 21:39:02 +03:00
bruvzg c121f8d561 Fix Numpad Enter key on macOS 2017-07-26 16:46:44 +03:00
bruvzg 5c7ba482d0 Improved macOS window resizing behaviour.
Add redraw call to resize callback.
2017-07-25 12:11:39 +03:00
Jia Wang 5a5b6dcde0 Workaround to allow pasting unicode characters from X selection.
Fixes #2491.
Fixes #9787.
2017-07-25 07:27:27 +08:00
bruvzg 9ea472e810 Fix is_window_fullscreen() and set_window_fullscreen() behaviour after window has entered/left full-screen mode via green zoom button.
Fix get/set_current_screen & set_window_maximized.
2017-07-24 22:23:25 +03:00
bruvzg 0cd14e5bac Add macOS main menu 2017-07-24 14:32:07 +03:00
Marcelo Fernandez 077b455b93 Updated OS X audio driver with improvements from 3.0 2017-07-23 13:40:38 -03:00
Marcelo Fernandez da7b181a39 Fix Right-Click (Ctrl-Click) on OS X 2017-07-22 16:35:07 -03:00
BastiaanOlij 88236c7418 Fix typo in plist export
(cherry picked from commit e735963182)
2017-07-14 22:04:09 +02:00
George Marques 55a3e078fa
WinRT: Fix problem with Cert Kit validation 2017-07-12 01:33:42 -03:00
George Marques 92ac3869d3
WinRT: Fix exporting problems
- Replace spaces with %20, since appx don't like it.
- Use .zip extension for custom package templates.
2017-06-26 14:51:21 -03:00
Poommetee Ketson 4a0dc529ce BuildSystem: generated files have .gen.ext 2017-06-25 20:31:56 +07:00
George Marques 0a9d482482
WinRT: Add Gamepad vibration support 2017-06-24 13:31:36 -03:00
George Marques fbb4107ec7
WinRT: Fix Gamepad input
Fix #9216
2017-06-24 12:22:58 -03:00
ageazrael fc27e46af4 Used in the macOS HiDPI options window is too small
(cherry picked from commit 109ad227d3)
2017-06-17 16:03:13 -07:00
Andreas Haas c0747b22c3 X11: Turn warning about not finding cursor theme into verbose output.
Failing to get the cursor theme should not cause any issues since we're then using the default one anyway.
So I removed the warning and made it a verbose-only print instead, as people tend to mistake it for a real error..
(pretty much like `iCCP: known incorrect sRGB profile` :P)

(cherry picked from commit d6333066fc)
2017-06-17 11:55:05 +02:00
Rémi Verschelde c4a0679776 Merge pull request #8948 from RandomShaper/improve-mobile-builds-2.1
Improve/harmonize mobile builds (2.1)
2017-06-17 11:51:17 +02:00
George Marques 7174d706aa
Fix MouseWheel position on Windows 2017-06-15 13:18:58 -03:00
George Marques b2f8a365f2
Fix cherry-picking issues caused by code updates 2017-06-07 12:59:42 -03:00
George Marques 477c770181
Change winrt build to be less dependent on ANGLE
Now it does not try to build if the solution is not found. This way it's
possible to provide a minimal package with includes and libs and make it
build correctly.

Also remove messages from detect.py since it is ran for every platform
target.
2017-06-07 12:50:38 -03:00
George Marques 21c4bff64c
Add Windows Universal export to editor
- Use OPENSSL_ENABLED definition to the whole source to detect it
  anywhere.
- Add WinRT/UWP template files with manifest and default images.
2017-06-07 11:36:00 -03:00
George Marques e01fdd8a86
Remove embedded ANGLE headers
There's now a dependency on external ANGLE code, those are not needed
anymore.
2017-06-07 11:36:00 -03:00
George Marques 48a06f730f
Implement missing WinRT functions
- Fix buildsystem for WinRT/UWP platform.
- Add audio driver and joystick mapping for WinRT.
- Enable thread class for WinRT.
- Refactor MSVC compiler architecture detection to methods.py, so it can
  be used by Windows and WinRT.
2017-06-07 11:36:00 -03:00
Pedro J. Estébanez 499ef55cbc Improve/harmonize mobile builds 2017-05-27 23:26:47 +02:00
Rémi Verschelde 1b99d75d7e Merge pull request #8934 from volzhs/get-locale
Make OS.get_locale() returns same value
2017-05-27 11:27:14 +02:00
Rémi Verschelde 441196a52c Merge pull request #8940 from RandomShaper/ccflags-iphone-2.1
Allow custom CCFLAGS for iPhone builds (2.1)
2017-05-27 00:48:59 +02:00
sanikoyes b8ae40de72 Fixed audio can not resume if it is interrupted cause by an incoming phone call
(cherry picked from commit 7d374b5974)
2017-05-27 00:42:59 +02:00
Rémi Verschelde d432ad1e17 Improve documentation of thirdparty code snippets
(cherry picked from commit c8aea60324)
2017-05-26 23:53:14 +02:00
Pedro J. Estébanez f6c50a6289 Allow custom CCFLAGS for iPhone builds
and disable exceptions by default
2017-05-26 22:35:09 +02:00
volzhs a495feae3e Make OS.get_locale() returns same value 2017-05-27 03:42:28 +09:00
Ramesh Ravone 22c174bb71 Android: avoiding duplicates in build.gradle
(cherry picked from commit f8309f86c2)
2017-05-26 18:08:59 +02:00
Ramesh Ravone 9028a75452 Android: Support to change minSdkVersion (#8313)
(cherry picked from commit 93b417fe17)
2017-05-26 18:08:26 +02:00
Rémi Verschelde 99f65fcb4f Merge pull request #8922 from volzhs/fix-android-build
Fix android build regression by 69c4c4a
2017-05-26 16:00:50 +02:00
volzhs c6ebb6a40c Fix android build regression by 69c4c4a 2017-05-26 20:42:36 +09:00
Rémi Verschelde 29c7118f32 Merge pull request #8913 from RandomShaper/ios-alert-2.1
Implement OS.alert() for iOS (2.1)
2017-05-26 07:56:24 +02:00
Pedro J. Estébanez b870ff6940 Implement OS.alert() for iOS 2017-05-25 17:30:36 +02:00
volzhs d4ef6216d3 Fix android payment logical error
getting sku detail runs only if mod != 0 which means querying 20*n will not get sku details.
referenced from https://github.com/googlesamples/android-play-billing/blob/master/TrivialDrive/app/src/main/java/com/example/android/trivialdrivesample/util/IabHelper.java#L1029-L1062
2017-05-19 12:11:59 +09:00
Pedro J. Estébanez deda04faff Upgrade Android build tools to the latest 2017-05-16 00:54:54 +02:00
Rémi Verschelde aa046a85dc Merge pull request #8740 from pixelpicosean/scrollingWithFactor
Implemented scrolling factor for precision trackpads for 2.1
2017-05-15 07:57:05 +02:00
Sean Bohan ee670f3724 Implemented scrolling factor for smooth trackpad scrolling
Working platforms platform: OSX, Windows.
Support for almost all ui elements, including project list.

Ported from 304a1f5b5a (#7864).
Fixes #492 and #3913.
2017-05-15 06:44:00 +08:00
Fabio Alessandrelli aa167fa04b Rename debug/debug_port to network/debug_port.
Expose it in editor settings.
2017-05-12 20:01:53 +02:00
Fabio Alessandrelli e9a7eeaf9c Fix UDP wait() not returning after first received packet
(cherry picked from commit 5c6715a291)
2017-05-12 20:01:53 +02:00
Fabio Alessandrelli bd26eacc59 Allow non blocking UDP put_packet in C++.
- Add blocking mode option to PacketPeerUDP.
- put_packet returns ERR_UNAVAILABLE when operation would block.
- ENet module uses non-blocking UDP.

(cherry picked from commit 5f681d0b0f)
2017-05-12 20:01:53 +02:00
Rémi Verschelde 05d83a62c6 Merge pull request #8695 from BastiaanOlij/mfi_support_2.1
iPhone MFI gamepad support
2017-05-12 18:16:41 +02:00
Rémi Verschelde 353ed88a54 Merge pull request #8724 from volzhs/android-jni
Fix compile error when use "android_add_jni_dir"
2017-05-12 08:24:32 +02:00
Rémi Verschelde 229c277585 Merge pull request #8722 from volzhs/fix-android
Fix possible memory leak for Android and update gradle
2017-05-12 08:24:09 +02:00
volzhs 69c4c4a20c Fix compile error when use "android_add_jni_dir" 2017-05-12 15:07:41 +09:00
volzhs c7d3aac505 Update to latest gradle 2017-05-12 14:38:23 +09:00
volzhs a6c74136b5 Fix possible memory leak for Android
/godot_dev/platform/android/java/src/com/google/android/vending/expansion/downloader/impl/DownloaderService.java:575: Error: The WIFI_SERVICE must be looked up on the Application context or memory will leak on devices < Android N. Try changing  to .getApplicationContext()  [WifiManagerLeak]
            mWifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   Explanation for issues of type "WifiManagerLeak":
   On versions prior to Android N (24), initializing the WifiManager via
   Context#getSystemService can cause a memory leak if the context is not the
   application context. Change context.getSystemService(...) to
   context.getApplicationContext().getSystemService(...).

1 errors, 0 warnings
2017-05-12 14:38:15 +09:00
BastiaanOlij de9efc2fdf iPhone MFI gamepad support 2017-05-09 08:57:17 +10:00
Rémi Verschelde e3cf067845 X11: Abort build if using OpenSSL 1.1.0+
Workaround until #8624 is fixed.

(cherry picked from commit 2976801012)
2017-05-06 19:01:33 +02:00
volzhs 7919ce782b Fix error or download again if use obb for Android 2017-04-26 03:43:38 +09:00
Rémi Verschelde ef351971d8 Drop EXEC PATHP?? super verbose info message
It seems to give nightmares to Windows users.

(cherry picked from commit dd55950b62)
2017-04-20 01:55:54 +02:00
Rémi Verschelde a27876d5ac Style: Apply clang-format (3.9.1) to Obj-C++ files 2017-04-09 14:03:52 +02:00
Rémi Verschelde 4b561e3e04 Merge pull request #8311 from BastiaanOlij/format_mm_2.1
Spaces to tabs and layout adjustments on .mm files
2017-04-08 16:49:51 +02:00
Rémi Verschelde 7f32db5ac9 Revert "8145 - Mouse Position is unknown until first mouse event on X11 & Win"
This reverts commit e5d63aaece.
Same reasoning as #8291.
2017-04-08 11:28:25 +02:00
BastiaanOlij 33ea9fc4a7 Spaces to tabs and layout adjustments on .mm files 2017-04-08 09:47:13 +10:00
Rémi Verschelde 2491754de7 Style: Fix some badly formatted files 2017-04-08 01:42:41 +02:00
Rémi Verschelde e9b045d9e5 Add "Godot Engine contributors" copyright line 2017-04-08 00:45:24 +02:00
Rémi Verschelde f71da5c8c5 Merge pull request #8273 from RandomShaper/fix-android-x86-2.1
Fix crash on Android-x86 (2.1)
2017-04-05 22:27:58 +02:00
Pedro J. Estébanez 212fca0c50 Fix crash on Android-x86 2017-04-05 22:16:04 +02:00
Sergey Pusnei e5d63aaece 8145 - Mouse Position is unknown until first mouse event on X11 & Win
- X11 update input->pos on EnterNotify
- X11 & Win call first-time events processing before main initialization

(cherry picked from commit c79e998d1f)
2017-04-05 08:08:08 +02:00
Ramesh Ravone 1c17e5b38d Update build.gradle.template
Updating project repository,
added jcenter() since Android Studio uses it by default.

https://www.jfrog.com/knowledge-base/why-should-i-use-jcenter-over-maven-central/
(cherry picked from commit 77c81a21d8)
2017-04-05 08:07:01 +02:00
Rémi Verschelde b3d1113ae3 Merge pull request #8152 from Hinsbart/input_id_2.1
[2.1] Better handling of joypad device IDs.
2017-03-27 08:51:15 +02:00
Andreas Haas 8c06da0d49
Better handling of joypad device IDs.
Now InputDefault is responsible for giving out joypad device IDs to the platform, instead of each platform handling this itself.
This makes it possible for c++ modules to add their own "custom" gamepad devices, without the risk of messing up events in case the user also has regular gamepads attached (using the OS code).
For now, it's implemented for the main desktop platforms.
Possible targets for future work: android, uwp, javascript
2017-03-26 00:12:11 +01:00
Rémi Verschelde 31107daa1a SCons: Add option to toggle warnings (on by default)
All the warnings are factored out of the platform-specific files and moved to
SConstruct. Will have to check that it does not introduce regressions on some
platforms/compilers.
2017-03-25 09:24:29 +01:00
Rémi Verschelde 492f6e06c0 Merge pull request #8088 from BastiaanOlij/android_gravity_2.1
Android gravity vector Godot 2.1
2017-03-24 22:49:23 +01:00
Rémi Verschelde fd17d301d0 Merge pull request #8100 from BastiaanOlij/ios_magnetometer_2.1
Fixing magnetometer on iOS
2017-03-23 09:57:29 +01:00
Fabio Alessandrelli 15ecdb5f00 Fix buffer size check in UDP socket.
We were reserving 12 bytes from the buffer for ip, port, and length, but since
IPv6 introduction we should be reserving 24 (IPv6 are 16 bytes)

(cherry picked from commit 5dc7c920bf)
2017-03-22 21:11:49 +01:00
Fabio Alessandrelli 994df5df5c Use default UDP ring buffer size of 65536 for clients
We should probably create a specific function for setting the
recv buffer anyway. UDP sockets does not need to bind (listen)
to be able to call recvfrom. This is especially useful for clients
who just call set_send_address and start communicating with a server.

(cherry picked from commit 9336857132)
2017-03-22 21:07:27 +01:00
Fabio Alessandrelli 7dbccc9a57 Fix bug causing UDP socket to close after the first send if not listening
The ring buffer for receiving packets was not resized in constructor

(cherry picked from commit 68dc969f8c)
2017-03-22 21:05:27 +01:00
Fabio Alessandrelli 9f41c0a356 Avoid deadlock when writing/reading data on a connecting TCP socket
TCP status polling is always performed as non blocking.
Trying to put a packet on a connecting socket will fail immediately.

(cherry picked from commit fa0cb7da0e)
2017-03-22 21:03:26 +01:00
Fabio Alessandrelli d9525082fe Remove set_ip_type from network classes (no longer needed)
- TCP:
  - `listen` bind to wildcard "*" -> dual stack socket
  - `listen` bind to address -> socket from address type
  - `connect` -> resolve using best protocol (UNSPEC), socket from address type

- UDP:
  - `listen` bind to wildcard "*" -> dual stack socket
  - `listen` bind to address -> socket from address type
  - `put_packet`/`put_var` -> resolve using TYPE_ANY (UNSPEC), socket from address type
    (to change socket type you must first call `close` it)

(cherry picked from commit 88a56ba783)
2017-03-22 21:00:23 +01:00
Fabio Alessandrelli 0b9684a085 Implement UDP listen bind address
(cherry picked from commit 2fe4ef6699)
2017-03-22 20:25:56 +01:00
Fabio Alessandrelli 43d992fc34 Implement TCP Server bind address
(cherry picked from commit b2839343ca)
2017-03-22 20:25:52 +01:00
Fabio Alessandrelli 603105df18 Convert validity checks of IP_Address to is_valid method.
(cherry picked from commit 98a7e2b4e0)
2017-03-22 20:01:41 +01:00
Fabio Alessandrelli aeffe74a27 Avoid calling close when polling a UDP peer without socket
(cherry picked from commit e4b9b37ccf)
2017-03-22 20:01:13 +01:00
Fabio Alessandrelli ccf37c4ca2 TCP connect always opens correct socket type
TCP client connections does not need to rely on ipv6 dual stack sockets

(cherry picked from commit 55b4f3686d)
2017-03-22 15:40:31 +01:00
BastiaanOlij 4b7d1d8c15 Fixing magnetometer on iOS 2017-03-21 23:50:53 +11:00
BastiaanOlij cc6810c030 Android gravity vector Godot 2.1 2017-03-21 22:45:24 +11:00
Andreas Haas c5c546fb7f X11: Don't reset mouse cursor theme.
On KDE (and possibly others) the "default" cursor theme is actually some system default, not the one you've set in the desktop setting.
This was especially annoying when using a white cursor, as Godot would then reset back to a dark one.
In my case it was also keeping the cursor from changing its shape.

(cherry picked from commit fc84ccc468)
2017-03-19 00:44:22 +01:00
Ramesh Mani Maran f2f2369db8 android: adding classpath and gradle plugins
(cherry picked from commit 27c7d253aa)
2017-03-19 00:44:13 +01:00
denis e3e86567ba Update mouse position on touch and release events (Android)
(cherry picked from commit 55835167a4)
2017-03-19 00:42:58 +01:00
Rémi Verschelde f8db8a3faa Bring that Whole New World to the Old Continent too
Applies the clang-format style to the 2.1 branch as done for master in
5dbf1809c6.
2017-03-19 00:36:26 +01:00
Rémi Verschelde 1b0e2b0c39 Refactoring: rename tools/editor/ to editor/
The other subfolders of tools/ had already been moved to either
editor/, misc/ or thirdparty/, so the hiding the editor code that
deep was no longer meaningful.

(Manual redo of 49c065d29c)
2017-03-18 23:45:45 +01:00
Rémi Verschelde 16b78da941 Style: Various fixes to play nice with clang-format
(cherry picked from commit 2a0ddc1e89)
2017-03-18 23:13:47 +01:00
Rémi Verschelde 2d479aa0c6 Style: Prevent clang-format on JS code
(cherry picked from commit 39114178a0)
2017-03-18 22:52:28 +01:00
Rémi Verschelde dbf0137576 Style: Fix statements ending with ';;'
(cherry picked from commit f44ee891be)
2017-03-18 21:14:33 +01:00
Rémi Verschelde 9992509b0d iphone: Drop unused Appirater thirdparty API
(cherry picked from commit 481e511082)
2017-03-18 20:22:23 +01:00
Ramesh Mani Maran 9b26e9c9ac support for multiple maven url
(cherry picked from commit aa7490ffd0)
2017-03-18 20:21:49 +01:00
Shlomi Fish cb2cdce6b8 Fix failing build on mageia v6 x64 linux.
There was an error about undeclared malloc()+free().

(cherry picked from commit 0ef3d22d98)
2017-03-18 20:19:57 +01:00
Ignacio Etcheverry 77cb8f058d Replace misuse of list iteration
(cherry picked from commit 0cd309c5c7)
2017-03-18 20:13:17 +01:00
Hein-Pieter van Braam dffdf28349 X11 return to cwd at exit
During runtime godot calls chdir() several times. This doesn't really
matter normally but when using tools such as gprof the location of the
profiling data is kind of hard to intuit.

With this PR we simply store the current working directory at start and
restore it once we're almost done exiting.

This doesn't use the OS abstractions as when we need to get the current
workdir we haven't yet initialized it (by necessity). This would break
if we tried to build X11 for windows, but since the X11 target is
hardcoded to use the UNIX abstractions I don't think it matters.

(cherry picked from commit d0c2015fe1)
2017-03-18 20:12:42 +01:00
Brett-Mitchell 616850b3c0 Fix for issue #7766
Add initialization for OS_OSX.mouse_mode in OS_OSX::OS_OSX().  mouse_mode now defaults to OS::MOUSE_MODE_VISIBLE.
(cherry picked from commit 6921e11805)
2017-03-18 20:09:45 +01:00
Saracen 919c1d627f Fix glitches when sampling relative cursor data in CAPTURED mouse mode on Windows.
(cherry picked from commit 523b69771b)
2017-03-18 20:06:40 +01:00
marcelofg55 97fef612fb Fix issues with set_window_resizable on x11
(cherry picked from commit 474e3ac055)
2017-03-18 19:56:16 +01:00
Ferenc Arn 5e90183ba4 Use -Ofast on x11. Also introduced use_lto option.
debug_release doesn't turn off optimizations for release target now. Ensure that sanitizer options apply to both C and C++ files.

Built-in optimization/debug flags are prepended such that user-specified flags can override them.

Based on and around the discussion in PR #5194.

(cherry picked from commit 7a85d25218)
2017-03-18 19:52:35 +01:00
Fabio Alessandrelli b9451ce58d Fix gibberish output for windows/mingw.
%ls should be used instead of %s or %S to speficy narrow/wide charstring
in wprintf fwprintf

Fixes #6252

(cherry picked from commit 3df934acad)
2017-03-18 19:42:21 +01:00
Jerome67000 ab7faa1281 #7215 try to fix adb bad targeting user on device
(cherry picked from commit 8c19a6cb85)
2017-03-18 19:41:37 +01:00
Jesper Bækdahl e5f0183b0a x11: don't wait for window to be mapped
(cherry picked from commit 8f7a3884fd)
2017-03-18 19:29:46 +01:00
BastiaanOlij 8436a34305 Core motion for Godot 2.x (based on PR 7127) 2017-03-09 21:46:38 +11:00
eska 9518401100 Add window features in web export
- Add 'window' (canvas) resize, maximize and fullscreen
 - Implement get_screen_size
 - Fix fullscreen resolution

(cherry picked from commit 3e1b437315)
2017-03-07 14:11:00 +01:00
eska d34c530a7f Revert "Add fullscreen features in web export"
This reverts commit 17422f1f86.
2017-03-07 14:11:00 +01:00
volzhs c8edf071da Fix handling input for Android 2017-03-04 00:12:35 +09:00
Pedro J. Estébanez fec41c528c Fix resources for Android modules not being merged
Fixes #7421
2017-01-24 16:29:09 +01:00
Fabio Alessandrelli 8322c1aa64 Fix bug in windows TCP poll function
Bug introduced when implementing TCP disconnection detection.
(too much yank-paste).
Fixes #7545

(cherry picked from commit c356ec5e8b)
2017-01-16 15:51:43 +01:00
Fabio Alessandrelli 9c8ecb45f8 Improvements to scons defined WINVER/_WIN32_WINNT
(cherry picked from commit 65483d57bf)
2017-01-12 19:15:30 +01:00
Ignacio Etcheverry 8a5596322d Detect bits when building with MinGW
(cherry picked from commit 460f030b73)
2017-01-12 19:15:30 +01:00
Rémi Verschelde d66740175e Windows: Define _WIN32_WINRT to 0x0600 (Vista)
Passed as a compiler define to be sure it is always define before windows.h
is loaded. This means that Godot officially requires Vista API or later, it will
not work on Windows XP or earlier.

Also fix a bogus check for Windows 7 API.

(cherry picked from commit 6323779596)
2017-01-12 19:15:30 +01:00
Rémi Verschelde 5672852351 x11: Improve logic for cross-dependencies between freetype, zlib and libpng
Fixes #7373.

(cherry picked from commit d945c4e58e)
2017-01-12 19:15:30 +01:00
Rémi Verschelde d8223ffa75 Welcome in 2017, dear changelog reader!
That year should bring the long-awaited OpenGL ES 3.0 compatible renderer
with state-of-the-art rendering techniques tuned to work as low as middle
end handheld devices - without compromising with the possibilities given
for higher end desktop games of course. Great times ahead for the Godot
community and the gamers that will play our games!

(cherry picked from commit c7bc44d5ad)
2017-01-12 19:15:30 +01:00
Gustav Lund f10a78e5c0 fix for crash when no ALSA or Pulse installed on linux
(cherry picked from commit 2495e8a941)
2017-01-12 19:15:27 +01:00
Rémi Verschelde 5b27f05e7e Fix console output for MinGW compilers
Reworked patch from @jay3d (#7116).
(cherry picked from commit f28ff8a208)
2017-01-12 19:15:27 +01:00
volzhs 2e74bdab35 Add alert window on Android
(cherry picked from commit 9a20068ab7)
2017-01-12 19:15:26 +01:00
BastiaanOlij ef009a8b91 Set minimum version to 10.9 building OSX
(cherry picked from commit da5651fbb9)
2017-01-12 19:15:26 +01:00
Fabio Alessandrelli 00fdcf3cd0 IP_Address now handle IPv4 and IPv6 transparently
IP_Address changes:
- Converts to and from String transparently while handling IPv4 as IPv6
  mapped (::ffff:[IP]) address internally.
- Completely remove AddrType enum.
- Setting/Getting of ip array is now only possible through dedicated functions
  (ie. set_ipv4, get_ipv4, set_ipv6, get_ipv6)
- Add function to know if the address is a valid IPv4 (for IP implementation and enet)

(cherry picked from commit 1aff508dd9)
2017-01-04 00:46:33 +01:00
Fabio Alessandrelli e8a6cbc897 Migrate int.IP_TYPE_ constants to IP.TYPE_
(cherry picked from commit c18c5013f8)
2017-01-04 00:46:32 +01:00
Fabio Alessandrelli 47ae6c6507 Move V6ONLY flag selection inside helpers
(cherry picked from commit 4d90a4fcd5)
2017-01-04 00:46:32 +01:00
Fabio Alessandrelli 5e79ac72b7 Automatically map IPv4 address to IPv6 when needed
(cherry picked from commit 9200da58e4)
2017-01-04 00:46:32 +01:00
Fabio Alessandrelli a46a643f90 Use an instance variable for ip_type in raw sockets
PacketPeerUDP/StreamPeerTCP/TCP_Server now uses an instance variable
to store the selected ip_type (IPv4/IPv6/ANY, where ANY = dual stack).
All calls to resolve addresses, sending/receving data, connecting/listening
will use that socket type.

(cherry picked from commit 95bdd97768)
2017-01-04 00:46:32 +01:00
Fabio Alessandrelli c030e602e5 Properly handle tcp connection failure
(cherry picked from commit 4f07b595a1)
2017-01-04 00:46:32 +01:00
Fabio Alessandrelli 1a7f14b206 [IPv6] Fix windows build script (link to ws2_32) 2016-12-11 18:12:46 +01:00
Fabio Alessandrelli 754e9aa60a TCP/UDP Listen sockets can now be set to IPv6 only
(cherry picked from commit eb27e993f0)
2016-12-11 18:12:46 +01:00
Fabio Alessandrelli 70a6791150 Fix windows debugger connection problems.
Unify network socket creation between platform.
Ensure IPV6_V6ONLY flag is not set on sockets (allow IPv4 connection in IPv6 socket, dual-stack).

(cherry picked from commit 812908e236)
2016-12-11 18:12:45 +01:00
Fabio Alessandrelli 6e0de0cce8 TCPServer listen now default to IP type ANY (v6 socket with v4 support)
(cherry picked from commit ee69bd81cf)
2016-12-11 18:12:45 +01:00
Fabio Alessandrelli 04def2161e Fix PacketPeerUDP get_packet_port()
Properly convert port field from network to system ordering on incoming packets.

(cherry picked from commit 25e29972a9)
2016-12-11 18:12:45 +01:00
Fabio Alessandrelli b3443fd848 Pass correct address size (ipv4,ipv6) to socket connect, bind, sendto
The address size passed to network system calls now reflects the the actual IP type (v4 or v6).
Fix Windows and OSX ipv6 sockets

(cherry picked from commit 80e911647c)
2016-12-11 12:35:06 +01:00
Ariel Manzur d8b0070b8c added windows support for ipv6, cleaned up unix code
(cherry picked from commit 672225b710)
2016-12-11 12:35:06 +01:00
eska 5ede1a1226 Emit asm.js code into a dedicated file for asm.js export
This helps prevent browser lockups during start-up at the cost of having
to distribute an extra file.
2016-12-04 02:52:14 +01:00
eska 17422f1f86 Add fullscreen features in web export
- Implement fullscreen control, get_window_size, get_screen_size
 - Fix fullscreen resolution
2016-12-04 02:52:14 +01:00
eska 49e22aa83f Fix some mouse bugs in WebAssembly/asm.js
- Emit mouse wheel release events
 - Set button masks, fixes #5092
2016-12-03 15:33:59 +01:00
eska 6d86a63648 OS additions and fixes for WebAssembly/asm.js
- Implement alert, shell_open, set_window_title
 - Add locale lookup, fixes #2477
 - Print without color control sequences
 - Move get_executable_path implementation to OS_JavaScript
2016-12-03 15:33:32 +01:00
Rémi Verschelde a3582fa3cb png: Allow building shared freetype with bundled libpng
This was the behaviour when building Godot 2.1, which allows to build against
Ubuntu 12.04 and its freetype that links old libpng12, while still bundling
libpng16.

(cherry picked from commit 4965ddfaa1)
2016-11-19 14:09:12 +01:00
Rémi Verschelde 326978dcce Revert "libpng: Fix erroneously linking against libpng12 on old distros"
This reverts commits 5fa1bb331a
and ec4be71fad.

Looks like Debian/Ubuntu are not even shipping libpng16 nowadays in their
stable releases, we'll have to go back to statically linking our own
libpng16 to wait for them to stop being 5 years behind everybody.

(cherry picked from commit c32766a482)
2016-11-19 13:40:53 +01:00
Rémi Verschelde 76233a3022 libpng: Same fix as previous commit for server platform
(cherry picked from commit ec4be71fad)
2016-11-19 13:26:30 +01:00
Rémi Verschelde 220bcbf7c0 libpng: Fix erroneously linking against libpng12 on old distros
This bit us for 2.1.1 binaries built on Ubuntu 12.04 LTS where
libpng.pc apparently prioritizes libpng12.

(cherry picked from commit 5fa1bb331a)
2016-11-19 13:00:17 +01:00
Pedro J. Estébanez 19ce11b908 Update/fix Android build
Fix wrong path for 32-bit Windows, which fixes #7084
Exclude 32-bit Windows from multi-threaded linking because it's not supported by the NDK
Remove 32-bit Linux as there is no NDK variant for it
(cherry picked from commit 5a26459c06)
2016-11-15 08:44:53 +01:00
Pedro J. Estébanez 221346521c Make Android export quicker (especially on Windows)
(cherry picked from commit 56721e5d9d)
2016-11-15 08:35:15 +01:00
volzhs 3e127ce3fd Fix Directory.dir_exist/get_current_dir for 'res://' on Android
Fix #7014

(cherry picked from commit 8d454ed9a7)
2016-11-15 08:34:51 +01:00
ISylvox 0413d85add vsnc --> vsync
(cherry picked from commit b5c383fd61)
2016-11-15 08:34:43 +01:00
Rémi Verschelde cd828bd5fc server: Allow building against system libraries
(cherry picked from commit 5e360fe178)
2016-11-03 22:55:24 +01:00
Rémi Verschelde ce54b6ea8b scons: Reorder options for clarity
Also prefix all thirdparty-related toggles with `builtin`.

(cherry picked from commit cc95d4448c)
2016-11-03 08:41:10 +01:00
Pedro J. Estébanez f629b1fd3e Improve Android build (Clang + tidyness)
(cherry picked from commit b18ff942be)
2016-11-02 22:34:17 +01:00
Rémi Verschelde eaf803f71e style: Various other PEP8 fixes in Python files
Done with `autopep8 --select=E7`, fixes:

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

- E301 - Add missing blank line.
- E302 - Add missing 2 blank lines.
- E303 - Remove extra blank lines.
- E304 - Remove blank line following function decorator.
- E309 - Add missing blank line.
- W391 - Remove trailing blank lines.
2016-11-02 22:29:36 +01:00
Rémi Verschelde e259bf8bbb style: Fix PEP8 whitespace issues in Python files
Done with `autopep8 --select=E2,W2`, fixes:

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

- E101 - Reindent all lines.
- E112 - Fix under-indented comments.
- E113 - Fix over-indented comments.
- E115 - Fix under-indented comments.
- E116 - Fix over-indented comments.
- E121 - Fix a badly indented line.
- E122 - Fix a badly indented line.
- E123 - Fix a badly indented line.
- E124 - Fix a badly indented line.
- E125 - Fix indentation undistinguish from the next logical line.
- E126 - Fix a badly indented line.
- E127 - Fix a badly indented line.
- E128 - Fix a badly indented line.
- E129 - Fix a badly indented line.
2016-11-02 22:26:55 +01:00
George Marques 7a17d72e84 Fix extraneous NULL character on HTML export
Fix #2801

(cherry picked from commit 604ddd691c)
2016-10-30 23:58:41 +01:00
George Marques 52bf8bd168 Fix the hiding of mouse cursor before interaction
Fix part of #6633

(cherry picked from commit 414d58e6c0)
2016-10-30 23:58:32 +01:00
Błażej Szczygieł 85a7105345 SCons: Use colored output if available, change "colored"->"verbose"
(cherry picked from commit 2bf4553fe0)
2016-10-30 14:51:34 +01:00
Rémi Verschelde 5a49e45d21 SCsub: Add python shebang as a hint for syntax highlighting
Also switch existing shebangs to "better" /usr/bin/env python.

(cherry picked from commit fc8ccd5b8c)
2016-10-30 14:51:34 +01:00
Błażej Szczygieł 7143401e25 Theora: Don't compile unnecessary files, rename "x86_opt_*"
(cherry picked from commit 4ffa8f224d)
2016-10-30 14:51:34 +01:00
Rémi Verschelde d96842b80e freetype: Make it a module and split thirdparty library
Comment out the weird workaround for building on Windows at it might
not be needed anymore. Testing needed to confirm.

(cherry picked from commit edbc0c0d0b)
2016-10-30 14:51:33 +01:00
Rémi Verschelde f1bd2f6f56 zlib: Split thirdparty files, simplify scons option
(cherry picked from commit cbf52606f4)
2016-10-30 14:51:33 +01:00
Rémi Verschelde e04ec9565b glew: Split thirdparty files and isolate env
Not fully happy about the way this one interacts with the various
platforms. Maybe the platform_config.h should be generated by the
SCsub instead of passing a define just to know where is the header.

(cherry picked from commit 36738ddda4)
2016-10-30 14:51:33 +01:00
Rémi Verschelde 1022705707 squish: Move to a module and split thirdparty lib
(cherry picked from commit 8311a78df5)
2016-10-30 14:51:33 +01:00
Rémi Verschelde c8a97c3678 mpc: Move to a module and split thirdparty libmpcdec
(cherry picked from commit 5c12c9e69b)
2016-10-30 14:51:33 +01:00
Rémi Verschelde 82e8721715 theora: Move to a module and split thirdparty lib
Same rationale as the previous commits.

(cherry picked from commit cfcc8a20e8)
2016-10-30 14:51:32 +01:00
Rémi Verschelde 4cd640f684 openssl: Move to a module and split thirdparty lib
Same rationale as the previous commits.

(cherry picked from commit 422196759f)

Removed the winrt-specific parts.
2016-10-30 14:51:32 +01:00
Rémi Verschelde 995dcb610c ogg/vorbis/opus/speex: Make them modules and unbundle thirdparty libs
Took the opportunity to undo the Godot changed made to the
opus source. The opus module should eventually be built in its
own environment to avoid polluting others with too many include
dirs and defines.

TODO: Fix the platform/ stuff for opus.
(cherry picked from commit d9a291f641)

speex module was only added while cherry-picking, as speex is removed
in the master branch but we don't want to break compatibility in 2.1.x.
Unbundling wasn't done as the module uses the internal speex_free,
so it would require some more work.
2016-10-30 14:51:31 +01:00
Rémi Verschelde 55414bc573 webp: Make it a module and unbundle libwebp thirdparty files
Note that there are two Godot-specific changes made to libwebp
for the javascript/HTML5 platform. They are documented in the
README.md.

(cherry picked from commit ee3cf211c6)
2016-10-30 14:51:30 +01:00
Rémi Verschelde 575e986bde png: Split library to thirdparty dir and allow unbundling
Uses the new structure agreed upon in #6157, but the thirdparty/ folder
does not behave following a logic similar to that of modules/ yet.

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

Dropped the possibility to disable PNG support, it's a core component
of Godot.

(cherry picked from commit 5fef84a135)
2016-10-30 14:51:30 +01:00
Rémi Verschelde 846db09038 Drop nedmalloc which is apparently not used anymore
(cherry picked from commit f63bf12193)
2016-10-30 14:51:30 +01:00
Randy Tan Shaoxian c9d7f77c6f Fixed tiny error in detect.py causing compilation for Android to fail. 2016-10-20 21:17:21 +08:00
Andreas Haas e88a540b91 osx: Support gamepad input.
Fixes #3881

Vibration support is not optimal yet as it doesn't try to emulate the "weak" and "strong" motor strength,
but just takes the parameter with the highest value for the vibration gain.

(cherry picked from commit 8c886b9d7a)
2016-10-18 18:34:16 +02:00
volzhs 00b0f3dfde Fix crash when using Directory.dir_exists(path) on Android
(cherry picked from commit 4a57821349)
2016-10-17 20:50:57 +02:00
Anthony Fieroni b4edaa892d Correct OS architecture detection
Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>
(cherry picked from commit f87e32696d)
2016-10-17 20:48:05 +02:00
Pedro J. Estébanez 82dfaf7af6 Fix compile flags not getting to the Android build
(cherry picked from commit 7f51bb7b1c)
2016-10-09 17:34:36 +02:00
Pedro J. Estébanez 12d4d65668 Improve debug focus behavior
Fix focusing debugged game on Windows
Add re-focusing editor on continue

(cherry picked from commit 66dac878ac)
2016-10-09 17:29:59 +02:00
Marc Gilleron 268b3446c6 Windows: prevent huge prints from crashing the engine
(cherry picked from commit 0c09de3ef1)
2016-10-09 17:23:08 +02:00
syskrank 4b2243f82e removed confusing "if(true)" statement with empty "else" block
(cherry picked from commit af4b0db1e4)
2016-10-09 17:22:36 +02:00
romeojulietthotel 228ee4363e Use pkgconfig to locate ALSA libs (#6119)
* This allows building when ALSA libs are in a non-standard location. PKG_CONFIG_PATH alone is not enough as the final link fails. Adding this makes the final link succeed.

* The extra LIBS flag for alsa is not needed so removing.

(cherry picked from commit 94d6757a0d)
2016-10-09 17:21:17 +02:00
Andreas Haas d1ad94acf0 x11: Fix event.is_action() for release of modifier keys
The bug was that the release events for these also had the modifier state set, so the event comparison
failed.

Fixes #5901

(cherry picked from commit 6fcf2b2bd8)
2016-10-09 17:20:57 +02:00
Pedro J. Estébanez 45a5769162 Fix manifest generation bug in Android export
(cherry picked from commit 2c9d98bb48)
2016-10-09 17:20:27 +02:00
Pedro J. Estébanez f90370886f Fix (potentially) Android libs packaging issue (#5645)
(cherry picked from commit e9065632c6)
2016-09-18 23:11:18 +02:00
Rémi Verschelde fd58f8dce8 Move templates and distribution stuff to tools/dist
Also removed the obsolete iOS xcode template.

(cherry picked from commit 3efe1231f0)
2016-09-18 23:04:26 +02:00
Mario Schlack 9ea76ff46d Hide the mouse cursor when MOUSE_MODE_CAPTURED is activated.
(cherry picked from commit f0b6a242cc)
2016-09-01 08:46:03 +02:00