1
0
Fork 0
Commit Graph

7101 Commits

Author SHA1 Message Date
Jamie Pate 4f14f722b8 Fix check for is_maximized in x11 to require both horizontal and vertical
Fixes #103522

Persistent window state doesn't work if your window is 'tiled' in X11
gnome

3.x checks for `horz && vert`
4396e98834/platform/x11/os_x11.cpp (L1708)

4.x also checked `horz && vert` until this change where it was switched
to `horz || vert`
524f061c01 (diff-05f85bc3bf96d384f6b96260c758e63e10bbdd52b04f8ccb34649372e7bc1f48R1382)

The corrected logic is:
Check `horz && vert` for 'is_maximized'
Check `horz || vert` for 'can_maximize'
2025-03-03 15:45:21 -08:00
Matias N. Goldberg 89ea5b3d00 Update to latest version of Swappy
Fixes #103294
2025-03-03 20:43:14 -03:00
Rémi Verschelde a7dd4ad5f8
Android: Fix build with `disable_3d`
Fixes #103516.
2025-03-03 22:19:05 +01:00
David Snopek bbc66056a8 JavaClassWrapper: Fix converting returned arrays to Godot types 2025-03-03 15:10:30 -06:00
David Snopek d7672128b5 JavaClassWrapper: Improve handling of typed array arguments 2025-03-03 12:07:45 -06:00
Alex 1c02316365 Fix crash after changing device language
The app was restarting unexpectedly due to missing configChanges flags.
Added "locale|layoutDirection" to AndroidManifest.xml to prevent activity recreation.
2025-03-01 02:42:56 +01:00
Fredia Huya-Kouadio bea6472ea4 Fix Android mouse capture issues
- Allow mouse capture to be enabled in `_ready`
- Update the input handler logic to avoid dropping mouse captured motion events
2025-02-28 13:54:30 -08:00
Pāvels Nadtočajevs e76a8b0f27 [Android] Skip non-existing system font files. 2025-02-28 07:47:52 +02:00
Anish Mishra 5ce16dfc69 Android: enable support for volume button events
- Enable events KEY_VOLUMEUP and KEY_VOLUMEDOWN on Android.

- Adds a project setting to override volume buttons. It would disable system volume changes when the buttons are used within the project.
2025-02-28 09:47:22 +05:30
Fredia Huya-Kouadio 7fb37a088b Add checks to prevent crashes when accessing the GameMenu api
This should address crashes reported on the Play store. Note that those crashes lack debug symbols which reduces our ability to narrow down the exact cause of the crash. We aim to resolve that in Godot 4.5.
2025-02-27 13:20:23 -08:00
Rémi Verschelde 53faed5351
Merge pull request #103339 from Hilderin/adjustment-error-message-embedded-game
Replace error to info messages for embedded game
2025-02-27 12:40:39 +01:00
Pāvels Nadtočajevs ddd807ff7d Add `(void *)` cast directly to `GetProcAddress` calls. 2025-02-27 12:30:04 +02:00
Hilderin 0c384e7217 Replace error to info messages for embedded game 2025-02-26 19:32:25 -05:00
Michael Alexsander aea559b39a
Allow to compile the engine without XR support 2025-02-25 17:07:21 -03:00
Rémi Verschelde 82aacc129f
Merge pull request #103245 from bruvzg/rd_helper
[Windows] Offload `RenderingDevice` creation test to subprocess.
2025-02-25 15:28:06 +01:00
Pāvels Nadtočajevs ab717497ef [Windows] Offload `RenderingDevice` creation test to subprocess. 2025-02-24 19:40:10 +02:00
AThousandShips 1f5f96c47f
[Windows] Fix unused variable error in `DisplayServerWindows` 2025-02-24 18:08:13 +01:00
Anish Mishra 28d1dccf63
Android: Fix export and runtime logic to check if using Vulkan
Also fix iOS export logic that would force a min target of iOS 14.0 (for Metal)
even when targeting the Compatibility renderer.

Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
Rémi Verschelde b77423370a
Fix cross-platform configuration of rendering driver settings
Simpler alternative to #103026 which avoids breaking compatibility.

Instead of introducing a new `auto` default value, we ensure that all
supported drivers are registered regardless of the editor's host platform,
and that the defaults are the intended ones.

This solves the following issues:
- macOS exports are meant to default to Metal in 4.4, but they would
  default to Vulkan if exported from Linux, Windows, or Android editors.
- Windows exports couldn't be made with Direct3D 12 from Linux, macOS, or
  Android editors, as the option couldn't be selected outside Windows.

Unlike #103026, it doesn't solve the issue of not always saving the
rendering drivers to `project.godot`, but now the defaults are at least
consistent between editor platforms.

Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
Rémi Verschelde 58e4e34564
Merge pull request #103176 from 0xcafeb33f/theora-asm-opt
Fix libtheora optimizations causing errors in calling function for x86_64 Windows
2025-02-23 12:13:13 +01:00
Rémi Verschelde 545ca2538e
Merge pull request #103122 from syntaxerror247/fix-crash
Android: Fix excessive `getRotation` calls
2025-02-23 12:13:02 +01:00
Rémi Verschelde 17b3be9473
Merge pull request #103117 from syntaxerror247/black-bars-bug
Android Editor: Fix expand button black bar issue
2025-02-23 12:12:55 +01:00
Rémi Verschelde 05c56e8393
Merge pull request #103052 from Hilderin/fix-embedded-game-mouse-over-not-focused-windows
Fix Embedded Game does not focus when mouse over on Windows
2025-02-23 12:12:47 +01:00
cafebeef 5201dfb34c Windows x86_64 GCC: Disable Theora assembly optimizations
Co-authored-by: Bernat Arlandis <berarma@hotmail.com>
2025-02-22 17:20:55 -06:00
Anish Mishra ee4e809d4c Android: Fix excessive getRotation calls 2025-02-21 20:32:54 +05:30
Anish Mishra 129ffce06a Android Editor: Fix expand button black bar issue 2025-02-21 13:00:49 +05:30
Hilderin c7bc322bf6 Fix Embedded Game does not focus when mouse over on Windows 2025-02-20 16:28:18 -05:00
Rémi Verschelde 702eb39ab8
Revert "Workaround mingw-gcc LTO ICE by re-adding some dead code..."
This reverts commit e12a424bc5.
This is no longer needed after 26fd3458f9.
2025-02-20 17:47:37 +01:00
Rémi Verschelde 26fd3458f9
Windows: Configure MinGW LTO with `-fno-use-linker-plugin -fwhole-program`
- Works around and closes #102867.
- Works around and closes #102982.

Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2025-02-20 17:47:26 +01:00
Thaddeus Crews 70eb62faf2
Merge pull request #103021 from Hilderin/fix-embedded-game-start-location-windows
Fix Embedded Game startup location on Windows
2025-02-19 16:54:09 -06:00
Thaddeus Crews e91493fb7b
Merge pull request #102993 from bruvzg/fix_cb_win_erase
Prevent pending input event callbacks from erasing the window in the middle of a loop.
2025-02-18 20:47:53 -06:00
Hilderin 224d9bfe3f Fix Embedded Game startup location on Windows 2025-02-18 19:05:15 -05:00
Thaddeus Crews 7e5baa0426
Style: Enforce trailing newlines on svgs 2025-02-18 11:02:45 -06:00
Ricardo Buring 99f9561be7 When code signing, specify which keystore is not found 2025-02-18 16:54:49 +01:00
Thaddeus Crews e948f52ea9
Merge pull request #102983 from bruvzg/fix_flash
[Window] Fix flashing subwindows.
2025-02-18 07:56:08 -06:00
Pāvels Nadtočajevs f710781b16 Prevent pending input event callbacks from erasing the window in the middle of a loop. 2025-02-18 15:26:13 +02:00
bruvzg f86a24fcfd [Window] Fix flashing subwindows. 2025-02-18 08:14:54 +02:00
Adam Scott 030e7d4e2d
[Web] Fix issue when pausing an non-started sample 2025-02-17 09:49:50 -05:00
Anish Mishra 8595f5aa16 Hide debug keystore export settings 2025-02-16 13:55:47 +05:30
David Snopek 5d69d20059 JavaClassWrapper: Allow handling exceptions (rather than just crashing) 2025-02-14 09:45:14 -06:00
Rémi Verschelde 7feab02599
Merge pull request #102827 from bruvzg/win_err
[Windows] Fix missing argument in non-console logger call.
2025-02-13 23:35:24 +01:00
Rémi Verschelde 3787cc4901
Merge pull request #102802 from syntaxerror247/fix_orientation_handling
Android Editor: Fix embed mode orientation handling
2025-02-13 23:35:12 +01:00
Rémi Verschelde 9f2b673c61
Merge pull request #102719 from adamscott/optimize-mouse-mode-set
[Web] Refactor `mouse_mode` setters in display server
2025-02-13 23:35:08 +01:00
Adam Scott 61344dc5ac
[Web] Refactor `mouse_mode` setters in display server 2025-02-13 17:25:35 -05:00
Pāvels Nadtočajevs ae61b2f655 [Windows] Fix missing argument in non-console logger call. 2025-02-14 00:09:51 +02:00
Anish Mishra 4a22e007f6 Android Editor: Fix embed mode orientation handling 2025-02-13 22:22:50 +05:30
Thaddeus Crews d333159669
Merge pull request #102801 from bruvzg/tab_detect
[Windows] Read Wacom config to check if Windows Ink is disabled and auto switch to WinTab.
2025-02-13 10:15:43 -06:00
Thaddeus Crews 1229b997f0
Merge pull request #102772 from m4gr3d/bump_xr_editor_dependencies
Bump the version of the openxr vendors plugin dependency
2025-02-13 10:15:39 -06:00
bruvzg 3f2a29cd9d [Windows] Read Wacom config to check if Windows Ink is disabled and auto switch to WinTab. 2025-02-13 15:10:16 +02:00
Thaddeus Crews 78f1918bd4
Merge pull request #102668 from jkirsteins/janiskirsteins/ios-aspect-fill-splash
[iOS] Sync the boot splash and the launch screen image scale modes
2025-02-12 12:56:26 -06:00
Fredia Huya-Kouadio 8ed8b4a89d Bump the version of the openxr vendors plugin dependency 2025-02-12 09:51:07 -08:00
Jānis Kiršteins 0e266b0099
[iOS] Sync the boot splash and the launch screen image scale modes 2025-02-12 17:41:18 +01:00
Rémi Verschelde 2fd6c635d5 Merge pull request #102744 from Hilderin/fix-floating-window-freeze-when-moving
Fix Game and editor freeze when clicking on the game's title bar
2025-02-12 11:21:11 +01:00
Rémi Verschelde bd87c3a76b Merge pull request #102247 from Hilderin/fix-embedded-game-modal-dialog
Fix Modal Dialog with Embedded Game
2025-02-12 11:21:01 +01:00
Hilderin e9fef1c833 Fix Game and editor freeze when clicking on the game's title bar 2025-02-11 21:41:03 -05:00
Rémi Verschelde 66d66807ab Merge pull request #102715 from adamscott/remove-pool-return-false
[Web] Remove position pool system and return false when done instead
2025-02-11 23:59:29 +01:00
Rémi Verschelde 8d909f86d3 Merge pull request #102669 from m4gr3d/fix_method_signature_change
Revert finalizing `GodotHost#getCommandLine()` public API
2025-02-11 23:59:15 +01:00
Rémi Verschelde a8a1009468 Merge pull request #102641 from Riteo/modifying-spacetime-itself
Wayland: Unstuck keys with same keycode
2025-02-11 23:59:12 +01:00
Fredia Huya-Kouadio 2a66335ec2 Address API regression from https://github.com/godotengine/godot/pull/101050 2025-02-11 10:19:47 -08:00
Adam Scott cdb6fc7f74
[Web] Remove position pool system and return false when done instead 2025-02-11 10:43:34 -05:00
Thaddeus Crews 427d8086f2
Merge pull request #102492 from m4gr3d/android_editor_support_game_tab
Add support for embedding game process in the Android Editor
2025-02-11 09:13:05 -06:00
Riteo 54755a27e9 Wayland: Unstuck keys with same keycode
This fixes once and for all the core issue of different Godot `keycode`s
released from the same raw XKB keycode.

The `InputEventKey` `keycode` value _should_ map to the "unmodified"
key, but unfortunately there's an ambiguity with their encoding for
"special" keys ("delete", "insert", etc.), in witch they ignore their
unicode representation. This means that a key that is special when plain
but a character when modified would never be properly picked up, so we
do indeed change its keycode. As a consequence of this exception, some
Godot keys never receive release events and get "stuck".

This patch adds an extra check through an `HashMap` to "unstuck" keys
that changed while having the same keycode.

I also could not resist simplifying a bit the regular key event
generation method but this makes things more consistent and predictable
IMO.
2025-02-11 13:16:16 +01:00
Fredia Huya-Kouadio 7495a8a02e Add support for embedding game process in the Android Editor
- Implement Android editor specific `EmbeddedGodotGame` to support embedding the game window in the Android editor
2025-02-11 02:20:18 -08:00
Rémi Verschelde e912241f4d Merge pull request #102674 from Riteo/waiting-for-frame
Wayland: Fix engine stalls while waiting frames
2025-02-11 10:54:28 +01:00
Riteo cbd68eb403 Wayland: Fix engine stalls wihle waiting frames
There were two edge cases in the frame waiting logic (aka manual frame
throttling or emulated vsync) which would cause the editor to stall in
one way or another:

 1. Waiting right after starting the editor would cause a deadlock
