Commit Graph

6010 Commits

Author SHA1 Message Date
Riteo 1bb8199342 Wayland: Workaround API limitation in screen/UI scale logic
Mainly, this fixes auto UI scaling with _single-monitor_ fractional
setups (see the comment in `display_server_wayland.cpp` for more info).

This is the result of a bunch of current limitations, mainly the fact
that the UI scale is static (it's probed at startup) and the fact that
Wayland exposes fractional scales only at the window-level, by design.

The `screen_get_scale` special case should help in 99% of cases, while
the auto UI scale part will unfortunately only help with single-screen
situations, as multi-screen fractional scaling requires dynamic UI
scale changing.
2024-05-07 19:50:48 +02:00
Rémi Verschelde 2885620385
Merge pull request #91361 from RandomShaper/fix_no_focusin
Windows: Fix `WINDOW_EVENT_FOCUS_IN` not delivered in some cases
2024-05-07 13:48:48 +02:00
Rémi Verschelde 86fb866b6a
Merge pull request #85188 from aitorciki/nvdrs-fixes
[Windows] Fix NVIDIA app profile creation
2024-05-07 13:48:40 +02:00
Rémi Verschelde e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +02:00
Thaddeus Crews ecebe0b40d
Implement "get_mingw_tool" to fix mingw prefixes
• Replaces "try_cmd" entirely and removes need for "get_mingw_bin_prefix" in isolation
2024-05-06 17:32:53 -05:00
Adam Scott c465dbb051
Default to non-threaded export setting for the web 2024-05-06 12:21:14 -04:00
Rob Blanckaert 3093ef49bc
Fix missing space in missing tools error message.
Currently prints as `ANDROID_HOME is correct and cmdline-toolsare installed, or install NDK version`
2024-05-04 20:51:21 -07:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Pedro J. Estébanez 12fda2fc13 Windows: Fix WINDOW_EVENT_FOCUS_IN not delivered in some cases 2024-05-03 13:42:12 +02:00
Rémi Verschelde 03e6fbb010
Merge pull request #85474 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Rémi Verschelde 479b2ab777
Merge pull request #91466 from Riteo/gles-ftw
Wayland: Add support for OpenGL ES driver
2024-05-03 10:31:45 +02:00
Riteo d3279fa552 Wayland: Add support for OpenGL ES driver
Everything was already there, we just had to wire it up in the display
server.
2024-05-03 05:17:13 +02:00
K. S. Ernest (iFire) Lee f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +02:00
Radiant 789c6ebdfd Implement `amplitude` to Input.vibrate_handheld
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
2024-05-02 19:09:42 +03:00
bruvzg e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect. 2024-05-02 14:39:33 +03:00
A Thousand Ships 308dbb8c63
[Core] Add scalar versions of `Vector*` `min/max/clamp/snap(ped)`
Convenience for a number of cases operating on single values
2024-05-02 10:31:13 +02:00
Adam Scott 51d2ebf2da
Add more Remote Debug options to the web platform 2024-05-01 14:11:05 -04:00
Rémi Verschelde 9824a9003f
Merge pull request #91339 from TCROC/windows-apk-build-fix
Fix for Android build on Windows
2024-05-01 09:55:15 +02:00
Rémi Verschelde 85062e37ef
Merge pull request #89588 from bruvzg/status_ind_menu_direct
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-05-01 09:54:44 +02:00
bruvzg 059ddc41a0
[macOS export] Add support for privacy manifest configuration. 2024-04-30 23:31:56 +03:00
Rémi Verschelde b1da4b2a84
Merge pull request #91128 from patwork/splash-image-in-web-export
Splash image support and new progress bar for HTML5 Web Export
2024-04-30 17:03:21 +02:00
Travis Lange cc0d5a43cc added fix for android build on windows 2024-04-29 20:32:41 -04:00
Rémi Verschelde 271d7c8db7
Merge pull request #91147 from bruvzg/con_redir_3
[Windows] Improve console IO redirection.
2024-04-29 13:00:41 +02:00
Rémi Verschelde 339cb0e2a2
Merge pull request #90428 from bruvzg/macos_detect_helper_exes
[macOS export] Detect embedded helper executables using MachO header.
2024-04-29 13:00:34 +02:00
Rémi Verschelde 1f303e0019
Merge pull request #89790 from bruvzg/ios_safe_delete
[iOS Export] Check directory content before deleting old export leftovers.
2024-04-29 13:00:30 +02:00
Rémi Verschelde 947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Rémi Verschelde dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +02:00
Rémi Verschelde 8211b0d143
Merge pull request #91202 from Faless/web/fix_cc_typedef
[Web] Fix closure compiler typedef annotation
2024-04-29 10:10:03 +02:00
Rémi Verschelde d7340a0389
Merge pull request #91196 from Riteo/globally-compatible
Wayland: Improve compositor compatibility by allowing older globals
2024-04-29 10:10:00 +02:00
Rémi Verschelde 13fbd42c37
Merge pull request #90975 from aaronfranke/plugin-org
Organize existing code for editor plugins
2024-04-29 10:09:45 +02:00
Rémi Verschelde bdeed8e750
Merge pull request #90375 from bruvzg/ios_privacy
[iOS export] Add support for privacy manifest configuration.
2024-04-29 10:09:38 +02:00
Rémi Verschelde 45c6f18128
Merge pull request #61006 from bruvzg/libbacktrce
[Windows] Enable crash reporter on MinGW builds.
2024-04-29 10:09:22 +02:00
Thaddeus Crews e0e8ce1fc0
SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 -05:00
Aaron Franke 1bcbbe96c4
Organize existing code for editor plugins 2024-04-27 11:59:58 -07:00
A Thousand Ships 31e7ee63f2
Fix unsafe uses of `Callable.is_null()`
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
bruvzg 874814794b [Windows] Improve console IO redirection. 2024-04-27 00:40:17 +03:00
Riteo 2b34ba6d4b Wayland: Improve compositor compatibility by allowing older globals
Previously we pretty much hardcoded most of the globals we requested,
causing compatibility issues with certain compositors like Weston, which
support only some pretty old versions or miss some more advanced
protocols.

To put fuel on the fire, we also errored out when certain protocols
weren't available, despite us being able to boot a game just fine (but
obviously with a degraded featureset).

The solution is to simply allow all the way from version 1 to the
current latest, adding some compatibility code (such as for older
`wl_output`s or newer `wl_pointer`s).

