Commit Graph

5404 Commits

Author SHA1 Message Date
bruvzg 625c4bdace
[Linux] Add support for PCK embedding section with non GNU-ld linkers. 2024-01-24 12:21:05 +02:00
bruvzg ce47551822
[macOS] Fix missing modifier + space key down events. 2024-01-23 09:03:47 +02:00
bruvzg 7e5bce7090
[macOS] Update window visible state on deminiaturize. 2024-01-22 11:35:37 +02:00
Fredia Huya-Kouadio e04a38775b Update Android dependencies for the project
- Update Android gradle plugin version from 7.2.1 to 8.2.0
- Update gradle version from 7.4.2 to 8.2
- Update target SDK from 33 to 34
- Update build tools version from 33.0.2 to 34.0.0
- Update kotlin version from 1.7.0 to 1.9.20
- Update Android fragment version from 1.3.6 to 1.6.2
- Update AndroidX window version from 1.0.0 to 1.2.0
2024-01-18 10:35:32 -08:00
Yuri Sizov 6fa577cada Merge pull request #86383 from m4gr3d/editor_export_specify_java_sdk_path_main
Specify the path to the Java SDK used for the Android gradle build
2024-01-18 19:27:01 +01:00
Fredia Huya-Kouadio 85e98ef009 Specify the path to the Java SDK used for the Android gradle build
Introduce an editor setting to allow users the ability to specify the path to the Java SDK used for the Android gradle build.
2024-01-18 09:19:37 -08:00
Rémi Verschelde 17163886c2
Merge pull request #86671 from dsnopek/i3-focus-steal
[X11] Don't re-set input focus if the given window already has it (fixes Godot stealing input focus on i3)
2024-01-18 16:34:03 +01:00
Rémi Verschelde 4db2a6801f
Merge pull request #85206 from bruvzg/mac_clang_version_check_update
[macOS] Check Apple specific version instead of generic clang version.
2024-01-18 16:33:39 +01:00
David Snopek 64a52e08fe [X11] Don't re-set input focus if the given window already has it 2024-01-18 08:52:03 -06:00
Rémi Verschelde 4aff0ab5d5
Merge pull request #86441 from dsnopek/mequam-x11-focus-grab
[X11] Fix Godot stealing focus on alternative window managers
2024-01-18 09:34:18 +01:00
Rémi Verschelde fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
Adam Scott bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
bruvzg a2c1c01941
[macOS] Fix MoltenVK SDK detection after file location changes in 1.3.275.0. 2024-01-17 19:37:33 +02:00
bruvzg 8c22836532
[macOS] Handle Trackpad / Magic Mouse swipe events and simulate XBUTTON1 / XBUTTON2 buttons. 2024-01-17 00:08:24 +02:00
Rémi Verschelde 35aee0e3ad
Merge pull request #87247 from bruvzg/win_remove_dxil_check
[Windows] Remove `dxc_path` check.
2024-01-16 15:07:44 +01:00
bruvzg f3a24e082c
[Windows] Remove `dxc path` check. 2024-01-16 13:32:24 +02:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde 429f22ddcc
Merge pull request #87208 from brno32/android-export-error-icon
Add clearer error message for missing project icon during Android export
2024-01-16 10:38:02 +01:00
Rémi Verschelde 14d68ad7b7
Merge pull request #87053 from nikitalita/update-natvis
Revamp `godot.natvis` to improve VS debugging experience
2024-01-15 13:27:26 +01:00
Rémi Verschelde 03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
Rémi Verschelde 0e0fa999cf
Merge pull request #86288 from bruvzg/ios_xcf_export
[iOS export] Improve `.xcframework` exporting.
2024-01-15 13:24:30 +01:00
Rémi Verschelde 5f6790aa84
Merge pull request #85197 from brno32/scons-clean
Run `Clean` in Windows SCsub to clean up debug files
2024-01-15 13:23:17 +01:00
Alex Drozd 770c3b509b Add clearer error message for missing project icon during android export 2024-01-15 11:41:31 +01:00
Juan Linietsky 15144c24bd Implement a transient_to_focused mode
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.

