Commit Graph

1332 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio 845ca33c76 Bump the target SDK version to 33 (Android 13) 2023-03-21 19:24:09 -07:00
Fredia Huya-Kouadio f02e4e4091 Fix directory access when the running app has the `All files access` permission 2023-03-20 08:56:04 -07:00
Fredia Huya-Kouadio f67d7fa137 Make vulkan level 1 an optional requirement 2023-03-19 08:54:12 -07:00
Yuri Sizov 2dc16f3c58
Merge pull request #74066 from m4gr3d/add_vulkan_version_filter_main
Add feature check to require min Vulkan api version 1.0 on Android
2023-03-16 13:08:09 +01:00
Malcolm Nixon d186b7438f Fix null-pointer dereference on Android systems when using gl_compatibility renderer. 2023-03-11 12:03:55 -05:00
lewiji ac04ff7bec Add "filesRoot" path to Android provider paths xml 2023-03-09 19:11:08 +00:00
Rémi Verschelde 7b31c7b72a
Merge pull request #74470 from m4gr3d/configure_snapshot_publish_version_main
Configure maven central snapshot versions for the Godot Android library
2023-03-06 10:53:46 +01:00
Fredia Huya-Kouadio a5fdc95515 Configure maven central snapshot versions for the Godot Android library
A snapshot version is a version that has not yet been released which allows us to deploy the same transient version incrementally, without requiring projects to upgrade the artifact version they're consuming. Those projects can use the same version to get an updated snapshot version.
2023-03-06 01:30:19 -08:00
necrashter 61549edef0
Use the new API for virtual keyboard height detection on Android, bugfix 2023-03-06 00:18:39 +03:00
Fredia Huya-Kouadio 306a2ad386 Add feature check to require min Vulkan api version 1.0 on Android 2023-02-28 11:20:34 -08:00
Rémi Verschelde 91aed4b9b5
Merge pull request #73694 from m4gr3d/update_touchscreen_editor_settings_main
Enable granular control of touchscreen related settings
2023-02-22 10:12:42 +01:00
Fredia Huya-Kouadio 445053a62d Enable granular control of touchscreen related settings 2023-02-22 00:16:39 -08:00
Rémi Verschelde e13fae1414
Merge pull request #72817 from m4gr3d/include_htc_xr_category_metadata
Add HTC Vive focus XR manifest metadata
2023-02-21 23:52:21 +01:00
Rémi Verschelde 4574b97752
Fix crash with bogus shape index to DisplayServer.cursor_set_custom_image()
Fixes #66605.
2023-02-17 14:17:37 +01:00
bruvzg bc95b0b171
Restore FileAccess.close method. 2023-02-16 15:34:20 +02:00
Rémi Verschelde 5b6c9c66a4
Android: Default Min SDK to 24 for Vulkan mobile
Users can still go down to 21 when using GL Compatibility.
This makes the default behavior match the default renderer, and thus avoids
a warning in the out of the box experience.

Also mark texture compression settings as basic, since out of the box users
who want to export to Android will need to enable ETC2/ASTC manually.
2023-02-15 14:32:54 +01:00
bruvzg a322f3f578
[InputEventKey] Avoid setting both key and modifier to the same value. 2023-02-14 09:05:58 +02:00
Fredia Huya-Kouadio b53e9614b8 Fix the issue causing long-press on a selected node on the scene tree to trigger both the context menu and the rename functionality 2023-02-12 21:04:36 -08:00
Emmanouil Papadeas c36460060e
Further refactoring to AudioDriver implementations after #69120.
- Rename all instances of `capture_start()` and `capture_end()` to their new
  names. Fixes #72892.
- More internal renames to match what was started in #69120.
- Use `override` consistently so that such refactoring bugs can be caught.
- Harmonize the order of definition of the overridden virtual methods in each
  audio driver.