While we're at it, this commit also fixes a few typos and naming inconsistencies
I found.
2024-04-26 15:52:10 +02:00
Fabio Alessandrelli 8079cd4358 [Web] Fix closure compiler typedef annotation
The typedef annotation is expected to come bofre a var (or const) since
it's most commonly used in externs. Use an inline definition instead.
2024-04-26 13:11:41 +02:00
patwork 7c8a4a9dab Added splash image support and new progress bar for web export 2024-04-25 11:12:55 +02:00
Rémi Verschelde 504de8be70
Merge pull request #91071 from bruvzg/dbus_fd_cb_process
[DBus] Process file dialog callback in the main event loop instead of using deferred call.
2024-04-24 09:59:24 +02:00
Rémi Verschelde 5594bca2fb
Merge pull request #91050 from bruvzg/ios_sensor_fix
[iOS] Fix sensors orientation.
2024-04-23 19:12:19 +02:00
Rémi Verschelde fc912defb1
Merge pull request #90326 from fire/vsk-scons-final-4.3
Avoid compiler error with RenderingContextDriverVulkanWindows
2024-04-23 19:11:10 +02:00
bruvzg 67d6be30a0
[DBus] Process file dialog callback in the main event loop instead of using deferred call. 2024-04-23 19:32:35 +03:00
bruvzg 7f52e5bd44
[iOS] Fix sensors orientation. 2024-04-23 12:59:24 +03:00
Fredia Huya-Kouadio 3a06b447cc Cleanup Android file errors
Follow up to https://github.com/godotengine/godot/pull/90403
2024-04-22 07:48:45 -07:00
bruvzg c1b34672f9
[Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +03:00
Rémi Verschelde 6cf03a5bbb
Merge pull request #90802 from m4gr3d/fix_android_gradle_build_copy_rename_permissions_error
Fix issue causing the `copyAndRename*` task to fail on occasions on Windows machines
2024-04-22 12:52:56 +02:00
Rémi Verschelde 8c474ddd49
Merge pull request #90710 from m4gr3d/fix_jstring_leaks
Fix leakage of JNI object references
2024-04-22 12:52:16 +02:00
Rémi Verschelde e500046e00
Merge pull request #90611 from m4gr3d/automatically_generate_debug_keystore
Automatically generate the Android debug keystore
2024-04-22 12:52:03 +02:00
Rémi Verschelde 504d01b61e
Merge pull request #90403 from bruvzg/file_resize
[FileAccess] Implement `resize` method.
2024-04-22 12:51:55 +02:00
Fredia Huya-Kouadio 764de7fe31 Collapse the gdextension arguments into the `GDExtensionData` struct
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio ede88cf59d Fix loading GDExtension dependencies on Android 2024-04-19 07:55:08 -07:00
Fredia Huya-Kouadio 1cc935fa6c Fix issue causing the `copyAndRename*` task to fail on occasions on Windows machines
Gradle automatically handles up-to-date checks for output files and directories. This behavior sometimes causes the `copyAndRename*` task to fail on Windows machines when gradle tries to check on existing files in the output directories it doesn't have access to.
To fix the issue, we disable this gradle behavior following the instructions in https://docs.gradle.org/8.2/userguide/incremental_build.html#sec:disable-state-tracking
2024-04-17 08:38:32 -07:00
bruvzg e667dc2d59
[macOS] Fix native file dialog with empty filter list. 2024-04-17 11:12:14 +03:00
Rémi Verschelde 79173d1fd8
Merge pull request #90698 from Faless/fix/web/serve_py_dual_stack_windows
[Web] Fix serve.py utility on Windows
2024-04-16 13:30:51 +02:00
Rémi Verschelde 7210d6cb43
Merge pull request #90358 from KoBeWi/finding_errors_in_other_apps
Add `OS.get_process_exit_code()` method
2024-04-16 13:30:41 +02:00
kobewi dce4a3e4c2 Add get_process_exit_code() method 2024-04-16 12:46:15 +02:00
bruvzg 7446826ab9 [iOS export] Add support for privacy manifest configuration. 2024-04-16 12:10:12 +03:00
Fredia Huya-Kouadio f291a4ed3a Fix leakage of JNI object references
Fixes https://github.com/godotengine/godot/issues/87548
2024-04-15 10:30:18 -07:00
Fabio Alessandrelli 67a51c9316 [Web] Fix serve.py utility on Windows
IPv6 dual stack is disabled by default, and Windows resolves wildcard
addresses to an IPv6 by default, so connecting through the local IPv4
address would not work.

This enables IPv6 dual stacking for the HTTP server by default like done
in upstream python when launching the module from CLI.
2024-04-15 19:16:50 +02:00
Rémi Verschelde c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +02:00
Thaddeus Crews 6df57d2d7d
SCons: Fix `silence_msvc` regression 2024-04-13 08:58:29 -05:00
Rémi Verschelde 133d036741
Merge pull request #90603 from m4gr3d/fix_keystore_path_resolution
Fix issue with resolving the path for the Android keystore file
2024-04-13 11:30:51 +02:00
Miguel de Icaza 3ea7dec7d3
Fix the initialization order for the iOS driver
The problem is that we were initializating the main loop (SceneTree)
when we were supposed to just set it.  Which would cascade into a
series of issues, including having the EditorNode being flagged as
"inside_tree" and having a tree, before it was supposed to.

This meant that some code would assume it was fully initialized, when
it was not.   And this manifested as the project not being scanned for
resources, which meant that during the importing, the resources would
not match using the uid path, and produce lots of errors.

One line fix
2024-04-13 11:18:53 +02:00
Fredia Huya-Kouadio a8c9b59f3f Automatically generate the Android debug keystore
Automatically generate the Android debug keystore when the Java SDK path is specified.
2024-04-12 23:53:28 -07:00
Fredia Huya-Kouadio 6fd5238955 Fix issue with resolving the path for the Android keystore file
The previous logic passed the path to the Android keystore as-is to an external tool. This causes the tool to fail if the path is Godot-specific (e.g: 'res://<path_to_keystore>'
2024-04-12 17:00:09 -07:00
bruvzg 88b3e68f93
[FileAccess] Implement `resize` method. 2024-04-12 19:20:49 +03:00
Rémi Verschelde cabb3ca4ef
Merge pull request #90551 from Repiteo/scons/silence-msvc-for-real
SCons: Silence MSVC output bloat without hiding errors
2024-04-12 11:17:02 +02:00
Thaddeus Crews b278cefd1c
SCons: Silence msvc output without hiding errors 2024-04-11 22:21:18 -05:00
melquiadess 0ce8365dd7 Standardize descriptions, add urls, remove deprecated tag from non-deprecated permission 2024-04-11 20:23:03 +01:00
Rémi Verschelde e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +02:00
Pedro J. Estébanez c28f5901c7 Polish interaction between windowing, input and rendering
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +02:00
Mikael Hermansson a057158d75 Revert pack trimming introduced by #82084 2024-04-10 12:00:04 +02:00
bruvzg bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms. 2024-04-09 17:47:39 +03:00
bruvzg bae27340c9
[macOS export] Detect embedded helper executables using MachO header. 2024-04-09 13:19:24 +03:00
Rémi Verschelde 0d0d23cb61
Merge pull request #90377 from melquiadess/add-post-notification-permission-to-a-list-of-available-permissions
Android: Add `POST_NOTIFICATIONS` permission to the list of permissions available in the Export dialog
2024-04-08 18:42:41 +02:00
Micky 328b00774b Use `[codeblock lang=text]` more often in class ref 2024-04-08 16:17:50 +02:00
Rémi Verschelde dc91479082
Merge pull request #90382 from RandomShaper/win_focus_fix
Windows: Fix mouse handling regression
2024-04-08 15:54:32 +02:00
Rémi Verschelde 0e50807c55
Merge pull request #90379 from bruvzg/ios_static_libs
[iOS Export] Fix adding static libs to the Xcode project.
2024-04-08 14:04:49 +02:00
Pedro J. Estébanez bdfe76b200 Windows: Fix mouse handling regression 2024-04-08 13:05:01 +02:00
sambler 97e95e1750 Make sysctl calls on FreeBSD
The OS module get_unique_id and get_processor_name rely
on linux files which don't exist on a standard FreeBSD install,
make sysctl calls to get the required data.
2024-04-08 19:18:03 +09:30
Rémi Verschelde 7d96ec4f9d
Merge pull request #88329 from ManpreetXSingh/key-window-menu
Windows: Add support for enabling Alt+Space menu and fix borderless maximize
2024-04-08 11:20:05 +02:00
Rémi Verschelde 6b4944ee67
Merge pull request #87042 from Mickeon/documentation-EditorExportPlatform-misc
Add miscellaneous documentation to some classes
2024-04-08 11:19:33 +02:00
bruvzg 30babfc789
[iOS Export] Fix adding static libs to the Xcode project. 2024-04-08 11:55:59 +03:00
melquiadess 739190ca2b Add POST_NOTIFICATIONS permission to the list of permissions available in the Export dialog 2024-04-08 09:45:16 +01:00
K. S. Ernest (iFire) Lee 761ee753bf Avoid compiler error with RenderingContextDriverVulkanWindows. 2024-04-06 15:53:10 -07:00
Rémi Verschelde 02cb74e223
Merge pull request #84363 from RandomShaper/win_focus_activ
Robustify handling of activation & focus on Windows
2024-04-06 13:06:04 +02:00
Manpreet Singh 329d04d331 Windows: Add alt+space menu and fix window modes 2024-04-06 16:26:19 +05:30
Rémi Verschelde 3a73c04af6
Merge pull request #88840 from m4gr3d/update_android_export_advanced_options
Update the list of advanced export options for the Android platform
2024-04-05 12:15:48 +02:00
DmitriySalnikov b73e740786 Add renaming of PDB files to avoid blocking them 2024-04-05 00:14:23 +03:00
Rémi Verschelde 1c571f991d
Merge pull request #90000 from melquiadess/improve-performance-of-sensor-readings
Android: Improve performance of sensor readings
2024-04-04 17:09:17 +02:00
Thaddeus Crews b0cda1f85f
Core: Use fixed-width integer types in Variant 2024-04-04 08:54:11 -05:00
melquiadess f09d033156 Improve performance by extracting windowManager and getRotatedValues()
Once sensor listeners are registered, onSensorChanged() (and subsequently
getRotatedValues()) gets called multiple times per socond. Obtaining
WindowManager on each of those calls is superfluous and can be avoided
by extracting it to a lazy class val. getRotatedValue() can also be
called before checking sensor type, and used for each one of them,
resulting in less code repetition.
2024-04-04 14:17:28 +01:00
Rémi Verschelde 82dd9b9916
Merge pull request #90147 from melquiadess/remove-redundant-semicolons
Android: Remove redundant semicolons from Kotlin/gradle files
2024-04-04 14:37:31 +02:00
Rémi Verschelde c7606354c6
Merge pull request #90146 from melquiadess/extract-command-line-file-parsing-and-add-unit-tests
Android: Extract parsing command line file to a separate class + add unit tests
2024-04-04 14:37:28 +02:00
Rémi Verschelde 61b56f6019
Merge pull request #90131 from rodrigodias4/fix86495
Fix macOS menu bar & dock stop appearing after closing sub-window
2024-04-04 14:37:24 +02:00
Rémi Verschelde f8a1da9f55
Merge pull request #90101 from Jiali-Qiu/move-maximized-window
Fix issue with moving maximized window in macOS
2024-04-04 14:37:18 +02:00
Rémi Verschelde 88f7012923
Merge pull request #89999 from melquiadess/prevent-potential-NPEs-and-improve-nullability-handling
Android: Prevent potential NPEs and improve nullability handling
2024-04-04 14:35:57 +02:00
Rémi Verschelde 06f86e6e37
Merge pull request #89935 from bruvzg/dbus_conn_fix
[Linux/Portal] Fix incorrect DBus connection usage.
2024-04-04 14:35:31 +02:00
Rémi Verschelde 7fa97f37fb
Merge pull request #89452 from Riteo/name-a-better-duo
SCons: Enable the experimental Ninja backend and minimize timestamp changes to generated code
2024-04-04 14:31:24 +02:00
melquiadess 839600b744 Extract parsing command line file to a separate class + add unit tests 2024-04-04 10:18:57 +01:00
Pedro J. Estébanez 9240034d3c Robustify handling of activation & focus on Windows 2024-04-03 15:52:11 +02:00
melquiadess 73908bbce2 Remove redundant semicolons from Kotlin/gradle files 2024-04-02 23:31:34 +01:00
Rodrigo Dias a4f2e5210f Fix MacOS menu bar & dock stop appearing after closing sub-window
When the progress dialog task for saving a scene ends, or when closing the "Open project" dialog, the DisplayServerMacOS::update_presentation_mode() method now restores those fullscreen functionalities with the flags NSApplicationPresentationAutoHideMenuBar and NSApplicationPresentationAutoHideDock, whereas before it would reset to NSApplicationPresentationDefault, which didn't allow that.

Fixes #86495
2024-04-01 21:57:58 +01:00
Jiali Qiu d78cb43ec2 Fix issue with moving maximized window in macOS
When opening the Godot editor and maximizing the window by double-clicking the
title bar, users are unable to drag the window with the mouse.

With this commit, `window_set_position` allows the maximized window to be moved
by dragging it. Only the fullscreen window won't be allowed to move.

Fixes #78758.
2024-04-01 17:07:24 +01:00
melquiadess 70ea3e22a6 Use ?. (and ?.let) safe operators instead of !!
This PR prevents potential NPEs, and follows Kotlin conventions more closely
by replacing the unsafe !! operator with safe ?. (or ?.let) (usually
!! would only be used very rarely, and with a good reason - there is one
place left in this PR where !! makes sense), and by replacing Java style
'if (x != null)' with Kotlin's '?.'
2024-03-28 23:36:38 +00:00
Rémi Verschelde 3881778ebc
Merge pull request #89953 from bruvzg/macos_menu_shortcuts
[macOS] Fix non-global native menu shortcuts.
2024-03-28 10:47:34 +01:00
Rémi Verschelde 7092230df6
Merge pull request #89907 from bruvzg/nat_dlg_ftr_flags
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-28 10:47:15 +01:00
Rémi Verschelde d28fb26ab0
Merge pull request #89716 from theromis/master
[X11] Add more details to large icon size warning
2024-03-28 10:47:08 +01:00
bruvzg 37e0be37d8
[macOS] Fix non-global native menu shortcuts. 2024-03-27 22:26:44 +02:00
bruvzg 082b420c0a
Implement `OS.execute_with_pipe` method to run process with redirected stdio.
Implement `pipe://*` path handling for creation of named pipes.
2024-03-27 11:41:16 +02:00
bruvzg 607cc27152
[Linux/Portal] Fix incorrect DBus connection usage. 2024-03-27 09:18:31 +02:00
bruvzg dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types. 2024-03-26 15:18:06 +02:00
Rémi Verschelde bad1f4aae5
Merge pull request #89900 from bruvzg/nmenu_move
[NativeMenu] Move files to the `display` subfolder.
2024-03-26 13:45:46 +01:00
Rémi Verschelde 9335b83a32
Merge pull request #87831 from Riteo/bitfield-xor
Core: Implement a XOR operator for BitField
2024-03-26 13:45:02 +01:00
bruvzg 399899a095
[NativeMenu] Move files to the `display` subfolder. 2024-03-26 10:18:08 +02:00
Alexander Hartmann 1a68f1425d Fix `EXIT_SUCCESS` on Android 2024-03-25 17:50:02 +01:00
Rémi Verschelde ccb1cb4845
Merge pull request #89703 from V-Sekai/android-fix
Android: Fix UnsupportedOperationException remove from non-ArrayList
2024-03-25 15:25:50 +01:00
Aitor Guevara 159f0af92f [Windows] Fix NVIDIA app profile creation
When adding an executable to the NVIDIA profile created to disable
threaded optimization, wrong values were passed to `launcher` and
`fileInFolder` params, which resulted in 1) the NVIDIA driver not
applying the profile and 2) the app being repeatedly added to the
profile.
This patch fixes the faulty app creation params and deletes the
potentially corrupted profile if found.
2024-03-25 12:43:04 +01:00
Lyuma 3262363664 android: Fix UnsupportedOperationException remove from non-ArrayList 2024-03-25 00:04:28 -07:00
Alexander Hartmann 65f68fda54 Fix `EXIT_SUCCESS` on MacOS 2024-03-24 17:08:25 +01:00
Rémi Verschelde e2f85b4f7a
Merge pull request #89707 from AThousandShips/typo_fix
[Wayland] Fix typo in input code
2024-03-24 01:22:10 +01:00
Rémi Verschelde aa0e57e00c
Merge pull request #89598 from dustdfg/web/fix-supported-arch-message
Fix platform name in the message about unsupported CPU architecture
2024-03-24 01:19:06 +01:00
Rémi Verschelde a277361321
Merge pull request #89594 from LeonardoDemartino/ios_airpods_routing
iOS: Fix AirPods routing when Play and Record category is used.
2024-03-24 01:18:51 +01:00
Rémi Verschelde 428ba4c367
Merge pull request #89579 from beicause/master
Fix `gdextensionlibs.json` storage path in Android gradle build
2024-03-24 01:18:22 +01:00
Rémi Verschelde f49efbe0e5
Merge pull request #89229 from akien-mga/main-refactor-os-exit-code
Refactor OS exit code to be `EXIT_SUCCESS` by default
2024-03-24 01:15:06 +01:00
bruvzg b3043674f6
[iOS Export] Check directory content before deleting old export leftovers. 2024-03-22 23:45:54 +02:00
Roman Vasilyev ece8685b3b Add icon source size to warning about "too large icon dimensions" to help faster find it 2024-03-22 12:53:57 -07:00
A Thousand Ships 79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable 2024-03-20 13:47:42 +01:00
bruvzg 0587a1d217
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly. 2024-03-20 11:56:07 +02:00
A Thousand Ships 9aa99c0a9d
[Wayland] Fix typo in input code 2024-03-20 10:37:08 +01:00
Yevhen Babiichuk (DustDFG) ca60255d8c Fix platform name in the message about unsupported CPU architecture
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-03-17 09:28:53 +02:00
Leonardo Demartino 3bdbf90f49 Fix AirPods routing when Play and Record category is used. 2024-03-17 02:39:16 -03:00
beicause 428fa0dfa7 Fix gdextensionlibs.json storage path in Android gradle build
It should relative to gradle build directory
2024-03-17 01:11:36 +08:00
bruvzg ebb19c4198 [NativeMenu] Fix changes lost due to incorrect rebase (menu goes under task bar, dark mode, item text get, docs) and check to ensure help menu is not using native menu on Windows. 2024-03-15 22:46:47 +02:00
Riteo a5cf92664d SCons: unify code generations routine and minimize timestamp changes
Previously, all of the code generation routines would just needlessly
write the same files over and over, even when not needed.