This deprecates the "unparent_when_invisible" function introduced by #76025.
2024-01-14 18:51:44 +01:00
bruvzg 9efd83fe3c
[iOS export] Improve .xcframework exporting.
Do not embed static .xcframeworks.
Automatically convert .xcframeworks with .dylibs to .xcframeworks with .frameworks.
2024-01-11 21:58:29 +02:00
bruvzg 491077239c
[macOS/iOS export] Add option to set custom Info.plist data. 2024-01-11 21:05:35 +02:00
Rémi Verschelde 12ee58d8bc
Merge pull request #87080 from m4gr3d/disable_automatic_permissions_request
Disable automatic permissions request
2024-01-11 17:44:53 +01:00
Rémi Verschelde 99f3e40820
Merge pull request #87077 from bruvzg/ios_logger
[iOS] Improve logger.
2024-01-11 17:44:29 +01:00
Rémi Verschelde f9762ab0b9
Merge pull request #86748 from sassanh/patch-1
[iOS] Set provisioning style for both `iPhone Developer` and `iPhone Distribution` to automatic
2024-01-11 17:39:24 +01:00
Rémi Verschelde a86a285323
Merge pull request #86392 from bitsawer/fix_clang_windows_vulkan_context
Fix Clang `-Winconsistent-missing-override` warning
2024-01-11 17:36:54 +01:00
Rémi Verschelde 087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
Update deferred calls to use Callables
2024-01-11 17:36:29 +01:00
Fredia Huya-Kouadio df4f9e8e64 Disable automatic permissions request
The feature was added in Godot 4.2, but it goes against recommended best practices for permissions request, as such it's being reverted.
In its place, developers now have to explicitly request the permissions they need to access.
2024-01-11 08:04:09 -08:00
Sassan Haradji 4782cf92ad
set provisioning style for both "iPhone Developer" and "iPhone Distribution" to automatic 2024-01-11 19:26:10 +04:00
bruvzg c38c15b42e
[iOS] Improve logger.
Stream errors to the Console.app (and highlight in Xcode).
Prevent duplicate prints in Xcode.
2024-01-11 16:59:38 +02:00
nikitalita 46c51d1691 revamp godot.natvis 2024-01-10 09:57:28 -08:00
Rémi Verschelde 9b522ac1a8
Merge pull request #86792 from m4gr3d/fix_android_dyn_library_logic_main
Fix Android dynamic library loading
2024-01-09 18:46:39 +01:00
bruvzg 3badb90020 [Windows] Add support for hex vendor/device IDs in the Angle blocklist. Add Intel Gen5/Gen6/Gen7 GPUs to Angle blocklist. 2024-01-09 19:28:45 +02:00
kobewi 0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
mequam 40d69c25d5 [X11] Fix Godot stealing focus on alternative Window Managers 2024-01-09 08:58:59 -06:00
Rémi Verschelde c951ec163e
Merge pull request #86882 from Mickeon/its-a-secret-to-everyone
Hide Keystore Release password on Android's Export window
2024-01-08 11:59:55 +01:00
bruvzg bf65c6514f
[macOS export] Fix RLE icon generation. 2024-01-07 18:58:46 +02:00
Micky ca03367801 Hide Keystore Release password on Android's Export window 2024-01-06 18:40:33 +01:00
Muller-Castro 96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Rémi Verschelde 5b50df2419
Merge pull request #86769 from StagnationPoint/logging_improvement
Add logging when macOS export will fail due to disabled texture formats.
2024-01-05 12:05:57 +01:00
Rémi Verschelde 1455159d2c
Merge pull request #86379 from m4gr3d/update_render_thread_paused_timing_main
Android: Update the logic used to start / stop the render thread
2024-01-05 12:05:08 +01:00
StagnationPoint 7035cf8c90 Add logging when macOS export will fail due to disabled texture formats. Since ETC2 ASTC is required for universal builds, also ensure it is enabled for them. 2024-01-05 02:44:59 -08:00
Fredia Huya-Kouadio 407855b8f8 Revert https://github.com/godotengine/godot/pull/86682 for the Android platform as it breaks dynamic library loading 2024-01-04 10:06:55 -08:00
bruvzg d8a0eed726
[iOS export] Add export options for performance capabilities and min. iOS version. 2024-01-04 19:38:53 +02:00
Rémi Verschelde 5d44c85d4c
Merge pull request #84107 from BlueCube3310/file-access-optimization
Use platform-specific methods for FileAccess reading and writing
2024-01-04 16:39:47 +01:00
Rémi Verschelde dbd139c91c
Merge pull request #86761 from Alex2782/fix_get_windows_safe_area
Fix `get_window_safe_area` on Android
2024-01-04 14:26:42 +01:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde ceafa6120d
Merge pull request #84246 from bruvzg/win_frac_refresh
[Windows] Use CCD API to get fractional screen refresh rates.
2024-01-04 14:25:14 +01:00
Rémi Verschelde 763a8e9839
Merge pull request #83702 from Patchcoat/VerifyKeystore
Ensure Android keystore username and password are checked on export
2024-01-04 14:25:09 +01:00
Alexander Hartmann d7c6ad2020 Fix 'get_window_safe_area' on Android 2024-01-03 20:53:37 +01:00
Rémi Verschelde 27a9119b8a
Merge pull request #86312 from bruvzg/ios_fix_screen_res
[iOS] Remove deprecated LaunchImages support and switch to Storyboard by default.
2024-01-03 15:44:57 +01:00
Rémi Verschelde d36903860c
Merge pull request #86160 from gregdebonis/gregdebonis/issue86156
Fix key mapping for `XK_KP_Delete` key
2024-01-03 15:44:32 +01:00
nikitalita 6788bc6bc2
SCons: Add `stack_size` and `default_pthread_stack_size` options to Web target 2024-01-03 14:11:24 +01:00
Rémi Verschelde 37df2ff387
Merge pull request #86682 from Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open
Distinguish between dynamic library not found and can't be opened.
2024-01-02 18:06:17 +01:00
Rémi Verschelde 3e67dc1f52
Merge pull request #86552 from sepTN/fix-get_system_font_path
Fix `OS.get_system_font_path` and `OS.get_system_font_path_for_text` to return correct slashes
2024-01-02 18:05:37 +01:00
Daylily-Zeleen fe6b073811 Distinguishs between dynamic library not found and can't be opened. 2024-01-01 20:01:57 +08:00
Septian 475c2fa1e7 Fix `OS.get_system_font_path` and `OS.get_system_font_path_for_text` to return correct value 2023-12-27 23:19:43 +07:00
jsjtxietian 078bfae6a4 Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is added 2023-12-25 11:13:01 +08:00
bitsawer 5c51e5b9d2 Fix Clang dev_mode build on Windows 2023-12-21 14:05:39 +02:00
Fredia Huya-Kouadio f537cdefcf Update the logic used to start / stop the render thread
Currently the render thread is started / stopped when the activity is respectively resumed / paused. However, according to the `GLSurfaceView` documentation, this should be done instead when the activity is started / stopped, so this change updates the start / stop logic for the render thread to match the documentation.
2023-12-20 20:37:16 -08:00
Yuri Sizov 3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez 12a519bae2 Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Yuri Sizov aee8a3bada Merge pull request #75489 from bruvzg/init_pos_usable
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-19 20:32:10 +01:00
bruvzg e01b22a69d
[Windows] Make Windows Ink tablet API default, add dummy driver to disable tablet input. 2023-12-18 22:36:54 +02:00
bruvzg da3d5f780d
[iOS] Remove deprecated LaunchImages support and switch to Storyboard by default. 2023-12-18 22:21:58 +02:00
Yuri Sizov 644e236e5c Merge pull request #83987 from bruvzg/macos_window_and_help
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-18 18:17:41 +01:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
bruvzg f9486a2d88
[Web] Add IME input support. 2023-12-15 19:11:10 +02:00
Gregory De Bonis 95bcf93849 Wrong key mapping for XK_KP_Delete key
Fixes #86156
2023-12-14 10:39:15 -03:00
Alex Drozd 18013ca020 run Clean in Windows SCsub to clean up debug files 2023-12-14 00:00:56 +01:00
bruvzg 0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization. 2023-12-13 23:20:05 +02:00
Wilson E. Alvarez 80fb8db31f
Remove unnecessary assignments
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Rémi Verschelde bbf64a5cea
Merge pull request #86107 from bruvzg/d3d12_copy
[D3D12] Add missing DLL architecture paths for the 32-bit builds.
2023-12-13 10:34:24 +01:00
Rémi Verschelde 2966db7d76
Merge pull request #84440 from Calinou/scons-android-add-generate-apk-option
Add `generate_apk=yes` to generate an APK after building
2023-12-13 10:31:32 +01:00
bruvzg b2bb0d396b
[D3D12] Add missing DLL architecture paths for the 32-bit builds. 2023-12-13 11:26:12 +02:00
bruvzg 1a82b5d026
[D3D12] Automatically copy runtime DLLs during export. 2023-12-13 07:48:53 +02:00
Hugo Locurcio 18152ac3a1
Add `generate_apk=yes` to generate an APK after building
This is useful to speed up iteration when working on the engine
(or editor).