- Harmonize prototype for `set_output_device` and `set_input_device`.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-02-09 11:02:00 +01:00
Fredia Huya-Kouadio 9d83e807e7 Downgrade the vulkan abort logic to a warning
This addresses issues where some drivers are reporting they don't meet the vulkan hardware level 1 support requirements even though they render as expected when the check is removed.
2023-02-07 16:16:58 -08:00
Fredia Huya-Kouadio 2735ff7b68 Add HTC Vive focus XR manifest metadata 2023-02-06 17:20:45 -08:00
Rémi Verschelde 09b2c5fd05
Merge pull request #72552 from m4gr3d/cleanup_custom_build_main
Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process
2023-02-06 22:50:22 +01:00
Fredia Huya-Kouadio 21e18c1c41 Improve logic to detect whether vulkan is used for rendering 2023-02-06 10:13:02 -08:00
Fredia Huya-Kouadio 034fd15b8a Improve vulkan capability detection on Android
- Add runtime check and abort when the device doesn't meet the requirements for vulkan support
- Add filters to the AndroidManifest when exporting with a vulkan renderer
2023-02-05 18:47:38 -08:00
Fredia Huya-Kouadio ca593f2f89 Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process. 2023-02-02 07:17:31 -08:00
Fredia Huya-Kouadio a715a00d76 Clean up the XR export logic
Remove the XR export logic from the legacy build system:
- On Android, Godot 4 export requires the use of Android plugins which are not supported by the legacy build system
- Provides added flexibility for configuring the Android manifest for XR specific capabilities.
2023-02-01 14:42:40 -08:00
Rémi Verschelde e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Fredia Huya-Kouadio bdbeb0772f Implement file provider capabilities
The previously used file sharing api was restricted after Android N causing the engine to crash whenever used on devices running Android N or higher.
2023-02-01 01:03:50 -08:00
Juan Linietsky 28f51ba547 Refactor high quality texture import
* Only two texture import modes for low/high quality now:
  * S3TC/BPTC
  * ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.

This solves the following problems:

* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
Fredia Huya-Kouadio 179646e593 Update the XR manifest configs
Remove the ones provided automatically by the loaders, and the ones enabled by the default on the platform.
Fixes https://github.com/GodotVR/godot_openxr_loaders/issues/19
2023-01-27 17:59:28 -08:00
Rémi Verschelde f0e3c3f4c3
Merge pull request #72168 from RandomShaper/sensible_lock_return
Booleanize various sync primitives' wait & locking methods
2023-01-27 15:40:43 +01:00
Pedro J. Estébanez f630940591 Booleanize various sync primitives' wait & locking methods 2023-01-27 11:15:30 +01:00
bruvzg 30a89b58e2
[Android] Fix virtual keyboard special keys. 2023-01-26 18:46:37 +02:00
Rémi Verschelde 3870861056
Merge pull request #72106 from m4gr3d/fix_godot_android_editor_4_crash_after_running_game
Fix the issue causing the Godot Android Editor to crash when returning from the launched and running game
2023-01-26 15:58:12 +01:00
Fredia Huya-Kouadio ec4d720850 Fix the issue causing the Godot Android Editor to crash when returning from the launched and running game
The issue was caused because the running game pid was not set, and thus had a value of `0`. When trying to stop the running game, the `EditorRun::stop()` logic would kill the process with pid 0, which on Android corresponds to the running app's own process, thus causing the editor to crash.
This issue did not happen on Godot 3 because pid with value of `0` are not considered valid.
2023-01-26 02:59:39 -08:00
Fredia Huya-Kouadio 242ffb72b8 Address kotlin build warnings 2023-01-25 18:01:00 -08:00
Rémi Verschelde 3275428b1f
Merge pull request #71917 from m4gr3d/update_godot_android_editor_label
Update the Godot Android Editor name from `Godot Editor 4.x` to `Godot Editor 4`
2023-01-24 09:15:50 +01:00
Fredia Huya-Kouadio 6b400d2fd1 Update the Godot Android Editor name from `Godot Editor 4.x` to `Godot Editor v4` 2023-01-23 14:04:05 -08:00
Rémi Verschelde 84b8986a39
Merge pull request #71836 from m4gr3d/fix_godot_editor_cropping_main
Update the logic to calculate the screen scale on Android
2023-01-23 22:30:46 +01:00
bruvzg daad4aed62
Cleanup and unify keyboard input.
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00
Rémi Verschelde 5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Fredia Huya-Kouadio da3e380240 Update the logic to calculate the screen scale on Android
Takes into account the ratio between the screen size and the default window dimensions.
2023-01-22 10:58:01 -08:00
Rémi Verschelde 28b2e43adf
Merge pull request #71646 from Vilcrow/android-export-genname-check
[Android export] Added validation of the project name when using $genname in the 'Unique Name' field.
2023-01-20 23:59:34 +01:00
S.V.I. Vilcrow b8bc306fa1 [Android export] Added validation of the project name when using $genname in the 'Unique Name' field. 2023-01-20 20:54:56 +03:00
bruvzg db7d8c2d87
[GDExtension] Expose some low level functions and String operators. 2023-01-19 12:50:49 +02:00
Rémi Verschelde 68d71f88f5
Improve DisplayServer message for video card drivers failure
And remove leftover duplicated message on Android.
2023-01-17 15:41:54 +01:00
Yuri Sizov 4c1f11944e Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
Rémi Verschelde 3dffe0b967
Merge pull request #63312 from bruvzg/one_click
[Export] Add one-click deploy over SSH for the desktop exports.
2023-01-13 18:00:18 +01:00
Tom Beckmann 0116d50fdd Fix writing value for hand-tracking V2.0 to AndroidManifest.xml 2023-01-11 17:26:42 +01:00
Juan Linietsky 2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00