This became a problem with the advent of the experimental ninja backend
for SCons, which can be trivially enabled with a few lines of code and
relies on timestamp changes, making it thus impractical.
2024-03-15 15:43:53 +01:00
bruvzg 016107fba0
[NativeMenu] Fix MinGW build. 2024-03-15 13:59:47 +02:00
Rémi Verschelde c9c17d6ca6
Merge pull request #89511 from bruvzg/win_emb_x
[Windows] Fix exporting as ZIP when console wrapper and/or embedded PCK is enabled.
2024-03-15 11:07:39 +01:00
bruvzg aac31feda6
[Windows] Fix exporting as ZIP when console wrapper and/or embedded PCK is enabled. 2024-03-15 11:41:48 +02:00
Rémi Verschelde ea05652a6a
Merge pull request #89507 from bruvzg/ios_no_jit
[iOS] Disable PCRE2 JIT.
2024-03-15 10:40:20 +01:00
bruvzg 9834733f6f
[iOS] Disable PCRE2 JIT. 2024-03-15 10:24:08 +02:00
bruvzg 3459aaa9d1 Fix NativeMenu layout direction on macOS, add extra check for Windows menu. 2024-03-15 09:48:54 +02:00
Rémi Verschelde 4ca6cd054f
Merge pull request #89273 from bruvzg/win_native_menu
[NativeMenu] Implement native popup menu support on Windows.
2024-03-14 22:34:42 +01:00
Rémi Verschelde 453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
A Thousand Ships 24c9d442e9
[Doc] Fix some incorrect uses of `a/an` 2024-03-13 21:20:28 +01:00
bruvzg ac7583e449
[NativeMenu] Implement native popup menu support on Windows. 2024-03-13 10:51:38 +02:00
Thaddeus Crews 3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr` 2024-03-12 10:59:53 -05:00
Rémi Verschelde b1b0a526d8
Merge pull request #89393 from Repiteo/retire-subprocess_main
SCons: Remove `run_in_subprocess` & `subprocess_main` dependencies
2024-03-11 23:48:21 +01:00
Rémi Verschelde 058202e960
Merge pull request #86101 from GrammAcc/partial-fix-68305
[X11] Partial fix for Editor and Project Manager stealing focus on some window managers
2024-03-11 23:48:07 +01:00
Thaddeus Crews 5a6e3cbcb0
SCons: Remove `run_in_subprocess` dependency 2024-03-11 13:20:09 -05:00
Rémi Verschelde 0475011c66
Merge pull request #82084 from ogapo/pr/pck-cache-merge
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +01:00
Rémi Verschelde 810f127022
Merge pull request #89365 from Repiteo/scons/run_in_subprocess-to-env.Run
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 21:13:22 +01:00
Rémi Verschelde c973c9ff8d
Merge pull request #89351 from bruvzg/angle_fb_check
[Windows] Disable fallback to ANGLE logic when compiled w/o ANGLE support.
2024-03-10 21:13:11 +01:00
Thaddeus Crews 8116d70d4b
SCons: Convert remaining `run_in_subprocess` to `env.Run` 2024-03-10 14:01:23 -05:00
bruvzg 620e194727
[Windows] Disable fallback to ANGLE logic when compiled w/o ANGLE support. 2024-03-10 13:18:03 +02:00
bruvzg 2cd4a4e7e2
[iOS] Restore backward compatibility with old export templates. 2024-03-10 11:04:26 +02:00
Rémi Verschelde 0ace0a1292
Merge pull request #89333 from Repiteo/enforce-eol-python
Enforce `\n` eol for Python writes
2024-03-09 22:20:23 +01:00
Rémi Verschelde 2cb884bdbd
Merge pull request #89328 from Riteo/wayland-cursor-frame-opt
Wayland: Setup next cursor frame callback only if animated
2024-03-09 22:20:12 +01:00
Rémi Verschelde 30d08f0e13
Merge pull request #89327 from pohy/fix/mac-vulkan-build
Fix MoltenVK detection
2024-03-09 22:20:09 +01:00
Rémi Verschelde 3ca230df25
Merge pull request #89307 from alesliehughes/wayland_usage
Wayland: Stop possible Null pointer dereferences
2024-03-09 22:19:48 +01:00
Rémi Verschelde 43fd1f6bbd
Merge pull request #89306 from alesliehughes/wayland_warning
Wayland: Stop unreachable warning
2024-03-09 22:19:45 +01:00
Thaddeus Crews d9fa40f2df
Enforce `\n` eol for Python writes
• Ensure utf-8 encoding if previously unspecified
2024-03-09 14:29:24 -06:00
pohy f65f480617 Fix MoltenVK detection 2024-03-09 21:05:51 +01:00
Riteo 120936f78c Wayland: Setup next cursor frame callback only if animated
Before, the cursor kept updating for no good reason really.

It's also a bit neater and it ever-so-slightly makes `WAYLAND_DEBUG`
logs easier to read, although they're still spammed by the window's
frame logic (which is needed).
2024-03-09 20:32:54 +01:00
Alistair Leslie-Hughes 82a052a008 wayland: Stop possible Null pointer dereferences 2024-03-09 21:50:55 +11:00
Alistair Leslie-Hughes d3ebae5e33 wayland: Stop unreachable warning 2024-03-09 21:50:39 +11:00
Rémi Verschelde f28964805e
Merge pull request #89303 from V-Sekai/scale-with-dpi-constexpr-4.3
Windows: Avoid `scale_with_dpi` constexpr compiler error.
2024-03-09 10:18:55 +01:00
Rémi Verschelde 023dcd44c1
Refactor OS exit code to be `EXIT_SUCCESS` by default
- `Main::setup` early exits (failure or `--help`/`--version`) now
  consistently return `EXIT_FAILURE` or `EXIT_SUCCESS` on all platforms,
  instead of 255 on some and a Godot Error code on others.
- `Main::start` now returns the exit code, simplifying the handling of early
  failures.
- `Main::iteration` needs to explicit set the exit code in OS if it errors
  out.
- Web and iOS now properly return `OS::get_exit_code()` instead of 0.
2024-03-08 23:31:24 +01:00
Thaddeus Crews 9903e6779b
Enforce template syntax `typename` over `class` 2024-03-07 22:39:09 -06:00
Fredia Huya-Kouadio 900fc2a35a Add `PermissionsUtil#requestPermissions(...)` to provide the ability to request multiple permissions at a time
Fix https://github.com/GodotVR/godot_openxr_vendors/issues/101
2024-03-07 11:23:21 -08:00
K. S. Ernest (iFire) Lee 0a47f4ebd2 Avoid scale_with_dpi constexpr compiler error. 2024-03-06 15:15:01 -08:00
David Nikdel 5e6adb4a2d Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
fixes godotengine#82061
fixes godotengine#61556

Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
Rémi Verschelde 13954fc33e
Merge pull request #87452 from bruvzg/native_menu
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-06 13:16:52 +01:00
398utubzyt 1c10f577cb Windows: Fix `FreeLibrary` not always being called in `dialog_show` 2024-03-05 10:31:32 -08:00
Rémi Verschelde 2ecf0eba95
Merge pull request #88520 from LinuxUserGD/execinfo
Disable the crash handler if `execinfo=no` scons option is set
2024-03-05 16:54:37 +01:00
Rémi Verschelde f9ebd84b5a
Merge pull request #89178 from Riteo/gotta-have-them-all
Wayland: Properly report all used features
2024-03-05 14:55:36 +01:00
Rémi Verschelde 93bc77567a
Merge pull request #89173 from m4gr3d/fix_template_warning_for_custom_source_template
Update the Android export validation logic to account for the custom gradle android source template
2024-03-05 14:55:28 +01:00
Fredia Huya-Kouadio 90b43648c4 Update the Android export validation logic to account for the custom gradle android source template
Follow-up to https://github.com/godotengine/godot/pull/88297 to address the following issues:
- Ensure that the custom gradle android source template is valid. Show a warning if it's not
- Don't show an error when the official export templates are not installed but a custom android source template is specified
2024-03-05 01:32:14 -08:00
Rémi Verschelde 0eee7345ee
Merge pull request #89159 from Repiteo/suppress-msvc-false-default
SCons: Set `silence_msvc` to false by default
2024-03-05 09:56:15 +01:00
Rémi Verschelde 2862cb19a8
Merge pull request #88957 from 398utubzyt/windows/native-dialogs
Windows: Implement `dialog_show` and `dialog_input_text` for `DisplayServer`
2024-03-05 09:56:00 +01:00
Rémi Verschelde 5d20628c31
Merge pull request #88496 from bruvzg/d3d12_dyn_load
[Windows] Make D3D12 loading dynamic to support pre-Windows 10 versions.
2024-03-05 09:55:41 +01:00
Thaddeus Crews 581315a975
Set `silence_msvc` default to false, amend description 2024-03-04 16:06:19 -06:00
bruvzg c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class. 2024-03-04 23:41:41 +02:00
398utubzyt 99500611b2 Windows: Implement `DisplayServer::dialog_show` and `DisplayServer::dialog_input_text` 2024-03-04 12:53:22 -08:00
Riteo ea4be5d3df Wayland: Properly report all used features
Oops, missed a few.
2024-03-04 21:08:37 +01:00
Rémi Verschelde 790d051ff1
Merge pull request #89112 from AThousandShips/wayland_tilt
[Wayland] Fix tilt handling
2024-03-04 13:34:31 +01:00
Rémi Verschelde 1a7f694b40
Merge pull request #89006 from LeonardoDemartino/ios_playandrecord_volume
Fix low volume sound output on iOS when Play and Record category is used
2024-03-04 13:33:22 +01:00
Rémi Verschelde 3655973e0e
Merge pull request #87154 from Repiteo/scons/cl-quiet
SCons: Silence redundant MSVC output
2024-03-04 13:33:01 +01:00
A Thousand Ships 9273106bb3
[Wayland] Fix tilt handling 2024-03-03 20:45:07 +01:00
Micky c54e09a5a3 Overhaul some "uncommon" wording in class reference 2024-03-01 15:32:38 +01:00
Rémi Verschelde b0b9c66a7f
Merge pull request #88987 from bruvzg/macos_12_depr_warn
[macOS] Fix some deprecation warnings.
2024-02-29 13:55:08 +01:00
Rémi Verschelde 90ed9a5de0
Merge pull request #88978 from bruvzg/macos_bg_cont
[macOS] Enable input from controllers in the background.
2024-02-29 13:54:57 +01:00
Rémi Verschelde 6d9a529c87
Merge pull request #88970 from KoBeWi/ImageCursor2D
Improve `cursor_set_custom_image()` method
2024-02-29 13:54:53 +01:00
Rémi Verschelde 7434f8b4e3
Merge pull request #88959 from akien-mga/pre-commit-clang-17.0.6-black-24.2.0
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-29 13:54:38 +01:00
Rémi Verschelde f5bbf54496
Merge pull request #88744 from Riteo/wayland-multitool-tablet
Wayland: Restore tablet support and handle multiple tools
2024-02-29 13:54:11 +01:00
Leonardo Demartino d5a3a9aea6 Fix low volume sound output on iOS when Play and Record category is used. 2024-02-29 08:54:55 -03:00
bruvzg e15a2ff1db
[macOS] Fix some deprecation warnings. 2024-02-28 23:38:29 +02:00
kobewi 3aeb4a5542 Improve cursor_set_custom_image() method 2024-02-28 20:32:25 +01:00
bruvzg 77e92dda0f
[macOS] Enable input from controllers in the background. 2024-02-28 21:25:47 +02:00
Rémi Verschelde 3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0 2024-02-28 14:25:35 +01:00
Riteo b01a36b3cd Wayland: Restore tablet support and handle multiple tools
This code was already partially there, although heavily incomplete and
nowadays commented out.

