Commit Graph

159 Commits

Author SHA1 Message Date
2e7ee5cef6 Ported: Update the logic to calculate the screen scale on Android
Takes into account the ratio between the screen size and the default window dimensions.
- m4gr3d
48aedb239e
2023-02-07 02:22:44 +01:00
7b0a6b3da8 More fixes. 2023-01-16 01:55:43 +01:00
ee1a7ad8ce Fixed more typos. 2023-01-16 01:22:29 +01:00
5d2cd49139 Fix typos. 2023-01-16 00:54:48 +01:00
2cd4e4d828 Renamed Set to RBSet. 2023-01-15 19:42:08 +01:00
1b0aac6028 Renamed Map to RBMap. 2023-01-15 19:12:50 +01:00
faf7b1573f Fix warnings. 2022-12-31 16:02:27 +01:00
213f393293 Fix typos with codespell. 2022-12-22 19:51:25 +01:00
9f9113c1b2 Ported: Upgrade Android gradle plugin to version 7.2.1 - m4gr3d
de45636fd3
2022-12-22 17:48:33 +01:00
91e598aa7b Ported: SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
  Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
  outside thirdparty code, which we usually don't intend to debug, so it
  seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
  and `release_debug` targets. This used to be set for `release` for all
  platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
  code, which was only implemented for Unix anyway, should have been
  `DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
  target as we don't want OIDN and Embree asserting all over the place.
- akien-mga
b0b759e6da
2022-12-22 17:42:54 +01:00
Dennis Ranke
6c85c2389b handle ambiguous input events as touch events
there can be events can have both SOURCE_TOUCHSCREEN and SOURCE_STYLUS. handle them as touch events rather than mouse events.

(cherry picked from commit 408000752cb39f93b2639fdeefb783e4dd76910f)
2022-12-22 13:56:16 +01:00
Rémi Verschelde
8be8577da6 SCons: Remove redundant -fomit-frame-pointer and -ftree-vectorize
- `-fomit-frame-pointer` is included automatically by both GCC and
  Clang in `-O1` and above.
- `-ftree-vectorize` is included automatically by GCC in `-O2` and
  beyond, and seems always enabled by Clang.

Closes #66296. See that issue for a detailed investigation.

(cherry picked from commit c5c3d13dc0dbbf95a2350f57d69e7cdc546d395d)
2022-12-11 19:12:18 +01:00
47e2a193c4 Fix typo. 2022-11-30 19:36:35 +01:00
8eb69b8052 Fix android build. 2022-11-30 19:33:24 +01:00
ba39fa8970 Ported: Fix incorrect Android scancodes - madmiraal
Also ported:  Fix wrong android key mapping.
Fixes the wrong mapping of `Key::HOME`. Androids `KEYCODE_HOME` is in fact the hardware home button the right mapping is `KEYCODE_MOVE_HOME`.
Also adds mappings to keys that were not present before.
- HolonProduction
2f7de4c8ed
477d24b6d1
2022-11-30 18:58:00 +01:00
d0bb264cc2 Ported: Fix parsing of the keep_screen_on display setting.
- m4gr3d
d08e057194
2022-11-30 18:44:51 +01:00
19efacc416 Ported: Fix 'save & restart' logic for the Android Editor - m4gr3d
5aab84befb
2022-11-30 18:12:43 +01:00
Dan
cfc4f0f050 fix exporting Android APPLICATION_ATTRIBS (3.X) 2022-11-30 14:42:07 +01:00
a3f2631d59 Ported: Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
- m4gr3d
be4b07c3e4
2022-11-13 01:29:17 +01:00
db926ddd0c Ported: Add support for pointer capture - m4gr3d
5149311316
2022-11-13 01:13:22 +01:00
1875780dbe Ported: Update the clean task configuration
Running `gradlew clean` will now properly delete the generated build artifacts
- m4gr3d
71c76a4ff2
2022-11-13 00:34:19 +01:00
4f9137a7e5 Fix jni class access string. 2022-10-12 13:56:47 +02:00
078f558a1a Fix an another typo. 2022-10-08 19:11:36 +02:00
aad46d0e80 Fixed compile error. 2022-10-08 19:06:12 +02:00
d8a48e51bd Ported: Add cursor shape support for the Android platform - m4gr3d
46f091a803 (diff-654c896c53f1fe1db3c63e1f0409d7929b54f1e4e43b49b21a0a4eba4f945c15)
2022-10-08 19:03:10 +02:00
35249df651 Ported: Fix null in android keyboard handling.
- jasonwinterpixel
31fe6848e8
2022-10-08 18:32:02 +02:00
Rémi Verschelde
fe5d1cc8ff SCons: Refactor handling of production flag and per-platform LTO defaults
Fixup to #63288.
See #65583 for the bug report.

Co-authored-by: Cyberrebell <chainsaw75@web.de>
(cherry picked from commit 35a15e619161798820b2bd6ff46178c5b7ccebcf)
2022-10-08 16:18:23 +02:00
42a9dc5e8d Fixed the android editor, now it can open projects again. Also smaller codestyle fixes. 2022-09-17 21:27:19 +02:00
f30076a9f5 Ported: Disable menus and functionality that are not relevant on the Android Editor port - m4gr3d
1f23bac645
2022-09-17 17:36:35 +02:00
6b9e851e5c Ported: Fix issue causing the project manager to crash because of missing path argument
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
- m4gr3d
4be7c91cd9
2022-09-17 17:27:50 +02:00
6e97e0c485 Fix android build. 2022-09-17 17:14:19 +02:00
7268ef04f7 Ported: Enable long press, pan and scale gestures for the Godot Android Editor
Fix the bug causing the editor to crash when running the project.
- m4gr3d
63df48a59c
2022-09-17 17:01:46 +02:00
0bb6a05a4e Removed now unneeded classes. 2022-09-17 16:35:58 +02:00
e8625c21fe Small improvements to the android platform. 2022-09-17 16:31:49 +02:00
554cf8c861 Fix android build. 2022-09-17 12:30:19 +02:00
ccba47dc7c Ported: Cleanup the Android input logic implementation - m4gr3d
440fa10246
2022-09-17 11:35:25 +02:00
0c1bfd8ea7 Fix inconsistent override warning. 2022-09-17 00:40:05 +02:00
Rémi Verschelde
c708c44180 SCons: Refactor LTO options with lto=<none|thin|full>
Adds support for LTO on macOS and Android.
Disable LTO by default on iOS even if `production=yes` is set.

Also add `linker` option to `server` platform missed in #63283.

Refactor code handling old arguments to make it simpler (breaks compat,
but is explicit enough about it and scripts are easy to fix).
2022-09-16 22:54:09 +02:00
Fredia Huya-Kouadio
a6a5b60235 Additional fixes to the Android get_current_dir() implementation. 2022-09-16 22:45:21 +02:00
bruvzg
11cebc25fa Use clang as assembler to ensure preprocessing is done, and add assembler "target" flag.
(cherry picked from commit e87377856174075e38b6d2ca338f28ffa0d9f59f)
2022-09-16 21:44:01 +02:00
3a99f0afa1 Fix warning. 2022-09-16 19:37:29 +02:00
Fredia Huya-Kouadio
076a1a3253 Fix issue with get_current_dir() returning the wrong path on Android 2022-09-16 19:36:41 +02:00
e2d42db711 Also renamed the files. 2022-08-19 21:24:36 +02:00
cffe742085 Renamed the VisualServer to RenderringServer like in Godot4, as I think it's a lot better name for it. I did not yet rename the files. 2022-08-19 20:50:20 +02:00
b2e5cd5f2c Fix an another compile error. 2022-08-19 16:54:20 +02:00
bd58e6b989 Fix android build. 2022-08-19 16:21:38 +02:00
58da70524b Ported: Add support for multiple virtual keyboard types - brianwinterpixel
ce24b48e50
2022-08-19 16:18:53 +02:00
56f71c7275 Ported: Refactor the export checking logic to improve separation of concerns - m4gr3d
d2213f76a9
2022-08-19 12:08:35 +02:00
6821dfb26e Ported: Disable threads used to check on plugins to load
The functionality is unavailable on Android (requires export capability) and unnecessarily consumes resources
- m4gr3d
3ac6b6a596
2022-08-19 02:37:43 +02:00
54c49a25a0 Ported: Fix issue preventing the Android Editor from displaying the project content
The issue was causing by a bug within the logic for `FileAccessFilesystemJAndroid#eof_reached()` causing that value to remain false after the eof was reached.
This in turn caused an infinite loop in the file scanner preventing the project's content from showing up.
-m4gr3d
30479543b0
2022-08-19 02:23:57 +02:00
6be9bf5dfe Cleaned up and added the skeleton modification stack implementations to the build. Also smaller fixes. 2022-08-18 15:41:28 +02:00
f8c50f271b Fix include. 2022-08-17 18:12:48 +02:00
9757c39f05 Moved a few more core classes. 2022-08-17 17:43:49 +02:00
04feb63860 Moved Engine and projectSettings. 2022-08-17 15:35:28 +02:00
be16fe23ad Moved the error macros. 2022-08-17 15:14:19 +02:00
220b2db443 Moved String and related classes under a string folder in core. 2022-08-17 14:19:55 +02:00
dc9cc716c7 Moved Object related classes under core/object. 2022-08-17 13:45:14 +02:00
9555ee56b9 Moved Variant related classes under a variant folder in core. 2022-08-17 13:17:12 +02:00
388b88678e Moved container related classes in core under a new containers directory. 2022-08-17 12:53:49 +02:00
Rémi Verschelde
2ca1470010 File: Re-add support to skip CR (\r) in File::get_as_text
This was removed in #63481, and we confirmed that it's better like this,
but we add back the possibility to strip CR as an option, to optionally
restore the previous behavior.

