Commit graph

6058 commits

Author SHA1 Message Date
Rémi Verschelde
ac6f5780b1
Merge pull request #91695 from bruvzg/web_ime_pos
[Web IME] Fix suggestion window position in Chromium based browsers.
2024-05-28 15:48:42 +02:00
Rémi Verschelde
576d9a5c12
Merge pull request #92325 from Repiteo/scons/res-race-condition-fix
SCons: Fix `RES` race condition
2024-05-28 15:48:12 +02:00
ACB
9dd1268306 remove dead code from DisplayServerWindows::window_set_size 2024-05-28 08:55:15 +02:00
bruvzg
1a40cda95e
[macOS, X11] Fix duplicate close requests. 2024-05-28 09:41:04 +03:00
A Thousand Ships
4ed62665a2
Replace .bind(...).call_deferred() with .call_deferred(...) 2024-05-27 13:29:57 +02:00
bruvzg
62e41087d5 [Windows] Use current keyboard state instead of saved values for modifier keys. 2024-05-27 09:15:01 +03:00
Riteo
9734feb449 Wayland: Implement is_window_transparency_available 2024-05-26 00:05:47 +02:00
bruvzg
fc89a0c118
Fix build with vuklan=no and d3d12=no after #91505. 2024-05-25 21:08:50 +03:00
Joel Winarske
f06dd46eb7 Enable build config wayland=yes use_sowrap=no
-wayland-egl.h was missing if opengl3=yes (default)

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2024-05-25 07:15:57 -07:00
Thaddeus Crews
18fb492afe
SCons: Fix RES race condition 2024-05-24 12:44:44 -05:00
Thaddeus Crews
5d265e9a7e
SCons: Minor fixes/adjustments for web compilation 2024-05-24 12:30:24 -05:00
bruvzg
628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled. 2024-05-23 15:23:18 +03:00
Rémi Verschelde
7870b28ed3
Merge pull request #92252 from poiati/fix-wayland-window-class
Properly set window class in Wayland
2024-05-23 08:59:23 +02:00
Rémi Verschelde
de490253fe
Merge pull request #92124 from Repiteo/scons/platform-flags-dict
SCons: Convert platform `get_flags` to dictionary
2024-05-23 08:59:07 +02:00
Thaddeus Crews
896b003cc8
SCons: Convert platform get_flags to dictionary 2024-05-22 13:53:20 -05:00
Paulo Poiati
a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 -03:00
patwork
1a89ae70eb Upgrade to eslint 9 2024-05-22 11:32:25 +02:00
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use ruff instead of black 2024-05-21 18:02:29 -05:00
Hugo Locurcio
a008896f70
Use OS::delay_usec() to avoid using deprecated usleep() on Linux
usleep(3) was declared obsolete in POSIX.1-2001 and removed in POSIX.1-2008.
nanosleep(2) was recommended to be used instead.

`OS::delay_usec()` internally uses `nanosleep()`.

This also uses large number separators for improved readability.
2024-05-21 17:32:40 +02:00
Rémi Verschelde
0e39ac6ac6
Merge pull request #92176 from emrekultursay/master
Fix detecting when Gradle is invoked from Studio
2024-05-21 11:23:08 +02:00
Rémi Verschelde
0f044855f5
Merge pull request #92158 from bruvzg/win_crlf
[Windows] Use CRLF in the terminal prints.
2024-05-21 11:22:56 +02:00
Emre Kultursay
3b8d0bee4a Fix detecting when Gradle is invoked from Studio
The existing 'idea.platform.prefix' system-property approach
only worked because of a Android Studio bug that leaks the
system properties from Android Studio into Gradle build:
  - https://issuetracker.google.com/201075423

This bug was fixed in Android Studio 2023.3.1 (Jellyfish).

The correct way of identifying builds from Android Studio is to
use the following project property (not system property):
 - android.injected.invoked.from.ide
2024-05-20 17:02:36 -07:00
Alexander Hartmann
ab9e377fe6 Fix InputEventScreenDrag on Android 2024-05-21 01:04:23 +02:00
bruvzg
497f65fa50 [Windows] Use CRLF in the terminal prints. 2024-05-20 14:23:17 +03:00
Fredia Huya-Kouadio
5a74e5812b Add logic to unregister the Godot plugins on engine termination 2024-05-19 19:27:04 -07:00
Fredia Huya-Kouadio
625b92e3cd Input logic cleanup:
- Fix invalid detection of mouse input. Prioritize using the event tool type to detect the type of the event, and only use the event source as fallback.

