Commit graph

2561 commits

Author SHA1 Message Date
fhuya
9a035efe62 Complete the implementation of the GodotPayment plugin.
Move the remaining plugin components within the plugin source code.

(cherry picked from commit 99173c5fc4)
2020-03-25 11:38:53 +01:00
fhuya
cd2b2bf8bf Enable Android studio debugger.
(cherry picked from commit 41dadb2b2b)
2020-03-25 11:38:53 +01:00
Rémi Verschelde
ec752f7c9b Linux: Add Mesa 20 "Intel" to prime detection
Diff in `glxinfo` between Mesa 19.3.4 and 20.0.1:
```diff
-OpenGL vendor string: Intel Open Source Technology Center
-OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 630 (Kaby Lake GT2)
-OpenGL core profile version string: 4.6 (Core Profile) Mesa 19.3.4
+OpenGL vendor string: Intel
+OpenGL renderer string: Mesa Intel(R) HD Graphics 630 (KBL GT2)
+OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.1
```

(cherry picked from commit db28e7ef69)
2020-03-25 11:38:53 +01:00
Rémi Verschelde
4a38ec3937
Merge pull request #36336 from m4gr3d/android_plugin_v2_for_godot_3_2
Re-architecture of the Godot Android plugin. [3.2]
2020-03-17 16:27:59 +01:00
Rémi Verschelde
e5526544a3 Revert "Change LINKFLAGS to FRAMEWORKS which is supported since Scons release 0.96.91"
This reverts commit 2e152b945f.

SCons `FRAMEWORKS` is, according to their latest docs, only supported
"On Mac OS X with gcc". While the "with gcc" part seems bogus, #36795
did introduce a link failure for our osxcross toolchain for compiling
macOS binaries from Linux. SCons probably fails to detect this as a
macOS target and does not use its `FRAMEWORKS` logic properly.

So using `LINKFLAGS` as we used to is the more portable solution.
2020-03-10 09:56:37 +01:00
fhuya
c3660bb4dc Re-architecture of the Godot Android plugin. 2020-03-09 10:30:02 +01:00
Rémi Verschelde
98d0bf7d7a assimp: Clean and document buildsystem, prepare for unbundling
- Improve the SCsub to allow unbundling and remove unnecessary code.
- Move files around to match upstream source.
- Re-sync with upstream commit 308db73d0b3c2d1870cd3e465eaa283692a4cf23
  to ensure we don't have local modifications.
- Doesn't actually build against current version 5.0.1 due to the lack
  of the new ArmaturePopulate API that Gordon authored. We'll have to
  wait for a public release with that API (5.1?) to enable unbundling.

(cherry picked from commit 9d8a9ea826)
2020-03-06 23:53:23 +01:00
bruvzg
5bbce634ad Replace IOHIDDeviceRegisterRemovalCallback with IOHIDManagerRegisterDeviceRemovalCallback to fix gamepad disconnection callback on macOS Catalina.
(cherry picked from commit 6b23e36dbc)
2020-03-06 23:51:26 +01:00
hungrymonkey
2e152b945f Change LINKFLAGS to FRAMEWORKS which is supported since Scons release 0.96.91
Fixes the link errors below

clang: error: no such file or directory: 'Carbon'
clang: error: no such file or directory: 'AudioUnit'
clang: error: no such file or directory: 'CoreAudio'
clang: error: no such file or directory: 'CoreMIDI'
clang: error: no such file or directory: 'IOKit'
clang: error: no such file or directory: 'ForceFeedback'
clang: error: no such file or directory: 'CoreVideo'
clang: error: no such file or directory: 'AVFoundation'
clang: error: no such file or directory: 'CoreMedia'
clang: error: no such file or directory: 'Metal'
clang: error: no such file or directory: 'QuartzCore'

Tested on
System Version: macOS 10.15.3 (19D76)

SCons by Steven Knight et al.:
script: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17 02:07:09, by bdeegan on octodog
engine: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17 02:07:09, by bdeegan on octodog
engine path: ['/usr/local/Cellar/scons/3.1.2_1/libexec/scons-local/SCons']

Xcode 11.3.1
Build version 11C504

Apple clang version 11.0.0 (clang-1100.0.33.17)
Target: x86_64-apple-darwin19.3.0

Closes #36720

(cherry picked from commit c924e83a64)
2020-03-06 23:51:26 +01:00
Rémi Verschelde
75164169c4 SCons: Fix get_compiler_version() to return ints
Otherwise comparisons would fail for compiler versions above 10.
Also simplified code somewhat to avoid using subprocess too much
needlessly.

(cherry picked from commits c7dc5142b5
and df7ecfc4a7)
2020-03-04 14:40:12 +01:00
Rémi Verschelde
c34b351b24 SCons: Explicitly define our C (C11) and C++ (C++14) standards
On GCC and Clang, we use C11 and C++14 with GNU extensions (`std=gnu11`
and `std=gnu++14`). Those are the defaults for current GCC and Clang,
and also match the feature sets we want to use in Godot.