It got broken after the `WaylandThread` refactor and I didn't bother to
bring it over, preferring to `#if 0` it into oblivion for the time
being as I don't have a tablet/pen which support an eraser and tilt
reporting.

This commit brings it back and adds proper multi-tool support (needed
for eraser detection) thanks to winston-yallow, who could test this code
with their more capable tablet.
2024-02-28 13:08:31 +01:00
bruvzg a0084803b4
[macOS/Windows] Fix application indicator destruction. 2024-02-27 22:19:47 +02:00
Rémi Verschelde b849d34012
Don't attempt shutting down adb on exit if not started
Fixes #88864.
2024-02-26 13:37:06 +01:00
Rémi Verschelde e7bf883068
Merge pull request #88611 from Alex2782/force_device_cpu_architecture
Display a warning if device CPU architecture is not active in the export preset.
2024-02-26 10:48:49 +01:00
Fredia Huya-Kouadio 68a1632938 Update the list of advanced export options for the Android platform 2024-02-25 13:40:33 -08:00
Rémi Verschelde a030031408
Merge pull request #88694 from bruvzg/str_checks
[macOS] Add null checks for `NSString stringWithUTF8String`.
2024-02-25 11:50:05 +01:00
Rémi Verschelde d94827a60d
Merge pull request #85905 from bruvzg/win_app_id
[Windows] Set application user model ID to prevent editor / running project and different versions of editor taskbar icon stacking.
2024-02-25 11:49:57 +01:00
A Thousand Ships 9e6158d687
[Docs] Fix some experimental/deprecated hints 2024-02-23 19:48:53 +01:00
bruvzg e939341a0b
[Windows] Set application user model ID to prevent editor / running project and different versions of editor taskbar icon stacking. 2024-02-23 13:16:58 +02:00
bruvzg d2e0544e0a
[macOS] Add null checks for `NSString stringWithUTF8String`. 2024-02-23 08:20:02 +02:00
Alexander Hartmann 293c34a2d2 Display a warning if device CPU architecture is not active in the export preset. 2024-02-23 01:37:32 +01:00
Alexander Hartmann e17cecf54a Fix Compatibility Rendering (GLES3) on old and low budget devices.
Co-Authored-By: joined72 <19651914+joined72@users.noreply.github.com>
2024-02-22 00:24:08 +01:00
Rémi Verschelde f55ee87b8a
Merge pull request #88594 from adamscott/wasm-bigint-mandatory
Add `WASM_BIGINT` linker flag to the web build
2024-02-20 15:47:20 +01:00
Jezer Mejía 07313a08f4 Migrate macos controller API to GameController.h
This should fix a lot of issues regarding to old controller API, such as vibration