between both threads until something happened in the Wayland event
queue, in turn unblocking the Wayland thread and kickstartin the whole
thing;

 2. Starting the editor (and probably other long-loading stuff) without
low consumption mode would suspend the window and never commit its
surfaces, thus never signaling the compositor that we want frame events.
2025-02-11 01:33:36 +01:00
Adam Scott 02cc1ec95b
[Web] Add library emitter to make sources dependent of compiler version 2025-02-10 16:18:35 -05:00
Rémi Verschelde 19a30bb723 Wayland: Fix build config with `so_wrap` disabled
We should only include the vendored headers for Wayland and libdecor-0 when
we use `so_wrap`, i.e. when we *don't* build against system libraries.

The libdecor-0 pkg-config file includes the `libdecor-0/` prefix already,
so its header should be included without it, and likewise in our so wrappers.
Fixes #102671.
2025-02-10 21:42:25 +01:00
Thaddeus Crews 4b644ed1f5
Merge pull request #102341 from SheepYhangCN/rendering-driver-fallback-moltenvk
Implement Fallback to Vulkan for MoltenVK
2025-02-10 12:21:33 -06:00
Thaddeus Crews c90fd7f3da
Merge pull request #98066 from TCROC/fix-android-mono-export
Fix Android mono export with 2 or more cpu architectures fails
2025-02-10 12:21:32 -06:00
Thaddeus Crews 0b9fd7e190
Merge pull request #102627 from raulsntos/dotnet/android-export-validate-tfm
C#: Validate project TFM for Android template exports
2025-02-10 12:21:30 -06:00
Raul Santos 70ff213de5
C#: Validate project TFM for Android template exports
The C# Android export template includes `.jar` dependencies from .NET 8.0, so other TFMs are not supported.
2025-02-10 17:19:05 +01:00
Travis Lange 5e2fd7b1d7 fix android mono export causing conflicts 2025-02-10 10:09:52 -05:00
SheepYhangCN c0eec97e98 macOS: Implement fallback from Metal to Vulkan for x86_64 2025-02-10 13:23:46 +01:00
Rémi Verschelde 82e66ac1f4 Merge pull request #102602 from adamscott/fix-fr+oss-layout-mk2
Fix `fr+oss` layout issues with KP period
2025-02-10 10:49:46 +01:00
Rémi Verschelde eb4538b8a2 Merge pull request #102590 from syntaxerror247/custom-snackbar
Android: Add Snackbar UI component
2025-02-10 10:49:38 +01:00
Rémi Verschelde e01ab79249 Merge pull request #102494 from dsnopek/java-class-wrapper-error-non-static-methods
JavaClassWrapper: Give additional error when trying to call non-static method directly on the class
2025-02-10 10:49:19 +01:00
Adam Scott 1376828ef6
Fix `fr+oss` layout issues with KP period
Co-authored-by: Riteo Siuga <riteo@posteo.net>
2025-02-08 17:17:11 -05:00
Anish Mishra b89957efce Android: Add Snackbar UI component 2025-02-08 22:09:46 +05:30
Lukas Tenbrink e34f1f504c Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase. 2025-02-07 14:57:48 +01:00
Rémi Verschelde 06acfccf89 Merge pull request #102506 from akien-mga/mingw-gcc-lto-one-the-rocks
Workaround mingw-gcc LTO ICE by re-adding some dead code...
2025-02-07 01:40:08 +01:00
Rémi Verschelde 00d806a9ae Merge pull request #102470 from Hilderin/fix-floating-window-close-opened-dialog
Fix Floating Window request close when a dialog is opened
2025-02-07 01:39:38 +01:00
Rémi Verschelde e12a424bc5 Workaround mingw-gcc LTO ICE by re-adding some dead code...
Not my finest work, but without that code removed in #102179, mingw-gcc 14.2.1 on Fedora 41
(but also confirmed with versions on macOS and WSL) crashes when linking with LTO.

We need to dig deeper to understand the bug, report it upstream and work it around in a
cleaner way. But for now this unblocks building Windows binaries with LTO, and should be
harmless.
2025-02-07 01:16:38 +01:00
David Snopek 96bde8f221 JavaClassWrapper: Give additional error when trying to call non-static method directly on the class 2025-02-06 12:45:29 -06:00
Hilderin a9e06b8f64 Fix Modal Dialog with Embedded Game 2025-02-05 21:14:34 -05:00
Hilderin a3d03717c0 Fix Floating Window request close when a dialog is opened 2025-02-05 20:34:32 -05:00
Rémi Verschelde 91907a89f7 Thirdparty: Harmonize patches to document downstream changes 2025-02-06 01:40:03 +01:00
Thaddeus Crews a63a8b430b
Merge pull request #102104 from Hilderin/fix-embedded-game-disappear-when-not-focused
Fix Embedded Game disappear when not focused on KDE 5
2025-02-05 10:27:38 -06:00
Thaddeus Crews 202fa8e503
Merge pull request #102446 from m4gr3d/export_renderer_project_setting_to_manifest
Export the `rendering/renderer/rendering_method.mobile` project setting to the AndroidManifest
2025-02-05 10:27:31 -06:00
Thaddeus Crews a2d6e2e138
Merge pull request #102448 from adamscott/a-miserable-little-pile-of-secrets
Add `XK_KP_{Decimal,Enter}` to `KeyMappingX11::is_sym_numpad()`
2025-02-05 10:27:30 -06:00
Thaddeus Crews 2687833dec
Merge pull request #102454 from DarioSamo/rd-async-fixes
Fix erroneous logic when flushes are involved on RD async methods.
2025-02-05 10:27:27 -06:00
Thaddeus Crews ca3e268dfe
Merge pull request #101754 from bruvzg/vk_oem_only
[Windows] Override key codes with Unicode values for OEM keys only.
2025-02-05 10:27:16 -06:00
Adam Scott e34e127062
Add `XK_KP_{Decimal,Enter}` to `KeyMappingX11::is_sym_numpad()` 2025-02-05 10:54:46 -05:00
Hilderin f7d1558bc0 Fix Embedded Game disappear when not focused on KDE 5
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-02-05 12:01:40 +01:00
Rémi Verschelde b4e16b4520 Merge pull request #102314 from Hilderin/fix-floating-window-overlapping
Fix Floating Window overlapping when on screen edge on KDE
2025-02-05 11:34:05 +01:00
Rémi Verschelde ab0c712bf5 Merge pull request #102311 from Hilderin/fix-floating-window-not-visible-after-restore
Fix Floating Window not visible after restore on KDE
2025-02-05 11:34:01 +01:00
Fredia Huya-Kouadio 9e4365f1a7 Export the `rendering/renderer/rendering_method.mobile` project setting to the AndroidManifest
The AndroidManifest already stores the Godot editor and library versions. The addition of this meta-data allows to identify Godot Android apps that may be subject to renderer specific issues addressed in future versions of the engine.
2025-02-04 21:11:56 -08:00
Thaddeus Crews 92ebcd2343
Merge pull request #102079 from bruvzg/emb_nmenu
Fix native popup menus position in embedded windows.
2025-02-04 09:04:09 -06:00
Pāvels Nadtočajevs 05ca80632d [Linux] Implement native color picker. 2025-02-03 16:30:44 +02:00
Thaddeus Crews dfedfe7ac7
Merge pull request #102179 from bruvzg/remove_sim
Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter.
2025-02-03 08:16:14 -06:00
Thaddeus Crews 480843cf2b
Merge pull request #101812 from bruvzg/portal_chk
[FreeDesktop portal] Check for `FileChooser` and `Settings` interface availability instead of assuming it's always available.
2025-02-03 08:16:10 -06:00
Thaddeus Crews d2995dcfe8
Merge pull request #102169 from Riteo/what-is-even-a-keypad
Linux/BSD: Modify only keypad keys
2025-02-03 08:16:08 -06:00
Riteo 140a63be25 Linux/BSD: Modify only keypad keys
The `keycode` field of `InputEventKey` is supposed to be "unshifted";
That is, what the key would output if no modifier keys were pressed.
This should match what's written on the key label, but `Key` enumerates
also all keypad keys, which require a modifier. We thus require some
extra checks for them.

Note that this can still allow "stuck keys", but that's an even deeper
problem.
2025-02-02 19:19:15 +01:00
Hilderin bc0efb86a9 Fix Floating Window overlapping when on screen edge 2025-02-01 22:27:57 -05:00
Hilderin 150191353f Fix Floating Window not visible after restore on KDE 2025-02-01 21:08:39 -05:00
Pāvels Nadtočajevs 4b8cfc3040 Fix native popup menus position in embedded windows. 2025-02-01 21:31:03 +02:00
Thaddeus Crews 4f3dddbbff
Merge pull request #101987 from Riteo/imagine-using-rids
Wayland: Check custom cursor resource reference for cache invalidation
2025-01-31 09:15:52 -06:00
Thaddeus Crews 295a1dd5f7
Merge pull request #102067 from Eddy-Rogers/102008-TempDirSlashes
Windows: Normalize slashes in return of `OS.get_temp_dir()`
2025-01-31 09:15:51 -06:00
Thaddeus Crews a7e5469155
Merge pull request #102163 from adamscott/fix-glitched-audio-web
[Web] Fix audio issues with samples and GodotPositionReportingProcessor
2025-01-31 09:15:49 -06:00
Thaddeus Crews 81e17d879d
Merge pull request #102109 from bruvzg/export_res
[Export] Respect icon/splash screen import settings.
2025-01-31 09:15:45 -06:00
Janis Kirsteins e77a011188
Fix a crash in Joypad initialization on iOS
Creating a JoypadApple can trigger a notification to add a joypad (if
a device is already connected before the game is started). Observed
on iOS 18.2.1 with a Nimbus SteelSeries.

However at this point the Input singleton is not available yet, so
it will crash.

This commit moves JoypadApple initialization to `initialize_joypad()`
which is called explicitly after the Input singleton is available.

This is consistent with other platform joypad initialization.
2025-01-31 12:57:52 +01:00
Pāvels Nadtočajevs 86f56efbaa [FreeDesktop portal] Check for `FileChooser` and `Settings` interface availability instead of assuming it's always available. 2025-01-31 07:52:40 +02:00
Pāvels Nadtočajevs b3f7c8f5d3 [Export] Respect icon/splash screen import settings. 2025-01-31 07:45:16 +02:00
NOLogicalSense b38103e95d Windows: Normalize slashes in return of `OS.get_temp_dir()` 2025-01-30 22:02:20 +01:00
Thaddeus Crews 59406ce250
Merge pull request #101706 from bruvzg/ios_exp_prov_validation
[iOS] Fix provisioning profile specifier / UUID validation.
2025-01-30 11:38:48 -06:00
Pāvels Nadtočajevs 9310d2512f Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter. 2025-01-30 11:32:01 +02:00
Thaddeus Crews f4c2ffffb7
Merge pull request #102134 from bruvzg/win_main_cleanup
[Windows] Remove unused code from `godot_windows.cpp`.
2025-01-29 17:45:15 -06:00
Adam Scott c558c8a5f1
[Web] Fix audio issues with samples and GodotPositionReportingProcessor 2025-01-29 17:02:14 -05:00
Thaddeus Crews 3c80c14092
Merge pull request #101924 from adamscott/game-editor-non-cached-mouse-mode
Delegate handling `mouse_mode` to the `DisplayServer`
2025-01-28 16:08:56 -06:00
Pāvels Nadtočajevs d9bba03392 [Windows] Remove unused code from `godot_windows.cpp`. 2025-01-28 20:12:47 +02:00
Justin Sasso 8a4bc9881f Add linux-bionic RID Export Option
Adds an export option to enable the linux-bionic RID so Android can export with NativeAOT enabled.
2025-01-28 12:54:10 -05:00
Adam Scott 47f553ae0b
Delegate to the DisplayServer the task of handling mouse_mode
- Add `MOUSE_MODE_MAX` and various index checks
2025-01-28 11:22:27 -05:00
Thaddeus Crews 55c9dbc043
Merge pull request #102003 from Meorge/app-bundle-date
Update the app bundle's access and modified times to match the build time on macOS
2025-01-28 09:03:32 -06:00
Thaddeus Crews b238fe25e1
Merge pull request #101996 from syntaxerror247/fix-swipe-to-dismiss
Android: Keep swipe-to-dismiss disabled by default
2025-01-28 09:03:30 -06:00
Anish Mishra 6df21a8fdc Android: Keep swipe-to-dismiss disabled by default 2025-01-27 23:45:58 +05:30
Thaddeus Crews 4793965c1f
Merge pull request #102045 from Hilderin/fix-bad-window-error-when-stopping-embedded-game
Fix BadWindow error when stopping embedded game on Linux
2025-01-27 09:46:16 -06:00
Thaddeus Crews c019f3d4a5
Merge pull request #102049 from timothyqiu/editor-i18n
Fix several i18n issues in editor
2025-01-27 09:46:15 -06:00
bruvzg 14b9f64a18 Update Windows icon cache after export. 2025-01-27 17:09:25 +02:00
Haoyu Qiu 4c4f29a490 Fix several i18n issues in editor 2025-01-26 16:41:10 +08:00
Malcolm Anderson 998e3dfcf7 Update the app bundle's creation time to match the build time on macOS
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2025-01-25 20:21:17 -08:00
Hilderin 725dd4930e Fix BadWindow error when stopping embedded game on Linux 2025-01-25 20:30:40 -05:00
Rémi Verschelde 90208f7dd4 SCons: Fix handling of platform-specific tools, notably `mingw`
Add optional `detect.py` `get_tools` method to let platforms register SCons
tools they need.

