Commit graph

6036 commits

Author SHA1 Message Date
Rémi Verschelde
d66d056727
Merge pull request #97510 from kisg/vulkan_build_fix
Move Vulkan includes to a central `godot_vulkan.h` header
2024-10-01 17:31:03 +02:00
Fredia Huya-Kouadio
4587d14796 Add logic to automatically pick up jar/aar library dependencies in the res://addons directory 2024-09-29 14:32:10 -07:00
Fredia Huya-Kouadio
5e0805a813 Provide access to the Android runtime to GDScript
Thanks for the fix of `JavaClassWrapper` in https://github.com/godotengine/godot/pull/96182 and the changes in the previous commit, this introduces an `AndroidRuntime` plugin which provides GDScript access to the Android runtime capabilities.

This allows developers to get access to various Android capabilities without the need of a plugin.
For example, the following logic can be used to check whether the device supports vibration:

```
var android_runtime = Engine.get_singleton("AndroidRuntime")
 if android_runtime:
 	print("Checking if the device supports vibration")
 	var vibrator_service = android_runtime.getApplicationContext().getSystemService("vibrator")
 	if vibrator_service:
 		if vibrator_service.hasVibrator():
 			print("Vibration is supported on device!")
 		else:
 			printerr("Vibration is not supported on device")
 	else:
 		printerr("Unable to retrieve the vibrator service")
 else:
 	printerr("Couldn't find AndroidRuntime singleton")
```
2024-09-29 14:32:10 -07:00
Fredia Huya-Kouadio
07cae26abe Remove the restriction on supported types for Godot Android plugins
The Android plugin implementation is updated to use `JavaClassWrapper` which was fixed in https://github.com/godotengine/godot/pull/96182, thus removing the limitation on supported types.

Note that `JavaClassWrapper` has also been updated in order to only provide access to public methods and constructor to GDScript.
2024-09-29 14:32:10 -07:00
Gergely Kis
146ba4106f Move Vulkan includes to a central godot_vulkan.h header
Also fixes Vulkan build problem with recent Clang.
2024-09-29 17:53:18 +02:00
Rémi Verschelde
422306ef87
Merge pull request #97325 from BlueCube3310/bcdec
Replace squish with bcdec for BC decompression
2024-09-29 00:47:02 +02:00
Anish Mishra
dbcc7f3051
Add support for Android Themed Icons (monochrome) 2024-09-27 13:56:34 +02:00
Rémi Verschelde
58ec7a95a4
Merge pull request #97477 from m4gr3d/update_xr_editor_excluded_permissions
[XR Editor] Update the set of excluded permissions
2024-09-27 13:53:33 +02:00
Rémi Verschelde
eeaca3a439
Merge pull request #96610 from adamscott/emscripten-minimum-requirements
[Web] Update minimum requirements for emscripten to 3.1.62
2024-09-26 18:45:10 +02:00
Adam Scott
a1e409c58b
Update minimum requirements for emscripten to 3.1.62 2024-09-26 10:19:48 -04:00
BlueCube3310
2167157aaf Replace squish with bcdec for BC decompression 2024-09-26 14:42:54 +02:00
Rémi Verschelde
a0d1ba4a3d
Merge pull request #97458 from Faless/fix/imagine_its_2024_and_your_os_cant_handle_few_kbs_of_text
[SCons] Remove MAXLINELENGTH override for MSVC
2024-09-26 12:50:14 +02:00
Rémi Verschelde
a4c1804cab
Merge pull request #97483 from akien-mga/clang-format-19.1.0
CI: Update `clang-format` pre-commit hook to 19.1.0
2024-09-26 12:46:04 +02:00
Rémi Verschelde
991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +02:00
Rémi Verschelde
a90da7e87b
Merge pull request #93058 from Repiteo/scons/scons_hints
SCons: Add unobtrusive type hints in SCons files
2024-09-26 12:45:21 +02:00
Fabio Alessandrelli
395a4fc5f2 [SCons] Remove MAXLINELENGTH override for MSVC
It's not clear what is the actual max value that windows support, but
despite their claim of it being 8191 we have been seeing failure with
just 8150.
2024-09-26 12:06:16 +02:00
Rémi Verschelde
c92a6c7e27
CI: Update clang-format pre-commit hook to 19.1.0 2024-09-26 11:46:12 +02:00
Fredia Huya-Kouadio
77202e08b4 Update the set of excluded permissions for the XR Editor
A few permissions including the `USE_SCENE` permission are being renamed with the launch of the Meta Spatial SDK, so we update the excluded list to avoid requesting them on app start.
2024-09-25 23:22:16 -07:00
Thaddeus Crews
32c83a228d
Style: Add WARNING: as new comment admonition 2024-09-25 09:44:42 -05:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 -05:00
David Snopek
36293a2dbf Fix renaming nodes on X11 2024-09-25 09:05:51 -05:00
Rémi Verschelde
648b21b9ba
Merge pull request #96813 from Repiteo/scons/fix-clang-cl-flags
SCons: Fix `clang-cl` link/ar flags
2024-09-23 12:27:59 +02:00
Joaquim Monteiro
c4e4810e93
Fallback to OpenGL 3 if Vulkan isn't available on Wayland 2024-09-21 06:35:35 +01:00
Rémi Verschelde
c2564f42aa
Merge pull request #97142 from SheepYhangCN/master
Fallback to OpenGL 3 if other rendering drivers are not supported
2024-09-20 16:06:35 +02:00
Thaddeus Crews
b37fc1014a
Style: Apply new clang-format changes 2024-09-20 08:09:48 -05:00
SheepYhangCN
3b839347df Added fallback_to_opengl3 2024-09-20 06:10:05 +08:00
Alvin Wong
454251660c Fix using Binutils AR with TEMPFILE on Windows
Set `TEMPFILEARGESCFUNC`[1] to replace backslashes with forward slashes
in paths.