Haptics (vibrations) are only available in macOS 11+, so haptics are now
processed in macOS 11+ only. Also, this doesn't interfere with
controller's input as controller support is available in macOS 10.9+.

Added a Note for macOS regarding vibration support
2024-02-20 08:13:05 -06:00
Adam Scott 3ae524fa9e
Add `WASM_BIGINT` linker flag to the web build 2024-02-20 08:19:56 -05:00
bruvzg f4ca6a856a
[Windows] Make D3D12 loading dynamic to support pre Windows 10 versions. 2024-02-19 15:08:04 +02:00
bruvzg fc49964de4
Fix crash on documentation generation on macOS. 2024-02-19 13:42:27 +02:00
LinuxUserGD 6307cebf37
os_linuxbsd.cpp: include `servers/rendering_server.h` 2024-02-19 01:14:30 +01:00
Rémi Verschelde d0f4f58a8c
Merge pull request #88519 from bruvzg/mac_conf_mode
[macOS] Ignore window decorations in confined mouse mode to match other platforms.
2024-02-19 00:09:15 +01:00
Rémi Verschelde ec0adfd23e
Merge pull request #88419 from m4gr3d/add_export_preset_advanced_options_toggle
Add an `Advanced Options` toggle to the editor export preset
2024-02-19 00:08:22 +01:00
Rémi Verschelde 033821c595
Merge pull request #88245 from shana/simplify-mono-support-detection
C#: Let platforms signal if they support the mono module or not
2024-02-19 00:08:07 +01:00
bruvzg 606a475bb5
[macOS] Ignore window decorations in confined mouse mode to match other platforms. 2024-02-18 23:53:45 +02:00
LinuxUserGD f1a677fb4c
Disable the crash handler if execinfo=no scons option is set 2024-02-18 21:42:05 +01:00
Fredia Huya-Kouadio 6ef31541bf Add an `Advanced Options` toggle to the editor export preset 2024-02-18 10:43:58 -08:00
Rémi Verschelde e697774f61
Merge pull request #87823 from KoBeWi/ban_adb
Don't invoke adb with no runnable Android preset
2024-02-17 15:54:49 +01:00
Rémi Verschelde b2fa20922f
Merge pull request #88405 from bruvzg/fix_non_bgra_dib
[Windows] Fix reading non-BGRA8 DIBs from clipboard.
2024-02-17 00:27:23 +01:00
Rémi Verschelde 01323cd687
Merge pull request #88385 from m4gr3d/enable_legacy_packaging_main
Add export setting to specify whether the native libraries should be compressed for the gradle build
2024-02-17 00:26:42 +01:00
Rémi Verschelde 07095d2b19
Merge pull request #88382 from m4gr3d/enable_debug_symbols_android_studio
Always enable debug symbols when developing with Android Studio
2024-02-17 00:24:07 +01:00
Rémi Verschelde 59643bdb86
Merge pull request #88325 from akien-mga/texture-formats
Export: Unify settings for PC texture formats, removed obsoleted ETC feature
2024-02-17 00:23:45 +01:00
Rémi Verschelde 66b33c15e4
Merge pull request #88297 from dsnopek/android-configure-gradle-path
Android: Allow using alternative Gradle build directory
2024-02-17 00:23:32 +01:00
David Snopek a37ad265dc Android: Allow using alternative Gradle build directory 2024-02-16 15:20:47 -06:00
bruvzg 9777a0132e [Windows] Fix reading non-BGRA8 DIBs from clipboard. 2024-02-16 17:10:16 +02:00
Fredia Huya-Kouadio a69a585c91 Add export setting to specify whether the native libraries should be compressed for the gradle build 2024-02-15 18:04:55 -08:00
Fredia Huya-Kouadio af7569d604 Always enable debug symbols when developing with Android Studio 2024-02-15 17:03:28 -08:00
Riteo 2e07dcf1e7 Wayland: suspend window after frame timeout or suspend state
This is a pretty popular approach that took a while for me to wrap my
head around and which only recently got "official" support through an
update (xdg_shell version 6), so I think that this is all-in-all a
better option than the overkill 2000Hz ticking we have now :P

Basically, we wait for a frame event and, if either too much time passes
or we get the new `suspended` state, we consider the window as "hidden"
and stop drawing, ticking by the low usage rate.

This should work great for KDE and Mutter, which support the new state,
but not yet for sway, which is still stuck at a very old xdg_shell
version and thus falls back to the timeout approach.