This helps move this logic out of SConstruct, keeping platforms more self
contained, and helping thirdparty platforms define their own custom tools.

This logic was also unreliable (the `use_mingw` one would only work if
passed manually on the command line, not in e.g. `get_flags`).

Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-01-25 13:59:30 +01:00
Riteo c8087567c9 Wayland: Check custom cursor resource reference for cache invalidation
Images don't have RIDs and this way of checking stuff broke the cursor
cache. Let's do like all other platforms and check the resource
reference instead.
2025-01-24 15:10:46 +01:00
Thaddeus Crews b0655dc86f
Merge pull request #101050 from jamie-pate/fix_android_godot_app_create_instance
Fix create_instance in android GodotApp so non-editor apps can restart
2025-01-22 16:32:29 -06:00
Thaddeus Crews f1c0b5b854
Merge pull request #101779 from Riteo/primary-mess
Wayland: Check selection devices before using them
2025-01-22 09:19:30 -06:00
Hilderin 9eed43d429 Fix NOTIFICATION_WM_CLOSE_REQUEST in Embedded Floating Window 2025-01-21 21:03:15 -05:00
Thaddeus Crews 28b917dcdf
Merge pull request #101848 from Riteo/wl-embarassingly-hard
Wayland: Pass unmodified symbols to key events
2025-01-21 11:55:27 -06:00
Thaddeus Crews 8cf94c8de5
Merge pull request #101763 from SupSuper/patch-1
[Windows] Fix left/right Shift key regression
2025-01-21 11:55:21 -06:00
Daniel 17423e9899 [Windows] Fix left/right Shift key regression
Fixes #101384 by checking the latest state of the Shift keys before sending the KEYUP event.
2025-01-20 23:02:58 +00:00
Riteo d12137bdda Wayland: Pass unmodified symbols to key events
Before this change we would internationalize the keycode itself in all
`InputEventKey`s, confusing the whole input subsystem.
2025-01-20 18:27:04 +01:00
Thaddeus Crews 24fb28af55
Merge pull request #101689 from syntaxerror247/native-dialogs
Make dialogs non-cancelable on Android
2025-01-20 10:05:43 -06:00
Thaddeus Crews edaf14aada
Merge pull request #101697 from bruvzg/win_dlg_ncc
[Windows] Make native dialogs non-cancelable and stay on top of parent.
2025-01-20 10:05:42 -06:00
Riteo Siuga bed2a1927f Wayland: Check selection devices before using them
Looks like we never actually stopped the code from using bad pointers.
I even forgot the check in the primary selection code 🤦
2025-01-20 02:13:45 +01:00
Riteo Siuga 368a59e6f9 Wayland: Release pressed events on application focus out
Looks like I always assumed wrongly that the compositor would send us
key release events when unfocusing... It did not.
2025-01-20 01:38:25 +01:00
Jamie Pate 605b97075f Fix create_instance in android GodotApp so non-editor apps can restart
Enables OS.create_instance(args) and OS.set_restart_on_exit(true, args)
on android.

Borrowed the logic from the editor, so it completely restarts the
process so you can pass --rendering-method, --rendering-driver to switch
between forward_plus, mobile, gl_compatibility etc on an exported app.

Related:
https://github.com/godotengine/godot-proposals/issues/6423
2025-01-19 03:23:45 -08:00
bruvzg d65c07da4c [Windows] Override key codes with Unicode values for OEM keys only. 2025-01-18 14:56:18 +02:00
Pāvels Nadtočajevs f355c9ad37 [iOS] Fix provisioning profile specifier / UUID validation. 2025-01-17 19:20:17 +02:00
Lukas Tenbrink 512abc38b2 Remove implicit conversions from String, Char16String and CharString to data pointers. Make conversions to StrRange implicit to aid transition. 2025-01-17 17:31:58 +01:00
Thaddeus Crews 041cb204c3
Merge pull request #101645 from m4gr3d/disable_xr_mode_for_regular_launch
Clean up the XR editor logic
2025-01-17 10:16:53 -06:00
bruvzg 7c50a7822e [Windows] Make native dialogs non-cancelable and stay on top of parent. 2025-01-17 17:44:34 +02:00
Anish Mishra 401310d74d
Make dialogs non-cancelable on Android. 2025-01-17 19:45:34 +05:30
Pāvels Nadtočajevs 133ea4f17a [Wayland] Fix excessive IME updates. 2025-01-17 15:29:06 +02:00
Thaddeus Crews fd88acc671
Merge pull request #101008 from Repiteo/scons/nocache-all-text
SCons: Properly `NoCache` all text files
2025-01-16 17:17:59 -06:00
Thaddeus Crews 6820cceb86
Merge pull request #101566 from TCROC/fix-wayland-cant-set-mode-exclusive-full-screen
Fix Wayland `window_can_set_mode` ExclusiveFullScreen
2025-01-16 17:17:49 -06:00
Thaddeus Crews 73278bf35d
SCons: Properly `NoCache` all text files 2025-01-16 16:59:12 -06:00
Fredia Huya-Kouadio b4f25b1863 Clean up the XR editor logic
- Coalesce common logic into the `main` flavor to avoid duplication
- Code cleanup
2025-01-16 09:40:30 -08:00
Adam Scott 33e16435f5
Replace some problematic uses of `String::num` to `String::num_int64` 2025-01-15 12:51:51 -05:00
Travis Lange d713a22f2e fix wayland can set mode exclusive full screen 2025-01-14 20:21:52 -05:00
Rémi Verschelde f8724e41a0 Merge pull request #101538 from bruvzg/wdrag_ftr
[DisplayServer] Add missing `FEATURE_WINDOW_DRAG` flag to Windows, X11 and Wayland display servers.
2025-01-14 18:29:47 +01:00
Rémi Verschelde 4d1cfc1784 Merge pull request #101061 from syntaxerror247/first-pr-2025
Android: Implement support for `native dialog`
2025-01-14 15:05:59 +01:00
Pāvels Nadtočajevs 2e99d84e87 [DisplayServer] Add missing `FEATURE_WINDOW_DRAG` flag to Windows, X11 and Wayland display servers. 2025-01-14 15:26:32 +02:00
Anish Mishra cb9ee099ac Android: Implement support for native dialog
This adds support for DisplayServer::dialog_show() on Android, aligning it with the functionality already available on macOS and Windows.
2025-01-14 15:03:14 +05:30
Anish Mishra 867ae4d85a Update Android editor name and add missing icons 2025-01-14 13:46:45 +05:30
Rémi Verschelde e8981308f2 Merge pull request #101498 from m4gr3d/run_launcher_godot_app_from_editor
Use implicit launch when running a Godot Android project from the editor
2025-01-13 20:22:52 +01:00
Rémi Verschelde aa72d56d50 Merge pull request #101458 from syntaxerror247/fix-back-request
Fix double emission of `NOTIFICATION_WM_GO_BACK_REQUEST`
2025-01-13 20:22:24 +01:00
Rémi Verschelde b7c0a0fbd1 Merge pull request #101387 from picoxr/add-picoos-immersivemode
Add PICO OS Immersive Mode
2025-01-13 20:22:11 +01:00
Fredia Huya-Kouadio 17279cdf45 Use implicit launch when running a Godot Android project from the editor
This allows developers to override the default launching activity (`com.godot.game.GodotApp`) with a custom one if desired.
Logic is added to fallback to the default launching activity if the implicit launch fails.
2025-01-13 08:52:17 -08:00
ygz-bd a2bfb7cff2 Enable XR Preview Mode for PICO OS
Supported features in the immersive preview mode
- Passthrough
- Hand tracking
Notes:
- Multi-window is only available for internal apps on PICO OS, therefore launching adjacent windows is not possible currently.
- Passthrough splash screen is not supported on PICO OS
2025-01-13 16:34:22 +00:00
Fredia Huya-Kouadio 4bc8918c19 Add support for specifying whether to play the current scene or a specific scene in XR or regular mode
The functionality is only activated for the XR Editor, when a project has OpenXR enabled.
2025-01-12 22:02:24 -08:00
Anish Mishra c327b5797e Fix double emission of NOTIFICATION_WM_GO_BACK_REQUEST 2025-01-13 09:09:22 +05:30
Thaddeus Crews 9d0c41a489
Style: Unify `.editorconfig` logic 2025-01-12 08:49:01 -06:00
Rémi Verschelde f431419e7b Merge pull request #99781 from Meorge/pack-project-as-zip
Add "Pack Project as ZIP..." to Project menu
2025-01-11 22:29:33 +01:00
Pāvels Nadtočajevs b252867145 [macOS/Windows] Add `Emoji & Symbols` context menu item to LineEdit/TextEdit to show system character picker. 2025-01-10 09:25:34 +02:00
Malcolm Anderson 6b33037021 Add menu bar item for "Pack Project as ZIP..."
Apply suggestions from code review

Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>

Fix includes

Update editor/editor_node.cpp

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-09 20:37:02 -08:00
Rémi Verschelde a0de7d0e01 Merge pull request #101257 from SteffenBlake/remote-debug-windows-battery-fix
Windows: Update export script's task to work even on battery power
2025-01-09 13:50:59 +01:00
Rémi Verschelde 26db0bb15f SCons: Make `lto=auto` prefer ThinLTO over full LTO for LLVM targets
This speeds up build time considerably for these platforms compared to
using `lto=full`, which is sadly single-threaded with LLVM, unlike GCC.

Changes to default behavior of `lto=auto` (i.e. `production=yes`):
- Linux: Prefer ThinLTO for LLVM
- Web: Prefer ThinLTO
- Windows: Prefer ThinLTO for llvm-mingw

The following LLVM targets don't use LTO by default currently, which
needs to be assessed further (gains from LLVM LTO on performance need
to be weighed against the potential size increase from heavy inlining):
- Android
- iOS
- macOS
- Windows clang-cl
2025-01-09 13:03:58 +01:00
Rémi Verschelde 65cf7c1d5e Merge pull request #101221 from bruvzg/win_dec_exp
[Window] Expose `start_drag` and `start_resize` methods (for both native and embedded windows).
2025-01-09 11:17:24 +01:00
Rémi Verschelde 892f77d5af Merge pull request #100052 from akien-mga/scons-linux-relax-freetype-libpng-zlib-deps
Linux: Relax interdependency between freetype, libpng, and zlib for unvendored builds
2025-01-09 11:17:13 +01:00
Rémi Verschelde 2a2adfa36c Merge pull request #101267 from Summersay415/angle-libs
Fix ANGLE and D3D12 libraries inclusion in .zip export
2025-01-09 00:42:25 +01:00
Rémi Verschelde 8e0f498400 Merge pull request #101266 from WhalesState/color-picking-fix
Fix color picking on Linux/X11.
2025-01-09 00:42:22 +01:00
Rémi Verschelde 7fe0609118 Linux: Relax interdependency between freetype, libpng, and zlib for unvendored builds
This restriction was added to fix #7373 back then, which was a symbol conflict
between FreeType's bundled copy of gzip/zlib, and distro packages.

But we also unbundled FreeType's zlib in #69395 so this is no longer an issue.

