Commit Graph

6016 Commits

Author SHA1 Message Date
Fabio Alessandrelli
27d67b5ae6 [Web] Use the module config to preload GDExtension libraries.
Instead of calling loadDynamicLibraries ourselves, we add the
GDExtension libraries to preload to the "dynamicLibraries" module config
property.

This seems to fix some threading issue with some browsers during the
init phase.
2024-06-14 16:04:16 +02:00
Fabio Alessandrelli
7af8c494ab [Web] Force emcc to use "wasm" longjmp mode
SUPPORT_LONGJMP have changed since emscripten 3.1.32 to default to
"wasm" mode when exceptions are enabled, and "emscripten" mode when
disabled.

While we generally doesn't use exception in core, linked libraries may
need them, and emscripten don't plan to support WASM EH + Emscripten
SjLj in the long term.
2024-06-14 16:03:56 +02:00
Fabio Alessandrelli
e874cd84f0 [Web] Remove space between emscripten "-s" flags and the option 2024-06-14 16:03:56 +02:00
Pedro J. Estébanez
d1eebd3493 Enable usage of asan-enabled versions of prebuilt libraries 2024-06-14 14:06:38 +02:00
Rémi Verschelde
de8a05f447
Merge pull request from m4gr3d/fix_splash_screen
Update the Android splash screen logic
2024-06-13 17:19:27 +02:00
Rémi Verschelde
e15c2e051e
Merge pull request from Riteo/holy-egl-batman
EGL: Use `EGL_EXT_platform_base` whenever possible
2024-06-13 17:19:17 +02:00
bruvzg
dbc4e3f350
[Windows] Add Windows version and Wine checks for Windows 10+ dark mode API. 2024-06-13 14:28:14 +03:00
Rémi Verschelde
2fab2c7850
Merge pull request from kitbdev/keystate
Windows Input use GetKeyState instead of GetAsyncKeyState
2024-06-13 11:50:44 +02:00
kit
45c6971a36 Input use GetKeyState instead of GetAsyncKeyState 2024-06-12 18:37:31 -04:00
Mikael Hermansson
6d68362f2f Fix issues related to code-signing for macOS exports 2024-06-12 22:26:41 +02:00
Rémi Verschelde
5e2bdd7efc
Merge pull request from bruvzg/x11_screen_cap
[X11] Detect XWayland and disable screen capture support.
2024-06-12 11:01:11 +02:00
Rémi Verschelde
e78db2c423
Merge pull request from MTareqAzim/fix-android-motion-event-guards
Fix Left Joystick Motion Not Registering on Android
2024-06-12 10:00:44 +02:00
bruvzg
3cabf51325
[X11] Detect XWayland and disable screen capture support. 2024-06-12 10:05:17 +03:00
Rémi Verschelde
31277e43a7
Merge pull request from Repiteo/scons/silence_msvc-fixes
SCons: Fix `silence_msvc` implementation errors
2024-06-11 13:57:01 +02:00
bruvzg
be25e60f61
[Wayland] Implement IME support. 2024-06-11 12:24:54 +03:00
Tareq Anuar
d14bea4413
Move the most specific motion event guard to the top of the function. 2024-06-11 12:10:09 +08:00
Adam Scott
5a01c2e954
Replace deprecated USE_WEBGL2 linker flag 2024-06-10 12:14:27 -04:00
Rémi Verschelde
b80e591448
Merge pull request from anniryynanen/tooltip-in-popup
Stop color picker tooltip from stealing input events
2024-06-10 16:11:52 +02:00
Fredia Huya-Kouadio
f20e21a6d6 Update the splash screen logic for the Godot app template
Due to limitations to the splash screen introduced in Android 12, the splash screen logic is updated to the same logic as used on other platforms, i.e: the splash screen is rendered by the Godot engine instead of the Android runtime.
2024-06-10 00:59:36 -07:00
Fredia Huya-Kouadio
dd966f5680 Configure the splash screen for the Android editor 2024-06-10 00:34:00 -07:00
Rémi Verschelde
a139cd611a
Merge pull request from bruvzg/nat_icon_checks
Improve native menu and status indicator icons conversion and checks.
2024-06-07 23:30:39 +02:00
Rémi Verschelde
ea7d988b72
Merge pull request from bruvzg/menu_open_close_imp
[macOS] Improve native menu open/close callbacks.
2024-06-07 23:30:15 +02:00
Rémi Verschelde
e52658643d
Merge pull request from kleonc/cursor_image_from_atlas_texture_fix
Fix creating cursor image from `AtlasTexture`
2024-06-07 23:29:57 +02:00
Rémi Verschelde
0b24f40c33
Merge pull request from hccloud/master
Remove the limit on the number of the SignalInfo creation function parameters
2024-06-07 23:29:40 +02:00
Anni Ryynänen
ae1e2182ec
Stop color picker tooltip from stealing input events
Input events go to the tooltip because it's added to `popup_list` in
DisplayServer `popup_open`. I think there's no harm in tooltips being omitted
from the list, so this commit blocks non-popup windows from being added if they
have `FLAG_NO_FOCUS` and `FLAG_MOUSE_PASSTHROUGH`.

