Rémi Verschelde
54857d7e81
Merge pull request #44949 from m4gr3d/specify_project_ndk_version
...
Improve the logic to compile for Android
2021-02-05 13:27:37 +01:00
Rémi Verschelde
74091a1974
Merge pull request #45579 from zaevi/add_scons_ext
...
add search extensions for Scons' path
2021-02-01 20:41:25 +01:00
zaevi
befbfecd4d
add search extensions for scons' path
2021-01-30 20:13:01 +08:00
Pedro J. Estébanez
99fe462452
Modernize Thread
...
- Based on C++11's `thread` and `thread_local`
- No more need to allocate-deallocate or check for null
- No pointer anymore, just a member variable
- Platform-specific implementations no longer needed (except for the few cases of non-portable functions)
- Simpler for `NO_THREADS`
- Thread ids are now the same across platforms (main is 1; others follow)
2021-01-29 12:02:13 +01:00
Sergey Minakov
7990c2c5e8
[Plugins] Rename 'PluginConfig' struct to platform specific name
2021-01-15 17:54:35 +03:00
Rémi Verschelde
af878716f2
CI: Update to clang-format 11 and apply ternary operator changes
2021-01-12 19:32:53 +01:00
Marcel Admiraal
2a74b388d0
Split OS::execute into two methods
...
1. execute(): Executes a command and returns the results.
2. create_process(): Creates a new process and returns the new process' id.
2021-01-09 10:03:23 +00:00
Fredia Huya-Kouadio
eee213e01a
Improve the logic to compile for Android by automatically detecting and setting up the Android NDK if needed.
2021-01-05 15:07:17 -08:00
Rémi Verschelde
3433780c49
Merge pull request #44645 from m4gr3d/update_apk_signing_logic
...
Update the logic to sign prebuilt Godot Android apks
2021-01-01 22:58:11 +01:00
Fredia Huya-Kouadio
49969de221
Update the logic to sign prebuilt Godot Android apks.
...
The previously used tool, `jarsigner` has been deprecated in favor of `apksigner` which is bundled with the Android SDK.
The logic is refactored accordingly and a few editor settings have been deprecated in the process as they're no longer necessary.
Note: As a side effect, specifying the Android SDK path is now required. The docs will be updated to reflect that change.
2021-01-01 13:36:27 -08:00
Rémi Verschelde
b5334d14f7
Update copyright statements to 2021
...
Happy new year to the wonderful Godot community!
2020 has been a tough year for most of us personally, but a good year for
Godot development nonetheless with a huge amount of work done towards Godot
4.0 and great improvements backported to the long-lived 3.2 branch.
We've had close to 400 contributors to engine code this year, authoring near
7,000 commit! (And that's only for the `master` branch and for the engine code,
there's a lot more when counting docs, demos and other first-party repos.)
Here's to a great year 2021 for all Godot users 🎆
2021-01-01 20:19:21 +01:00
Rémi Verschelde
72c13c2631
Merge pull request #44638 from m4gr3d/export_format_util_method
...
Hardcode the export format for the editor 'run' feature
2020-12-30 09:11:31 +01:00
Fredia Huya-Kouadio
de64b783b4
Add utility method to export the project using a preset format and sign parameter.
2020-12-29 09:04:01 -08:00
Rémi Verschelde
e4c0572385
Merge pull request #44593 from madmiraal/rename-mainloop-methods
...
Rename MainLoop methods to match Node methods
2020-12-28 14:44:28 +01:00
Marcel Admiraal
5b937d493f
Rename empty() to is_empty()
2020-12-28 10:39:56 +00:00
Fredia Huya-Kouadio
2d492ff8ba
Fix invalid invocation of `get_class_loader`.
...
The call was made on a `Godot` instance instead of an `Activity` instance.
2020-12-23 02:08:27 -08:00
Marcel Admiraal
d9e9eb8d04
Rename MainLoop methods to match Node methods
2020-12-22 12:34:57 +00:00
Rémi Verschelde
c7b53c03ae
SCons: Add explicit dependencies on thirdparty code in cloned env
...
Since we clone the environments to build thirdparty code, we don't get an
explicit dependency on the build objects produced by that environment.
So when we update thirdparty code, Godot code using it is not necessarily
rebuilt (I think it is for changed headers, but not for changed .c/.cpp files),
which can lead to an invalid compilation output (linking old Godot .o files
with a newer, potentially ABI breaking version of thirdparty code).
This was only seen as really problematic with bullet updates (leading to
crashes when rebuilding Godot after a bullet update without cleaning .o files),
but it's safer to fix it everywhere, even if it's a LOT of hacky boilerplate.
2020-12-18 10:29:34 +01:00
Marcel Admiraal
fa435a550a
Add override keywords to core/os.h derived classes.
2020-12-17 18:02:31 +00:00
Marcel Admiraal
8ef5e3201c
Don't handle BaseException in build scripts
2020-12-12 10:05:42 +00:00
Fabio Alessandrelli
09a9712a6a
Remove unused FileAccessJAndroid.
2020-12-09 10:58:36 +01:00
Rémi Verschelde
e5e1277ecd
Merge pull request #44161 from Faless/fix/fa_buffered_remove
...
Remove unused FileAccessBuffered
2020-12-09 09:14:14 +01:00
thebestnom
d543917c03
Android: fix mouse capture relative wrong
2020-12-08 23:51:45 +02:00
thebestnom
e7f259c366
Android: Allow Mouse Capture
2020-12-08 22:14:08 +02:00
Rémi Verschelde
90bdba576a
Merge pull request #43742 from qarmin/editor_modules_default_values
...
Initialize class/struct variables with default values in platform/ and editor/
2020-12-08 15:53:42 +01:00
Fabio Alessandrelli
781efc26e0
Remove now unused FileAccessBuffered.
2020-12-06 19:37:11 +01:00
reduz
2787ad65be
RenderingServer reorganization
2020-12-04 18:39:46 -03:00
alan-w-255
7fa803fa2c
fix android wrong multi-touch pointerid
...
Fixes #43519 .
2020-12-03 13:34:04 +01:00
Rafał Mikrut
e1811b689b
Initialize class/struct variables with default values in platform/ and editor/
2020-12-02 16:09:11 +01:00
bruvzg
99666de00f
[Complex Text Layouts] Refactor Font class, default themes and controls to use Text Server interface.
...
Implement interface mirroring.
Add TextLine and TextParagraph classes.
Handle UTF-16 input on macOS and Windows.
2020-11-26 14:25:48 +02:00
bruvzg
b9f441e81e
[Complex Text Layouts] Add third-party TextServer dependencies (ICU, HarfBuzz, Graphite).
2020-11-26 13:55:27 +02:00
Fredia Huya-Kouadio
918b218b55
Update gradle build files to automatically perform signing and zipalign tasks for custom builds.
2020-11-22 18:11:54 -08:00
Rémi Verschelde
504efc5f9b
Export: Reorder options for consistency across platforms
2020-11-20 11:17:50 +01:00
Fredia Huya-Kouadio
c4f2d87747
Fix zipalign command name on Windows machines.
2020-11-18 23:30:45 -08:00
Aaron Franke
02161aad5a
Remove empty lines around braces with the formatting script
2020-11-16 23:38:11 -05:00
Rémi Verschelde
484c3d5e27
Merge pull request #43248 from HEAVYPOLY/master
...
Change android orientations from sensor to user
2020-11-16 22:12:53 +01:00
Fredia Huya-Kouadio
46cc3233d8
Update the logic to query for the 'scons' command executable path.
2020-11-14 14:36:53 -08:00
Rémi Verschelde
9e7348f788
Merge pull request #43526 from m4gr3d/address_new_custom_build_logic_issues
...
Address new custom build logic issues
2020-11-14 22:58:16 +01:00
Fredia Huya-Kouadio
5f6a44f0bb
Add missing zip alignment step for generated apks.
2020-11-14 13:10:38 -08:00
Fredia Huya-Kouadio
3de720c11d
Fix issue causing `Export all` to fail.
2020-11-14 13:10:38 -08:00
Fredia Huya-Kouadio
3c1a1a760e
Clear unneeded assets when generating an apk expansion.
...
Clean up export wording to account for the different export formats.
2020-11-14 13:07:32 -08:00
Marcus Brummer
e1b9be4a6b
Added the .jks file extension as valid preset for Android keystore files
2020-11-14 00:29:23 +01:00
Fredia Huya-Kouadio
597d9409f3
Remove duplicate Android `orientation` settings.
2020-11-13 12:20:06 -08:00
reduz
127458ed17
Reorganized core/ directory, it was too fatty already
...
-Removed FuncRef, since Callable makes it obsolete
-Removed int_types.h as its obsolete in c++11+
-Changed color names code
2020-11-07 20:17:12 -03:00
Vaughan Ling
d658063833
Change android orientations from sensor to user
...
# Conflicts:
# platform/android/java/lib/src/org/godotengine/godot/GodotIO.java
2020-10-31 17:14:32 -07:00
Rémi Verschelde
41f66761fd
Merge pull request #37158 from thebestnom/android-click-support
...
Support mouse events on Android
2020-10-30 16:00:03 +01:00
Fredia Huya-Kouadio
edf762fba6
Add a separate `nativeSrcsConfigs` module to handle Android Studio constraints for native code editor support.
2020-10-29 00:01:14 -07:00
Fredia Huya-Kouadio
aff7cf4390
Update the gradle plugins
2020-10-28 23:59:33 -07:00
Rémi Verschelde
2eaedcf14e
Merge pull request #42361 from akien-mga/vulkan-layers-opt-in
...
Vulkan: Make validation layers optional
2020-10-28 21:43:22 +01:00
Rémi Verschelde
45da7d579a
Merge pull request #43153 from nekomatata/android-build-version-close
...
Release .build_version file handle in Android custom build export
2020-10-28 10:03:18 +01:00
PouleyKetchoupp
b271315bac
Release .build_version file handle in Android custom build export
2020-10-28 09:07:20 +01:00
Mark Riedesel
96e22bd9fb
Implement OS.get_window_safe_area() for Android
2020-10-27 13:14:00 -04:00
Rémi Verschelde
54e6338c9b
Vulkan: Make validation layers optional
...
They're now disabled by default, and can be enabled with the command line
argument `--vk-layers`.
When enabled, the errors about them being missing are now warnings, as
users were confused and thought this meant Vulkan is broken for them.
Fix crash in `~VulkanContext` when validation layers are disabled (exposed by
this PR since before they could not be disabled without source modification).
Also moved VulkanContext member initializations to header.
Fixes #37102 .
2020-10-27 16:19:15 +01:00
Mark Riedesel
5fe902244a
Fix android apk contents having mtime 1 month in future
...
minizip documentation describes tm_mon as expecting the number of months
since January - [0, 11], but the month returned by OS.get_date() is in
the range of [1, 12].
2020-10-23 15:05:48 -04:00
thebestnom
42513f2f47
Android: Mouse Implementation
...
Implement mouse
Move touch to inputManager
Change to use android/input.h
2020-10-09 04:14:56 +03:00
Rémi Verschelde
4e19e3603b
Merge pull request #41385 from m4gr3d/fix_splash_loading_master
...
Fix splash screen loading on Android
2020-09-28 20:45:53 +02:00
Fredia Huya-Kouadio
79c1cf600b
Add overridable init method for the Godot fragment instance.
2020-09-18 16:59:09 -07:00
bruvzg
f043eabdd8
Adds PCK encryption support (using script encryption key for export).
...
Change default encryption mode from ECB to CFB.
2020-09-05 14:53:39 +03:00
bruvzg
80b8eff6aa
[Complex Test Layouts] Change `String` to use UTF-32 encoding on all platforms.
2020-09-03 19:56:24 +03:00
Fredia Huya-Kouadio
b8d5ced8cd
Fix issue causing the textedit to move upward
2020-08-30 10:42:38 -07:00
Rémi Verschelde
c59e9399e7
Merge pull request #41550 from godotengine/revert-40671-virtual-keyboard-height-fix
...
Revert "Fix virtual keyboard height regression"
2020-08-27 08:55:51 +02:00
Rémi Verschelde
f98b32ff51
Merge pull request #41549 from godotengine/revert-40484-android-virtual-keyboard-adjustment
...
Revert "Disable virtual keyboard focus adjustment on Android"
2020-08-26 23:48:09 +02:00
Fredia Huya-Kouadio
db35a008f6
Revert "Fix virtual keyboard height regression"
2020-08-26 14:38:02 -07:00
Fredia Huya-Kouadio
ffd0bb1d02
Revert "Disable virtual keyboard focus adjustment on Android"
2020-08-26 13:27:25 -07:00
Fredia Huya-Kouadio
04b402b6f1
Revert "Move PopupWindow logic to GodotEditText on Android"
2020-08-26 13:24:18 -07:00
Fredia Huya-Kouadio
2717891141
Fix splash screen loading on Android
2020-08-19 16:16:37 -07:00
Rémi Verschelde
33b2070d2e
Remove obsolete GLES2 backend code
...
This code currently isn't compiled (and cannot compile).
We plan to re-add OpenGL ES-based renderer(s) in Godot 4.0 alongside Vulkan
(probably ES 3.0, possibly also a low-end ES 2.0), but the code will be quite
different so it's not relevant to keep this old Godot 3.2 code.
The `drivers/gles2` code from the `3.2` branch can be used as a reference for
a potential new implementation.
2020-08-13 10:04:53 +02:00
Rémi Verschelde
7e19f217bd
Merge pull request #41000 from amanj120/forward_port_bundle_pr_export
...
Add 'Export App Bundle' to Android Export Options
2020-08-11 19:03:40 +02:00
Aman Jain
2b89944a3d
Add 'Export App Bundle' to Android Export Options
2020-08-05 12:55:02 -04:00
Christopher Davis
41d8c0c818
platform: Update metadata for export platforms
...
Updates the logos of for macOS, Android, and iOS; Also
changes "Mac OSX" to "macOS"
Addresses https://github.com/godotengine/godot-proposals/issues/1161
2020-08-01 23:43:14 -07:00
PouleyKetchoupp
cac7eb3a64
Move PopupWindow logic to GodotEditText on Android
2020-07-28 21:19:17 +02:00
Aman Jain
e906ac4d3b
refactor apk signing into it's own method
2020-07-27 14:24:57 -04:00
Rémi Verschelde
bd9fc75768
Merge pull request #40706 from akien-mga/style-fix-file_format-macos
...
Fix code format scripts compat with non-GNU Unices
2020-07-27 13:27:56 +02:00
Rémi Verschelde
c71e189efd
Style: Fix code format scripts compat with non-GNU Unices
...
It's too hard to get compatibility between GNU and BSD sed,
so let's just use perl oneliners.
And improve it to also remove trailing tabs, not just spaces.
2020-07-27 13:11:44 +02:00
Rémi Verschelde
6de86946ea
Merge pull request #40671 from nekomatata/virtual-keyboard-height-fix
...
Fix virtual keyboard height regression
2020-07-27 08:57:19 +02:00
Rémi Verschelde
b19b896e06
Merge pull request #40487 from nekomatata/virtual-keyboard-enter-fixes
...
Fix Return key events in LineEdit & TextEdit on Android
2020-07-26 20:25:53 +02:00
PouleyKetchoupp
8c05dadcff
Fix Return key events in LineEdit & TextEdit on Android
...
Depending on the device implementation, editor actions could be
received with different action ids or not at all for multi-line.
Added a parameter to virtual keyboards to properly handle single-line
and multi-line cases in all situations.
Single-line:
Input type set to text without multiline to make sure actions are sent.
IME options are set to DONE action to force action id consistency.
Multi-line:
Input type set to text and multiline to make sure enter triggers new lines.
Actions are disabled by the multiline flag, so '\n' characters are
handled in text changed callbacks.
2020-07-26 20:06:07 +02:00
Rémi Verschelde
f940e5e000
CI: Install master version of psf/black
...
Until https://github.com/psf/black/pull/1328 makes it in a stable release,
we have to use the latest from Git.
Apply new style fixes done by latest black.
2020-07-26 19:48:25 +02:00
PouleyKetchoupp
a2dd966301
Fix virtual keyboard height regression
...
Disabling virtual keyboard focus adjustement caused get_keyboard_height
to always return 0 because it was calculated when the view is resized.
In order to fix it, a PopupWindow is now created on top of the main view
and is set for focus adjustments so the keyboard size can be calculated
based on this popup without affecting the main view.
2020-07-24 19:54:06 +02:00
Aman Jain
e53067c42e
Write an AndroidManifest.xml file to be merged with app module's manifest.
2020-07-24 12:53:27 -04:00
Rémi Verschelde
1dc00ce7b9
Merge pull request #40348 from amanj120/forward_port_bundle_pr_icons
...
Copy project icons to Gradle project directory during Android Custom Build.
2020-07-23 18:03:08 +02:00
Aman Jain
4a5ddcbad2
Copy icons to Gradle project
2020-07-23 11:37:33 -04:00
Rémi Verschelde
dcf902df85
SCons: Remove unused DEBUG_MEMORY_ENABLED define
...
Its last use was removed in Godot 3.0, so it no longer makes sense to define.
Also removed `D3D_DEBUG_INFO` for Windows as it's likely a left over from a
long time ago pre-opensourcing when Godot had some form of Direct3D 9 support?
2020-07-23 09:39:10 +02:00
thebestnom
166103c759
Android: Keyboard modifier and arrow key support
2020-07-21 22:13:24 +03:00
Rémi Verschelde
b7aa474680
Merge pull request #40422 from amanj120/forward_port_bundle_pr_resources
...
Create strings.xml files in the Gradle project to handle localization
2020-07-20 22:26:44 +02:00
PouleyKetchoupp
d7aaec8ffe
Disable virtual keyboard focus adjustment on Android
...
Fixes #37190
The default adjustment setting was causing the view to pan down in order
to adjust the focus on the text content.
We don't need any focus adjustment since we're using a fixed size window
for our application.
Documentation:
https://developer.android.com/reference/android/view/WindowManager.LayoutParams#SOFT_INPUT_ADJUST_NOTHING
2020-07-20 12:04:02 +02:00
Aman Jain
5ff6f7a86b
Create strings.xml files in the gradle project to handle localization
2020-07-15 13:02:59 -04:00
thebestnom
4dc94e93bb
Android: fix display server always alerting no Vulkan support
2020-07-14 19:37:36 +03:00
Rémi Verschelde
28e8347d6c
Merge pull request #40354 from bruvzg/add_vulkan_init_message
...
Display error popup instead of crashing if Vulkan init failed.
2020-07-14 09:03:25 +02:00
Aaron Franke
9986439352
Commit other files changed by file_format.sh
2020-07-13 14:14:11 -04:00
bruvzg
996910b627
Add error messages if Vulkan init failed, prevent Vulkan context freeing uninitialized device and instance.
2020-07-13 19:24:21 +03:00
Marcel Admiraal
26fcf2b04c
Add override keywords.
2020-07-10 13:56:54 +01:00
Rémi Verschelde
dc856481ff
Merge pull request #40244 from amanj120/forward_port_bundle_pr_permissions
...
Refactor permissions and command line flags into separate methods
2020-07-10 13:19:37 +02:00
Aman Jain
f579057748
Refactor permissions and command line flags into separate methods
2020-07-09 16:34:08 -04:00
Aman Jain
78e003951a
Utility methods for writing files to Gradle project.
2020-07-09 13:57:15 -04:00
Stijn Hinlopen
929b98d24b
Remove String::find_last (same as rfind)
2020-07-03 15:26:22 +02:00
Juan Linietsky
438c380458
Add a separate application focus/in notification out from Window focus notification.
2020-06-30 10:40:06 -03:00
Fredia Huya-Kouadio
2d53b8173e
Fix the logic to enable focus awareness
2020-06-27 16:43:08 -07:00
Fredia Huya-Kouadio
175d43738a
Enable the ability to use Godot as a subview within an Android app
2020-06-25 19:52:40 -07:00
Fredia Huya-Kouadio
206cbd960b
Follow up cleanup for the godotpayment project module
2020-06-22 12:53:25 -07:00