On the other hand recent issues pointed out that using system-provided icu4c
or harfbuzz can cause issues (#91401, #100301). We still allow it for now but
raise a warning.
2025-01-09 00:28:46 +01:00
Rémi Verschelde 6f3cc27423
Merge pull request #101178 from BlueCube3310/web-high-quality
Web: Export ASTC/BPTC compressed textures
2025-01-08 21:48:13 +01:00
Rémi Verschelde 76c8e76560 Merge pull request #101284 from akx/tyops
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Rémi Verschelde cc3a32b67e Merge pull request #101249 from Repiteo/scons/color-refactor
SCons: Refactor color output implementation
2025-01-08 15:53:29 +01:00
Rémi Verschelde abd188f099 Merge pull request #97480 from Riteo/why-is-suspension-so-hard
Wayland: Unsuspend only for the same reason as suspension
2025-01-08 15:53:19 +01:00
Rémi Verschelde dea597c679 Merge pull request #94580 from stuartcarnie/sgc/macos_joypad
Apple: Bug fixes and improvements for game controllers
2025-01-08 15:53:15 +01:00
Stuart Carnie cd17cb0110 [macos, ios]: Refactor joypad support into shared code, numerous bugfixes 2025-01-08 07:00:23 -07:00
Riteo e5ac45e822 Wayland: Unsuspend only for the same reason as suspension
Before, we would check both methods together, leading to loops.

Now we track the actual reason we suspended and only unsuspend when
that same reason triggers. For example, if we suspend because of the
suspended flag we'll unsuspend only because it got unset. Conversely, if
we suspend because of a timeout we'll unsuspend only if we get a new
frame event.

We do this because, while some compositors properly report a "suspended"
state (hinting us to stop repainting), most don't and we need a "safety
net" anyways as we do not want to constantly stay at 1fps (the max time
we'll wait before giving up) either.
2025-01-08 13:53:01 +01:00
Aarni Koskela f134769506 Fix various typos
* Add TODO notes for typos that should be fixed for 5.0

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
WhalesState 989161e117 Fix color picking on linux. 2025-01-08 10:32:25 +02:00
Summersay415 a8377d0f22 Fix ANGLE and D3D12 libraries inclusion in .zip export 2025-01-08 12:09:35 +07:00
Steffen Blake 7cedf99ddc
Update Windows Export Script to work on Battery Power 2025-01-07 18:37:43 -07:00
Thaddeus Crews a29294fddc
SCons: Refactor color output implementation 2025-01-07 18:44:53 -06:00
Rémi Verschelde cecc83d26a Merge pull request #101225 from Summersay415/arch-docs
Update official export templates architecture list in docs
2025-01-08 00:21:07 +01:00
Rémi Verschelde 0fee2724f0 Merge pull request #100751 from YYF233333/force_regex_with_editor
Force build editor with regex module, remove checking code
2025-01-07 23:17:35 +01:00
Pāvels Nadtočajevs 8d911b2554 [Window] Expose `start_drag` and `start_resize` methods (for both native and embedded windows). 2025-01-07 23:35:14 +02:00
Summersay415 f6d22da94b Update official export templates architecture list in docs 2025-01-07 20:28:25 +07:00
Yufeng Ying 34d8255947 Force build editor with regex module, remove checking code.
Fix include.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Pāvels Nadtočajevs 7f0b4e58b0 Implement `DisplayServer.window_start_resize`. 2025-01-07 07:58:02 +02:00
Rémi Verschelde bd56e811f3
Merge pull request #101015 from bruvzg/si_fix_empty_tt
[Windows] Fix StatusIndicator crash with empty tooltip (and few other similar unsafe `ptr()` uses).
2025-01-07 00:45:11 +01:00
Rémi Verschelde 52f542b342
Merge pull request #101180 from syntaxerror247/editor-themed-icon
Android Editor: Fix themed icon
2025-01-06 22:49:25 +01:00
Rémi Verschelde cc32e46360
Merge pull request #101135 from Hilderin/fix-embedding-not-working-intermittently
Fix embedding failing intermittently
2025-01-06 22:49:05 +01:00
Rémi Verschelde 881d4bd9ee
Merge pull request #100960 from buresu/fix-windows-keymapping
Fix incorrect Unicode key mapping on Windows
2025-01-06 22:48:09 +01:00
Rémi Verschelde 44f871ff72
Merge pull request #100898 from Summersay415/wayland-issue
Fix exclusive fullscreen on Wayland
2025-01-06 22:47:53 +01:00
Rémi Verschelde d15e559355
Merge pull request #100103 from Summersay415/idsig
Android: Delete `.idsig` on One Click Deploy
2025-01-06 22:47:29 +01:00
Rémi Verschelde e06cac212b
Merge pull request #99893 from kiroxas/avoidUTF8ParsingWhenNotNecessary
Avoid duplicated `utf8()` calls
2025-01-06 22:47:12 +01:00
Rémi Verschelde 399f585042
Merge pull request #99603 from stuartcarnie/metal_fx_upscaling
Metal: Add MetalFX upscaling support
2025-01-06 22:47:08 +01:00
Rémi Verschelde 11f95e7feb
Merge pull request #99350 from bruvzg/fs_mime
Support MIME types in file dialog filters on macOS and Linux.
2025-01-06 22:46:59 +01:00
Rémi Verschelde 990416e90b
Merge pull request #99296 from elpozewaunig/web_splash_properties
Add web support for all missing splash screen properties
2025-01-06 22:46:55 +01:00
Anish Mishra d7532f0d31
Android Editor: Fix themed icon 2025-01-06 19:14:00 +05:30
Hilderin 2f061df7b0 Fix embedding not working intermittently 2025-01-06 08:04:57 -05:00
Stuart Carnie 11dc4f2e5e Metal: Add MetalFX upscaling support
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 -07:00
BlueCube3310 84e6ac9ecd Web: Export ASTC/BPTC compressed textures 2025-01-06 12:31:22 +01:00
Pāvels Nadtočajevs e1f129cb52 Support MIME types in file dialog filters on macOS and Linux. 2025-01-04 22:05:35 +02:00
Elias Pozewaunig 8de13860e8 Added web support for all missing splash screen properties
show_image, fullsize and use_filter are now supported too.

bg_color, image and minimum_display_time were already supported previously.
2025-01-03 17:56:05 +01:00
Ricardo Subtil b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +00:00
Rémi Verschelde 89b18de032
Merge pull request #100221 from adamscott/fix-diraccess-sync
[Web] Fix `DirAccess::unlink()` not updating the IDBFS
2025-01-03 02:01:16 +01:00
Rémi Verschelde e680767fb9
Merge pull request #100987 from marcelovbcfilho/master
Windows: Implement native menu close callback
2025-01-03 00:49:55 +01:00
Rémi Verschelde d28c41616a
Merge pull request #100938 from RedMser/system-user-adb
Respect system user setting for (un)installing APK
2025-01-03 00:49:48 +01:00
Rémi Verschelde 35cf29bb21
Merge pull request #100715 from buresu/fix-wayland-ime-input
Fix last character deletion in Wayland IME input
2025-01-03 00:48:55 +01:00
Summersay415 8c1742c957 Fix exclusive fullscreen on Wayland 2025-01-02 21:49:49 +07:00
Marcelo Vilas Boas Correa Filho 3bb2309f6b Feature adding Windows native menu close callback 2025-01-02 10:52:09 -03:00
bruvzg 663b90da61 [Windows] Fix StatusIndicator crash with empty tooltip (and few other similar unsafe `ptr()` uses). 2025-01-02 10:07:02 +02:00
Naoto Kondo 8c7319459b Fix incorrect Unicode key mapping on Windows 2025-01-02 04:31:49 +09:00
RedMser bb76e721e9 Respect system user setting for (un)installing APK 2024-12-30 17:37:24 +01:00
Thaddeus Crews 589a2b511e
Merge pull request #100815 from m4gr3d/remove_install_permission_for_xr_editor
[Android Editor] Update handling of the `REQUEST_INSTALL_PACKAGES` permission
2024-12-30 08:58:53 -06:00
Thaddeus Crews 3994e561ea
Merge pull request #100827 from OS-of-S/fixed-mold-search
Fix Mold-search in older systems
2024-12-30 08:58:49 -06:00
Summersay415 3d8ecc452a Delete .idsig on One Click Deploy 2024-12-29 13:53:17 +07:00
OS-of-S b9f0e0cfa3 Fixed Mold-search in older systems 2024-12-28 13:49:56 +07:00
Fredia Huya-Kouadio 7ad9d23a1d Updates how the `REQUEST_INSTALL_PACKAGES` permission is handled
- Only request the permission the first time the editor tries to open an apk
- Disable the permission for the HorizonOS build as the HorizonOS store doesn't support it yet
2024-12-25 20:04:34 -08:00
A Thousand Ships a1846b27ea
Improve use of `Ref.is_null/valid`
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Thaddeus Crews ff706b8fb8
Merge pull request #100756 from raulsntos/android/fix-aab-path
[Android] Fix path to AAB in copyAndRenameBinary task
2024-12-23 11:15:08 -06:00
Anish Mishra 96c6dec9a7 Android Code Cleanup: Rename constants to uppercase 2024-12-23 14:14:41 +05:30
Raul Santos d380cb1a6c
[Android] Fix path to AAB in copyAndRenameBinary task 2024-12-22 22:40:36 +01:00
Naoto Kondo b719eed725 Fix last character deletion in Wayland IME input 2024-12-22 05:52:03 +09:00
Rémi Verschelde 13274842a9
Merge pull request #100638 from Tiktalik/fixed-wayland-horizontal-scroll
Fix Wayland left/right scroll wheel issues.
2024-12-20 23:57:16 +01:00
Rémi Verschelde eaed664bce
Merge pull request #100637 from bruvzg/unset_fw
Unset last focused window when it is destroyed.
2024-12-20 23:57:13 +01:00
Rémi Verschelde fd5548a8b7
Merge pull request #100634 from YYF233333/iwyu2
Remove unused headers in servers
2024-12-20 23:57:09 +01:00
Rémi Verschelde b46103b286
Merge pull request #100601 from syntaxerror247/wear-OS
Add option to disable `Swipe to Dismiss` for Wear OS
2024-12-20 23:56:54 +01:00
Rémi Verschelde a11364d1e6
Merge pull request #99010 from Hilderin/embedding-game-process
Embed game process in editor
2024-12-20 23:56:43 +01:00
Anish Mishra 5d8e2cd63f Add option to disable Swipe-to-Dismiss for Wear OS 2024-12-20 23:21:50 +05:30
Yufeng Ying e88e30c273 Remove unused headers in servers.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-12-20 18:51:01 +08:00
Tiktalik fb741715c1
Fixed incorrect use of vertical scroll where it should have been horizontal. 2024-12-20 00:53:10 -07:00
Pāvels Nadtočajevs 73faa509ea Unset last focused window when it is destroyed. 2024-12-20 09:40:25 +02:00
Thaddeus Crews 89001f91d2
Merge pull request #100607 from syntaxerror247/fix-filepicker
Fix Android native file picker
2024-12-19 20:00:21 -06:00
Thaddeus Crews 95b00295fb
Merge pull request #96447 from Repiteo/scons/clang-cl-compile_commands
SCons: Set appropriate prefix when using clang-cl
2024-12-19 19:59:45 -06:00
Thaddeus Crews 9300c2bdc9
Merge pull request #100400 from CrabNickolson/windows-thread-names
Add support for thread naming on windows platform
2024-12-19 19:59:41 -06:00
Anish Mishra 9deee0097a Fix Android native file picker 2024-12-19 19:31:32 +05:30
Kiro 06efe84bca Remove duplicate `utf8()` calls 2024-12-19 10:15:46 +01:00
Hilderin 9d2a4c03be Embedding game process in editor 2024-12-18 17:52:42 -05:00
Pāvels Nadtočajevs a0300532b5 [Windows, LLVM] Fix `colorize` flag. 2024-12-18 21:00:32 +02:00
Rémi Verschelde 4cc471dbed
Merge pull request #100553 from tygyh/snyk-fix-450c49dd4b2c073502654af4e06e6ec6
Web: Security upgrade eslint from 9.12.0 to 9.15.0
2024-12-18 17:23:46 +01:00
snyk-bot 97ecf7830a
fix: platform/web/package.json & platform/web/package-lock.json to reduce vulnerabilities
The following vulnerabilities are fixed with an upgrade:
- https://snyk.io/vuln/SNYK-JS-CROSSSPAWN-8303230
- https://snyk.io/vuln/SNYK-JS-ESLINTPLUGINKIT-8340627
2024-12-18 10:28:34 +00:00
Fredia Huya-Kouadio 23cea1b9d2 Additional fixes and improvements to JavaClassWrapper
- Fix crashing bug when invoking class constructor with parameters
- Add support for accessing class constants
- Add support for Godot Callable arguments. A Godot Callable can be wrapped by a Java Runnable to allow Java logic to run arbitrary Godot lambdas
- Automatically convert java.lang.CharSequence to Godot String as needed
- Code cleanup
2024-12-17 18:46:34 -08:00
Rémi Verschelde 4e46e8beb7
Merge pull request #100464 from bruvzg/start_drag_port
Implement `window_start_drag` on Windows and Linux.
2024-12-18 00:39:56 +01:00
Rémi Verschelde cb5b1ecc25
Merge pull request #100200 from syntaxerror247/android-base-color
Android: Support for `base color` retrieval
2024-12-18 00:39:45 +01:00
Rémi Verschelde cb0d731daf
Merge pull request #100351 from raulsntos/dotnet/android-gradle-fix
[.NET] Fix gradle builds for multiple ABIs
2024-12-17 22:59:58 +01:00
Rémi Verschelde f08fe52d9a
Merge pull request #99963 from Faless/web/no_ip
[Web] Implement dummy IP and NetSocket
2024-12-17 22:59:42 +01:00
Rémi Verschelde 66b8101cef
Merge pull request #95460 from m4gr3d/enable_mouse_forward_back_buttons
Enable `BUTTON_FORWARD` and `BUTTON_BACK` mouse buttons on Android
2024-12-17 22:59:20 +01:00
Fredia Huya-Kouadio 2d3f6963b2 Update the visibility for the custom templates for all platforms
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 -08:00
Anish Mishra 70b24c3d16 Android: Support for base color retrieval 2024-12-18 02:14:48 +05:30
Adam Scott 3011717e14
Remove custom `--language-in` arg for the Closure compiler 2024-12-17 13:52:30 -05:00
Rémi Verschelde 0d4c68f82b
Merge pull request #100482 from adamscott/fix-closure-issues
Fix (some of the) 3.1.73 emscripten Closure compiler issues
2024-12-17 16:19:29 +01:00
Rémi Verschelde 182b4741ea
Merge pull request #93479 from Repiteo/scons/better-colored-output
SCons: Improve colored output
2024-12-17 16:18:41 +01:00
Pāvels Nadtočajevs 293be04ec8 Implement `window_start_drag` on Windows and Linux. 2024-12-17 16:49:27 +02:00
Adam Scott 20daa75d43
Fix (some of the) 3.1.73 emscripten Closure compiler issues 2024-12-16 14:05:07 -05:00
Thaddeus Crews 3bc4936498
Merge pull request #95928 from ryanbraganza/webmidi-support
Add Web MIDI support
2024-12-16 12:09:49 -06:00
Thaddeus Crews 7254761a46
Merge pull request #98861 from MJacred/get_joypad_infos_on_windows
Get joypad's vendor ID, product ID and name on Windows for XInput devices.
2024-12-16 12:09:44 -06:00
Thaddeus Crews a7fa0528bb
Merge pull request #100372 from Calinou/os-add-get-version-alias
Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
2024-12-16 12:09:40 -06:00
MJacred 01a2726c59 Get joypad's vendor ID, product ID, and name on Windows 2024-12-15 23:59:11 +01:00
Ryan Braganza a7505ee0bc Add Web MIDI support
Co-authored-by: Adam Scott <ascott.ca@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-12-15 21:24:15 +11:00
Hugo Locurcio 928982891e Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
Windows 11's major version number is actually 10.x.x, which can be confusing
if you don't know about this quirk. `OS.get_version_alias()` avoids this
by displaying the "branding" version number and the build number as a suffix,
so that individual updates can still be distinguished from each other.

On macOS, `OS.get_version_alias()` returns the version number prepended
with the version name (e.g. Sequoia for macOS 15).

On other operating systems, this returns the same value as `OS.get_version()`.
2024-12-14 18:47:50 +01:00
Rémi Verschelde 20064cf5c0
Merge pull request #95044 from Hilderin/fix-double-click-signal-connection
Fix connecting a signal with a double click is too difficult
2024-12-14 18:25:07 +01:00
Ramón Grill d848835f8c Add support for thread naming on windows platform 2024-12-14 14:42:39 +01:00
Hilderin 4e19ab8afe
Fix connecting a signal with a double click is too difficult
Co-authored-by: Danil Alexeev <dalexeev12@yandex.ru>
2024-12-14 16:18:34 +03:00
Thaddeus Crews 9535cd064f
Merge pull request #97810 from pafuent/getting_ccache_working_on_mac
Improve detection of ccache on macOS
2024-12-13 16:19:32 -06:00
Pablo Andres Fuente 7c4c1100e0 Improving detection of ccache on Mac
Before this commit, ccache where only used on Mac when
`OSXCROSS_ROOT` was defined. Now, it could be used even
when that envirnment variable is not defined.
2024-12-13 09:50:27 -03:00
Raul Santos d526d523b4
[.NET] Fix gradle builds for multiple ABIs
Include the needed .NET jar in the Godot templates so it's always available, then we don't need to include the jar from a .NET publish which could fail when exporting to multiple architectures because it would attempt to add the same jar for each architecture.
2024-12-13 08:01:13 +01:00
Thaddeus Crews ed8b4ab060
Merge pull request #100337 from akien-mga/scons-sse2-baseline
SCons: Properly set SSE2 as baseline on x86_32
2024-12-12 16:13:31 -06:00
Rémi Verschelde f86b3696f6
SCons: Properly set SSE2 as baseline on x86_32
Setting it only for release templates on Windows and macOS was inconsistent,
and Jolt requires it as a minimum.

Drop the `-mxsave` flag from the raycast module, this doesn't seem to be
used explicitly by Embree, and unnecessarily makes our config and baseline
muddy.
2024-12-12 22:44:44 +01:00
HP van Braam dbbacf3d0e Regenerate X11 wrappers with dynload-wrapper 0.7
Dynload-wrapper 0.7 introduces the --include-dir option which lets us restrict
what headers are considered for generation.

In this case it removes the `XFreeThreads` Xlib function which does not
exist on Ubuntu 22.04 and older.
2024-12-12 14:57:26 +01:00
Thaddeus Crews 38775731e8
Merge pull request #99965 from Riteo/unstable-galore
Wayland: Add support for xdg-foreign-unstable-v2
2024-12-11 17:36:07 -06:00
Thaddeus Crews 4a1a7addd1
Merge pull request #100179 from zaevi/fix_transient_topmost
[Windows & macOS] Fix popup window shows behind `always_on_top` parent.
2024-12-11 17:35:53 -06:00
Rémi Verschelde 00ac17462a
Merge pull request #100281 from bruvzg/bt_big
[Windows] Fix loading debug symbol files over 2GB.
2024-12-11 18:47:14 +01:00
Pāvels Nadtočajevs a8c8eca74a [Windows] Fix loading debug symbol files over 2GB. 2024-12-11 17:42:47 +02:00
Pāvels Nadtočajevs 8b853b7db7 [macOS] Print full source paths in the trace. 2024-12-11 09:21:25 +02:00
Thaddeus Crews 69c67ede17
Merge pull request #88950 from bruvzg/excap
[macOS, Windows] Add support for excluding windows from a screenshot.
2024-12-10 14:16:10 -06:00
Thaddeus Crews 3cb8419703
Merge pull request #100207 from bruvzg/mingw_dbg
[Windows] Fix MinGW debug symbols.
2024-12-10 14:16:06 -06:00
Thaddeus Crews 6cbf7c77c2
Merge pull request #100150 from ArchercatNEO/homeless-export
Use temp dirs instead of cache dirs for export
2024-12-10 14:15:54 -06:00
Thaddeus Crews f222cc43f3
Merge pull request #99633 from buresu/fix-wayland-keymapping
Fix underscore input not working with jp106 keyboard on wayland platform
2024-12-10 14:15:51 -06:00
Thaddeus Crews d8761f2c79
SCons: Improve colored output 2024-12-10 11:44:48 -06:00
Fabio Alessandrelli 9d329f54c0 [Web] Restore ScriptProcessorNode audio driver fallback
Godot has a ScriptProcessorNode audio driver implementation for the
(deprecated) Web API.

As reported by some users, this fallback was not properly re-added
during the Godot 4 transition, and was left as "dead code".

While the API is deprecated, it is still supported by most browsers, and
some WebView may not implement AudioWorklet correctly (the new
recommended API).

This commit re-adds the ScriptProcessorNode implementation as a fallback
if the AudioWorklet driver fails to initialized (and can be forced if
desired via project settings as usual).
2024-12-10 18:22:03 +01:00
bruvzg 9fece033ab [macOS, Windows] Add support for excluding windows from a screenshot. 2024-12-10 11:00:13 +02:00
Riteo 65c28ed31d Wayland: Add support for xdg-foreign-unstable-v2
The v1 version is deprecated and bound to be removed in the future from
all compositors. This patch adds a v1/v2 designator to everything
related to the protocol and prefers the v2 protocol if both are
available.

Additionally, renames the event handler to follow the Wayland interface
name, for consistency with the rest of the codebase.
2024-12-10 01:29:46 +01:00
Adam Scott a6c5373a09
[Web] Fix `DirAccess::unlink()` not updating the IDBFS 2024-12-09 17:48:08 -05:00
Thaddeus Crews a607bca2fd
Merge pull request #100024 from Ivorforce/optimize-string-single-char
Optimize string single char contains calls.
2024-12-09 14:33:24 -06:00
Thaddeus Crews e7cdbf827b
Merge pull request #99871 from RossRothenstine/ross/fix-windows-sleep-underflow
Windows: Fix underflow before `delay_usec`
2024-12-09 14:33:15 -06:00
Zae 2211b1bf91 Fix popup shows behind always_on_top parent. 2024-12-10 01:35:25 +08:00
bruvzg 404383e161 [Windows] Fix MinGW debug symbols. 2024-12-09 18:54:07 +02:00
ArchercatNEO 00a791f04e Use temp dirs instead of cache dirs for export
Fixes #95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
2024-12-08 12:07:17 +00:00
Lukas Tenbrink b5c31ebb41 Add contains_char() for single-character 'contains' calls. 2024-12-06 20:23:35 +01:00
Thaddeus Crews 49e033f8e2
Merge pull request #100047 from MBCX/fix-freebsd-compilation
Make Godot compile on `FreeBSD`
2024-12-05 14:12:11 -06:00
Thaddeus Crews 63af934d74
Merge pull request #98506 from 0xafbf/build-linux-with-spaces-in-path
Fix linux builds with separate debug symbols file when there is a space in the path.
2024-12-05 14:12:10 -06:00
Thaddeus Crews 9951743adf
Merge pull request #97822 from stdmnpkg/loongarch
Add loongarch64 support for Linux/*BSD
2024-12-05 14:11:44 -06:00
MBCX 6bc80effbb Make Godot compile on FreeBSD 2024-12-05 12:33:55 -04:00
Student Main f39614aa5a Ignore case when parse /proc/cpuinfo 2024-12-06 00:19:58 +08:00
Student Main e0693f8ad8 Add loongarch64 support 2024-12-06 00:18:26 +08:00
Andrés Botero becf5d7ac3 Fix linux builds with debug symbols when there is a space in the path. 2024-12-05 10:31:12 -05:00
Ross Rothenstine 35faf99755 windows: Fix underflow before delay_usec 2024-12-04 23:54:53 -08:00
Hilderin a80eb8c503 Fix Inspector tooltips are blinking 2024-12-03 17:25:36 -05:00
Thaddeus Crews 44cda51110
Merge pull request #98812 from bruvzg/macos_bundles_as_file
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 14:41:07 -06:00
Thaddeus Crews 1719f8ed3d
Merge pull request #99834 from kiroxas/passLengthToParseUTF8
Ensure `parse_utf8` has length of string passed in when available
2024-12-03 14:41:06 -06:00
Thaddeus Crews 156bc92282
Merge pull request #98397 from adamscott/add-tmp-support
Add temp utilities (alias `OS::get_temp_dir()`, `FileAccess::create_temp()`, and `DirAccess::create_temp()`)
2024-12-03 14:40:59 -06:00
Thaddeus Crews a135a6478a
Merge pull request #98383 from RandomShaper/deprecate_unsafe_th_rend
Deprecate the pointless unsafe threading model for rendering
2024-12-03 14:40:56 -06:00
Thaddeus Crews 6e8c0a43c3
Merge pull request #99378 from syntaxerror247/optional_monochrome_icon
Android: Refactor icon logic and make monochrome icon optional
2024-12-03 14:40:52 -06:00
Fabio Alessandrelli 14e4e3424f [Web] Implement dummy NetSocketWeb
This makes the class available to avoid spam from classes using it, even
if without any actual implementation (since raw sockets are not
available on the web).
2024-12-03 14:30:35 +01:00
Pāvels Nadtočajevs 84650f2018 Implement `DisplayServer.beep`. 2024-12-03 12:43:26 +02:00
bruvzg d5e599f77e [macOS] Handle bundles as files in the embedded file dialogs. 2024-12-03 12:41:52 +02:00
Adam Scott 1b3e483899
Add file and dir temporary utilities
Co-authored by @Alex2782 for the Android bindings.
Many thanks to the reviewers also.

Co-authored-by: Alex <alex.hart.278@gmail.com>
2024-12-02 12:08:14 -05:00
Anish Mishra f767cf00fd Android: Make monochrome icon optional 2024-12-02 22:04:38 +05:30
Rémi Verschelde aab12fd273
Merge pull request #99652 from bruvzg/fd_cd_win
[Windows] Fix root and current folder in native file dialog.
2024-12-02 17:20:27 +01:00
Rémi Verschelde 60e1490df1
Merge pull request #99644 from bruvzg/fd_all_name
Change file dialog all files filter name from `All Files (*)` to `All Files (*.*)`.
2024-12-02 17:20:23 +01:00
Rémi Verschelde bb09a6f061
Merge pull request #99642 from bruvzg/mac_win_tile
[macOS] Use native window drag for the custom editor title bars.
2024-12-02 17:20:19 +01:00
Rémi Verschelde 2dc30a4c39
Merge pull request #99051 from bruvzg/ios_entitlements
[iOS] Add options to specify additional entitlements and capabilities in the export settings.
2024-12-02 17:20:11 +01:00
Rémi Verschelde 47f71f66c1
Merge pull request #98631 from bruvzg/fix_fs_restore
[Windows] Fix restoring fullscreen window.
2024-12-02 17:20:02 +01:00
Rémi Verschelde 57e504ca42
Merge pull request #98582 from bruvzg/win_btn_count
Remove button number limit from Windows `dialog_show()` implementation.
2024-12-02 17:19:52 +01:00
Pāvels Nadtočajevs b248d66265 [macOS] Use native window drag for the custom editor title bars. 2024-12-02 17:40:27 +02:00
Pāvels Nadtočajevs d3e16c9ee2 [iOS] Add options to specify additional entitlements and capabilities in the export settings. 2024-12-02 17:38:19 +02:00
Rémi Verschelde 9babf66008
Merge pull request #99879 from Lielay9/missing-sharp-corner_getter
Add missing getter for sharp window corners.
2024-12-02 15:52:00 +01:00
Rémi Verschelde 1fed9cf01f
Merge pull request #99110 from bruvzg/gnome_fd
[Linux] Use safe IDs for native file dialog options. Show extensions in export dialog.
2024-12-02 15:51:07 +01:00
Rémi Verschelde a702b69ce7
Merge pull request #98917 from syntaxerror247/immersive-mode-issue
Android: Fix immersive mode issue
2024-12-02 15:50:57 +01:00
rune-scape d58b2e879f Get rid of easily removable uses of const_cast 2024-12-01 17:50:13 -08:00
Kiro 83d4bde0a2 When calling code has length of string, pass it to parse_utf8 2024-12-01 08:31:22 +01:00
Hei b045523d58 Add the missing getter for sharp window corners 2024-11-30 19:24:25 +02:00
Naoto Kondo f367a6c231 Fix underscore input not working with jp106 keyboard on wayland platform 2024-11-30 23:40:42 +09:00
Rémi Verschelde f6afacb185
Merge pull request #99833 from Faless/fix/sleepy_windows_becomes_a_heater
[Windows] Improve frame pacing by busy waiting as needed
2024-11-29 22:51:35 +01:00
Rémi Verschelde 506930063a
Merge pull request #98093 from zynga-jpetersen/jpetersen/ios_xcode_PROVISIONING_PROFILE_SPECIFIER_support
Support for XCode 8+ feature `PROVISIONING_PROFILE_SPECIFIER`
2024-11-29 22:46:29 +01:00
bruvzg a4b17e7852 [FileAccess] Return error codes from `store_*` methods. 2024-11-29 23:22:31 +02:00
mrsaturnsan b57ceefec1 [Windows] Improve frame pacing by busy waiting as needed 2024-11-29 14:04:18 +01:00
Fabio Alessandrelli c831f635fe [Web] Implement dummy IPWeb instead of IPUnix
Note: This commit ties the IPUnix to the UNIX_SOCKET_UNAVAILABLE define,
disabling it when set. It is maybe not semantically correct (getifaddrs)
is not part of the "socket" API, but it's reasonable to expect that a
platform not supporting Unix-style sockets, would also not support other
Unix network functions.
2024-11-28 20:47:18 +01:00
Thaddeus Crews 150c69c0f2
Merge pull request #99694 from dsnopek/android-os-create-instance-return-value
Android: `OS.create_instance()` should return `-1` on failure
2024-11-27 10:47:30 -06:00
Thaddeus Crews 3a5ce2ff94
Merge pull request #98901 from adamscott/add-editor-ensure-crossorigin-isolation-headers
[Web] Ensure editor crossorigin isolation headers
2024-11-27 10:47:13 -06:00
Thaddeus Crews 78abba7b0b
Merge pull request #99385 from syntaxerror247/file_picker_extension_support
Implement extension support for native file dialog on Android
2024-11-27 10:47:08 -06:00
Thaddeus Crews 127738c08b
Merge pull request #99387 from 0x0ACB/direct_composition
Use direct composition for d3d12 backend
2024-11-26 13:04:53 -06:00
Thaddeus Crews 0045b1a513
Merge pull request #98862 from HuntJSparra/early-projsettings-registration
Register Engine, OS, ProjectSettings, and Time singletons in time for for `INITIZATION_LEVEL_CORE`
2024-11-26 13:04:51 -06:00
0x0ACB a8cd0e9677
Use direct composition for d3d12 backend 2024-11-26 10:28:40 +01:00
David Snopek 38e0532ffa Android: `OS.create_instance()` should return `-1` on failure 2024-11-25 15:58:06 -06:00
Thaddeus Crews 0d88737a9f Merge pull request #99542 from bruvzg/stdin_str
Convert line breaks to `\n` and strip line break from the end of string returned by `OS::read_string_from_stdin`/`OS::get_stdin_string`.
2024-11-25 13:22:30 -06:00
Thaddeus Crews 6e6fbdd593 Merge pull request #99605 from Alex2782/fix_errmsg_java_sdk_path
Fix missing space after period in error message.
2024-11-25 13:22:30 -06:00
Thaddeus Crews 57125f48ce Merge pull request #98069 from thedinosoar/fix/service-worker-sandbox-error-98068
[Web] Fix PWA callback assignment causing crash in sandboxed iframes
2024-11-25 13:22:29 -06:00
Thaddeus Crews fc6c8bb982 Merge pull request #99688 from akien-mga/revert-99178
Revert "Make `delay_usec` more precise on Windows to fix framepacing"
2024-11-25 13:22:24 -06:00
Rémi Verschelde 8e1a6ea431
Revert "Make delay_usec more precise"
This reverts commit df3367f334.

Fixes #99593.
2024-11-25 19:43:21 +01:00
bruvzg e0b4f3d314 [Windows] Fix root and current folder in native file dialog.
Co-authored-by: RedMser <redmser.jj2@gmail.com>
2024-11-25 15:00:25 +02:00
Pāvels Nadtočajevs 1d43fa9a64 Change file dialog all files filter name from `All Files (*)` to `All Files(*.*)`. 2024-11-24 20:09:05 +02:00
Alexander Hartmann 796d943f14 Fix missing space after period in error message. 2024-11-24 02:46:42 +01:00
Pāvels Nadtočajevs e9b57fce82 Convert line breaks to `\n` and strip line break from the end of string returned by `OS::read_string_from_stdin`/`OS::get_stdin_string`. 2024-11-23 15:11:50 +02:00
Thaddeus Crews 17e8cf0d87 Merge pull request #99044 from Sticksman/bug-fix-98873
Remove deprecated worker.js file
2024-11-22 14:54:41 -06:00
bruvzg 24d51f7635 [Windows] Fix TTS events arriving out of order. 2024-11-22 11:10:37 +02:00
Thaddeus Crews 797c8bd85f
Merge pull request #99351 from dustdfg/scons_android_refactor
SCons: Move `swappy` option to android and slightly refactor `detect.py`
2024-11-21 17:56:59 -06:00
Thaddeus Crews 9d54981627
Merge pull request #99061 from Faless/web/editor_not_api
[Web] Fix Web Editor plugin being added to SCons multiple times
2024-11-21 17:56:58 -06:00
Hunt J. Sparra 48fbe4172b Register Engine, OS, ProjectSettings, and Time early. 2024-11-21 18:09:03 -05:00
Adam Scott 1a082fdd80
Ensure editor crossorigin isolation headers 2024-11-21 10:29:07 -05:00
Yevhen Babiichuk (DustDFG) 6467beb75d SCons: Move `swappy` option to android and slightly refactor `detect.py`
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-20 12:48:18 +02:00
Thaddeus Crews 650e96b768
Merge pull request #99353 from syntaxerror247/some_uid_issues
Fix Android boot splash and gradle build issue
2024-11-19 15:20:23 -06:00
Anish Mishra 57541d53d3 Android: Extension support for native file dialog 2024-11-19 22:16:32 +05:30
Anish Mishra 5e09d747e8 Revert "Add warning when monochrome icon is not specified"
This reverts commit a84292e835.
2024-11-19 21:27:56 +05:30
Fabio Alessandrelli b4f8135d46 [Web] Fix Web Editor plugin being added to SCons multiple times
Move the Web Editor plugin files to an editor sub-folder inside the
platform folder.
2024-11-18 18:34:29 +01:00
Anish Mishra 728927425f Fix Android boot splash and gradle build issue 2024-11-18 21:12:22 +05:30
Thaddeus Crews 449d90b64e
Merge pull request #99178 from mrsaturnsan/windows_sleep_precision
Make `delay_usec` more precise on Windows to fix framepacing
2024-11-18 09:23:50 -06:00
Thaddeus Crews 1dcb686325
Merge pull request #99026 from Faless/net/split_ip
[Net] Split Unix/Windows IP implementation
2024-11-18 09:23:43 -06:00
Thaddeus Crews 8811b39968
Merge pull request #97992 from Nikitf777/android-sdk-path
Add default value of editor property `export/android/android_sdk_path` for Windows, Linux, and macOS
2024-11-18 09:23:42 -06:00
Thaddeus Crews cc48a22b29
Merge pull request #99388 from bruvzg/disable_nahimic
Disable Nahimic code injection.
2024-11-18 09:23:40 -06:00
Thaddeus Crews 778f26e69e
Merge pull request #99372 from tdaven/fix-inconsistent-wayland-clipboard
Wayland: Only set selection when there is not already a source.
2024-11-18 09:23:34 -06:00
bruvzg 8bb3e5360e Disable Nahimic code injection. 2024-11-18 13:00:55 +02:00
Trevor Davenport 0d9a705e25 Wayland: Only set selection when there is not already a source.
Co-authored-by: Riteo Siuga <riteo@posteo.net>
2024-11-17 16:00:24 -07:00
Nikita c6f4228706 Add default value of editor propetry "export/android/android_sdk_path" for Windows, Linux, and macOS 2024-11-17 22:25:39 +03:00
A Thousand Ships 68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters 2024-11-17 10:02:18 +01:00
mrsaturnsan df3367f334 Make delay_usec more precise
Comment fix
2024-11-16 09:15:46 -06:00
Thaddeus Crews 6c9337de36
Merge pull request #99217 from dustdfg/refactor_compiler_min_detection
Buildsystem: Refactor compiler detection code
2024-11-15 10:42:42 -06:00
Thaddeus Crews d9b458d4b0
Merge pull request #99280 from bruvzg/win32_build_fix
Fix 32-bit Windows build.
2024-11-15 10:42:41 -06:00
Pāvels Nadtočajevs 287b7543a0 Fix 32-bit Windows build. 2024-11-15 15:49:08 +02:00
Yevhen Babiichuk (DustDFG) d55ed0cb15 Buildsystem: Refactor compiler detection code
* Delete old check for gcc 8 as we support 9 or higher
* Flatten branches for clang and apple clang
* Renamed is_vanilla_clang to is_apple_clang to be more clear

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-15 12:59:46 +02:00
Pāvels Nadtočajevs f5fad7592f Use processed filter list for native dialogs. 2024-11-15 12:08:33 +02:00
Pāvels Nadtočajevs ed7b4f5c4a [Linux] Use safe IDs for native file dialog options. 2024-11-15 08:45:33 +02:00
Pedro J. Estébanez a46ea9d064 Deprecate the pointless unsafe threading model for rendering 2024-11-14 10:43:29 +01:00
Thaddeus Crews 1627912d11
Merge pull request #98918 from bruvzg/pck_enc_iv
Allow setting custom initialization vector for FileAccessEncrypted. Add export setting to set static seed for PCK encryption initialization vectors.
2024-11-13 08:34:31 -06:00
Thaddeus Crews ddb2073c5c
Merge pull request #95972 from Hilderin/fix-mouse-move-over-unfocused-window
Fix mouse move over an unfocused window
2024-11-13 08:34:30 -06:00
Thaddeus Crews 896d3bd0d1
Merge pull request #99171 from dustdfg/pkg_config
Buildsystem: Use pkg-config for miniupnpc and mbedtls
2024-11-13 08:34:29 -06:00
Thaddeus Crews 49023c0f7d
Merge pull request #99138 from dustdfg/remove_old_vs_proj_code
Delete old unused code for VS project generation
2024-11-13 08:34:13 -06:00
Thaddeus Crews a767a65cdf
Merge pull request #99123 from tygyh/Update-vulnerable-plugins
Update JavaScript/Java plugins to solve known vulnerabilities
2024-11-13 08:34:00 -06:00
Yevhen Babiichuk (DustDFG) a42b8e2413 Buildsystem: Use pkg-config for miniupnpc and mbedtls
Miniupnpc added pkg-config files in 2.2.3 but we require 2.2.8
5a398006b9

MbedTLS added pkg-config files in 3.6.0 while we require 3.6.1
https://github.com/Mbed-TLS/mbedtls/blob/development/ChangeLog

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-11-13 15:25:42 +02:00
Fabio Alessandrelli 9383610ad1 [Web] Disable UNIX sockets
They are not supported anyway, emscripten has an emulation layer that
implements them over WebSocket/WebRTC, which is really surprising for
users, and also not very useful since we have proper WebSocket and
WebRTC support.

This can make the build smaller, if we also disable the UPNP module
(which will otherwise include a third party library referencing "socket"
thus forcing emscripten to include the compatibility layer)
2024-11-13 10:28:08 +01:00
Fabio Alessandrelli fc52821cfb [Net] Properly rename NetSocketPosix to NetSocketUnix 2024-11-13 10:27:01 +01:00
bruvzg 45593d45b3 Allow setting custom initialization vector for FileAccessEncrypted. Add export setting to set static seed for PCK encryption initialization vectors. 2024-11-13 08:16:12 +02:00
Yevhen Babiichuk (DustDFG) 216488ad9b Delete old unused code for VS project generation
Also ensured that sorting of files for hashing actually happens

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-12 21:26:12 +02:00
Thaddeus Crews cb411fa960
Merge pull request #98687 from m4gr3d/disable_swappy_requirement_for_as_debug_builds
Update the `production` build argument for Android Studio debug builds
2024-11-12 12:13:23 -06:00
Thaddeus Crews 179321a0a3
Merge pull request #91201 from bruvzg/con_type
[OS] Add functions to determine standard I/O device type.
2024-11-12 12:13:12 -06:00
Thaddeus Crews a73e2d459e
Merge pull request #98604 from Summersay415/read-music
Android: Add various media permissions
2024-11-12 12:13:08 -06:00
Thaddeus Crews 190670d16b
Merge pull request #99107 from RandomShaper/win_less_inheritance
Windows: Avoid child processes inheriting all file handles
2024-11-12 12:13:06 -06:00
Fabio Alessandrelli 168a2a1466 [Net] Split Unix/Windows IP implementation 2024-11-12 17:33:47 +01:00
Thaddeus Crews 0445bfb01c
Merge pull request #98931 from adamscott/fix-ime-web-issues
[Web] Fix issue where focus timer would throw continuously
2024-11-12 09:28:10 -06:00
Thaddeus Crews a833685e75
Merge pull request #96625 from elpozewaunig/web_splash_color
Display project settings splash color on web export
2024-11-12 09:28:08 -06:00
Thaddeus Crews 316293ecc2
Merge pull request #99042 from Repiteo/windows/natvis-improvements
Windows: Expand `godot.natvis` type coverage
2024-11-12 09:28:05 -06:00
Thaddeus Crews 5455eb1f34
Merge pull request #98890 from syntaxerror247/android-dialog-theme-update
Android: Update exported app and editor theme
2024-11-12 09:28:01 -06:00
Thaddeus Crews cb286da1dd
Merge pull request #99112 from bruvzg/get_model_name
Implement `get_model_name` on macOS and Windows.
2024-11-12 09:27:52 -06:00
Thaddeus Crews aad7e68fc4
Merge pull request #98976 from hpvb/regenerate-x11-wrappers-0.6
Linux: Regenerate X11 wrappers with dynload-wrapper 0.6
2024-11-12 09:27:48 -06:00
Thaddeus Crews e66d9988a6
Merge pull request #95774 from Mickeon/documentation-miscellaneous-oddities
Fix miscellaneous oddities around the class reference
2024-11-12 09:27:47 -06:00
Thaddeus Crews b6bbd4034e
Merge pull request #98971 from syntaxerror247/new_appCategory
Add `CATEGORY_UNDEFINED` option in Android export
2024-11-12 09:27:45 -06:00
Thaddeus Crews 1cbe9715ea
Merge pull request #98969 from Faless/net/split_sockets
[Net] Split Unix/Windows NetSocket implementation
2024-11-12 09:27:40 -06:00
Thaddeus Crews d4a5c339ea
Merge pull request #99080 from Repiteo/ci/bump-ruff-mypy
CI: Update `ruff` & `mypy` pre-commit hooks
2024-11-12 09:27:34 -06:00
Dr. Dystopia 3077463151
Update JavaScript/Java plugins to solve known vulnerabilities
Done using the Snyk tool.
2024-11-12 16:06:35 +01:00
Pedro J. Estébanez 7fcf3c491d Windows: Avoid child processes inheriting all file handles 2024-11-12 12:25:28 +01:00
Pāvels Nadtočajevs a6dfd1cf6e Implement `get_model_name` on macOS and Windows. 2024-11-12 10:34:24 +02:00
Elias Pozewaunig 4db5cd6e84 Display correct splash color on web export 2024-11-11 21:35:25 +01:00
Thaddeus Crews d76fbb7a40
Merge pull request #97356 from reduz/pck-file-removal
Add ability for PCK patches to remove files
2024-11-11 14:18:27 -06:00
Adam Scott 5295692990
Fix issue where focus timer would throw continuously 2024-11-11 15:08:16 -05:00
Thaddeus Crews 9bf628891a
Windows: Expand `godot.natvis` type coverage 2024-11-11 13:47:14 -06:00
Felix Yuan 1768a1b991 Remove deprecated worker.js file 2024-11-11 09:47:43 -08:00
Thaddeus Crews f2136384e4
CI: Update `ruff` & `mypy` pre-commit hooks
• ruff: 0.6.6 → 0.7.3
• mypy: 1.11.2 → 1.13.0
2024-11-11 11:27:42 -06:00
Juan 2ac562cdf8 Add ability for PCK patches to remove files
Co-authored-by: Mikael Hermansson <mikael@hermansson.io>
2024-11-11 16:34:37 +01:00
Thaddeus Crews 925b690c98
Core: Integrate `Ref::instantiate` where possible 2024-11-10 12:41:26 -06:00
Thaddeus Crews c4a52e1ade
Merge pull request #98809 from bruvzg/mac_gde_libs_non_uni
[GDExtension] Improve macOS library loading/export.
2024-11-10 12:13:06 -06:00
Thaddeus Crews 7a42ff474e
Merge pull request #98934 from adamscott/shush-web-display-server-complaining-about-vsync-and-screen-kept-on
[Web] Remove warnings when setting vsync mode and screen keep on
2024-11-10 12:13:05 -06:00
Thaddeus Crews 1789ad37bd
Merge pull request #98961 from mihe/natvis-improvements
Add `Ref` and `HashSet` to `godot.natvis`
2024-11-10 12:12:21 -06:00
Thaddeus Crews 5bc5f066e2
Merge pull request #98700 from mhilbrunner/glob-platform-api
Allow multiple platform API files
2024-11-10 12:12:16 -06:00
Fabio Alessandrelli 0c620b29cd [Net] Split Unix/Windows NetSocket implementation 2024-11-10 16:13:50 +01:00
Hein-Pieter van Braam 333452d499 Regenerate X11 wrappers
Version 0.6 of https://github.com/hpvb/dynload-wrapper/ now supports all
of the features we need to generate the wrappers without editing them.

This replaces the hand-patched wrappers with "clean" generated ones.
2024-11-09 02:52:49 +01:00
Anish Mishra b2cb858572 Android: Add app_category "Undefined" 2024-11-08 23:37:27 +05:30
Anish Mishra 6fd8d7b634 Android: Update exported app and editor theme 2024-11-08 22:37:52 +05:30
Rémi Verschelde 6d326547da
Windows: Fix duplicate .exe extension with mingw on Linux/macOS
This old hack is no longer needed and now wrong after #98105.

Fixes #98967.
2024-11-08 16:46:35 +01:00
Mikael Hermansson 9b7c14718b Add `Ref` and `HashSet` to `godot.natvis` 2024-11-08 14:37:43 +01:00
Adam Scott 784558f327
[Web] Remove warnings when setting vsync mode and screen keep on 2024-11-07 14:06:34 -05:00
Thaddeus Crews fa65b70494
Merge pull request #98105 from Repiteo/scons/mingw-shenanigans
SCons: Extend `MinGW` support & checks
2024-11-07 12:36:32 -06:00
Adam Scott 75bf6df49a
Make IME code early return instead 2024-11-07 13:27:29 -05:00
Anish Mishra 6445b6cbdd Android: Fix immersive mode issue 2024-11-07 18:29:25 +05:30
bruvzg 76164c2aa9
[OS] Add functions to determine standard I/O device type. 2024-11-06 13:33:38 +02:00
bruvzg fdde7713a8 Fix IME deactivation events not send on focus loss. Do not unset AltGr modifiers in non-IME input. 2024-11-06 09:47:26 +02:00
Thaddeus Crews 6071c7cd3b
Merge pull request #97250 from Garetonchick/windows-drag-and-drop-fix
Windows: Fix dragging and dropping files from compressed files into editor
2024-11-05 18:36:07 -06:00
Thaddeus Crews b00e1cbf74
Merge pull request #97631 from m4gr3d/prompt_apk_install_after_generation
[Android editor] Enable automatic install of exported apks for the Android editor
2024-11-04 21:52:08 -06:00
Thaddeus Crews 2450dee1bc
Merge pull request #93401 from Repiteo/style/clang-tidy-fixes
Style: Apply `clang-tidy` fixes
2024-11-04 21:52:05 -06:00
Thaddeus Crews 7d950c1567
Merge pull request #98712 from syntaxerror247/android_accent_color
[Android] Implement support for accent color retrieval
2024-11-04 21:52:04 -06:00
Thaddeus Crews 2b49543478
Merge pull request #98709 from darksylinc/matias-upsidedown-splash
Fix splash screen upside down on Android
2024-11-04 21:52:01 -06:00
Thaddeus Crews 56310396db
Merge pull request #98603 from Summersay415/live-is-monochrome
Fix monochrome icon, add warning when it's not specified
2024-11-04 21:51:57 -06:00
Thaddeus Crews bb5f390fb9
Style: Apply `clang-tidy` fixes (superficial)
• `modernize-use-bool-literals`, `modernize-use-nullptr`, and `readability-braces-around-statements`
2024-11-04 12:11:14 -06:00
bruvzg 2d66988f99
[GDExtension] Improve macOS library loading/export. 2024-11-04 09:28:30 +02:00
Anish Mishra 7b866f302f [Android] Implement support for accent color retrieval 2024-11-01 16:19:09 +05:30
Thaddeus Crews be70c2f873
Merge pull request #98350 from syntaxerror247/android-native-filepicker
[Android] Implement native file picker support
2024-10-31 20:14:41 -05:00
Matias N. Goldberg b9a2f108fc Fix splash screen upside down on Android
Fixes an issue introduced in #96439 (see
https://github.com/godotengine/godot/pull/96439#issuecomment-2447288702)

Godot was relying on Java's
activity.getWindowManager().getDefaultDisplay().getRotation(); to apply
pre-rotation but this is wrong.

First, getRotation() may temporarily return a different value from the
correct one; which is what was causing the splash screen to be upside
down. It would return -90 instead of 90 for the first rendered frame.

But unfortunately, the splash screen is just one frame rendered for a
very long time, so the error lingered for a long time for everyone to
see.

Second, to determine what rotation to use, we should be looking at what
Vulkan told us, which is the value we pass to
VkSurfaceTransformFlagBitsKHR::preTransform.

This commit removes the now-unnecessary
screen_get_internal_current_rotation() function (which was introduced by
#96439) and now saves the preTransform value in the swapchain.
2024-10-31 16:52:26 -03:00
Max Hilbrunner 8c5debeaed Allow multiple platform API files 2024-10-31 16:07:01 +01:00
Yevhen Babiichuk (DustDFG) 0ba0093dd6 Remove duplicate of get_build_version
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-31 12:54:23 +02:00
Fredia Huya-Kouadio d699d4b7d4 Update the `production` build argument for Android Studio debug builds
Swappy is required for `production` build which breaks the Android Studio debug builds as those turns on the `production` argument.
This commit updates the logic so that the `production` argument is only used by Android Studio for `release` builds.
2024-10-30 21:15:31 -07:00
Anish Mishra b2130efb31 [Android] Implement native file picker support 2024-10-30 14:53:02 +05:30
Anish Mishra 0dfd18c84b [DisplayServer] Add feature flag for native file dialog access to `user/res` and `options` 2024-10-30 14:13:43 +05:30
Thaddeus Crews 05a4620e88
Merge pull request #98615 from Summersay415/three-opengls-please
Fix fallbacks to OpenGL
2024-10-29 19:25:48 -05:00
Thaddeus Crews 08d8909a65
Merge pull request #98574 from syntaxerror247/android_input_dialog
[Android] Implement native input dialog support
2024-10-29 19:25:37 -05:00
Thaddeus Crews b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Clay John 748f4079e3
Merge pull request #96439 from darksylinc/matias-TheForge-pr03-rebased
Add Swappy & Pre-Transformed Swapchain
2024-10-29 12:34:40 -07:00
Anish Mishra be5d7f757d [Android] Implement native input dialog support 2024-10-29 20:02:08 +05:30
Summersay415 a84292e835 Add warning when monochrome icon is not specified 2024-10-29 21:19:21 +07:00
bruvzg bf9f78c353 [Windows] Fix restoreing fullscreen window. 2024-10-29 09:32:49 +02:00
Fredia Huya-Kouadio af2423ba4d Enable automatic install of export apks for the Android editor 2024-10-28 16:12:16 -07:00
Matias N. Goldberg aaa0e2fddf Add Swappy & Pre-Transformed Swapchain
- Adds Swappy for Android for stable frame pacing
- Implements pre-transformed Swapchain so that Godot's compositor is in
charge of rotating the screen instead of Android's compositor
(performance optimization for phones that don't have HW rotator)

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.

Changes from original PR:

- Removed "display/window/frame_pacing/android/target_frame_rate" option
to use Engine::get_max_fps instead.
- Target framerate can be changed at runtime using Engine::set_max_fps.
- Swappy is enabled by default.
- Added documentation.
- enable_auto_swap setting is replaced with swappy_mode.
2024-10-28 18:55:37 -03:00
jpetersen 4036270f8d Support for XCode 8+ feature PROVISIONING_PROFILE_SPECIFIER
https://developer.apple.com/documentation/xcode/build-settings-reference\#Provisioning-Profile

Used to allow for specific provisioning profile to be specified by name instead of UUID.

Needed to solve this problem where uuid wasn’t disambiguating: https://stackoverflow.com/questions/45051712/signing-app-with-xcodebuild-command-line-with-provisioning-profile-fails

Allows for specification for release and debug versions through environment variables or through export template attributes.

Debug:
EnvironmentVariable: GODOT_IOS_PROFILE_SPECIFIER_DEBUG
Export template: “application/provisioning_profile_specifier_debug”

Release:
EnvironmentalVariable: GODOT_IOS_PROFILE_SPECIFIER_RELEASE
Export Template: “application/provisioning_profile_specifier_release”
2024-10-28 11:37:55 -07:00
Summersay415 6d14cd6ff9 Fix fallbacks to OpenGL 2024-10-28 22:57:19 +07:00
Summersay415 4fd53eb128 Add media permissions 2024-10-28 19:14:20 +07:00
bruvzg 335b42d437 Remove button number limit from Windows dialog_show() implementation. 2024-10-27 16:54:03 +02:00
Thaddeus Crews 07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 -05:00
Thaddeus Crews 17f06f6dae
Merge pull request #97555 from dustdfg/platform_methods/extract_validate_arch
Build System: Extract `validate_arch` helper functions
2024-10-25 13:03:48 -05:00
Adam Scott 0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Thaddeus Crews 1015a481ff
Merge pull request #98431 from lodicolo/4.3-stable_GH_76825
Fix GodotFetch glue code for null response bodies
2024-10-24 13:23:07 -05:00
Thaddeus Crews c278d57233
Merge pull request #98427 from syntaxerror247/document-immersive-mode
Add documentation for Android immersive mode
2024-10-24 13:23:05 -05:00
Thaddeus Crews 1001a8c663
Merge pull request #98380 from RandomShaper/mobile_strict_alias
Android & iOS: Enable strict aliasing
2024-10-24 13:22:55 -05:00
Thaddeus Crews 14d201ab54
Merge pull request #97556 from dustdfg/platforms/windows_detect_extract_common_checks
Extract common check functions in windows_detect.py file
2024-10-24 13:22:40 -05:00
Garetonchick 2bd759964e fix drag-and-drop in windows 2024-10-24 19:43:30 +03:00
Thaddeus Crews 9968828913
SCons: Set appropriate prefix when using clang-cl 2024-10-24 10:22:32 -05:00
Robbie Lodico c7f421ef5f
Fix GodotFetch glue code for null response bodies
The spec says that Response.body can be null (in the event of requests that should have no body, like HEAD requests) and Firefox adheres to it which results in request failure for HEAD requests on Firefox for web exports.

This commit addresses that by treating a null body as an "empty" body (without using a polyfill) and avoids changing the request lifecycle as much as possible.

PR review changes:
- Use == instead of strict ===
- Do not use ?? null
- Comment formatting
2024-10-23 08:10:35 -04:00
Keegan McGonigle 05b266bd89 Fix PWA callback assignment and error handling 2024-10-22 10:28:21 -07:00
Anish Mishra 827961e4e5 Update documentation for Android immersive mode 2024-10-22 22:55:43 +05:30
dan 403e53e1d3 Fix window exiting with no message to user if _create_window fails 2024-10-21 17:31:30 -07:00
Thaddeus Crews 7dbea98c49
Merge pull request #97005 from Repiteo/core/window-corner-style
Core: Add `DisplayServer` flag for sharp corners
2024-10-21 16:39:25 -05:00
Pedro J. Estébanez c1fd4df3e4 Android & iOS: Enable strict aliasing 2024-10-21 13:33:42 +02:00
Thaddeus Crews f8c4a683d7
Core: Add `DisplayServer` flag for sharp corners 2024-10-18 11:20:21 -05:00
Yevhen Babiichuk (DustDFG) af6d260c17 Don't include `core/io/image.h` in `core/os/os.h`
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot

Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`

^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Clay John 14fc9a545c
Merge pull request #98230 from and-rad/android_permissions
Fix Android app permissions for SDK levels earlier than 28
2024-10-17 21:26:27 -07:00
Thaddeus Crews 30a2a800dd
Merge pull request #98127 from darksylinc/matias-wayland-build-error
Fix wrong Wayland path if building with opengl3=no
2024-10-16 14:16:02 -05:00
Thaddeus Crews 6ccff9b009
Merge pull request #98126 from TCROC/macos-codesign-additional-entitlements
Additional macOS codesign entitlements and print verbose
2024-10-16 14:16:01 -05:00
Andreas Raddau 90c35f3978 Fix Android app permissions for SDK levels earlier than 28 2024-10-16 12:47:18 +02:00
Travis Lange 5777a3fed5 added ability to add extra codesign entitlements for macos from godot editor 2024-10-13 09:33:42 -04:00
Matias N. Goldberg 0818408db5 Fix wrong Wayland path if building with opengl3=no
Godot checks if there's Vulkan or GLES3 support.
If no support is found, it shows an error message.

However the code for this error message is left out when building with
opengl3=no
2024-10-12 20:20:12 -03:00
Thaddeus Crews d4dddd00cb
SCons: Extend `MinGW` support & checks 2024-10-11 14:24:00 -05:00
Thaddeus Crews a44f691fc7
CI: Add MinGW/GCC build to Windows GHA 2024-10-10 10:10:55 -05:00
Yevhen Babiichuk (DustDFG) 7aacdaa071 Build System: Extract `validate_arch` helper function
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-06 07:50:49 +03:00
Rémi Verschelde b0d512636c
Merge pull request #97570 from dustdfg/ios_macos/print_warning_instead_of_comments
Replace comments with printed warning for Metal on x86_64
2024-10-04 22:43:46 +02:00
David Snopek 256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 -05:00
Rémi Verschelde 3576e840c7
Merge pull request #97789 from bruvzg/ios_icons
[iOS] Add support for dark and tinted icon versions.
2024-10-04 17:18:22 +02:00
bruvzg 4c520e9400
[iOS] Add support for dark and tinted icon versions. 2024-10-04 14:00:27 +03:00
Rémi Verschelde 36837bfb5d
Merge pull request #91487 from shatyuka/window-style
Apply `WS_MINIMIZE` style on window creation
2024-10-04 12:58:34 +02:00
Rémi Verschelde c28dd316a9
Merge pull request #97757 from bruvzg/max_move_screen
Fix `window_set_current_screen` for maximized windows.
2024-10-04 11:22:10 +02:00
Rémi Verschelde 5ac62a6863
Merge pull request #97743 from bruvzg/has_kbd
[DisplayServer] Implement `has_hardware_keyboard` method for Android and iOS.
2024-10-04 11:22:02 +02:00
Rémi Verschelde dedb2ff217
Merge pull request #97678 from bruvzg/fix_nd_menu
[macOS] Fix menu crash when used from opened native dialog.
2024-10-04 11:21:54 +02:00
Rémi Verschelde 98deb2a000
Merge pull request #90400 from DarioSamo/transfer_and_pipelines
Ubershaders and pipeline pre-compilation (and dedicated transfer queues).
2024-10-03 15:27:11 +02:00
bruvzg d2f3725120
Fix window_set_current_screen for maximized windows. 2024-10-03 10:38:32 +03:00
Dario e2c6daf7ef Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
bruvzg 25f439c573
[DisplayServer] Implement has_hardware_keyboard method for Android and iOS. 2024-10-02 20:09:48 +03:00
Adam Scott 7a634ad2d4
[Web] Make audio bus fetching more resilient to errors 2024-10-02 11:24:57 -04:00
Rémi Verschelde 6388314dcc
Merge pull request #97645 from adamscott/fix-pwa-reloading-page
Fix web export infinite reload issue
2024-10-02 15:01:16 +02:00
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
bruvzg 4c8f8e6980
[macOS] Fix menu crash when used from opened native dialog. 2024-10-01 08:30:30 +03:00
Adam Scott 4431af9153
Fix web export infinite reload issue 2024-09-30 11:27:43 -04: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
Yevhen Babiichuk (DustDFG) 1abcfdda85 Replace comments with printed warning for Metal on x86_64
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-28 08:28:33 +03:00
Yevhen Babiichuk (DustDFG) 9c50312f0d Extract common check functions in windows_detect.py file
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-27 21:15:33 +03: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
Thaddeus Crews df0a88b128
SCons: Fix `clang-cl` link/ar flags 2024-09-10 13:48:53 -05:00
bruvzg 2c991a727b [Windows] Only use long executable path when necessary, fix broken apksigner detection. 2024-09-10 10:34:44 +03:00
Rémi Verschelde 9fb54b7d1d
Merge pull request #96747 from bruvzg/fix_ar_det
[MinGW] Fix GCC ar detection.
2024-09-09 17:51:56 +02:00
Rémi Verschelde 07c395191c
Merge pull request #96697 from devloglogan/long-press-fix
Disable some android editor settings by default on XR devices
2024-09-09 17:51:49 +02:00
devloglogan 16e1d8a81b Disable some editor settings by default in the XR Editor 2024-09-09 07:15:15 -05:00
bruvzg b1f9271e49
[MinGW] Fix GCC ar detection. 2024-09-09 11:01:29 +03:00
Rémi Verschelde d0dc3896ad
Merge pull request #96714 from Riteo/dont-ask-me-why-they-are-different
Wayland: Make primary selection logic consistent with main clipboard
2024-09-08 23:22:26 +02:00
Rémi Verschelde c948541b14
Merge pull request #96669 from bruvzg/win_app
Reenable macOS .app export from Windows, add warnings about Unix permissions.
2024-09-08 23:22:08 +02:00
Riteo 26d89bc8e9 Wayland: make primary selection logic consistent with main clipboard 2024-09-08 16:48:41 +02:00
bruvzg 1f0b1220d2
Reenable macOS .app export from Windows, add warnings about Unix permissions. 2024-09-07 01:12:10 +03:00
Rémi Verschelde 0e9950bde1
Merge pull request #96624 from m4gr3d/android_editor_improvements
[Android editor] Improve support for XR projects
2024-09-06 22:38:50 +02:00
bruvzg 10f3c1f587
Add support for non-blocking IO mode to `OS.execute_with_pipe`. 2024-09-06 14:16:39 +03:00
Rémi Verschelde 2c733cbf1c
Merge pull request #95885 from bruvzg/macos_arch
[macOS] Use per-architecture min. OS version for export.
2024-09-06 11:11:01 +02:00
Fredia Huya-Kouadio 9dc0543da7 Improve support for XR projects 2024-09-06 00:35:50 -07:00
Rémi Verschelde 82799d7687
Merge pull request #96526 from bruvzg/win_env
[Windows] Use the same API for all `OS_Windows::*_environment` functions.
2024-09-04 18:55:46 +02:00
Rémi Verschelde 4ab358481b
Merge pull request #96340 from m4gr3d/update_pip_mode_options
[Android Editor] Update the options for launching the Play window in PiP mode
2024-09-04 18:55:35 +02:00
Rémi Verschelde 3cc99d3e31
Merge pull request #95983 from bruvzg/win_fd_opt_fix
[Windows] Emit native file dialog callback from event loop, fix selected options not saved.
2024-09-04 17:11:57 +02:00
Rémi Verschelde 9abf86f4fe
Merge pull request #96540 from hunterkepley/fix-wayland-middlemouse-paste
Wayland: Fix primary clipboard handling
2024-09-04 11:16:42 +02:00
Rémi Verschelde 8eff04192b
Merge pull request #91780 from Riteo/falling-with-style
Improve UX when falling back between Display Servers
2024-09-04 11:16:08 +02:00
hunterkepley 7949585aad Wayland: Fix primary clipboard handling 2024-09-03 22:39:54 -04:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
bruvzg 319bfa9965
[Windows] Use the same API for all `OS_Windows::*_environment` functions. 2024-09-03 16:02:35 +03:00
Rémi Verschelde 657dc363ef
Merge pull request #96182 from dsnopek/java-class-wrapper
Fix `JavaClassWrapper` so it actually works
2024-09-03 11:43:35 +02:00
Rémi Verschelde 262c8da104
Merge pull request #95887 from bruvzg/sysinfo_drv
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-03 11:43:12 +02:00
David Snopek 78883a52c6 Fix `JavaClassWrapper` so it actually works 2024-09-02 08:54:23 -05:00
Rémi Verschelde 109fafc7a4
Merge pull request #96383 from dsnopek/gdextension-pdb-missing-error
GDExtension: Show warning on missing PDB file, rather than error
2024-09-02 12:13:34 +02:00
Rémi Verschelde 0b19125b18
Merge pull request #96365 from m4gr3d/fix_android_build_with_openxr_disabled
Fix Android builds when OpenXR is disabled
2024-09-02 12:13:26 +02:00
Rémi Verschelde 527c716784
Merge pull request #92167 from BlueCube3310/file-access-the-final-season-part3-ep2
Reduce code duplication in FileAccess
2024-09-02 12:12:42 +02:00
Fredia Huya-Kouadio d1891adced Enable `BUTTON_FORWARD` and `BUTTON_BACK` mouse buttons on Android 2024-09-01 11:01:49 -07:00
bruvzg c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +03:00
BlueCube3310 205a10e0ae Reduce code duplication in FileAccess 2024-09-01 12:39:32 +02:00
Alvin Wong 28b95ff550 Remove ARFLAGS hack for Windows, replace with TEMPFILE
TEMPFILE is the built-in way of SCons to use a response file for command
lines that are too long.
2024-09-01 04:10:30 +08:00
Alvin Wong 35a8ff9284 mingw: Only use `ar --thin` on supported versions
The flag is supported since Binutils 2.38 [1] or LLVM 14 [2].

[1]: https://sourceware.org/bugzilla/show_bug.cgi?id=28759
[2]: dd6e7e0d57
2024-09-01 02:13:31 +08:00
David Snopek 760099ca6f GDExtension: Show warning on missing PDB file, rather than error 2024-08-31 07:45:06 -05:00
Fredia Huya-Kouadio 92ffa93c58 Fix Android builds when OpenXR is disabled 2024-08-30 23:11:50 -07:00
Fredia Huya-Kouadio 11d4df4bc3 Update the options for launching the Play window in PiP mode 2024-08-30 10:31:33 -07:00
Rémi Verschelde b128e71383
Merge pull request #96208 from m4gr3d/cleanup_immersive_logic
Restore fullscreen toggle menu for the Android editor and clean up the immersive mode logic
2024-08-30 09:59:27 +02:00
Rémi Verschelde 0897d830fe
Merge pull request #96204 from bruvzg/fd_no_case
[Linux] Make file filters case insensitive.
2024-08-30 09:59:23 +02:00
Rémi Verschelde 66dd06837c
Merge pull request #90782 from bruvzg/export_platform_extension
Allow adding custom export platforms using scripts / GDExtension.
2024-08-30 09:58:52 +02:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
Rémi Verschelde 526b35c929
Merge pull request #96254 from raulsntos/android/keyStore.isEmpty()
[Android] Check if `keyStore` path is empty
2024-08-29 10:36:49 +02:00