1
0
Fork 0
Commit Graph

7101 Commits

Author SHA1 Message Date
Stuart Carnie 8c8d6de3e7 Apple: Add pthread implementation of `Thread` class
This allows Apple platforms to override the default stack size of
a thread in the WorkerThreadPool, which is 512KiB by default.

This must be increased, as SPIRV-Cross, used by the Metal driver, can
use deeply nested stacks, as can debug builds.
2025-04-10 09:35:40 +10:00
Thaddeus Crews 7a6c3b309f
Merge pull request #105130 from bruvzg/uri_fix_plus
Add uri_file_decode to handle + in file names.
2025-04-09 18:11:56 -05:00
nikitalita 2d0ae77719 add GDSOFTCLASS to FileAccess and DirAccess derived classes 2025-04-09 11:52:50 -07:00
Thaddeus Crews a8598cd8e2
Merge pull request #71542 from bruvzg/export_project_settings
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-09 08:51:47 -05:00
Thaddeus Crews 4362b11557
Merge pull request #103405 from van800/shakhov/macosx
Fix `.sln` project generation logic for Rider to support all OS and all C++ toolchains
2025-04-09 08:51:45 -05:00
bruvzg c6739f64df
[Export] Use project settings overrides with the target preset features instead of current platform features. 2025-04-08 21:22:37 +03:00
Thaddeus Crews 295c0f5bd2
Merge pull request #105129 from Riteo/soft-serve
Wayland: Fix error spam for closed windows
2025-04-08 12:32:48 -05:00
Thaddeus Crews e6a61b1ecc
Merge pull request #76829 from bruvzg/ac_kit_direct
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 -05:00
Thaddeus Crews 95dc68c8c6
Merge pull request #105107 from bruvzg/min-max-flag
Add separate `minimize_disabled` and `maximize_disabled` window flags.
2025-04-08 12:32:44 -05:00
Thaddeus Crews d98c3f5ffe
Merge pull request #104333 from Mickeon/documentation-even-more-miscellaneous-oddities
Fix *even* more miscellaneous oddities around the class reference
2025-04-08 12:32:41 -05:00
Pāvels Nadtočajevs 4310cb82b8
AccessKit integration for macOS, Linux, and Windows. 2025-04-08 20:25:47 +03:00
Ivan Shakhov 6ff86e49cf Fix .sln project generation logic for Rider to support all OS and all C++ toolchains
Co-authored-by: Andreia Gaita <shana@spoiledcat.net>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-04-08 15:40:05 +02:00
Pāvels Nadtočajevs 9abe2e5294
Add `uri_file_decode` to handle `+` in file names. 2025-04-07 23:49:17 +03:00
Alex cd68034e01 Add configuration option to disable `Scroll Deadzone` on Android 2025-04-07 22:15:31 +02:00
Riteo 36d96f7f37 Wayland: Fix error spam for closed windows
I ported the new softclass macro too blindly. Apparently the various
window messages did not cast properly, skipping some important "deleted
window" checks.
2025-04-07 20:22:08 +02:00
Pāvels Nadtočajevs f37fb49739
Add separate `minimize_disabled` and `maximize_disabled` window flags. 2025-04-07 18:58:11 +03:00
Micky 7603945d14 Fix *even* more miscellaneous oddities around the class reference 2025-04-07 17:37:08 +02:00
Thaddeus Crews 1b9f269700
Merge pull request #105015 from syntaxerror247/improve-touchActionsPanel
Android Editor: Add an editor setting to enable/disable `TouchActionsPanel`
2025-04-07 08:43:24 -05:00
Anish Mishra b462db5adb Android: Hardware keyboard connection status callback
Adds a DisplayServer method to register hardware keyboard connection change callback.
2025-04-05 08:14:29 +05:30
Riteo 84d3adcf2f Wayland: Implement native sub-windows
The backend is now mature enough to not explode with multiple windows
but the `DisplayServer` API still cannot meet some guarantees required
by the various Wayland protocols we use. To meet those guarantees this
patch adds three new elements to the DisplayServer API, with relative
handling logic for `Window` and `Popup` nodes:

 - `WINDOW_EVENT_FORCE_CLOSE`, which tells a window to *forcefully*
