1
0
Fork 0
Commit Graph

6503 Commits

Author SHA1 Message Date
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
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
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
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
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