On MSVC, we require C++14 support explicitly with `/std:c++14`, and
make it strict with the use of `/permissive-` (so features of C++17 or
later can't be used).

Moves the definition before querying environment flags and platform
config so that it can be overridden when necessary.

(cherry picked from commit 342f127362)
2020-03-04 14:12:19 +01:00
Christoph Schroeder
031aed3bb7 Fixes touch events for HTML
Without this patch, the following exception is thrown when the touch
screen is used: TypeError: e.getBoundingClientRect is not a function.
No touch events arrive in the engine.

From my testing, this PR fixes the issue and behaves as expected.

Tested with godot-demo-projects/misc/multitouch_view/, emscripten 1.39.8
and Firefox mobile emulator as well as FF on Android

(cherry picked from commit 5134317afc)
2020-03-04 12:40:15 +01:00
Mateo Dev .59
d6c94fd527 os: execute parse the command output from utf8
(cherry picked from commit 8a88637705)
2020-03-04 12:40:15 +01:00
Rafał Mikrut
d001ca320d Fix suspicious | and + operators
(cherry picked from commit d0621b954b)
2020-03-04 12:40:14 +01:00
Marcus Brummer
9190f516b1 Improved custom Android template exports
Prevent newlines from beeing appended in AndroidManifest.xml and
build.gradle. Fixes #36708.
2020-03-03 10:49:13 +01:00
Twarit
6d78636163 Remove unused driver/dummy/audio_driver_dummy.h
(cherry picked from commit 04882a481b)
2020-02-20 08:00:34 +01:00
Hugo Locurcio
30ca4a32a8 Export and reference the icon as favicon when exporting to HTML5
This makes the project icon display immediately as a favicon when
opening the page, without having to wait for the project to finish
loading.

(cherry picked from commit 4492cf856b)
2020-02-14 16:15:40 +01:00
Relintai
34a16ae239 Fix startGame's logic in engine.js.
(cherry picked from commit cb29ce8a3b)
2020-02-14 16:10:41 +01:00
muiroc
50727d7b22 Allow per pixel transparency in javascript platform
(cherry picked from commit e51c6a0d28)
2020-02-14 16:07:03 +01:00
bruvzg
a7ff22ea6d Fix pressure / tilt ranges on Linux.
(cherry picked from commit d552f93f8b)
2020-02-14 15:58:15 +01:00
Alexander Holland
489b3c2949 Fix double tap pressed event regression
(cherry picked from commit d2a5b7367b)
2020-02-14 15:56:26 +01:00
Hugo Locurcio
9a8455f5a7 Remove per-file progress reporting when exporting to Android
Calling `step()` on EditorProgress too often will slow down the
rest of the editor, so it's best avoided. This is also more consistent
with other exporters, as most of them don't report per-file progress
either.

Exporting a 2D project with ~1,100 files to Android now takes
about 10 seconds from a debug editor build instead of 65 seconds.

This closes #30850.

(cherry picked from commit 2dd3a01d11)
2020-02-06 13:02:08 +01:00
Haoyu Qiu
0d8b3efeb7 Adds extra cursors for macOS
Before, plain arrow cursor or unsuitable ones were used.

(cherry picked from commit 8f881847c0)
2020-02-06 13:02:08 +01:00
Haoyu Qiu
3388b7f4c7 Adds sanitizer options for macOS
(cherry picked from commit df4ea84e03)
2020-02-06 13:02:08 +01:00
Hugo Locurcio
611cc11536 Only emit the JavaScript support code for Web when building for HTML5
Excluding other unused environments like Node.js makes the support code
about 4 KB smaller.

(cherry picked from commit e818b51f32)
2020-02-06 13:02:08 +01:00
D00T24
3317f7640e fixed godot not recognising 150x150 icon for uwp export
(cherry picked from commit 88bd3227ac)
2020-02-06 13:02:07 +01:00
Yuri Roubinsky
e8474435e5 Restores correct window position after fullscreen toggling off on Linux
(cherry picked from commit 90f00c0813)
2020-02-06 13:02:07 +01:00
Yuri Roubinsky
8c689f7d4a Fix restoring window from fullscreen to normal on Linux
(cherry picked from commit 8737269275)
2020-02-06 13:02:07 +01:00
PouleyKetchoupp
b2ac2b6201 Fixed LineEdit virtual keyboard inputs on Android
Changed the condition to add a length filter to make it consistent with the documentation (0 means no character limit). Otherwise the default value in LineEdit causes the virtual keyboard to be non-fonctional on Android.

(cherry picked from commit 196860508a)
2020-02-06 13:02:07 +01:00
Rémi Verschelde
68eae6b6e9 Fix some URLs to use HTTPS when available 2020-01-29 02:48:10 +01:00
Rémi Verschelde
096bf873bc
Merge pull request #35632 from godotengine/revert-32854-fix-wireless-adb-debugging
Revert "Fix Android deploy with Remote Debug or Network FS over Wi-Fi"
2020-01-27 21:13:37 +01:00
Rémi Verschelde
c317ac89bf
Revert "Fix Android deploy with Remote Debug or Network FS over Wi-Fi" 2020-01-27 19:59:24 +01:00
fhuya
9bd841b86d Address crash caused by missing dependency. 2020-01-27 10:45:25 -08:00
fhuya
e41caac7db Address crash caused by missing dependency. 2020-01-27 10:26:01 -08:00
Mark Wynn Garcia
141230192c Check if can export before exporting; show error message if can't export. 2020-01-26 11:45:17 +08:00
Rémi Verschelde
c2e07db071
Merge pull request #35438 from MadEqua/virtual-keyboard-line-edit
Android virtual keyboard respecting LineEdit max length.
2020-01-23 08:20:24 +01:00
Rémi Verschelde
c9cf6b102f
Merge pull request #35454 from Calinou/os-execute-default-blocking
Make `OS.execute()` blocking by default if not specified
2020-01-23 08:19:09 +01:00
Rémi Verschelde
05fc26de1c
Merge pull request #35444 from RandomShaper/fix_link_bsd
Fix error with linkers other than GNU ld
2020-01-23 07:57:02 +01:00
Bruno Lourenço
a3bcdbeb78 Android virtual keyboard respecting LineEdit max length. 2020-01-23 01:52:49 +00:00
Hugo Locurcio
90a1f8d8a7
Make OS.execute() blocking by default if not specified
This makes `OS.execute()` calls quicker to set up when calling programs
in a blocking fashion.
2020-01-23 01:26:32 +01:00
Pedro J. Estébanez
35dd36ca35 Fix error with linkers other than GNU ld 2020-01-22 22:38:08 +01:00
Eric Rybicki
67261b1e87 Remove buggy check if key was already released for accumulated input
Fixes #27104
2020-01-22 17:03:33 +01:00
Rémi Verschelde
b711c09bc8 Revert "Fix audio capture naming in Javascript"
This reverts commit 69f7263cd8.

Follow-up to #35359.
2020-01-20 21:35:19 +01:00
Rémi Verschelde
837adb30fd Revert "Exposes capture methods to AudioServer + documentation" #30468
Reverts the following commits:

- c81ec6f26d:
  "Exposes capture methods to AudioServer, variable renames for
  consistency, added documentation."
- 47c558b98a:
  "Expose audio callbacks as signals."
- dabaa11b3c:
  "Fix to make sure the capture buffers are deallocated at shutdown.
  Silences warnings."

Some documentation improvements were kept for pre-existing methods.

See rationale for reverting these changes in #30468.
2020-01-20 13:18:01 +01:00
Rémi Verschelde
adb6734b49 doc: Sync classref with current source 2020-01-19 23:19:29 +01:00
Ignacio Etcheverry
a6105c8ea0 Fix ClassDB API portability with some android and editor classes
- `EditorNavigationMeshGenerator` was being registered as part of the Core API,
even after d3f48f88bb. We must make sure to
set Editor as the current ClassDB API type before creating an instance.

- The `VisualScriptEngineSingleton.constant` property has a property hint string
that's different between tools and non-tools builds. This commit makes the
hint string to no longer be set in `_bind_methods`, and to instead set it in
`_validate_property`. This way it's ignored when calculating the API hash.

- `JavaClassWrapper` is now registered in ClassDB on all platforms,
using a dummy implementation on platforms other than Android.
This fixes API portability between Android and other platforms.

- Updated `--class-db-json` command to ignore non-virtual methods that start
with an underscore (see: 4be87c6016).
2020-01-19 20:15:13 +01:00
Rémi Verschelde
b154bc8333
Merge pull request #35265 from zxcvdev/fix_crash_iphone_ios13
Fix iOS Crash on Application Exit
2020-01-18 15:23:38 +01:00
Rémi Verschelde
bc4ce44d77
Merge pull request #35256 from Faless/js/callback_target_fix
HTML5 callbacks rework.
2020-01-18 11:38:26 +01:00
zxcvdev
9a90ea1425 Fix crash when closing app on iphone 2020-01-18 09:54:07 +01:00
Fabio Alessandrelli
4a50f5ff65 HTML5 callbacks rework.
Fixes compatibility with emscripten 1.39.5+ .
Most input callbacks now require a target and no longer support NULL
defaults.

This commit changes all required null targets to the expected default in
the binding phase.
Since for canvas-related callbacks there is no default, the "#canvas"
selector is used instead.
Additionally, since canvasX and canvasY event properties are no longer
supported, event positions are computed from "clientX" and "clientY" and
the "#canvas" bounding client rect.
2020-01-17 21:42:36 +01:00