I'm not happy with this way of detecting tooltips. It'll also catch other
windows where this behavior may or may not be wanted.

I thought about adding `FLAG_TOOLTIP`, but went with the smaller change for
now.

Fixes .
2024-06-06 20:00:05 +03:00
bruvzg
28ec2240c4
Improve native menu and status indicator icons conversion and checks. 2024-06-06 07:46:09 +03:00
Rémi Verschelde
e96ad5af98
Merge pull request from Hilderin/fix-windows-activate-process
Fix Windows Activate Process
2024-06-06 00:44:36 +02:00
bruvzg
1f7bf27780
[macOS] Improve native menu open/close callbacks. 2024-06-05 20:22:41 +03:00
Yuzhao Wang
2e4d573c3c Remove the limit on the number of the SignalInfo function parameters
Update platform/android/api/jni_singleton.h

Co-authored-by: A Thousand Ships (she/her) <96648715+AThousandShips@users.noreply.github.com>
2024-06-05 09:21:30 +08:00
kleonc
91e995e704 Fix creating cursor image from AtlasTexture 2024-06-05 01:44:05 +02:00
Rémi Verschelde
62b15238e5
Merge pull request from m4gr3d/update_android_editor_activity_layout
Consolidate the ProjectManager and Editor windows into a single Android Activity class
2024-06-04 10:10:08 +02:00
Riteo
8f69f29694 EGL: Use EGL_EXT_platform_base whenever possible
This avoids any assumption from the driver, which would otherwise select
a specific platform and potentially mess up everything, resulting
usually in a display server failure.
2024-06-04 08:43:34 +02:00
Hilderin
e201e5bf30 Fix Windows Activate Process 2024-06-03 19:33:41 -04:00
Rémi Verschelde
7118487f9d
Merge pull request from m4gr3d/fix_request_permissions_return_value
Fix invalid return value when multiple permission requests are dispatched
2024-06-03 10:36:14 +02:00
Rémi Verschelde
f976a625e1
Merge pull request from mihe/always-embed-frameworks
Fix iOS exports never embedding framework bundles
2024-06-03 10:36:10 +02:00
Fredia Huya-Kouadio
53279d2510 Fix invalid return value when multiple permission requests are dispatched 2024-06-02 17:22:51 -07:00
Fredia Huya-Kouadio
0795587f69 Consolidate the ProjectManager and Editor windows into a single Android Activity class. 2024-06-02 14:14:21 -07:00
Mikael Hermansson
84ee828b58 Fix iOS exports never embedding framework bundles 2024-06-02 18:02:01 +02:00
Fredia Huya-Kouadio
d38c5b6737 Clean up the build commands used by the editor for gradle builds 2024-05-31 06:21:16 -07:00
Fredia Huya-Kouadio
0342900b77 Clean up the gradle build logic used to generate the Godot Android binaries 2024-05-31 06:21:13 -07:00
bruvzg
5168647530
Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +03:00
Rémi Verschelde
d30456fea8
Merge pull request from bruvzg/win_mod_keys
[Windows] Use current keyboard state instead of saved values for modifier keys.
2024-05-31 14:16:13 +02:00
Rémi Verschelde
37cf266b57
SCons: Process platform-specific flags earlier
Some of the logic in SCons depends on flags that get overridden in the
platform-specific `detect.py`, so it needs to be processed first.