[1]: https://scons.org/doc/production/HTML/scons-user/apa.html#cv-TEMPFILEARGESCFUNC
2024-09-19 22:19:15 +08:00
Rémi Verschelde
804d9775b5
Merge pull request #96407 from alvinhochun/mingw-ar-long-command-tempfile
Remove `ARFLAGS` hack for Windows, replace with `TEMPFILE`
2024-09-18 17:40:53 +02:00
Rémi Verschelde
1d3e9b3688
Merge pull request #96829 from dsnopek/x11-focus-bugs-take-twenty-seven-million-and-four
Fix project manager stealing focus on i3
2024-09-18 11:15:30 +02:00
Rémi Verschelde
2c8ab6e7eb
Merge pull request #94839 from alvinhochun/win-set-console-mode
Combine existing modes when calling SetConsoleMode
2024-09-18 11:15:22 +02:00
kobewi
4023ace08d Add Advanced Settings switch to Editor Settings 2024-09-17 12:20:55 +02:00
Rémi Verschelde
5fc786911f
Merge pull request #96286 from adamscott/add-js_buffer_to_packed_byte_array
Add `JavaScriptBridge` buffer methods
2024-09-17 09:17:42 +02:00
David Snopek
b1871cdabf Fix project manager stealing focus on i3 2024-09-16 16:55:57 -05:00
Adam Scott
a9b934b657
Add JavaScriptBridge buffer methods 2024-09-16 12:13:34 -04:00
Raul Santos
0aa46e19c5
C#: Fallback to CoreCLR/MonoVM hosting APIs when hostfxr/NativeAOT fails
Some platforms don't support hostfxr but we can use the coreclr/monosgen library directly to initialize the runtime.