This can be combined with a script that calls `adb` to deploy the APK
on a device (coupled with Godot's `--export-*` for projects)
to further speed up iteration.
2023-12-13 00:27:57 +01:00
Rémi Verschelde 41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Pedro J. Estébanez 2f47c57385 Add Direct3D 12 RenderingDevice implementation 2023-12-12 19:10:04 +01:00
Rémi Verschelde 4921144024
Merge pull request #86001 from bruvzg/win_arm_angle
[Windows] Always use ANGLE in ARM builds.
2023-12-12 00:33:49 +01:00
Rémi Verschelde ae7c533937
Merge pull request #84686 from dsnopek/webxr-msaa
Add MSAA support for WebXR
2023-12-12 00:17:16 +01:00
Adam Scott 8e5fbd4348
Set what were default values for some emscripten linkflags
- Set `-sSTACK_SIZE` to what it was before emscripten 3.1.27.
  It was renamed in 3.1.25 so also set `-sTOTAL_SIZE` for older
  versions for consistency.
- Set `-sDEFAULT_PTHREAD_STACK_SIZE` to what it was before 3.1.30.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-12-11 19:53:11 +01:00
David Snopek 275c496bc8 Add MSAA support for WebXR 2023-12-11 09:01:24 -06:00
bruvzg b65635ae51
[Windows] Always use ANGLE in ARM builds. 2023-12-09 20:47:46 +02:00
Yuri Sizov dea7597111 Merge pull request #85546 from bruvzg/devicectl_support
[iOS one-click] Add support for Xcode 15 devicectl.
2023-12-08 18:45:58 +01:00
Yuri Sizov 07677f0f51 Merge pull request #85885 from YuriSizov/bench-pressing
Improve engine startup/shutdown benchmarks
2023-12-08 17:12:26 +01:00
Yuri Sizov 26ba706831 Merge pull request #85845 from YuriSizov/editor-export-hidden-errors
Ensure more export errors are reported to users
2023-12-08 16:59:04 +01:00
Yuri Sizov abddb93152 Merge pull request #85026 from ztc0611/fix-ios-getrefreshrate
Make screen_get_refresh_rate() respect iOS Low Power Mode
2023-12-08 16:58:19 +01:00
Yuri Sizov 62b264e6ac Merge pull request #84676 from m4gr3d/update_package_name_validation_logic
Update the validation logic for the package name
2023-12-08 15:23:23 +01:00
Yuri Sizov fc3f40f37d Improve engine startup/shutdown benchmarks
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.

Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +01:00
Yuri Sizov 773b4d7764 Ensure more export errors are reported to users
Also fixes the timing issue when exporting all
presets at the same time, where the error report
would try to appear while the progress dialog
was still visible.
2023-12-06 15:26:07 +01:00
Mikael Klasson 4986d6d317 Fix invalid Python escape sequences 2023-12-06 11:51:41 +09:00
Rémi Verschelde 7233bc6736
Merge pull request #85785 from bruvzg/macos_no_angle
[macOS] Switch ANGLE backend to ANGLE over OpenGL, switch default compatibility renderer back to native.
2023-12-05 15:15:48 +01:00
bruvzg d48524a3f4
[macOS] Switch ANGLE backend to ANGLE over OpenGL, switch default compatibility renderer back to native. 2023-12-05 15:39:40 +02:00
Rémi Verschelde 8a4a6498b0
Merge pull request #85774 from bruvzg/macos_xcode_detect2
[iOS] Use mdfind to check if Xcode is installed in one-click deploy code.
2023-12-05 14:15:08 +01:00
Rémi Verschelde c442136079
Merge pull request #85306 from HolonProduction/ime-async
X11: Send IME update notification deferred
2023-12-05 13:57:32 +01:00
bruvzg 0e2f297806
[iOS] Use mdfind to check if Xcode is installed in one-click deploy code. 2023-12-05 09:12:55 +02:00
Rémi Verschelde 7b1a5de284
Merge pull request #85484 from Maran23/windows-popup-menu-mouse-fix
Do not consume mouse messages in windows with `no_focus` on Windows OS
2023-12-04 23:15:18 +01:00
Rémi Verschelde c2d7cfe538
Merge pull request #85458 from HolySkyMin/mac_korean_fix
Fix IME key event being erased in macOS
2023-12-04 23:14:54 +01:00
Rémi Verschelde 57aea1307e
Merge pull request #84990 from brno32/macos-templates-fix
Fix order of operations for macOS template check
2023-12-04 23:08:23 +01:00
bruvzg b02cf351f3
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect. 2023-12-04 07:56:33 +02:00
bruvzg 6cb5256bbe
[MinGW] Force separate debug symbols if executable size is larger than 1.9 GB. 2023-12-03 22:57:37 +02:00
bruvzg 33ce138b9b
[iOS one-click] Add support for Xcode 15 devicectl. 2023-11-30 20:28:47 +02:00
HolySkyMin 5962e5278c Fix IME key event being erased in macOS
Fixes Korean IME behavior which calls insertText and setMarkedText at the same time.
2023-11-29 18:17:57 +09:00
Marius Hanl 40d7320a17 Do not consume (eat) mouse messages with no_focus Window's (Godot PopupMenu)
Window's with the no_focus flag should still process mouse events and not consume them. Otherwise all mouse pressed operations will not work inside Godot's PopupMenu.
This problem is Windows only, all other platforms do process mouse events for PopupMenu's correctly.
2023-11-28 19:43:07 +01:00
Fredia Huya-Kouadio 7cd604132b Fix an issue causing the running project window to loop-restart when closed with the back button 2023-11-27 23:43:19 -08:00
Fredia Huya-Kouadio 1e4af5269f Fix issue causing Godot Android apps / games to freeze on close
The issue occurred because during the 'close' event, the logic was trying to terminate the native engine on the UI thread instead of doing on the render thread.
2023-11-27 18:24:36 -08:00
Alex Drozd 8f2b701892 Fix order of operations for macos template check 2023-11-26 23:26:32 +01:00
HolonProduction bf45d3ae24 X11: Send IME update notification deferred 2023-11-24 13:18:50 +01:00
bruvzg 8e06a1084d
[iOS] Fix GDExtension init callback array reallocation. 2023-11-22 15:15:25 +02:00
bruvzg 5201475f62
[macOS] Check Apple specific version instead of generic clang version. 2023-11-22 09:05:45 +02:00
Rémi Verschelde fa259a77cd
Codestyle: Fix some comment issues 2023-11-21 15:26:53 +01:00
Rémi Verschelde 132554badd
Merge pull request #85168 from bruvzg/ios_xc_check
[iOS] Check if Xcode is installed in one-click deploy code.
2023-11-21 15:06:32 +01:00
bruvzg eceaaea2fe
[iOS] Check if Xcode is installed in one-click deploy code. 2023-11-21 11:43:29 +02:00
jsjtxietian a3f44cd67e Check nullptr in `_nvapi_disable_threaded_optimization` to prevent crash
update outdated link
2023-11-20 19:31:14 +08:00
Zach Coleman 6a8f6bae4c Make screen_get_refresh_rate() respect iOS Low Power Mode 2023-11-17 08:36:52 -05:00
bruvzg a92511fec3
[iOS] Fix dotnet export. 2023-11-16 15:05:44 +02:00
bruvzg 6b25204575
[macOS] Fix transparent and borderless flags interaction with full-screen mode. 2023-11-14 08:36:32 +02:00
Rémi Verschelde 5a5b456fca
Merge pull request #84774 from akien-mga/fix-TTR-in-ERR-WARN-prints
Don't use TTR/RTR for ERR/WARN prints
2023-11-12 22:59:38 +01:00
Rémi Verschelde 87ba798cba
Merge pull request #84779 from m4gr3d/keep_android_build_window_open_on_failure
Preserve the output from the gradle build command
2023-11-12 12:15:54 +01:00
Fredia Huya-Kouadio 136b7f9c52
Preserve the output from the gradle build command
Updates `EditorNode#execute_and_show_output(...)` to return the output of the executed command.
2023-11-12 12:07:04 +01:00
Rémi Verschelde 15b8185c68
Don't use TTR/RTR for ERR/WARN prints
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
Rémi Verschelde ba713c80df
Fix various typos with codespell
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
Fredia Huya-Kouadio dce2686e52 Remove Android specific abis from the export preset feature list
The presence of those abis cause them to be included in the set of `p_features` passed to the `gdextension_export_plugin#_export_file(...)` method, which caused them to be lumped in the `features_wo_arch` set.
When trying to find the gdextension library path, we use a predicate with the following logic:

```
[features_wo_arch, arch_tag](String p_feature) { return features_wo_arch.has(p_feature) || (p_feature == arch_tag); }
```

For a `gdextension` config file like the one below, this causes the first android entry (`android.armeabi-v7a = ...`) to always be returned regardless of archs since it always satisfies the predicate.

```
[configuration]

entry_symbol = "example_library_init"
compatibility_minimum = 4.1

[libraries]
linux.x86_64 = "res://libgdexample.so"

android.armeabi-v7a = "res://libgdexample.android.template_release.armeabi-v7a.so"
android.arm32 = "res://libgdexample.android.template_release.armeabi-v7a.so"
android.x86 = "res://x86/libgdexample.android.template_release.x86.so"
android.x86_32 = "res://x86/libgdexample.android.template_release.x86.so"
android.x86_64 = "res://libgdexample.android.template_release.x86_64.so"
android.arm64-v8a = "res://libgdexample.android.template_release.arm64-v8a.so"
android.arm64 = "res://libgdexample.android.template_release.arm64-v8a.so"
```
2023-11-10 07:32:59 -08:00
Rémi Verschelde dfe2df989d
Merge pull request #84493 from bruvzg/gde_ios_static_fix
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks.
2023-11-10 10:44:56 +01:00
Rémi Verschelde 03d97977b1
Merge pull request #84649 from bruvzg/mac_fs_fs_switch
[macOS] Fix fullscreen <-> exclusive fullscreen transition.
2023-11-09 20:05:09 +01:00
Fredia Huya-Kouadio 0325568a9b Update the validation logic for the package name:
- When using the project name, allow underscore (`_`) characters
- Send a warning instead of an error when the project name is modified to fit the package name format
2023-11-09 10:28:26 -08:00
bruvzg 173b84127b
[Windows] Add some AMD GPUs to the OpenGL blocklist. 2023-11-09 20:11:04 +02:00
bruvzg d4d5d68eda
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks. 2023-11-09 20:04:40 +02:00
Fredia Huya-Kouadio 4628d0c7dc Add parameter to allow generation of the Godot native shared libraries from the gradle build command 2023-11-09 09:14:04 -08:00
Rémi Verschelde aaafc69132
Merge pull request #84513 from bruvzg/x11_fallback_and_spam
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam.
2023-11-09 11:46:36 +01:00
Rémi Verschelde 0e8781e818
Merge pull request #84504 from jitspoe/master.pr_fullscreen_to_windowed_fix
Fix bug where maximized->fullscreen->windowed mode stays maximized.
2023-11-09 11:46:12 +01:00
bruvzg 4fda7e14be
[macOS] Fix fullscreen <-> exclusive fullscreen transition. 2023-11-09 08:02:56 +02:00
Yuri Sizov 37ae21966d Merge pull request #84521 from bruvzg/mac_icon_export
[macOS export] Improve icon generation.
2023-11-07 12:54:28 +01:00
Yuri Sizov 4c5c0414c8 Merge pull request #84491 from scgm0/andorid-no-show-splash-image
Fix Android disabling splash screen Show Image
2023-11-07 12:54:24 +01:00
scgm0 7771936df5 Fix Andorid disabling splash screen Show Image 2023-11-07 00:22:22 +08:00
bruvzg 03662020a9
[macOS export] Improve icon generation. 2023-11-06 15:04:12 +02:00
bruvzg f3d4f5a77e
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam. 2023-11-06 12:40:44 +02:00
jitspoe 7918e2b6d9 Fix bug where maximized->fullscreen->windowed mode stays maximized. 2023-11-06 02:36:12 -05:00
Patchcoat f8e10a2610 android keystore username and password are checked on export 2023-11-03 20:24:35 -05:00
Fredia Huya-Kouadio fcb07ff8dc Fix Android editor crash issue
Fix issue causing the Android editor to crash when pressing back from a running project
2023-11-03 07:37:46 -07:00
Yuri Sizov 64d20e0ebf Merge pull request #83482 from bruvzg/no_sign
[macOS] Remove deprecated altool notarization support, disable rcodesign for C# version.
2023-11-03 12:52:16 +01:00
bruvzg 6bd639f9df
[Windows] Use CCD API to get fractional screen refresh rates. 2023-11-02 13:10:23 +02:00
bruvzg 6557e8aaaa
[macOS] Remove deprecated altool notarization support, add warning for rcodesign used with C# version. 2023-11-02 10:15:41 +02:00
Rémi Verschelde da0b1eb128
Merge pull request #84316 from m4gr3d/update_android_env_variables
Replace the use of the `ANDROID_SDK_ROOT` env variable with `ANDROID_HOME`
2023-11-02 09:12:19 +01:00
Rémi Verschelde 95b8a75aaf
Merge pull request #84288 from bruvzg/angle_detect_2
[macOS] Improve ANGLE support detection.
2023-11-02 09:11:55 +01:00
Fredia Huya-Kouadio a1ca4bab47 Replace the use of the `ANDROID_SDK_ROOT` env variable with `ANDROID_HOME` as the former is deprecated.
See https://developer.android.com/tools/variables#android_home for more details
2023-11-01 15:50:10 -07:00
Rémi Verschelde 2277eea262
Merge pull request #84285 from m4gr3d/auto_set_android_sdk_default
Automatically pick the Android sdk path using environment variables
2023-11-01 22:32:59 +01:00
Fredia Huya-Kouadio f86e6115d9 Automatically pick the Android sdk path using environment variables 2023-11-01 07:36:16 -07:00
Rémi Verschelde 63153c9d36
Linux: Remove hardcoded lib path for x86 cross-compilation
This breaks the build with our updated i686 Linux SDK which doesn't contain
this path, and may not be needed at all.

This might need further work to be robust, and there's an open PR already
adding -march flags for all supported architectures, but for now we're
playing it safe for 4.2.
2023-11-01 14:14:01 +01:00
bruvzg 4c74c7d11a
[macOS] Improve ANGLE support detection.
Try opening EGL display when checking if ANGLE is supported.
2023-11-01 08:34:35 +02:00
Rémi Verschelde 799d30c306
Merge pull request #83753 from bruvzg/mac_angle_fb
[macOS] Fallback to native OpenGL renderer if ANGLE initialization failed.
2023-10-31 20:14:42 +01:00
Rémi Verschelde befc5a9120
Merge pull request #83954 from m4gr3d/update_godot_app_launch_mode
Update the `launchMode` for the `GodotApp` activity
2023-10-30 23:18:34 +01:00
BlueCube3310 6ed1731746 Use platform-specific methods for FileAccess reading and writing 2023-10-29 17:34:18 +01:00
Tareq Anuar ee31f2457f
Fix retrieving command line flags in Android. 2023-10-28 19:43:00 +08:00
thfrwn a0253e593c TTS_Linux: Fix size_t template issue on OpenBSD by using int consistently 2023-10-27 12:23:39 -04:00
Setadokalo 1d9ec3caa3 Fix freeze when requesting clipboard image from our own window 2023-10-25 18:32:40 -05:00
Fredia Huya-Kouadio 14428c8d5b Update the `launchMode` for the `GodotApp` activity to allow other activities to be part of the same task
For details, see https://developer.android.com/guide/topics/manifest/activity-element#lmode
2023-10-25 08:27:35 -07:00
Brayden Harlon 085255bd0e Improved X11 screen_get_refresh_rate performance 2023-10-24 11:25:51 -07:00
Rémi Verschelde 849b4f4793
Merge pull request #83837 from adamscott/revert-to-proxy_to_pthread=no-by-default
Revert to `proxy_to_pthread=no` as default
2023-10-24 10:54:41 +02:00
Alexander Hartmann 5137497c18
Fix Android logic for deferred window input events being inverted
Notably fixes issues with `is_action_just_*` queries in `_physics_process`
for TouchScreenButton.

Fixes #66318.
Fixes #82396.
2023-10-24 10:43:05 +02:00
Adam Scott 230cebb4b7
Revert to `proxy_to_pthread=no` as default
Currently, `proxy_to_pthread=yes` option as default breaks WebXR
support.
2023-10-23 08:45:45 -04:00
bruvzg 590c353707
[macOS] Fallback to native OpenGL renderer if ANGLE initialization failed. Remove platform specific renderer config values from docs. 2023-10-21 22:09:35 +03:00
Fabio Alessandrelli e9df955e39 [Web] Fix closure compiler builds using BIGINT
When using proxy_to_pthread we add BIGINT support (to support exchanging
64 bits integers between wasm and JS).

Bigint though, is part of ECMAScript 2020, and the closure compiler was
using ECMAScript 6 instead.

This commit update the CC configuration to use ECMAScript 2020 instead.
2023-10-21 14:02:22 +02:00
bruvzg e45cc9c72b
Use "version" project setting as macOS/iOS "short_version" fallback. 2023-10-20 19:31:08 +03:00
Rémi Verschelde 2f33c2b20e
Merge pull request #81439 from Setadokalo/clipboard_image
Implement `clipboard_get`/`has_image` for X11
2023-10-20 15:06:42 +02:00
Setadokalo 3b5a9e31bb Implement clipboard_get/has_image for X11 2023-10-20 02:59:10 -05:00
Fredia Huya-Kouadio 56ce2d94c5 Bump the java version to version 17 2023-10-17 15:08:03 -07:00
Rémi Verschelde e6d488f233
Merge pull request #81196 from georgwacker/add-audiosession-options
Add project settings for AVAudioSessionCategory on iOS
2023-10-17 16:12:49 +02:00
Georg Wacker fcc500ea41 Add project settings for AVAudioSessionCategory on iOS 2023-10-17 12:35:49 +02:00
Rémi Verschelde 18f12d1a1e
Merge pull request #83181 from bruvzg/cb_dlg
Add error messages to the native menu and file dialogs callback.
2023-10-16 18:44:03 +02:00
Rémi Verschelde 1ab77f410e
Merge pull request #83433 from mhilbrunner/fix-android-gradle-docs
Docs: Fix link to Android Gradle build tutorial
2023-10-16 13:01:47 +02:00
Max Hilbrunner 68a1e0c7d4 Docs: Fix link to Android Gradle build tutorial 2023-10-16 12:27:24 +02:00
Rémi Verschelde 39bc8aafa1
Merge pull request #83173 from m4gr3d/fix_gestures_properties_retrieval_timing
Fix the timeframe when the Android gestures properties are retrieved
2023-10-16 10:40:12 +02:00
bruvzg b52826bf55
Add error messages to the native menu and file dialogs callback. 2023-10-14 18:10:39 +03:00
Kacper Gibas 8eb32f9aad Fix unused variables warning when `touch` is disabled 2023-10-13 16:04:08 +02:00
Rémi Verschelde 51f81e1c88
Merge pull request #82957 from bruvzg/fs_case_check
Add method to check if filesystem is case sensitive.
2023-10-13 12:55:35 +02:00
bruvzg 6371cc3d69
[macOS] Fix crash when using system default menu shortcuts. 2023-10-13 10:12:44 +03:00
Fredia Huya-Kouadio c1a7222c97 Fix the timeframe when the Android gestures properties are retrieved.
Previous logic was retrieving them prior to them being defined in `main.cpp`
2023-10-11 15:41:19 -07:00
Fabio Alessandrelli bb69f0c090 [Web] Improve emscripten "locateFile" glue.
Be more selective on what we rewrite, since in recent emscripten
versions loading dynamic libraries relies on it.
2023-10-11 21:21:34 +02:00
Rémi Verschelde 918f046354
Merge pull request #83114 from Repiteo/fix-dotnet-dev-build-regression
C#: Fix MSVC dotnet `dev_mode` regression
2023-10-10 22:52:04 +02:00
Thaddeus Crews 0d7d4c2a23
Fix dotnet dev_mode regression 2023-10-10 12:24:02 -05:00
bruvzg 3620d612ba
[macOS] Use occlusionState instead of isOnActiveSpace to determine when window is drawable. 2023-10-10 12:20:06 +03:00
Rémi Verschelde 1fe7f8a96c
Merge pull request #82893 from m4gr3d/godot_android_lib_improvements
Cleanups and improvements to the Godot Android library api
2023-10-10 09:11:53 +02:00
Raul Santos cea77d0b48
C#: Add checks to Android export
- Add .NET 7.0 TFM when the platform is Anroid to the created csproj.
- Prevent exporting to Android when the architecture is not supported.
2023-10-10 00:35:08 +02:00
Rémi Verschelde 4a5801b44a
Merge pull request #82729 from shana/shana/ios-csharp
Add C# iOS support
2023-10-09 23:23:11 +02:00
Rémi Verschelde a28dab7e82
Merge pull request #79711 from adamscott/web-non-blocking-main-thread
Add `proxy_to_pthread` option to `platform=web`
2023-10-09 23:22:22 +02:00
Andreia Gaita ee9a735c26 Add C# iOS support
This support is experimental and requires .NET 8

Known issues:
- Requires macOS due to use of lipo and xcodebuild
- arm64 simulator templates are not currently included
  in the official packaging
2023-10-09 18:22:56 +02:00
Adam Scott 78c2a08fae
Add `proxy_to_pthread` option to `platform=web`
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2023-10-09 11:50:01 -04:00
Rémi Verschelde a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde 7c12111c1c
Merge pull request #82790 from MarioLiebisch/warn-wasm-no-dlink
Web: Catch using GDExtensions in a non-dlink build
2023-10-09 15:33:02 +02:00
Rémi Verschelde 5a3befd6c9
Merge pull request #82508 from floatingpointer/master
Add XInput device ID for wireless Series 2 Elite controller
2023-10-09 15:32:13 +02:00
bruvzg 97bcd8a631 Add method to check if filesystem is case sensitive. 2023-10-09 11:00:15 +03:00
A Thousand Ships f18aa00e85 Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-10-08 17:23:33 +02:00
Fredia Huya-Kouadio 2951c162ed Cleanups and improvements to the Godot Android library api:
- Provide api to retrieve the running Godot instance from a GodotHost
- Provide api for the GodotHost to register runtime GodotPlugin instances
- Hide the GodotService class until it's completed
- Include project setting to enable long press for Android devices
- Include project setting to enable pan and scale gestures on Android devices
2023-10-08 05:30:38 -07:00
Mario Liebisch 56a3cdc2f0
Web: Catch using GDExtensions in a non-dlink build
Previously this would simply fail with a cryptic
`me.rtenv.loadDynamicLibrary is not a function` error.
2023-10-06 18:02:53 +02:00