For performance this is done directly in `String::parse_utf8`.

Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR.

Supersedes #63717.

(cherry picked from commit 1418f97c70a5551bdbfeea853cbc479b32ea9e08)
2022-08-02 17:58:32 +02:00
a5381e1c18 Fix typo. 2022-08-02 16:29:52 +02:00
7a274ee454 Fix android editor build. 2022-08-02 16:27:43 +02:00
a917d1bed4 Ported: Address remaining scoped storage regressions
- Accelerate common path used to check the storage scope for a given path
- Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
- m4gr3d
fc2c202312
2022-07-29 23:48:31 +02:00
e7100658d4 Ported: Fix exit code of --help and --version, and test them in CI
Corrects prior regression which caused ERROR output and exit code of 1. - Bromeon
861e155543
2022-07-29 21:45:04 +02:00
8107f6fea6 Fix an another import. 2022-07-29 21:05:20 +02:00
17f9583dc0 Fix imports. 2022-07-29 20:33:57 +02:00
7ed3705487 Ported: Fix issue causing the Android Editor port to crash when saving a scene
In addition:
- Disable 'adb devices' query (not supported when running the editor on Android devices
- Add `move_to_trash` implementation for Android devices
- m4gr3d
27b63247fd
2022-07-29 20:15:01 +02:00
65b888f597 Fix typo. 2022-07-29 20:01:31 +02:00
64d315631a Added overrides. 2022-07-29 19:46:24 +02:00
6291a6695d Fix typo. 2022-07-29 19:38:24 +02:00
9d76074b58 Ported: Add full support for Android scoped storage.
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer.
This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
- m4gr3d
24e3b3b88d
2022-07-29 19:24:07 +02:00
baad7f01a0 Ported:Upgrade Android NDK to r23 LTS - madmiraal
061c280873
2022-07-29 18:12:25 +02:00
fef163cd57 Ported: Update android:targetSdkVersion from 30 to 31
Starting in August 2022, new apps will need to target API level 31 (Android 12) or higher and adjust for behavioral changes.
Read more here: https://developer.android.com/google/play/requirements/target-sdk
- gumaciel
a38119a746
2022-07-29 12:07:26 +02:00
845d0771b1 Ported: Remove broken scroll gesture on Android - madmiraal
9091309ab7
2022-07-29 11:46:13 +02:00
1e747ac9ba Ported: Ensure joystick has been added or not already removed when processing input.
50bf882fcc
2022-07-29 10:12:37 +02:00
6225d5e6b5 Added missing scripts. 2022-07-29 09:22:06 +02:00
d6e3a9e014 Ported: Migrate the Godot Editor java source file to Kotlin. - m4gr3d
5946b4bdc6
2022-07-29 09:00:31 +02:00
b829fff345 Ported: Ensure Android Java and Kotlin compile to the same version - madmiraal
9f0dba8b65
2022-07-29 08:35:59 +02:00
43131ad4cb Ported: Add readable export errors. Add RTL image vertical alignment support. - bruvzg
f5fa1ca944
2022-07-28 18:40:46 +02:00
d95091efab Ported: Misc editor tweaks and polishes:
- Using a bucketized approach to select the editor scale in order to avoid too high values
- Add default app dimensions: used on Android devices with free floating app windows to set the default app frame
- Add ability to launch the Game window in an adjacent frame when in multi window mode
-m4gr3d
05fc140ee6
2022-07-28 14:14:34 +02:00
5a72ab5669 Ported: Only use Android fullscreen theme for splash screen - madmiraal
caaaef68b4
2022-07-28 13:24:22 +02:00
Rémi Verschelde
0f9ab62c91 Android: Change export plugin poll to 300 ms
This removes the reliance on the not-so-fully-implemented Power API,
which throws an error in the HTML5 editor.

This was already changed to 200 ms in the master branch, and here I
picked 300 ms to be consistent with the iOS export plugin. All these
thread sleeps need to be re-assessed together to be made more
consistent (and possibly configurable - and most importantly battery
preserving by default).
2022-07-28 11:11:52 +02:00
ed207ab5da Ported: Remove duplicate Android sensor listener registrations - madmiraal
b66b153b8c
2022-07-28 10:08:07 +02:00
92e1759b39 Ported: Fix the logic to restart the Godot application - m4gr3d
b162e7ac39
2022-07-28 10:06:47 +02:00
Hugo Locurcio
c0c4418ce7 Increase compiler optimization when using target=release on iOS/Android
(cherry picked from commit 78b4ec2d4d0d6233ca0f4d8cfeb74640063e970f)
2022-07-27 18:48:04 +02:00
02eef8fc57 Ported: Check for null when retrieving clip data item text on Android - madmiraal
fe60de2c6a
2022-07-27 14:28:26 +02:00
720fac314f Fix an another typo. 2022-07-27 00:33:10 +02:00
f3f3d61a94 Fx typo. 2022-07-27 00:25:58 +02:00
f3ec84fa78 Ported: Add a method for obtaining display cutouts on Android - madmiraal
ec2270b88f
2022-07-27 00:21:20 +02:00
634345f152 Ported: Remove duplicate resizable settings - m4gr3d
a3b445d7e8
2022-07-26 12:33:36 +02:00
d14f7d0134 Ported: Update resize settings:
- Unlock resizing for the Godot Editor
- Add an option to specify whether a game is resizeable for the Godot template
- m4gr3d
4ff726b933
2022-07-26 12:25:24 +02:00
ef7f5a8c43 Fix an another error. 2022-07-25 22:30:16 +02:00
08ee0b9406 Fix android build. 2022-07-25 22:26:55 +02:00
15b447d880 Ported: Update the editor display scale based on the device's scaled density - m4gr3d
3ba0508f79
2022-07-25 22:07:34 +02:00
7641f064d0 Fixed low processor mode on android. The fix was inspired by https://github.com/godotengine/godot/pull/59606, although I did it differently. 2022-03-28 13:21:41 +02:00
d328372f38 Updated old paths in the android jni wrapper classes. This fixes the export templates. 2022-03-24 21:39:55 +01:00
8710bc131e Changed all icons. Also small cleanups. 2022-03-24 01:09:27 +01:00
e5e17fcd68 Removed a few now unneeded files. 2022-03-24 00:17:36 +01:00
32f148ac0c Mass replaced godot to pandemonium. 2022-03-23 20:46:05 +01:00
c9ad789c17 Add comment on why the low processor usage doesn't work on android. 2022-03-23 12:02:20 +01:00