close itself and ensure a proper cleanup of its references, as Wayland
enforces this behavior;

 - `WINDOW_FLAG_POPUP_WM_HINT`, which explicitly declares a window as a
"popup", as Wayland enforces this distinction and heuristics are not
reliable enough;

 - `FEATURE_SELF_FITTING_WINDOWS`, which signals that the compositor can
fit windows to the screen automatically and that nodes should not do
that themselves.

Given the size of this feature, this patch also includes various
`WaylandThread` reworks and fixes including:

 - Improvements to frame wait logic, with fixes to various stalls and a
configurable (through a `#define`) timeout amount;

 - A proper implementation of `window_can_draw`;

 - Complete overhaul of pointer and tablet handling. Now everything is
always accumulated and handled only on each respective `frame` event.
This makes their logic simpler and more robust.

 - Better handling of pointer leaving and pointer enter/exit event
sending;

 - Keyboard focus tracking;

 - More solid window references using IDs instead of raw pointers as
windows can be deleted at any time;

 - More aggressive messaging to window nodes to enforce rects imposed by
the compositor.
2025-04-04 20:23:25 +02:00
Thaddeus Crews 6bd249a4c2
Merge pull request #104850 from Repiteo/core/warning-macros
Core: Integrate warning suppression macro helpers
2025-04-03 16:50:22 -05:00
Pāvels Nadtočajevs 65129d2aa2
[macOS] Fix native menu submenu items have wrong action and accelerators set. 2025-04-03 18:47:23 +03:00
Thaddeus Crews 207a2b6472
Core: Integrate warning suppression macro helpers 2025-04-03 10:13:46 -05:00
Thaddeus Crews 6392241742
Merge pull request #104959 from bruvzg/kde_swap
Linux: Detect KDE/LXQt and swap OK/Cancel buttons to Windows style.
2025-04-03 09:27:56 -05:00
Pāvels Nadtočajevs 52009b52d2
Detect KDE/LXQt and swap OK/Cancel buttons to Windows style. 2025-04-03 12:47:11 +03:00
Aaron Franke 2800948d61
Organize ifdefs for disabling navigation, physics, and XR 2025-04-02 08:24:24 -07:00
Thaddeus Crews 1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews f25fc34439
SCons: Add `CPPEXTPATH` for external includes 2025-04-02 07:29:08 -05:00
Yufeng Ying 4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
Pāvels Nadtočajevs 4638ade13f
Enable TTS on demand, instead of fully disabling it when project setting is not set. 2025-04-01 15:24:46 +03:00
Thaddeus Crews abd565eb19
Merge pull request #104844 from Ivorforce/gdsoftclass
Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`.
2025-03-31 19:02:03 -05:00
Lukas Tenbrink fa0a3c9c6e Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS`. 2025-03-31 20:49:50 +02:00
Fredia Huya-Kouadio 19700dacdf Add maven publishing configuration for Godot tools
The Godot Android library on MavenCentral is a `template` build; this updated configuration adds a new 'Godot Tools' publishing artifact, allowing developers access to the `editor` build of the Godot Android library.
2025-03-31 10:29:06 -07:00
Thaddeus Crews 64f80ca0e9
Merge pull request #104810 from kiroxas/utf8_cleanup
Replace `append_utfx` with direct `String::utfx`
2025-03-31 12:03:44 -05:00
Kiro 23129a66ed Replace append_utfx with direct String::utfx 2025-03-30 19:56:38 +02:00
LuoZhihao 138e990262 Replace the deprecated version macro 2025-03-30 18:00:19 +08:00
Thaddeus Crews 780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
Thaddeus Crews 7a28334596
SCons: Ensure MinGW as fallback if missing MSVC 2025-03-29 10:14:20 -05:00
Rémi Verschelde be1333dc0a
Merge pull request #97002 from bruvzg/mbchar_iconv
Add methods to decode/encode multibyte encodings.
2025-03-28 17:29:47 +01:00
Rémi Verschelde 3b90bb56ad
Merge pull request #89782 from KoBeWi/stdArrayList
Use initializer list in Arrays
2025-03-28 17:29:40 +01:00
bruvzg 48bfe13e4f
Add methods to decode/encode multibyte encodings. 2025-03-28 17:32:34 +02:00
Rémi Verschelde 0419c92705
Merge pull request #104644 from bruvzg/macos_sync_mb
[macOS] Release keys and regenerate mouse events after native popup menu tracking.
2025-03-28 14:33:34 +01:00
Rémi Verschelde 3f82efa65d
Merge pull request #104613 from zaevi/caching_csharp_tfm_validation
[.NET] Add caching for dotnet TFM validation result
2025-03-28 14:33:14 +01:00
Rémi Verschelde e9d827b440
Merge pull request #103173 from m4gr3d/fix_prebuilt_manifest_config
Updates and fixes to the Android prebuilt export logic
2025-03-28 14:31:57 +01:00
Rémi Verschelde fceae7ed89
Merge pull request #103000 from rburing/tell_me_WHICH_keystore
When code signing, specify which keystore is not found
2025-03-28 14:31:52 +01:00
Rémi Verschelde 0a502d31dc
Merge pull request #94689 from Cliear/master
[Windows] Fix issue where newly created window incorrectly acquired the popup property.
2025-03-28 14:31:05 +01:00
Cliear 9dfa751425 [Windows] Fixed the issue where newly created window incorrectly acquired the popup property on Windows. 2025-03-28 04:10:03 +08:00
Lukas Tenbrink ffa6ef220b Use `append_` instead of `parse_` for `String` methods. 2025-03-27 17:51:02 +01:00
Pāvels Nadtočajevs 5665e55f9a
[macOS] Fix running with `DisplayServerHeadless`. 2025-03-27 15:08:07 +02:00
Pāvels Nadtočajevs e00b7dc72d
[Windows] Fix borderless maximized window mode. 2025-03-27 10:19:07 +02:00
kobewi 75881f8322 Use initializer list in Arrays 2025-03-26 18:38:15 +01:00
Zae e3373ed0a4 Add caching for dotnet TFM validation result 2025-03-26 22:43:17 +08:00
Pāvels Nadtočajevs d1edf66a13
[macOS] Release keys and regenerate mouse events after native popup menu tracking. 2025-03-26 12:18:55 +02:00
Pāvels Nadtočajevs 698ff2a192
[macOS] Fix cleanup with some command line tools. 2025-03-25 18:41:20 +02:00
Thaddeus Crews c3ecb72c3a
Merge pull request #104397 from bruvzg/mac_main_loop
[macOS] Replace custom main loop with `[NSApp run]` and `CFRunLoop` observer.
2025-03-25 11:09:02 -05:00
Thaddeus Crews bf1c2583f4
Merge pull request #101954 from bruvzg/uid_deref
[Export] Convert `uid://` names to `res://` when exporting files.
2025-03-24 10:01:07 -05:00
Thaddeus Crews d35e22ff22
Merge pull request #104415 from zlago/patch-1
Export: Change unportable `echo` in the Linux/macOS debug launcher script
2025-03-24 10:00:57 -05:00
Pāvels Nadtočajevs a317ce75a6
[macOS] Replace custom main loop with `[NSApp run]` and `CFRunLoop` observer. 2025-03-24 10:31:16 +02:00
Thaddeus Crews 1cb3cfaa8e
Style: Convert namespaces to PascalCase 2025-03-23 19:10:24 -05:00
Thaddeus Crews f09ee0171a
Style: Begin integrating simple `.clangd` fixes 2025-03-22 13:24:35 -05:00
zlago 7e0ede1a16 change unportable `echo` in the linux/macos debug launcher script
`-n` and `-e` are not guaranteed to be supported by posix `echo`
2025-03-21 17:31:37 +01:00
Rémi Verschelde f7dfd64cc0
Merge pull request #104409 from syntaxerror247/mute-game
Add support for `Mute Game` toggle in the Android Editor
2025-03-21 13:04:15 +01:00
Rémi Verschelde 3e3cf292bd
Merge pull request #104377 from Mickeon/translation-slight-duplicates
Tweak a few miscellaneous localization strings
2025-03-21 13:04:08 +01:00
Anish Mishra afe68f672f Add support for "Mute Game" toggle in the Android Editor 2025-03-21 01:33:38 +05:30
Rémi Verschelde 622dbe3713
Web: Fix editor build after `#pragma once` refactoring 2025-03-20 18:43:16 +01:00
Micky 5d794f83ed Tweak a few miscellaneous localization strings 2025-03-20 13:12:44 +01:00
Pāvels Nadtočajevs f3b6a4009d
[Export] Convert `uid://` names to `res://` when exporting files. 2025-03-19 16:58:52 +02:00
kobewi 10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
Rémi Verschelde 0648f55276
Merge pull request #104328 from Grublady/popup-mouse-enter
Update mouse-entered state when subwindow closes (macOS display server)
2025-03-19 12:27:30 +01:00
Rémi Verschelde 2fa721b1bc
Merge pull request #104127 from Ivorforce/360-noclip
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
Rémi Verschelde a117a2b09c
Merge pull request #101980 from bruvzg/init_scale
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init.
2025-03-19 12:26:33 +01:00
Rémi Verschelde b2950e8138
Merge pull request #101904 from bruvzg/win_export_update_icon_cache
Update Windows icon cache after export.
2025-03-19 12:26:26 +01:00
Pāvels Nadtočajevs f6891b0305
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init. 2025-03-19 11:23:04 +02:00
Thaddeus Crews 89a2f3634c
Merge pull request #103857 from bruvzg/macos_trans_b
[macOS] Enable transparency for windows with decorations.
2025-03-18 14:42:54 -05:00
Thaddeus Crews d6aef7a1ba
Merge pull request #103872 from bruvzg/mac_f_lk
[macOS/iOS] Fix system font family descriptor leak.
2025-03-18 14:42:53 -05:00
Thaddeus Crews 8774c608ff
Merge pull request #95606 from Hilderin/fix-unfocused-windows-cant-be-dragged
Fix unfocused windows can't be dragged
2025-03-18 14:42:42 -05:00
Grublady f3c54c1a32 Update mouse-entered state when subwindow closes (macOS display server) 2025-03-18 15:25:03 -04:00
Thaddeus Crews 83cf424b5f
SCons: Expand `NoCache` coverage 2025-03-18 09:54:55 -05:00
Anish Mishra f3155412af Convert `compress_native_libraries` to a basic export option 2025-03-18 12:26:25 +05:30
Thaddeus Crews ea62170dac
Core: Add `constexpr` constructors/operators to math structs
• Begin integrating `constexpr` on math tests; use `static_assert` where appropriate
2025-03-17 12:15:31 -05:00
Thaddeus Crews 49fcd4ce46
Merge pull request #101546 from bruvzg/portal_color_picker
[Linux] Implement native color picker.
2025-03-17 10:52:29 -05:00
Thaddeus Crews 54278a48e7
SCons: Restore hardcoded build path on Android 2025-03-15 23:26:01 -05:00
Thaddeus Crews 863a5ff139
Merge pull request #101641 from Repiteo/scons/separate-build-dir-emitter
SCons: Add emitter to declutter build objects
2025-03-15 19:42:44 -05:00
Thaddeus Crews 70f3d9aff5
Merge pull request #104156 from dsnopek/javaclasswrapper-dictionary-redux
JavaClassWrapper: Fix mistake in last fix for `org.godotengine.godot.Dictionary` conversion
2025-03-15 19:42:41 -05:00
Thaddeus Crews c8b00c03fd
SCons: Fix broken msvc conditional 2025-03-15 18:14:52 -05:00
Thaddeus Crews 10ed66f28c
SCons: Add emitter to declutter build objects 2025-03-15 12:08:24 -05:00
Lukas Tenbrink a23f630781 Remove `String` clipping constructors.
Callers should instead call constructors with explicit encoding names, with known length `Span`.
2025-03-15 12:34:44 +01:00
Fredia Huya-Kouadio 845c925b67 Add support for export plugins to modify the Android prebuilt manifest 2025-03-14 16:05:09 -07:00
David Snopek 2091899d55 JavaClassWrapper: Fix mistake in last fix for `org.godotengine.godot.Dictionary` conversion 2025-03-14 18:01:12 -05:00
Thaddeus Crews cf4ebb63a0
Merge pull request #104109 from Ivorforce/resize-zeroed
Use `resize_zeroed` instead of `resize` then `fill(0)` in several places.
2025-03-14 10:06:10 -05:00
Lukas Tenbrink f4de2cd22a Use `resize_zeroed` instead of `resize` then `fill(0)` in several places. 2025-03-14 12:09:39 +01:00
Pāvels Nadtočajevs 18f6c33d72
[DisplayServer] Implement `get_accent_color` on Linux. 2025-03-14 09:05:03 +02:00
Rémi Verschelde 28451c001a
Merge pull request #103815 from bruvzg/x11_fd_cond
[X11] Fix native dialog parent selection condition.
2025-03-14 00:08:45 +01:00
Thaddeus Crews c1b7865ae9
Merge pull request #103557 from aaronfranke/godot-version-defines
Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp
2025-03-13 08:57:42 -05:00
Thaddeus Crews 6e5ec1920a
Merge pull request #103788 from Grublady/mac_mouse_tracking
Fix macOS mouse tracking in tooltip popups
2025-03-13 08:57:34 -05:00
Aaron Franke 97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07:00
Thaddeus Crews be429eb404
SCons: Make builders prettier, utilize `constexpr` 2025-03-11 18:31:20 -05:00
Thaddeus Crews 1aefcf77af
Merge pull request #88852 from bruvzg/borderless_hack
[Windows] Remove visible WINDOW_MODE_FULLSCREEN border by setting window region.
2025-03-11 16:54:08 -05:00
Thaddeus Crews 77e9f55c51
Merge pull request #102676 from adamscott/add-web-library-emitter
[Web] Add library emitter to make sources dependent of compiler version
2025-03-11 16:53:53 -05:00
Thaddeus Crews 4f0cbc9a58
Merge pull request #103864 from Repiteo/scons/simplify-msvc
SCons: Simplify Windows/MSVC detection
2025-03-11 14:01:02 -05:00
Thaddeus Crews e9e4760335
Merge pull request #83538 from bruvzg/size_and_at
[FileAccess] Implement `get_size` and `get_access_time` methods.
2025-03-11 14:00:58 -05:00
Thaddeus Crews d64a94c1f5
Merge pull request #102910 from syntaxerror247/hiding-something
Hide debug keystore export settings
2025-03-11 14:00:45 -05:00
Thaddeus Crews 0bb1f138f2
Merge pull request #100525 from adamscott/set-closure-language-to-default
Remove custom `--language-in` arg for the Closure compiler
2025-03-11 14:00:35 -05:00
bruvzg db7c94bd65
[Windows] Remove visible WINDOW_MODE_FULLSCREEN border by setting window region. 2025-03-11 20:50:55 +02:00
Thaddeus Crews 56bc9bc2f4
Merge pull request #102984 from syntaxerror247/volume-buttons
Android: enable support for volume button events
2025-03-11 09:34:46 -05:00
Thaddeus Crews dcbddb64d5
Merge pull request #103571 from timothyqiu/wrap-not-found
Improve error message from `JavaClassWrapper.wrap()`
2025-03-11 09:34:45 -05:00
Thaddeus Crews 991d01fb52
Merge pull request #103891 from shahriarlabib000/update_readme
Update logo/run icon path in platform READMEs
2025-03-10 21:05:55 -05:00
Thaddeus Crews 8d1c1c5867
Merge pull request #92476 from AThousandShips/string_remove_char
Add `String::remove_char(s)` methods for performance and convenience
2025-03-10 10:01:04 -05:00
Thaddeus Crews a5acf1dc81
Merge pull request #101174 from Repiteo/style/objc-import-syntax
Style: Standardize Obj-C `#import` syntax
2025-03-10 10:01:02 -05:00
A Thousand Ships 331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience 2025-03-10 13:19:28 +01:00
shahriarlabib000 25a8b808d3 update logo/run icon path in README 2025-03-10 12:03:41 +06:00
Pāvels Nadtočajevs c5dcecc6f7
[macOS/iOS] Fix system font family descriptor leak. 2025-03-09 20:57:57 +02:00
Thaddeus Crews 4505352021
SCons: Simplify Windows/MSVC detection 2025-03-09 10:45:32 -05:00
bruvzg 85d3be8070
[FileAccess] Implement `get_size` and `get_access_time` methods. 2025-03-09 16:07:00 +02:00
Thaddeus Crews cae3d722a3
Merge pull request #99321 from AThousandShips/use_get_slicec
Use `get_slicec` instead of `get_slice` for single character splitters
2025-03-09 09:05:29 -05:00
Thaddeus Crews 2324805fdc
Merge pull request #103773 from Calinou/windows-low-processor-mode-sleep-cpu
Use more efficient sleep approach on Windows when low-processor mode is enabled
2025-03-09 09:05:27 -05:00
Pāvels Nadtočajevs a144d93b43
[macOS] Enable transparency for windows with decorations. 2025-03-09 13:49:53 +02:00
风青山 7fd154c4b4
Set `unsupported` to true on error in `FreeDesktopScreenSaver`
This avoids possible memory leaks when the editor exits.
2025-03-09 11:10:27 +08:00
A Thousand Ships 466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters 2025-03-08 20:36:37 +01:00
Grublady 8fd5de438f Use NSTrackingActiveWhenFirstResponder 2025-03-08 13:22:10 -05:00
Thaddeus Crews 713a1ba554
Style: Standardize Obj-C `#import` syntax 2025-03-08 09:28:34 -06:00
Pāvels Nadtočajevs fe38504aa0 [X11] Fix native dialog parent selection condition. 2025-03-08 16:28:25 +02:00
Thaddeus Crews 324512e11c
Style: Replace header guards with `#pragma once` 2025-03-07 17:33:47 -06:00
Thaddeus Crews 96fdaa616b
Style: Integrate `#pragma once` in builders/checks 2025-03-07 17:32:33 -06:00
Thaddeus Crews 67d4a245d8
Merge pull request #103267 from YeldhamDev/reality_got_too_extended
Allow to compile the engine without XR support
2025-03-07 15:12:54 -06:00
Thaddeus Crews 3d9b37911d
Merge pull request #103011 from Repiteo/style/svgo-newline
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 -06:00
Thaddeus Crews 3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -06:00
Thaddeus Crews 0c8f4f3d91
Merge pull request #97908 from atlasapplications/just-linux-bionic
Add `linux-bionic` RID export option
2025-03-07 15:12:32 -06:00
Thaddeus Crews c937b6d180
Merge pull request #102419 from Ivorforce/std-size
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
Thaddeus Crews d9125ebebe
Merge pull request #101293 from Ivorforce/string-to-pointer-conversion
Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers.
2025-03-07 15:12:12 -06:00
Thaddeus Crews dadfcd1ff2
Merge pull request #95776 from Calinou/crash-handler-linuxbsd-simplify-file-path
Simplify the printed file paths in the Linux/*BSD crash handler
2025-03-07 15:12:10 -06:00
Thaddeus Crews 5788e436d3
Merge pull request #95049 from Grublady/mac_system_color
Use windowBackgroundColor instead of controlColor for macOS system base color
2025-03-07 12:06:33 -06:00
Hugo Locurcio 03b4e0dd58
Use more efficient sleep approach on Windows when low-processor mode is enabled
This aims to fix the idle CPU utilization regression from 4.3 to 4.4
by reverting to the previous approach, but only when low-processor mode
is enabled.
2025-03-07 18:06:41 +01:00
A Thousand Ships 5113022dfe
Clean up some uses of `String::substr`
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
David Snopek f52b2e4db4 JavaClassWrapper: Fix conversion to/from `org.godotengine.godot.Dictionary` that regressed 2025-03-06 17:35:01 -06:00
Thaddeus Crews 5e77d93781
Merge pull request #98194 from bruvzg/fd_parent
Improve native file dialog parent window selection.
2025-03-06 16:36:27 -06:00
Thaddeus Crews 85d39e0765
Merge pull request #103590 from bruvzg/ios_enum
[iOS export] Restore one-click deploy device enumeration using Xcode.
2025-03-06 16:36:15 -06:00
bruvzg 3e4e6e6c0c Improve native file dialog parent window selection. 2025-03-06 17:15:39 +02:00
Grublady 2b16d4e002 Use windowBackgroundColor instead of controlColor for macOS system base color
Per Apple Developer Documentation:
windowBackgroundColor: "The color to use for the window background."
controlColor: "The color to use for the flat surfaces of a control."

Godot's base_color more closely corresponds to windowBackgroundColor.
In some cases, controlColor may even return values that are not appropriate for use as a base color.
2025-03-05 15:01:27 -05:00
Thaddeus Crews 07220f75c5
Merge pull request #103384 from bruvzg/andr_font_v
[Android] Skip non-existing system font files.
2025-03-05 12:07:59 -06:00
Thaddeus Crews 8ef0075193
Merge pull request #102817 from dsnopek/java-class-wrapper-array-improvements
JavaClassWrapper: Improve handling of typed array arguments
2025-03-05 12:07:44 -06:00
Thaddeus Crews b4e86825c4
Merge pull request #103375 from dsnopek/java-class-wrapper-more-array-improvements
JavaClassWrapper: Fix converting returned arrays to Godot types
2025-03-05 12:07:43 -06:00
Thaddeus Crews 1f2d135444
Merge pull request #103526 from jamie-pate/fix_103522
Fix check for is_maximized in x11 to require both horizontal and vert
2025-03-05 12:07:41 -06:00
Pāvels Nadtočajevs 4187c48a15 [iOS export] Restore one-click deploy device enumeration using Xcode. 2025-03-04 21:37:47 +02:00
Haoyu Qiu 554aa6ad95 Improve error message from JavaClassWrapper.wrap() 2025-03-04 21:14:05 +08:00
Pāvels Nadtočajevs 6ed12bfc5d [Linux/BSD] Offload RenderingDevice creation test to subprocess. 2025-03-04 13:18:26 +02:00
Rémi Verschelde 1753893c60
Merge pull request #103523 from akien-mga/android-fix-disable_3d
Android: Fix build with `disable_3d`
2025-03-04 01:02:46 +01:00
Rémi Verschelde c301b2ad9a
Merge pull request #103419 from Alex2782/fix_issue_96770
Fix crash after changing device language
2025-03-04 01:02:27 +01:00
Rémi Verschelde 2e57cbe57a
Merge pull request #103413 from m4gr3d/request_pointer_capture_on_ui_thread
Fix Android mouse capture issues
2025-03-04 01:02:23 +01:00
Rémi Verschelde e8c555b002
Merge pull request #103409 from darksylinc/matias-swappy-2025-01
Update to latest version of Swappy
2025-03-04 01:02:14 +01:00
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