For example the Android/iOS/Web platforms override the default `target`
to `template_debug`, but this was processed too late so e.g. the logic
that sets `env.editor_build` would set it to true due to the default
`target` value in the environment being `editor`.
2024-05-30 16:01:43 +02:00
patwork
909f28a534 Fix multichar warning in windows_utils 2024-05-30 13:58:56 +02:00
Rémi Verschelde
80db5bd28e
Merge pull request from m4gr3d/fix_libcpp_selection
Ensure that Godot's version of `libc++_shared.so` is always selected
2024-05-30 11:48:15 +02:00
Rémi Verschelde
8ec272f288
Merge pull request from mihe/stop-xcframework-embed
Prevent static XCFramework bundles from being embedded on iOS
2024-05-30 11:48:12 +02:00
Rémi Verschelde
1dab521f2d
Merge pull request from Calinou/linuxbsd-use-nanosleep
Use `OS::delay_usec()` to avoid using deprecated `usleep()` on Linux
2024-05-30 11:47:51 +02:00
Rémi Verschelde
ffad49f169
Merge pull request from 0x0ACB/resize_fix
Remove dead code from `DisplayServerWindows::window_set_size`
2024-05-30 11:47:21 +02:00
Mauricio Narvaez
28f357733f Ensure that Godot's version of libc++_shared.so is always selected in case dependencies have their own 2024-05-29 14:43:35 -07:00
Rémi Verschelde
a6ef250f3e
Merge pull request from m4gr3d/fix_touch_input
Fix invalid detection of mouse input
2024-05-29 23:03:27 +02:00
Mikael Hermansson
b6e5e16868 Prevent static XCFramework bundles from being embedded on iOS 2024-05-29 17:54:49 +02:00
bruvzg
c8ae9e9c76
[iOS] Change default iPad landscape orientation from "left" to "right". 2024-05-29 12:47:49 +03:00
Rémi Verschelde
c98fef08bf
Merge pull request from bruvzg/doc_end_err
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +02:00
bruvzg
714effdf07
[DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +03:00
Rémi Verschelde
cc6a7b97d6
Merge pull request from bruvzg/dup_cl
[macOS, X11] Fix duplicate close requests.
2024-05-28 15:50:05 +02:00
Rémi Verschelde
b8f3c5e2ab
Merge pull request from AThousandShips/bind_go_away
Replace `.bind(...).call_deferred()` with `.call_deferred(...)`
2024-05-28 15:50:01 +02:00
Rémi Verschelde
f98c259131
Merge pull request from Riteo/you-cant-see-me
Wayland: Implement `is_window_transparency_available`
2024-05-28 15:49:33 +02:00
Rémi Verschelde
981ac9bfeb
Merge pull request from jwinarske/jw/wayland_sowrap
Linux: Enable build config `wayland=yes use_sowrap=no`
2024-05-28 15:49:16 +02:00
Rémi Verschelde
ca708b5706
Merge pull request from Repiteo/scons/web-fixes
SCons: Minor fixes/adjustments for web compilation
2024-05-28 15:48:49 +02:00
Rémi Verschelde
ac6f5780b1
Merge pull request 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 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 . 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 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 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 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 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 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 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 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 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 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 .
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 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 .
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 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 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 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 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 from fire/packedvector4array
Add `PackedVector4Array` Variant type
2024-05-03 12:25:26 +02:00
Rémi Verschelde
479b2ab777
Merge pull request 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 from bruvzg/ios_sensor_fix
[iOS] Fix sensors orientation.
2024-04-23 19:12:19 +02:00
Rémi Verschelde
fc912defb1
Merge pull request 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 
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 .
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 from pohy/fix/mac-vulkan-build
Fix MoltenVK detection
2024-03-09 22:20:09 +01:00
Rémi Verschelde
3ca230df25
Merge pull request 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 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 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 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 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 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 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 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 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 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 from AThousandShips/wayland_tilt
[Wayland] Fix tilt handling
2024-03-04 13:34:31 +01:00
Rémi Verschelde
1a7f694b40
Merge pull request 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 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 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 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 from KoBeWi/ImageCursor2D
Improve `cursor_set_custom_image()` method
2024-02-29 13:54:53 +01:00
Rémi Verschelde
7434f8b4e3
Merge pull request 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 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 .
2024-02-26 13:37:06 +01:00
Rémi Verschelde
e7bf883068
Merge pull request 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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