- Ensure that pressure and tilt information is passed for touch drag events

- Consolidate logic and remove redundant methods

- Improve the logic to detect when external hardware keyboards are connected to the device
2024-05-19 14:08:01 -07:00
Hakim
04aaa86039 Disable remote debug button when there are no runnable presets 2024-05-17 00:15:13 +02:00
Rémi Verschelde
b802c7274f
Merge pull request #91933 from bruvzg/x11_scr_fb
[X11] Fallback to root window size, when Xinerama extension is available, but return zero screens.
2024-05-15 12:09:45 +02:00
Rémi Verschelde
86b72d9215
Merge pull request #91377 from bruvzg/macos_privacy
[macOS export] Add support for privacy manifest configuration.
2024-05-15 12:09:34 +02:00
Thaddeus Crews
0ec4ec0f90
SCons: Fix silence_msvc implementation errors 2024-05-14 12:22:54 -05:00
bruvzg
1f8e69ddec
[X11] Fallback to root window size, when Xinerama extension is available, but return zero screens. 2024-05-14 11:08:10 +03:00
Rémi Verschelde
10cd6ad93a
Merge pull request #91856 from patwork/double-quotes-in-head
[Web] Fix quotes style in HTML shell head include
2024-05-13 17:32:18 +02:00
Fredia Huya-Kouadio
ab4fbbcaa7 Switch to the WindowInsetsAnimationCompat api
Replace the use of WindowInsetsAnimation with WindowInsetsAnimationCompat; the former was only introdcued in api 30 and caused a crash on older versions of Android.

Fixes https://github.com/godotengine/godot/issues/91773
2024-05-13 00:59:03 -07:00
patwork
b6536884cc Fix quotes style in HTML shell head include 2024-05-12 01:37:13 +02:00
Rémi Verschelde
eacfdc784f
Merge pull request #91817 from Calinou/linuxbsd-default-disable-execinfo
Set `execinfo=no` by default when compiling for Linux/*BSD
2024-05-11 12:38:33 +02:00
Hugo Locurcio
7b678b961c
Set execinfo=no by default when compiling for Linux/*BSD
Alpine 3.17 and later no longer provide execinfo in its repositories,
making compilation impossible unless you pass `execinfo=no`.
2024-05-11 00:25:13 +02:00
Rémi Verschelde
6fcdd24468
Merge pull request #91624 from Repiteo/scons/native-generation
SCons: Generate all scripts natively, implement wrapper function
2024-05-10 09:55:51 +02:00
Rémi Verschelde
8a57f64255
Revert "Implement "get_mingw_tool" to fix mingw prefixes"
This reverts commits ecebe0b40d
and 15d37ed2a8.

Fixes #91710.
2024-05-09 11:10:32 +02:00
bruvzg
99d6f32918
[Web IME] Fix suggestion window position in Chromium based browsers. 2024-05-09 08:52:27 +03:00
Pedro J. Estébanez
fc08eca524 DisplayServer: Avoid deadlocks while issuing input events and recursive main loop iterations 2024-05-08 17:41:40 +02:00
A Thousand Ships
a0dbdcc3ab
Replace find with contains/has where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
Rémi Verschelde
a7f4860b72
Merge pull request #91698 from bruvzg/mingw_exe_size
[MinGW] Restore executable size check.
2024-05-08 12:31:36 +02:00
bruvzg
15d37ed2a8
[MinGW] Restore executable size check. 2024-05-08 12:43:02 +03:00
Rémi Verschelde
7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +02:00
Jakub Marcowski
7699d678c4
Fix builtin_embree=no build linking the wrong version of Embree 2024-05-08 00:40:45 +02:00
Thaddeus Crews
34fb3f7730
SCons: Generate all scripts natively 2024-05-07 15:30:45 -05:00
Rémi Verschelde
039aa28a60
Merge pull request #89574 from Riteo/scale-your-expectations-with-this-one
Wayland: Workaround API limitation in screen/UI scale logic
2024-05-07 21:52:44 +02:00
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
Shatyuka
e1cb65bedf Apply WS_MINIMIZE style on window creation 2024-05-03 06:36:51 +08: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