Be aware that if we rely on timing out the engine will have to stall for
the whole timeout, which _could_ be problematic but doensn't seem like
it. Further testing is needed.

Special thanks go to the guys over at #wayland on OFTC, who very
patiently explained me this approach way too many times.
2024-02-15 23:48:56 +01:00
kobewi 343bfb112f Don't invoke adb with no runnable Android preset 2024-02-15 22:37:32 +01:00
Rémi Verschelde c4869cf15a
Merge pull request #88274 from bruvzg/macos_hdr_picker
[macOS] Fix color picker on HDR screens.
2024-02-15 17:35:48 +01:00
Rémi Verschelde 31ab2ca028
Merge pull request #86093 from bruvzg/d3d12_export
[D3D12] Automatically copy runtime DLLs during export.
2024-02-15 17:35:32 +01:00
Rémi Verschelde fba467c5b7
Merge pull request #88351 from BZ1234567890/issue-87059-master
[Android 14] Fix GodotEditText white box showing during editor load
2024-02-15 15:45:23 +01:00
Rémi Verschelde 3ed81a8f70
Merge pull request #88334 from passivestar/ctrl-tab-mac
[macOS] Fix `Ctrl+Tab` and `Ctrl+Shift+Tab` not working
2024-02-15 15:45:15 +01:00
Rémi Verschelde ef5d6ccfb7
Merge pull request #86966 from Muller-Castro/value2ref-core
Add const lvalue ref to `core/*` container parameters
2024-02-15 15:44:43 +01:00
Rémi Verschelde 83215bd58a
Merge pull request #85322 from Repiteo/scons-Environment-to-SConsEnvironment
SCons: Change `Environment` type hints to `SConsEnvironment`
2024-02-15 15:44:33 +01:00
Rémi Verschelde 92e9bcb633
Merge pull request #80548 from garychia/keyboard_focus
Ensure the active window gains the keyboard focus
2024-02-15 15:44:16 +01:00
BZ1234567890 04798d6352 [Android 14] Fix GodotEditText white box showing during editor load 2024-02-15 01:06:18 +01:00
passivestar 757a691b5e Fix `Ctrl+Tab` and `Ctrl+Shift+Tab` on macOS 2024-02-15 02:49:31 +04:00
Rémi Verschelde a10b4bdb81
Export: Unify settings for PC texture formats
S3TC and BPTC should always be used together, and likewise for ETC2 and ASTC.
2024-02-14 17:16:43 +01:00
Rémi Verschelde e457f41f9b
Remove code relative to obsoleted ETC texture format
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2024-02-14 17:16:41 +01:00
Thaddeus Crews 633dcf6dfd
SCons: "Environment" to "SConsEnvironment" 2024-02-14 09:26:47 -06:00
Muller-Castro a8bc9f3e78 Add const lvalue ref to core/* container parameters 2024-02-14 11:20:36 -03:00
Rémi Verschelde 3a2fb42838
Merge pull request #85100 from ztc0611/fix-ios-focus-mainloop-notifs
Enhance mobile suspend MainLoop notifications
2024-02-14 14:07:54 +01:00
Rémi Verschelde e5a3fd1e53
Merge pull request #88304 from m4gr3d/fix_gradle_build_for_non_ascii_path_main
Fix gradle build errors when the build path contains non-ASCII characters
2024-02-13 23:43:59 +01:00
Rémi Verschelde afc49e52e4
Merge pull request #88130 from AlekseyKapustyanenko/Rotary_Input
Add rotary input support for Android platform
2024-02-13 23:43:33 +01:00
Rémi Verschelde b6dee8850b
Merge pull request #87384 from bruvzg/sys_base_color
Add method to get "base" system UI color and system theme change callback.
2024-02-13 23:43:21 +01:00
Rémi Verschelde 68c583d30c
Merge pull request #86619 from Alex2782/fix_flag_decimal
Fix virtual keyboard for decimal values on Android
2024-02-13 23:43:11 +01:00
Fredia Huya-Kouadio f1887a30f3 Fix gradle build errors when the build path contains non-ASCII characters 2024-02-13 14:31:08 -08:00
Andreia Gaita 21e524a798 C#: Let platforms signal if they support it or not
Instead of hardcoding platform names that support C#, let platforms
set a flag indicating if they support it. All public platforms
except web already support it, and it's a pain to maintain a patch
for this list just to add additional names of proprietary console
platforms.

This makes adding new platforms or variants or existing platforms
much easier, as the platform can signal what it supports/doesn't
support directly, and we can avoid harcoding platform names.
2024-02-13 22:48:43 +01:00
Alexander Hartmann 6f91c00056 Fix virtual keyboard for decimal values on Android 2024-02-13 22:20:47 +01:00
ALEKSEY KAPUSTYANENKO d5c2a641f0 Add rotary input support. Fix documentation 2024-02-13 21:12:59 +04:00
bruvzg ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +02:00
bruvzg deffe6a3be
[macOS] Add support for native help menu search callbacks, integrate editor help. 2024-02-13 18:37:37 +02:00
Rémi Verschelde b50001ecfe
Merge pull request #87999 from bruvzg/metal_layer
[macOS / iOS] Switch Vulkan init to `VK_EXT_metal_surface` extension.
2024-02-13 17:24:15 +01:00
Rémi Verschelde b36480684c
Merge pull request #87954 from bruvzg/mac_fd_no_type
[macOS] Do not show file type popup in the native file dialog if there's only one option, improve `*.*` filter handling.
2024-02-13 17:24:11 +01:00
Rémi Verschelde ae603f2dc6
Merge pull request #87908 from bruvzg/mac_gen_plist
[macOS] Generate min. `Info.plist` for frameworks if it's missing. Validate framework bundle ID characters.
2024-02-13 17:24:07 +01:00
Rémi Verschelde 747977807a
Merge pull request #87657 from bruvzg/app_dist
[macOS export] Allow unpacked .app export in "Distribution" export mode.
2024-02-13 17:23:59 +01:00
Rémi Verschelde 937fa7b04a
Merge pull request #87465 from bruvzg/macos_demini_vis_state
[macOS] Update window visible state on deminiaturize.
2024-02-13 17:23:51 +01:00
Rémi Verschelde bd57d2de18
Merge pull request #87277 from bruvzg/macos_swipe
[macOS] Handle Trackpad / Magic Mouse swipe events and simulate XBUTTON1 / XBUTTON2 buttons.
2024-02-13 17:23:46 +01:00
Rémi Verschelde c8b5290119
Merge pull request #87013 from bruvzg/intel_angle_with_ids
[Windows] Add support for hex vendor/device IDs in the Angle blocklist. Add Intel Gen5/Gen6/Gen7 GPUs to Angle blocklist.
2024-02-13 17:23:41 +01:00
Rémi Verschelde 164ec4929f
Merge pull request #86934 from bruvzg/mac_icon_fix
[macOS export] Fix RLE icon generation.
2024-02-13 17:23:25 +01:00
Rémi Verschelde de77f0ac7f
Merge pull request #86255 from bruvzg/_bundle_build
[iOS/macOS] Add option to automatically build (and sign / archive) bundles.
2024-02-13 17:23:10 +01:00
Rémi Verschelde 7069b3d351
Merge pull request #80211 from bruvzg/status_ind
Implement support for application status indicators (tray icons).
2024-02-13 17:22:55 +01:00
Rémi Verschelde 00403671e4
Merge pull request #79875 from bruvzg/mingw_force_sep_ds
[MinGW] Force separate debug symbols if executable size is larger than 1.9 GB.
2024-02-13 17:22:46 +01:00
bruvzg f458943455
[macOS / iOS] Switch Vulkan init to VK_EXT_metal_surface extension. 2024-02-13 16:57:02 +02:00
bruvzg 94238d0462
[iOS/macOS] Add option to automatically build (and sign / archive) bundles. 2024-02-13 16:36:41 +02:00
bruvzg 8da36031e4
Implement support for application status indicators (tray icons). 2024-02-13 15:59:35 +02:00
bruvzg d9b7075ba6
[macOS] Fix color picker on HDR screens. 2024-02-13 11:24:43 +02:00
Rémi Verschelde 3be3d5099c
Merge pull request #87340 from DarioSamo/rd_common_context
Finish splitting functionality of the `RenderingDevice` backends into `RenderingDeviceDriver`.
2024-02-12 23:29:32 +01:00
Rémi Verschelde 1b55fa15b0
Merge pull request #86089 from adamscott/pwa-coop-coep
Add PWA option to ensure cross-origin isolation headers on web export
2024-02-12 23:29:16 +01:00
Adam Scott 62cec03a06
Add option to ensure cross-origin isolation headers on web export 2024-02-12 09:27:39 -05:00
Dario 73eff10c76 Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 -03:00
Rémi Verschelde f317cc713a
Merge pull request #88220 from FaycalElOuariachi/display_server_windows-clipboard_get_image-fix-DIB-image-import
Fix the fetching of images in `CF_DIB` format in `DisplayServerWindows::clipboard_get_image`
2024-02-12 13:35:11 +01:00
Rémi Verschelde ed7f1186a6
Merge pull request #88155 from Rubonnek/use-safeflag-instead
Use `SafeFlag` for `EditorHTTPServer.server_quit`
2024-02-12 13:34:41 +01:00
Rémi Verschelde 0178cd47a5
Merge pull request #86977 from Mickeon/documentation-editor-export-platform-web-no-funny-quirks-in-this-branch
Add documentation to EditorExportPlatformWeb
2024-02-12 13:33:52 +01:00
Faycal ElOuariachi c1ec0360e9 Fix the fetching of images in CF_DIB format in DisplayServerWindows::clipboard_get_image
Fix the fetching of images from windows clipboard, if they're in CF_DIB format (e. g. by taking screenshots).

Image::create_from_data was used with an instance of Image, but it's a static function, returning a new instance.
2024-02-12 13:14:11 +01:00
Micky 7ffacb5d49 Add documentation to EditorExportPlatformWeb 2024-02-11 18:28:27 +01:00
Wilson E. Alvarez c32e48890f
Use SafeFlag for EditorHTTPServer.server_quit 2024-02-09 14:37:17 -05:00
Rémi Verschelde 4e990cd7e5
Merge pull request #88134 from akien-mga/scons-wayland-py3.12-escape
SCons: Use r-strings for wayland-scanner builder command
2024-02-09 18:10:19 +01:00
Rémi Verschelde 74b03edf1e
Merge pull request #82800 from Sauermann/fix-screen-mousemotion
Add screen-related attributes to mouse input events
2024-02-09 18:08:58 +01:00
Rémi Verschelde 03c8a0d089
SCons: Use r-strings for wayland-scanner builder command
Silences a Python 3.12 warning.
2024-02-09 15:52:20 +01:00
bruvzg cc313a1c1c
[macOS] Allow `open_shell` to handle filenames without `file://`. 2024-02-09 08:27:55 +02:00
Rémi Verschelde af645c4977
Merge pull request #88063 from Faless/web/editor_server_refactor
[Web] Refactor Editor web server.
2024-02-08 10:54:08 +01:00
Rémi Verschelde 11964fb569
Merge pull request #87464 from bruvzg/pck_section
[Linux] Add support for PCK embedding section with non GNU-ld linkers.
2024-02-08 10:53:36 +01:00
Fabio Alessandrelli fdf6fa82c3 [Web] Move polling thread to EditorHTTPServer 2024-02-07 20:40:12 +01:00
Fabio Alessandrelli 222214c05f [Web] Move EditorHTTPServer implementation to cpp. 2024-02-07 14:25:56 +01:00
Rémi Verschelde 7223c5b54a
Fix various typos with codespell
Using 2.2.7.dev115+g0eb441d6.

Had to add `cancelled` to the ignore list, as it's a Wayland signal which
we're handling in our code, so we don't want codespell to fix that "typo".

Also includes the typo fix from #87927.

Co-authored-by: Divyanshu Shekhar <61140213+divshekhar@users.noreply.github.com>
2024-02-07 11:09:34 +01:00
Rémi Verschelde 08eaeff640
Merge pull request #88050 from bruvzg/sec_state
[macOS] Enabled secure restorable state.
2024-02-07 11:07:09 +01:00
Rémi Verschelde e89807514e
Merge pull request #88043 from jsjtxietian/web-data-race
Fix data race regarding `server_quit` in `EditorExportPlatformWeb`
2024-02-07 11:06:23 +01:00
Rémi Verschelde c9c2b12637
Merge pull request #88028 from Calinou/wayland-silence-scanner-check
Silence wayland-scanner check in buildsystem
2024-02-07 11:06:00 +01:00
Rémi Verschelde 67234eafc1
Merge pull request #88024 from Calinou/doc-android-package-unique-name
Improve documentation on Android package unique name
2024-02-07 11:05:10 +01:00
Rémi Verschelde 7cd3467713
Merge pull request #88010 from akien-mga/web-closure-ECMASCRIPT_2021
Web: Bump closure compiler spec to `ECMASCRIPT_2021`
2024-02-07 11:04:47 +01:00
Rémi Verschelde 3b6f2e0525
Merge pull request #87977 from Chubercik/wayland-1.22.0
wayland: Update to 1.22.0
2024-02-07 11:02:05 +01:00
Rémi Verschelde bf8814ed10
Merge pull request #87842 from bruvzg/sigtrap
[macOS] Add SIGTRAP to the crash handler.
2024-02-07 10:59:42 +01:00
Rémi Verschelde 4f478a55cc
Merge pull request #86843 from RandomShaper/fix_null_ptr
Avoid several null-dereferences of ApiContextRD
2024-02-07 10:58:01 +01:00
bruvzg 84380a94f7
[macOS] Enabled secure restorable state. 2024-02-07 10:59:35 +02:00
jsjtxietian ea974e1877 Fix data race regarding `server_quit` in `EditorExportPlatformWeb` 2024-02-07 11:27:38 +08:00
Pedro J. Estébanez d5a5dd52e8 Avoid several null-dereferences of ApiContextRD 2024-02-06 19:55:01 +01:00
Hugo Locurcio 7b0f2a5f53
Silence wayland-scanner check in buildsystem
This prevents a wayland-scanner message from appearing every build
when `wayland=yes` is used (the default). The error message when
wayland-scanner is still printed as it's not printed by
wayland-scanner itself.
2024-02-06 19:49:34 +01:00
Hugo Locurcio 111908c4ed
Improve documentation on Android package unique name
- Document `$genname` behavior.
- Update to match actual validation and Google Play guidelines.
2024-02-06 18:20:39 +01:00
Jakub Marcowski 292df42c3f wayland: Update to 1.22.0 2024-02-06 10:23:42 +01:00
Rémi Verschelde d29b0d90e0
Web: Bump closure compiler spec to ECMASCRIPT_2021
Fixes #88008.
2024-02-06 09:19:07 +01:00
Dalton Lang 8a2e4409e6 [X11] Partial Fix Godot Editor and Project Manager steals focus on a window manager on Linux
This is a workaround for the most critical portion of the WM focus bug
described in #68305. On some specific X11 WM configurations, the
editor's main window and any popups it creates will fight for focus,
which causes a total system lockup due to mouse and keyboard input being
stolen as well. Getting out of this infinite loop requires force
restarting the system.

It can be tested with the following shell script:

```bash
	!#/bin/sh

	godot4 &
	sleep 30
	pkill -x godot4
```

The workaround identified in #68305 is to remove the call to
XSetInputFocus in the ConfigureNotify event handler, so I have removed
the conditional block that calls this as well as the setup code above it
since there is no need to allocate the memory for the variables if they
won't be used in that call anymore.

This is just a hack and is not a complete fix for #68305. Multiple
developers are collaborating on a proper fix in the discussion in that
issue, but time is a valuable resource that no one has enough of, so I
am committing this workaround as a stop-gap to prevent the most critical
problem while we work on a full solution for the underlying cause.
2024-02-05 17:00:24 -06:00
Markus Sauermann 2235a1cbd0 Add screen-related attributes to mouse input events 2024-02-05 23:30:15 +01:00
Rémi Verschelde d3352813ea
Merge pull request #87981 from adamscott/add-emscripten--sgl_enable_get_proc_address-linker-flag
Fix emscripten 3.1.51 breaking change about `*glGetProcAddress()`
2024-02-05 18:06:15 +01:00
Rémi Verschelde 843c350cca
Merge pull request #87956 from adamscott/fix-emscripten-lto-build
Add workaround for emscripten >= 3.1.47 LTO build
2024-02-05 18:05:26 +01:00
Adam Scott 5922ac0fb1
Fix emscripten 3.1.51 breaking change about `*glGetProcAddress()` 2024-02-05 11:55:03 -05:00
Zach Coleman fc7a63cbf3 Enhance mobile suspend MainLoop Notifications 2024-02-04 21:10:06 -05:00
bruvzg 70e328385c
[macOS] Check Vulkan SDK version when looking for MoltenVK libs. 2024-02-04 23:09:52 +02:00
Adam Scott 656bc22e28
Add workaround for emscripten >= 3.1.47 LTO build 2024-02-04 15:24:24 -05:00
bruvzg b5dfeca498
[macOS] Do not show file type popup in the native file dialog if there's only one option, improve `*.*` filter handling. 2024-02-04 21:30:59 +02:00
Rémi Verschelde c680c7cffe
Merge pull request #87912 from bruvzg/menu_name_set_fix
[macOS] Fix changing main menu item names.
2024-02-03 23:22:35 +01:00
Rémi Verschelde bbccd95d22
Merge pull request #84885 from shana/vsproj-for-everyone
New VS proj generation logic that supports any platform that wants to opt in
2024-02-03 23:17:18 +01:00
bruvzg 112f489449
[macOS] Fix changing main menu item names. 2024-02-03 21:12:48 +02:00
bruvzg 1c1036567a
[macOS] Generate min. Info.plist for frameworks if it's missing. Validate framework bundle ID characters. 2024-02-03 19:48:21 +02:00
Rémi Verschelde 99db7204dc
Merge pull request #87848 from nikitalita/natvis-cowdata-fix
Fix `godot.natvis` after CowData 64-bit promotion
2024-02-02 12:05:39 +01:00
nikitalita 559b434ef1 Fix natvis after CowData 64-bit changes 2024-02-01 13:40:06 -08:00
bruvzg b990cb95a9
[macOS] Add SIGTRAP to the crash handler. 2024-02-01 23:30:33 +02:00
Stuart Carnie 8f6d4eaa31
use autorelease pools around main loop
Reduces memory usage considerably
2024-02-02 07:06:53 +11:00
Riteo 7739940202 Core: Implement a XOR operator for BitField 2024-02-01 20:44:40 +01:00
Andreia Gaita 7638a6c981 Add new VS proj generation logic that supports any platform that wants to opt in
Custom Visual Studio project generation logic that supports any platform that has a msvs.py
script, so Visual Studio can be used to run scons for any platform, with the right defines per target.

Invoked with `scons vsproj=yes`

To generate build configuration files for all platforms+targets+arch combinations, users should call

```
scons vsproj=yes platform=XXX target=YYY [other build flags]
```

for each combination of platform+target[+arch]. This will generate the relevant vs project files but
skip the build process, so that project files can be quickly generated without waiting for a command line
build. This lets project files be quickly generated even if there are build errors.

All possible combinations of platform+target are created in the solution file by default, but they
won't do anything until each one is set up with a scons vsproj=yes command for the respective platform
in the appropriate command line. This lets users only generate the combinations they need, and VS
won't have to parse settings for other combos.

Only platforms that opt in to vs proj generation by having a msvs.py file in the platform folder are included.
Platforms with a msvs.py file will be added to the solution, but only the current active platform+target+arch
will have a build configuration generated, because we only know what the right defines/includes/flags/etc are
on the active build target currently being processed by scons.

Platforms that don't support an editor target will have a dummy editor target that won't do anything on build,
but will have the files and configuration for the windows editor target.

To generate AND build from the command line, run

```
scons vsproj=yes vsproj_gen_only=no
```
2024-01-31 16:42:42 +01:00
Rémi Verschelde 9adb7c7d13
Merge pull request #87764 from Riteo/wayland-native-handle
Wayland: Implement `window_get_native_handle`
2024-01-31 14:01:59 +01:00
Rémi Verschelde f23fda39d3
Merge pull request #87776 from bruvzg/wl_nfd
[Wayland] Add support for native file dialogs.
2024-01-31 14:00:30 +01:00
bruvzg edb21e0573
[Wayland] Add support for native file dialogs. 2024-01-31 14:13:19 +02:00
Riteo d8658df94e Wayland: implement `window_get_native_handle`
This will be the most useful for stuff like OpenXR, although we'd need a
way to eventually also expose the EGL handles.
2024-01-31 11:57:05 +01:00
Rémi Verschelde 7de88873a6
Merge pull request #87765 from Riteo/wayland-skip-no-scanner
Wayland: Disable backend at build-time if wayland-scanner is missing
2024-01-31 10:56:06 +01:00
Rémi Verschelde 6287d7ce70
Merge pull request #87720 from fire/llvm-mingw-qitabent
Avoid non-constant-expression cannot be narrowed on Windows on mingw.
2024-01-31 10:55:19 +01:00
K. S. Ernest (iFire) Lee f711b4f01f Avoid non-constant-expression cannot be narrowed on Windows mingw.
Fixes non-constant-expression cannot be narrowed from type 'DWORD' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-01-30 20:21:26 -08:00
Riteo c3d6cc57be Wayland: disable backend at build-time if wayland-scanner is missing
This allows previous X11-only setups to still build Godot with default
settings. Note that compilation will still abort if wayland-scanner is
present but not the various Wayland libraries.
2024-01-31 02:08:33 +01:00
Rémi Verschelde aff437e623
Merge pull request #87734 from bruvzg/raw_str_d3d
Use raw strings for D3D12 install messages.
2024-01-30 17:48:19 +01:00
Riteo 7e0f7d3abd Add Wayland support
Not everything is yet implemented, either for Godot or personal
limitations (I don't have all hardware in the world). A brief list of
the most important issues follows:

- Single-window only: the `DisplayServer` API doesn't expose enough
information for properly creating XDG shell windows.

- Very dumb rendering loop: this is very complicated, just know that
the low consumption mode is forced to 2000 Hz and some clever hacks are
in place to overcome a specific Wayland limitation. This will be
improved to the extent possible both downstream and upstream.

- Features to implement yet: IME, touch input, native file dialog,
drawing tablet (commented out due to a refactor), screen recording.

- Mouse passthrough can't be implement through a poly API, we need a
rect-based one.

- The cursor doesn't yet support fractional scaling.

- Auto scale is rounded up when using fractional scaling as we don't
have a per-window scale query API (basically we need
`DisplayServer::window_get_scale`).

- Building with `x11=no wayland=yes opengl=yes openxr=yes` fails.

This also adds a new project property and editor setting for selecting the
default DisplayServer to start, to allow this backend to start first in
exported projects (X11 is still the default for now). The editor setting
always overrides the project setting.

Special thanks to Drew Devault, toger5, Sebastian Krzyszkowiak, Leandro
Benedet Garcia, Subhransu, Yury Zhuravlev and Mara Huldra.
2024-01-30 16:44:47 +01:00
bruvzg ffdf8084c0
Use raw strings for D3D12 install messages. 2024-01-30 11:13:12 +02:00
Rémi Verschelde 51991e2014
Merge pull request #84674 from m4gr3d/add_flag_to_run_scons_from_gradle
Add parameter to allow generation of the Godot native shared libraries from gradle
2024-01-29 23:24:05 +01:00
Rémi Verschelde 604f8b093e
Merge pull request #87624 from bruvzg/dx12_old_mingw
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in.
2024-01-29 13:17:41 +01:00
Rémi Verschelde f220d46cdc
Merge pull request #80231 from romlok/input-key-location
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
bruvzg 34723b0d3a
[macOS export] Allow unpacked .app export in "Distribution" export mode. 2024-01-28 00:02:20 +02:00
bruvzg dfa303f7c4
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in. 2024-01-26 20:43:18 +02:00
Mel Collins 8406e60522 Add InputEventKey.location to tell left from right
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.

It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
Rémi Verschelde b4e519b07f
SCons: Fix Windows cross-compilation from Linux after #86717 2024-01-26 12:42:09 +01:00
Rémi Verschelde 31baf464b3
Merge pull request #87549 from emanvidmaker/DarkModeOnWin10Patch
Make dark mode Title Bar work on Windows 10 1909 (build:18363) and above
2024-01-26 11:47:50 +01:00
Rémi Verschelde cd5e973d7a
Merge pull request #86717 from mrbbbaixue/d3d12-sdk-install-python
Add a python script to install Direct3D 12 SDK components.
2024-01-26 11:43:49 +01:00
Emanvidmaker a16ca4b96c Added dark mode support for Windows 10, versions 1909(18363) and above 2024-01-25 18:07:01 -07:00
Yuri Sizov 474011ac06 Merge pull request #87543 from akien-mga/version-remove-year
Remove now unused `year` member from `version.py`
2024-01-25 16:27:21 +01:00
Yuri Sizov 672b034076 Merge pull request #87303 from bruvzg/fd_options_no_editor
[Native File Dialog] Add support for adding custom options to the dialogs (w/o editor changes).
2024-01-25 16:26:58 +01:00
Rémi Verschelde e0dc23367c
Remove now unused `year` member from `version.py`
We changed copyright to use "present" for the current year, so we no
longer need to hardcode this and (like now) forget to bump it yearly.
2024-01-25 15:08:34 +01:00
bruvzg a8f521bcad
[Native File Dialog] Add support for adding custom options to the dialogs.
Add support for adding custom options (checkboxes and optionboxes) to the dialogs (both native and built-in).
2024-01-24 15:00:31 +02:00
MrBBBaiXue ea2c6f1d0b Add a python script to install Direct3D 12 SDK components.
This makes it much faster to get started with Direct3D 12 builds,
as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py`
then run `scons d3d12=yes`.

This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime
and DirectX 12 Agility SDK.

- Define a default path that uses the locations from the script.
- Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\"
- Updated CI to use this new python script.

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-01-24 20:11:43 +08:00
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
Thaddeus Crews 9c674e26a0
SCons: Silence redundant msvc output 2024-01-13 14:57:00 -06: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
Micky 8be1baf732 Add miscellaneous documentation to some classes 2024-01-10 16:52:47 +01: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