Android exports now use the `android` runtime identifier instead of `linux-bionic`, this removes the restrictions we previously had:
- Adds support for all Android architectures (arm32, arm64, x32, and x64), previously only the 64-bit architectures were supported.
- Loads `System.Security.Cryptography.Native.Android` (the .NET library that binds to the Android OS crypto functions).
2024-09-16 17:07:03 +02:00
Rémi Verschelde
6daa6a8513
Merge pull request #97063 from rcadena/d97062-unexpected-debugger-line
Remove debug print from Android `DisplayServer.screen_get_scale` implementation
2024-09-16 13:36:09 +02:00
Rémi Verschelde
f91c1a7b88
Merge pull request #97000 from Hilderin/fix-editor-doc-cache-locked-on-editor-startup
Fix `editor_doc_cache` locked by `adb` process on editor startup
2024-09-16 13:35:46 +02:00
Rémi Verschelde
4215dfdff7
Merge pull request #96973 from Riteo/pointing-the-obvious
Wayland: Simplify cursor code and fix custom cursors
2024-09-16 13:35:35 +02:00
Rémi Verschelde
ebe8f36458
Merge pull request #96970 from bruvzg/macos_lib_path
[macOS] Fix dynamic library lookup for system libraries.
2024-09-16 13:35:32 +02:00
Rémi Verschelde
7174e2192b
Merge pull request #96967 from m4gr3d/update_android_editor_flavors
[Android editor] Update the Android editor flavors
2024-09-16 13:35:28 +02:00
Robert Cadena
42b0e91ee4
Remove debug print from Android DisplayServer.screen_get_scale implementation 2024-09-16 11:17:26 +02:00
Markus Sauermann
60aaa017ff Enable Drag and Drop for SubViewports and Windows
Make Drag and Drop an application-wide operation.
This allows do drop on Controls in other Viewports/Windows.

In order to achieve this, `Viewport::_update_mouse_over` is adjusted to
remember the Control, that the mouse is over (possibly within nested
viewports). This Control is used as a basis for the Drop-operation, which
replaces the previous algorithm, which was only aware of the topmost
Viewport.

Also now all nodes in the SceneTree are notified about the Drag and Drop
operation, with the exception of SubViewports that are not children of
SubViewportContainers.
2024-09-15 01:06:02 +02:00
bruvzg
8d039146d9
[macOS] Fix dynamic library lookup for system libraries. 2024-09-14 18:22:36 +03:00
Hilderin
e064efccbc Fix editor_doc_cache locked on editor startup 2024-09-14 09:37:04 -04:00
Riteo
c15cd3acc4 Wayland: Simplify cursor code and fix custom cursors
Initially the WaylandThread cursor code was supposed to be as stateless
as possible but, as time went on, this wasn't possible.

This expectation made the resulting API quite convoluted, so this patch
aims to simplify it substantially bot in terms of API surface and, most
importantly, in terms of actual implementation complexity.

This patch also fixes custom cursors since I accidentally changed the
mmap flags to MAP_PRIVATE some time ago. This took me hours to notice.
2024-09-13 19:08:53 +02:00
Fredia Huya-Kouadio
741efa632a Update the Android editor flavors to avoid vendor-specific references 2024-09-13 08:53:29 -07:00
A Thousand Ships
dd6443193c
[Editor] Expose more editor settings to documentation
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
Rémi Verschelde
f33a81977b
Merge pull request #96742 from m4gr3d/check_openxr_automatic_permissions_request
[Android editor] Limit when OpenXR runtime permissions are requested
2024-09-12 09:17:51 +02:00
Fredia Huya-Kouadio
3ff95ef12a Only request OpenXR permissions for a XR game running off the Android editor when the xr/openxr/extensions/automatically_request_runtime_permissions project setting is enabled 2024-09-11 14:47:08 -07:00
Riteo
343ea9c6f7 Wayland: clear button mask on pointer leave
While experimenting with the recent "extent to title" PR, I noticed that
it's not guaranteed for a "button released" event to be emitted when
the pointer leaves the main surface, leaving some buttons stuck.

Not doing this for tablets since the spec makes this behavior clear and
explicit, so we (hopefully) shouldn't have this issue there.
2024-09-10 20:53:53 +02:00