1
0
Fork 0
Commit Graph

7101 Commits

Author SHA1 Message Date
Thaddeus Crews d2995dcfe8
Merge pull request #102169 from Riteo/what-is-even-a-keypad
Linux/BSD: Modify only keypad keys
2025-02-03 08:16:08 -06:00
Riteo 140a63be25 Linux/BSD: Modify only keypad keys
The `keycode` field of `InputEventKey` is supposed to be "unshifted";
That is, what the key would output if no modifier keys were pressed.
This should match what's written on the key label, but `Key` enumerates
also all keypad keys, which require a modifier. We thus require some
extra checks for them.

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

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

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

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

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

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

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

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

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

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

Fix includes

Update editor/editor_node.cpp

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Changes from original PR:

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

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

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

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

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

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

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

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

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

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

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

However the code for this error message is left out when building with
opengl3=no
2024-10-12 20:20:12 -03:00
Thaddeus Crews d4dddd00cb
SCons: Extend `MinGW` support & checks 2024-10-11 14:24:00 -05:00
Thaddeus Crews a44f691fc7
CI: Add MinGW/GCC build to Windows GHA 2024-10-10 10:10:55 -05:00
Yevhen Babiichuk (DustDFG) 7aacdaa071 Build System: Extract `validate_arch` helper function
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-06 07:50:49 +03:00
Rémi Verschelde b0d512636c
Merge pull request #97570 from dustdfg/ios_macos/print_warning_instead_of_comments
Replace comments with printed warning for Metal on x86_64
2024-10-04 22:43:46 +02:00
David Snopek 256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 -05:00
Rémi Verschelde 3576e840c7
Merge pull request #97789 from bruvzg/ios_icons
[iOS] Add support for dark and tinted icon versions.
2024-10-04 17:18:22 +02:00
bruvzg 4c520e9400
[iOS] Add support for dark and tinted icon versions. 2024-10-04 14:00:27 +03:00
Rémi Verschelde 36837bfb5d
Merge pull request #91487 from shatyuka/window-style
Apply `WS_MINIMIZE` style on window creation
2024-10-04 12:58:34 +02:00
Rémi Verschelde c28dd316a9
Merge pull request #97757 from bruvzg/max_move_screen
Fix `window_set_current_screen` for maximized windows.
2024-10-04 11:22:10 +02:00
Rémi Verschelde 5ac62a6863
Merge pull request #97743 from bruvzg/has_kbd
[DisplayServer] Implement `has_hardware_keyboard` method for Android and iOS.
2024-10-04 11:22:02 +02:00
Rémi Verschelde dedb2ff217
Merge pull request #97678 from bruvzg/fix_nd_menu
[macOS] Fix menu crash when used from opened native dialog.
2024-10-04 11:21:54 +02:00
Rémi Verschelde 98deb2a000
Merge pull request #90400 from DarioSamo/transfer_and_pipelines
Ubershaders and pipeline pre-compilation (and dedicated transfer queues).
2024-10-03 15:27:11 +02:00
bruvzg d2f3725120
Fix window_set_current_screen for maximized windows. 2024-10-03 10:38:32 +03:00
Dario e2c6daf7ef Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
- Implements asynchronous transfer queues from PR #87590.
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
bruvzg 25f439c573
[DisplayServer] Implement has_hardware_keyboard method for Android and iOS. 2024-10-02 20:09:48 +03:00
Adam Scott 7a634ad2d4
[Web] Make audio bus fetching more resilient to errors 2024-10-02 11:24:57 -04:00
Rémi Verschelde 6388314dcc
Merge pull request #97645 from adamscott/fix-pwa-reloading-page
Fix web export infinite reload issue
2024-10-02 15:01:16 +02:00
Rémi Verschelde d66d056727
Merge pull request #97510 from kisg/vulkan_build_fix
Move Vulkan includes to a central `godot_vulkan.h` header
2024-10-01 17:31:03 +02:00
bruvzg 4c8f8e6980
[macOS] Fix menu crash when used from opened native dialog. 2024-10-01 08:30:30 +03:00
Adam Scott 4431af9153
Fix web export infinite reload issue 2024-09-30 11:27:43 -04:00
Fredia Huya-Kouadio 4587d14796 Add logic to automatically pick up jar/aar library dependencies in the `res://addons` directory 2024-09-29 14:32:10 -07:00
Fredia Huya-Kouadio 5e0805a813 Provide access to the Android runtime to GDScript
Thanks for the fix of `JavaClassWrapper` in https://github.com/godotengine/godot/pull/96182 and the changes in the previous commit, this introduces an `AndroidRuntime` plugin which provides GDScript access to the Android runtime capabilities.

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

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

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

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

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

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

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

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

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

Not doing this for tablets since the spec makes this behavior clear and
explicit, so we (hopefully) shouldn't have this issue there.
2024-09-10 20:53:53 +02:00
Thaddeus Crews df0a88b128
SCons: Fix `clang-cl` link/ar flags 2024-09-10 13:48:53 -05:00
bruvzg 2c991a727b [Windows] Only use long executable path when necessary, fix broken apksigner detection. 2024-09-10 10:34:44 +03:00
Rémi Verschelde 9fb54b7d1d
Merge pull request #96747 from bruvzg/fix_ar_det
[MinGW] Fix GCC ar detection.
2024-09-09 17:51:56 +02:00
Rémi Verschelde 07c395191c
Merge pull request #96697 from devloglogan/long-press-fix
Disable some android editor settings by default on XR devices
2024-09-09 17:51:49 +02:00
devloglogan 16e1d8a81b Disable some editor settings by default in the XR Editor 2024-09-09 07:15:15 -05:00
bruvzg b1f9271e49
[MinGW] Fix GCC ar detection. 2024-09-09 11:01:29 +03:00
Rémi Verschelde d0dc3896ad
Merge pull request #96714 from Riteo/dont-ask-me-why-they-are-different
Wayland: Make primary selection logic consistent with main clipboard
2024-09-08 23:22:26 +02:00
Rémi Verschelde c948541b14
Merge pull request #96669 from bruvzg/win_app
Reenable macOS .app export from Windows, add warnings about Unix permissions.
2024-09-08 23:22:08 +02:00
Riteo 26d89bc8e9 Wayland: make primary selection logic consistent with main clipboard 2024-09-08 16:48:41 +02:00
bruvzg 1f0b1220d2
Reenable macOS .app export from Windows, add warnings about Unix permissions. 2024-09-07 01:12:10 +03:00
Rémi Verschelde 0e9950bde1
Merge pull request #96624 from m4gr3d/android_editor_improvements
[Android editor] Improve support for XR projects
2024-09-06 22:38:50 +02:00
bruvzg 10f3c1f587
Add support for non-blocking IO mode to `OS.execute_with_pipe`. 2024-09-06 14:16:39 +03:00
Rémi Verschelde 2c733cbf1c
Merge pull request #95885 from bruvzg/macos_arch
[macOS] Use per-architecture min. OS version for export.
2024-09-06 11:11:01 +02:00
Fredia Huya-Kouadio 9dc0543da7 Improve support for XR projects 2024-09-06 00:35:50 -07:00
Rémi Verschelde 82799d7687
Merge pull request #96526 from bruvzg/win_env
[Windows] Use the same API for all `OS_Windows::*_environment` functions.
2024-09-04 18:55:46 +02:00
Rémi Verschelde 4ab358481b
Merge pull request #96340 from m4gr3d/update_pip_mode_options
[Android Editor] Update the options for launching the Play window in PiP mode
2024-09-04 18:55:35 +02:00
Rémi Verschelde 3cc99d3e31
Merge pull request #95983 from bruvzg/win_fd_opt_fix
[Windows] Emit native file dialog callback from event loop, fix selected options not saved.
2024-09-04 17:11:57 +02:00
Rémi Verschelde 9abf86f4fe
Merge pull request #96540 from hunterkepley/fix-wayland-middlemouse-paste
Wayland: Fix primary clipboard handling
2024-09-04 11:16:42 +02:00
Rémi Verschelde 8eff04192b
Merge pull request #91780 from Riteo/falling-with-style
Improve UX when falling back between Display Servers
2024-09-04 11:16:08 +02:00
hunterkepley 7949585aad Wayland: Fix primary clipboard handling 2024-09-03 22:39:54 -04:00
Rémi Verschelde 13a90e938f
Merge pull request #70096 from rune-scape/stringname-dict
StringName Dictionary keys
2024-09-03 17:38:06 +02:00
bruvzg 319bfa9965
[Windows] Use the same API for all `OS_Windows::*_environment` functions. 2024-09-03 16:02:35 +03:00
Rémi Verschelde 657dc363ef
Merge pull request #96182 from dsnopek/java-class-wrapper
Fix `JavaClassWrapper` so it actually works
2024-09-03 11:43:35 +02:00
Rémi Verschelde 262c8da104
Merge pull request #95887 from bruvzg/sysinfo_drv
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-03 11:43:12 +02:00
David Snopek 78883a52c6 Fix `JavaClassWrapper` so it actually works 2024-09-02 08:54:23 -05:00
Rémi Verschelde 109fafc7a4
Merge pull request #96383 from dsnopek/gdextension-pdb-missing-error
GDExtension: Show warning on missing PDB file, rather than error
2024-09-02 12:13:34 +02:00
Rémi Verschelde 0b19125b18
Merge pull request #96365 from m4gr3d/fix_android_build_with_openxr_disabled
Fix Android builds when OpenXR is disabled
2024-09-02 12:13:26 +02:00
Rémi Verschelde 527c716784
Merge pull request #92167 from BlueCube3310/file-access-the-final-season-part3-ep2
Reduce code duplication in FileAccess
2024-09-02 12:12:42 +02:00
Fredia Huya-Kouadio d1891adced Enable `BUTTON_FORWARD` and `BUTTON_BACK` mouse buttons on Android 2024-09-01 11:01:49 -07:00
bruvzg c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +03:00
BlueCube3310 205a10e0ae Reduce code duplication in FileAccess 2024-09-01 12:39:32 +02:00
Alvin Wong 28b95ff550 Remove ARFLAGS hack for Windows, replace with TEMPFILE
TEMPFILE is the built-in way of SCons to use a response file for command
lines that are too long.
2024-09-01 04:10:30 +08:00
Alvin Wong 35a8ff9284 mingw: Only use `ar --thin` on supported versions
The flag is supported since Binutils 2.38 [1] or LLVM 14 [2].

[1]: https://sourceware.org/bugzilla/show_bug.cgi?id=28759
[2]: dd6e7e0d57
2024-09-01 02:13:31 +08:00
David Snopek 760099ca6f GDExtension: Show warning on missing PDB file, rather than error 2024-08-31 07:45:06 -05:00
Fredia Huya-Kouadio 92ffa93c58 Fix Android builds when OpenXR is disabled 2024-08-30 23:11:50 -07:00
Fredia Huya-Kouadio 11d4df4bc3 Update the options for launching the Play window in PiP mode 2024-08-30 10:31:33 -07:00
Rémi Verschelde b128e71383
Merge pull request #96208 from m4gr3d/cleanup_immersive_logic
Restore fullscreen toggle menu for the Android editor and clean up the immersive mode logic
2024-08-30 09:59:27 +02:00
Rémi Verschelde 0897d830fe
Merge pull request #96204 from bruvzg/fd_no_case
[Linux] Make file filters case insensitive.
2024-08-30 09:59:23 +02:00
Rémi Verschelde 66dd06837c
Merge pull request #90782 from bruvzg/export_platform_extension
Allow adding custom export platforms using scripts / GDExtension.
2024-08-30 09:58:52 +02:00
rune-scape 154049ce17 StringName Dictionary keys
also added 'is_string()' method to Variant
and refactored many String type comparisons to use it instead
2024-08-29 13:39:27 -07:00
Rémi Verschelde 526b35c929
Merge pull request #96254 from raulsntos/android/keyStore.isEmpty()
[Android] Check if `keyStore` path is empty
2024-08-29 10:36:49 +02:00
Rémi Verschelde cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +02:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 -05:00
bruvzg d528f28275 [Windows] Fix OS.open_dynamic_library 2024-08-28 20:12:09 +03:00
Fredia Huya-Kouadio 923b0f2e56 Restore 'Toggle fullscreen' menu for the Android editor and clean up the immersive mode logic 2024-08-28 09:50:34 -07:00
Raul Santos efe5f988e0
[Android] Check if keyStore path is empty
In `godot-build-scripts`, the default `config.sh` sets `GODOT_ANDROID_SIGN_KEYSTORE` to an empty string but we were only checking if it's null.
2024-08-28 17:24:54 +02:00
Rémi Verschelde 60765bebe4
Merge pull request #95700 from m4gr3d/add_pip_support_to_game_window
[Android Editor] Add support for launching the Play window in PiP mode
2024-08-28 13:14:23 +02:00
Rémi Verschelde 2730d703a8
Merge pull request #94747 from alvinhochun/mingw-llvm-build-flags
Some improvements for MinGW and LLVM build on Windows
2024-08-28 13:14:19 +02:00
Alvin Wong 2d300a0bdc MinGW: Use thin archives to reduce disk space 2024-08-28 18:20:16 +08:00
Alvin Wong b5258b42c0 Enable Clang color output on Windows 2024-08-28 18:20:16 +08:00
Alvin Wong e9b6c1baf8 Windows/detect.py: Detect llvm-mingw GCC wrappers and set use_llvm 2024-08-28 18:20:16 +08:00
Fredia Huya-Kouadio 961394a988 Add support for launching the Play window in PiP mode 2024-08-28 03:18:51 -07:00
Alvin Wong 3a0837b74b Windows/detect.py: Simplify try_cmd function 2024-08-28 17:20:27 +08:00
bruvzg ae334e069c
[Windows] Always use absolute UNC paths and long path aware APIs, add "long path aware" flag to the application manifest. 2024-08-28 11:15:57 +03:00
bruvzg ace603bcb9
[Linux] Make file filters case insensitive. 2024-08-28 11:13:47 +03:00
Rémi Verschelde 108c603f91
Merge pull request #96203 from bruvzg/fd_all_filter
[Linux] Fix "all files" filter in the native file dialog.
2024-08-28 09:45:47 +02:00
Rémi Verschelde 96159ebc5d
Merge pull request #96192 from dsnopek/windows-gdext-adddlldirectory
Windows: Call `AddDllDirectory()` with an absolute path
2024-08-28 09:45:35 +02:00
bruvzg 07e986f728
Allow adding custom export platforms using scripts / GDExtension. 2024-08-28 10:29:01 +03:00
bruvzg 7b4e3e021a
[Linux] Fix "all files" filter in the native file dialog. 2024-08-28 10:14:01 +03:00
David Snopek e8bd385f53 Windows: Call `AddDllDirectory()` with an absolute path 2024-08-27 17:38:30 -05:00
Rémi Verschelde db24ed4ead
Merge pull request #94995 from Repiteo/scons/raw-cstrings
SCons: Add method to generate raw cstrings
2024-08-28 00:12:47 +02:00
Rémi Verschelde 73acb2a5b8
Merge pull request #94845 from alvinhochun/llvm-mingw-sanitizers
Windows: Add sanitizers for llvm-mingw, increase stack for ASan
2024-08-28 00:12:30 +02:00
Rémi Verschelde 330fca1ffd
Merge pull request #93985 from alvinhochun/windows-gpu-pref
Respect integrated GPU preference in Windows Settings
2024-08-28 00:11:45 +02:00
Rémi Verschelde 431c5839fe
Merge pull request #96168 from CreatedBySeb/remove-user-prefix
Remove confusing USER prefix from script-logged errors
2024-08-27 17:52:40 +02:00
Sébastien Dunne Fulmer c3ed8a842c
Remove confusing USER prefix from script-logged errors 2024-08-27 15:00:48 +01:00
bruvzg 9a2977fef1 [Windows] Hide cursor before moving. 2024-08-27 08:44:05 +03:00
Fredia Huya-Kouadio 6a9c060883 Add support to the Android editor for signing and verifying Android apks
- Apk signing and verification is enabled using the apksig library from ac5cbb07d8
2024-08-26 11:38:49 -07:00
Fredia Huya-Kouadio a5897d579b Update the `GodotHost` interface to support signing and verifying Android apks
Update the export logic to enable apk generation and signing for Android editor builds

Note: Only legacy builds are supported. Gradle builds are not supported at this point in time.
2024-08-26 11:16:38 -07:00
Fredia Huya-Kouadio 794ea99240 Update the storage access handler logic to support accessing / retrieving contents with the `assets:/` prefix 2024-08-26 11:16:37 -07:00
Rémi Verschelde b4f268fae8
Merge pull request #91018 from Daylily-Zeleen/daylily-zeleen/optionally_postinitialization_for_extension_owner
Allow ClassDB to create a Object without postinitialization for GDExtension.
2024-08-26 10:51:17 +02:00
Rémi Verschelde 28a72fa434
Merge pull request #95934 from bruvzg/win_ang_fb
Enable fallback from ANGLE to native and improve ANGLE error messages.
2024-08-25 22:51:38 +02:00
Rémi Verschelde 1d3bdfcd06
Merge pull request #95862 from adamscott/fix-pitch-scale-before-play
Honor `pitch_scale` value before playing audio sample
2024-08-25 22:24:17 +02:00
bruvzg f8a6c0e8ab
Enable fallback from ANGLE to native and improve ANGLE error messages. 2024-08-25 21:19:54 +03:00
Joel Winarske 6ce71f0fb0 Use wayland-egl-core.h instead of wayland-egl.h
-avoid use of transitive wayland include

-resolves https://github.com/godotengine/godot/issues/95830

Signed-off-by: Joel Winarske <joel.winarske@gmail.com>
2024-08-23 14:16:37 -07:00
bruvzg ea252675aa [Windows] Emit native file dialog callback from event loop, fix selected options not saved. 2024-08-23 09:53:16 +03:00
Hilderin 6cbadcf606 Fix mouse move over an unfocused window 2024-08-22 21:36:01 -04:00
Rémi Verschelde 568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Rémi Verschelde 37ae2a2900
Merge pull request #95921 from akien-mga/scons-validate-opt-in-drivers
SCons: Better validation for platform-specific opt-in drivers
2024-08-22 00:10:56 +02:00
Rémi Verschelde 100fbb51ab
Merge pull request #95665 from Hilderin/fix-drag-drop-between-window
Fix drag&drop between window on Windows
2024-08-22 00:10:35 +02:00
Rémi Verschelde 78f47abe2b
Merge pull request #94022 from Riteo/a-fraction-of-the-work
Wayland: Switch pointer position handling to doubles
2024-08-22 00:10:31 +02:00
Matias N. Goldberg 364f916f3f
Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

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

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
Rémi Verschelde 6e9bcc0f18
SCons: Better validation for platform-specific opt-in drivers
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +02:00
Riteo 33e414cf75 Wayland: report when video drivers can't be loaded or found
This brings it to parity with the X11 backend.
2024-08-21 07:15:08 +02:00
bruvzg 3034d32429
[macOS] Use per-architecture min. OS version for export. 2024-08-21 07:51:39 +03:00
Riteo c01f9361b1 X11: Alert only when video drivers fail initialization
Before, they would always complain even if there was no attempt at
initializing them (e.g. because there's no X11 display).

While we're at it, this patch also adds a specific message for OpenGL ES
and rewords "OpenGLES" to "OpenGL ES" in an error, for consistency
(AFAIK we either say "GLES" or "OpenGL ES").
2024-08-21 06:31:19 +02:00
Adam Scott aaafd163b2
Honor `pitch_scale` value before playing audio sample 2024-08-20 10:29:32 -04:00
Daylily-Zeleen 3d575801ce Allow ClassDB to create a Object without postinitialization for GDExtension. 2024-08-20 20:19:02 +08:00
Stuart Carnie 2d0165574d
Add Metal support for macOS (arm64) and iOS 2024-08-20 12:11:06 +02:00
Stuart Carnie 41875d8aef
macOS/iOS: Fix various warnings when targeting newer SDKs 2024-08-20 11:55:21 +02:00
Rémi Verschelde a07f20b3e5
Merge pull request #95794 from bruvzg/win_fd_thread
[Windows] Run native file dialogs in thread to make it non-blocking.
2024-08-19 14:34:34 +02:00
Rémi Verschelde d1424135d1
Merge pull request #90352 from Faless/web/serve_fix_browser_order
[Web] Fix browser opening too early with `serve.py`
2024-08-19 14:33:26 +02:00
bruvzg 66832e9968 [Windows] Run native file dialogs in thread to make it non-blocking. 2024-08-19 12:58:16 +03:00
Hugo Locurcio 57141e04a6
Simplify printed file paths in the Linux/*BSD crash handler
This shortens the printed paths a bit when they would contain `/./`,
which is redundant (e.g. `/opt/godot/./core` becomes `/opt/godot/core`).
2024-08-18 23:36:29 +02:00
Micky b8f78b14be Fix miscellaneous oddities around the class reference 2024-08-18 23:18:44 +02:00
Rémi Verschelde a0d549fe93
Merge pull request #95272 from akien-mga/applicalifragilisticexpialidocious
iOS: Fix typo in GodotApplicationDelegate
2024-08-17 00:46:47 +02:00
Hilderin 0987a9dc06 Fix drag&drop between window on Windows 2024-08-16 18:40:46 -04:00
Rémi Verschelde 82adfebcf8
Merge pull request #94799 from m4gr3d/memory_allocation_cleanup_and_optimizations
Android memory cleanup and optimizations
2024-08-16 23:45:39 +02:00
Fredia Huya-Kouadio a57a99f5bc Memory cleanup and optimizations
- Returns an empty list when there's not registered plugins, thus preventing the creation of spurious iterator objects

- Inline `Godot#getRotatedValues(...)` given it only had a single caller. This allows to remove the allocation of a float array on each call and replace it with float variables

- Disable sensor events by default. Sensor events can fired at 10-100s Hz taking cpu and memory resources. Now the use of sensor data is behind a project setting allowing projects that have use of it to enable it, while other projects don't pay the cost for a feature they don't use

- Create a pool of specialized input `Runnable` objects to prevent spurious, unbounded `Runnable` allocations

- Disable showing the boot logo for Android XR projects

- Delete locale references of jni strings
2024-08-16 09:27:41 -07:00
bruvzg f72e74f395
[Windows/Linux] Check custom export templates architecture. 2024-08-16 15:52:12 +03:00
Rémi Verschelde de44c20514
Merge pull request #95498 from LeonardoDemartino/fix_macos_dylibsigning
macOS: Only set entitlements for main binaries, fixing C# signing issues
2024-08-16 14:35:06 +02:00
Rémi Verschelde f2fb3353cb
Merge pull request #95197 from yahkr/95128-audio-fix
Fix AudioStreamPlayer `get_playback_position()` for web build
2024-08-16 14:33:05 +02:00
Rémi Verschelde b084b6a8bb
Merge pull request #94971 from bruvzg/drv_msgs
[Windows] Improve video driver error messages.
2024-08-16 14:32:50 +02:00
Rémi Verschelde 6042c66663
Merge pull request #94720 from noidexe/fix-gamepad-triggers
Fix gamepad triggers not working on web exports
2024-08-16 14:32:27 +02:00
Rémi Verschelde a7598679cf
Merge pull request #95586 from m4gr3d/fix_last_modified_time_unit
Update the Android `fileLastModified` method to return values in seconds instead of milliseconds
2024-08-16 10:36:56 +02:00
Rémi Verschelde a8bbb09bd5
Merge pull request #95143 from TV4Fun/fix_non_windows_library_load
Fix reload of GDExtension libraries in framework package on macOS
2024-08-16 10:35:19 +02:00
Rémi Verschelde 690c5669e2
Merge pull request #91271 from m4gr3d/clean_gradle_build_setup
Clean up the gradle build logic used to generate the Godot Android binaries
2024-08-16 10:33:19 +02:00
Hilderin 59149dc4d0 Fix unfocused windows can't be dragged 2024-08-15 23:08:02 -04:00
Fredia Huya-Kouadio cde873b406 Update the Android `fileLastModified` method to return values in seconds instead of milliseconds 2024-08-15 12:24:58 -07:00
Alvin Wong 16a563b9ac DisplayServerWindows: Fix logic when creating with transient parent 2024-08-15 04:10:15 +08:00
Lisandro Lorea 9dd372f316 Fix gamepad triggers not working on web exports
Fixes #81758

DisplayServerWeb::process_joypads handles buttons 6 and 7 of the
HTML5 Standard Gamepad as a special case by doing:
`input->joy_axis(idx, (JoyAxis)b, s_btns[b]);`

This doesn't work because there is no JoyAxis 6 or 7 in the enum

To fix this we use JoyAxis::TRIGGER_LEFT and TRIGGER_RIGHT for button 6
and 7

However since we are now lying to input->joy_axis we also need to lie in
the mappings for the standard gamepad in godotcontrollersdb.txt,
otherwise input->joy_axis will try to find a mapping to axis 4(LT) and
axis 5(RT) that's not defined.

Therefore we set lefttrigger to +a4 and righttrigger to +a5 in the
mapping, to match what we are actually sending.

A cleaner, and more involved fix to this would be modifying
input->joy_button so that it can handle analog buttons and map them to
axes preserving their value instead of converting to boolean
2024-08-14 16:13:16 -03:00
Leonardo Demartino 0a57dd4682 Only main binaries require entitlements. This fixes signing issues on macOS. 2024-08-13 16:55:27 -03:00
Rémi Verschelde edc0571c96
Merge pull request #95425 from bruvzg/macos_joypad_queue
[macOS] Fix wrong object type in joypad queue.
2024-08-12 18:18:19 +02:00
Rémi Verschelde 4ab4613f90
Merge pull request #95331 from Riteo/seat-tight-this-is-weird
Wayland: Avoid recreating input objects on capability change
2024-08-12 14:10:07 +02:00
bruvzg d1047f4c46
[macOS] Fix wrong object type in joypad queue. 2024-08-12 14:09:18 +03:00
Rémi Verschelde d0fc7f73df
Merge pull request #95323 from bruvzg/ios_dyl
[iOS] Fix dylib GDExtension convertion.
2024-08-09 23:25:12 +02:00
Riteo 0d1826e084 Wayland: Avoid recreating input objects on capability change
Before, multiple capability events would instantiate the same object
over and over as long as its bit was set. This caused issues with
hotplug and device suspension.
2024-08-09 15:42:23 +02:00
bruvzg 824324e7c4
[iOS] Fix dylib GDExtension convertion. 2024-08-09 12:44:48 +03:00
Yahkub-R bcd776e441 Fix AudioStreamPlayer get_playback_position() for web build 2024-08-08 15:58:25 -04:00
bruvzg 9949d5a089
[macOS] Remove kill override. 2024-08-08 21:39:00 +03:00
Joel Croteau f44d6a235f Fix reload of GDExtension libraries in framework package on macos
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.

This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.

This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.
2024-08-08 08:31:49 -06:00
Rémi Verschelde 1938d170aa
iOS: Fix typo in GodotApplicationDelegate
Fixes #90714.
2024-08-08 10:06:36 +02:00
bruvzg 2bd21b588e
[macOS] Load OpenGL.framework by path to avoid issues with non-Latin executable names. 2024-08-07 11:57:27 +03:00
Rémi Verschelde 4577b37036
Merge pull request #95191 from bruvzg/macos_term
[macOS] Attempt to terminate process normally before using `forceTerminate`.
2024-08-06 12:32:22 +02:00
Rémi Verschelde 8ba212f188
Merge pull request #95189 from bruvzg/fix_mono_bundle
[macOS] Fix `generate_bundle` build flag for .NET builds.
2024-08-06 12:32:18 +02:00
Rémi Verschelde e693ff814a
Merge pull request #95155 from bruvzg/win_pen_checks
[Windows] Reject `WM_POINTER(UP/DOWN)` messages for non pen pointer type.
2024-08-06 12:32:02 +02:00
Rémi Verschelde e54ffd21e2
Merge pull request #95046 from timothyqiu/typos
Fix several typos in the documentation
2024-08-06 12:31:12 +02:00
Rémi Verschelde 2b65ff9249
Merge pull request #95009 from bruvzg/win_transp_checks
[Windows] Check if transparency is enabled in the project setting before applying DWM blur.
2024-08-06 12:30:56 +02:00
bruvzg 393741a7e2
[macOS] Attempt to terminate process normally before using `forceTerminate`. 2024-08-06 12:45:56 +03:00
bruvzg 1f53c71df5
[macOS] Fix `generate_bundle` build flag for .NET builds. 2024-08-06 10:55:24 +03:00
bruvzg e5efde9481
[Windows] Reject WM_POINTER(UP/DOWN) messages for non pen pointer type. 2024-08-04 20:07:14 +03:00
Haoyu Qiu 7cf9ed5f65 Fix several typos in the documentation 2024-08-02 08:42:20 +08:00
bruvzg 27474c9563
[Windows] Check if transparency is enabled in the project setting before applying DWM blur. 2024-08-01 10:30:46 +03:00
bruvzg 99b0100a06
[X11] Use motion event button state instead of async state. 2024-08-01 10:07:07 +03:00
Fabio Alessandrelli 470a35832f [Web] Fix browser opening too early with serve.py 2024-08-01 05:38:36 +02:00
Thaddeus Crews 0163705640
SCons: Add method to generate raw cstrings 2024-07-31 14:22:04 -05:00
bruvzg 1dfcbccfe6
[macOS] Fix `is_process_running` and `kill` for bundled apps. 2024-07-31 16:54:53 +02:00
Rémi Verschelde 1d57b81d26
Merge pull request #94976 from bruvzg/win_app_name
[Windows] Improve editor grouping, set friendly name registry key for exported projects.
2024-07-31 16:13:21 +02:00
bruvzg 3f8cc6678b [Windows] Improve editor grouping, set friendly name registry key for exported projects. 2024-07-31 15:04:00 +03:00
Rémi Verschelde 8d9a394f63
Merge pull request #94958 from adamscott/fix-missing-web-nullcheck-source
Add missing null check before disconnecting source
2024-07-31 11:37:47 +02:00
Rémi Verschelde 3fce516155
Merge pull request #94428 from alvinhochun/windows-angle-resize-sync
Windows: Update ANGLE surface size when window is resized
2024-07-31 11:37:37 +02:00
bruvzg 68ae413893 [Windows] Improve video driver error messages. 2024-07-31 11:16:38 +03:00
Adam Scott 1776258b1c
Add missing null check before disconnecting source 2024-07-30 15:00:58 -04:00
Pierce Brooks e3482a9336
Android: Ensure cleanup of all subobjects in the OpenSL audio driver 2024-07-30 17:20:46 +02:00
Rémi Verschelde 3e0c10d393
Merge pull request #94943 from bruvzg/arm64_gl_switch
[Windows] Improve OpenGL/ANGLE switching on ARM64.
2024-07-30 12:29:13 +02:00
Rémi Verschelde 862d881843
Merge pull request #94923 from m4gr3d/fix_crash_on_android_terminate
Fix crash that occurs on termination of the Godot engine on Android
2024-07-30 12:29:10 +02:00
Rémi Verschelde a92d7ed19f
Merge pull request #94887 from m4gr3d/fix_generate_apk_for_dev_build
Automatically enable `doNotStrip` for dev builds
2024-07-30 12:29:01 +02:00
bruvzg ad0ab2f396
[Windows] Improve OpenGL/ANGLE switching on ARM64. 2024-07-30 10:11:58 +03:00
Fredia Huya-Kouadio 30d63e8ab9 Fix the crash that occurs on termination of the Godot engine on Android 2024-07-29 09:20:50 -07:00
Fredia Huya-Kouadio c1acddfeb4 Fix the `generate_apk` logic when `dev_build` or `debug_symbols` are enabled
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-07-29 06:48:49 -07:00
A Thousand Ships 61c4ce272c
[Web] Gracefully handle non-finite audio volumes 2024-07-29 15:48:06 +02:00
Rémi Verschelde 9a8f18b9bf
Merge pull request #94796 from kus04e4ek/backfall
Windows: Fall back to D3D12 if Vulkan is not supported and vice versa
2024-07-29 15:17:26 +02:00
Rémi Verschelde 65e046159b
Merge pull request #94836 from bruvzg/win7_angle
[Windows] Remove libSynchronization
2024-07-28 17:46:59 +02:00
Rémi Verschelde 8239eac5d9
Merge pull request #94809 from ChrisBase/fix_keytool_for_android_export_not_found
Fix Android export failing with custom keystores and no JDK setup in the OS environment
2024-07-28 17:46:42 +02:00
Rémi Verschelde 1d8373a300
Merge pull request #92859 from Summersay415/do-not-strip
Android: Change the way `doNotStrip` is set
2024-07-28 17:46:31 +02:00
Alvin Wong 25270d5907 Allow llvm-mingw sanitizers only on x86_32/x86_64 2024-07-28 17:21:35 +08:00
Alvin Wong 0cda0b935d Windows: Add sanitizers for llvm-mingw, increase stack for ASan
ASan and UBSan are supported by llvm-mingw. They can be enabled by
passing `use_asan=yes use_ubsan=yes` to scons.
2024-07-28 04:32:18 +08:00
Alvin Wong 28c60a5ff9 Combine existing modes when calling SetConsoleMode
Otherwise the default modes will be cleared, which causes long lines to
be truncated in some terminals (e.g. Windows Terminal).
2024-07-28 00:32:40 +08:00
bruvzg 5d5d51937f [Windows] Remove libSynchronization 2024-07-27 17:12:27 +03:00
Kusok d30c1e6a8f Fall back to D3D12 if Vulkan is not supported and vice versa 2024-07-27 16:17:20 +08:00
Chris 7afefe6469 Fixed Android export failing when no JDK is setup in the OS environment and custom keystores have been set in the export dialog. 2024-07-27 01:33:59 +02:00
Rémi Verschelde 607b230ffe
Merge pull request #94789 from Faless/web/fix_thread_cc_with_workaround
[Web] Fix closure compiler builds, enable it in CI.
2024-07-26 13:44:25 +02:00
Rémi Verschelde 44342c385c
Merge pull request #94735 from aitorciki/nvdrs-memset-initialization
[Windows] Use default aggregate initialization for NVAPI settings
2024-07-26 13:44:13 +02:00
Rémi Verschelde 13c6c0cdb7
Merge pull request #94706 from alvinhochun/window-set-transient-parent-on-create
Pass window exclusive and transient properties for subwindow creation
2024-07-26 13:44:03 +02:00
Fabio Alessandrelli 96feb924e8 [Web] Enable the closure compiler in CI
Also fixes some JSDoc annotations in GodotAudio
2024-07-26 13:27:52 +02:00
Fabio Alessandrelli 26f17c33a5 [Web] Add workaround for missing export in threaded builds
The offending symbol gets stripped away by wasm-dce but it's used on the
JavaScript side and causes and undefined symbol which also causes the
closure compiler to throw an error.
2024-07-26 12:28:36 +02:00
Aitor Guevara 21f3e69a24 [Windows] Use default aggregate initialization for NVAPI settings
Using the member initialization encouraged in NVAPI documentation for
NVDRS_SETTING results in builds enabling `dev_mode` breaking. Default
aggregate initialization results in a clean build though.
2024-07-25 14:41:46 +02:00
alvinhochun 24e02d56cb
Remove unneeded call in DisplayServerX11
X11 does not need setting exclusive flag (it is not implemented).

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-07-25 17:11:15 +08:00
Fredia Huya-Kouadio 4d0da74014 Fix the cleanup logic for the Android render thread
On Android the exit logic goes through `Godot#onDestroy()` who attempts to cleanup the engine using the following code:

```
runOnRenderThread {
	GodotLib.ondestroy()
	forceQuit()
}
```

The issue however is that by the time we ran this code, the render thread has already been paused (but not yet destroyed), and thus `GodotLib.ondestroy()` and `forceQuit()` which are scheduled on the render thread are not executed.

To address this, we instead explicitly request the render thread to exit and block until it does. As part of it exit logic, the render thread has been updated to properly destroy and clean the native instance of the Godot engine, resolving the issue.
2024-07-24 10:17:46 -07:00
Alvin Wong 97aa278edb Pass window exclusive and transient properties for subwindow creation
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +08:00
Rémi Verschelde 25e5efaf9e
Merge pull request #94680 from bruvzg/fix_net_detection
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`.
2024-07-24 09:59:42 +02:00
bruvzg 25f78a5eb6
Replace .NET detection code with `ClassDB::class_exists("CSharpScript")`. 2024-07-23 23:46:14 +03:00
bruvzg c34192eb9c
[macOS export] Do not stop export on signing errors. 2024-07-23 22:38:05 +03:00
bruvzg 52a2836861 Disable FP contraction. 2024-07-23 14:33:51 +03:00
Rémi Verschelde a50fe87b89
Merge pull request #94078 from Repiteo/scons/msvc-flag-fix
SCons: Don't override cl flags on msvc
2024-07-22 14:12:45 +02:00
Riteo e307fd60d8 Wayland: Fix error spam when interacting with decorations
Also tried to make tablet handling a bit tidier (less whitespace).

That said I'll uniform tablet handling better once we're back in the dev
cycle.
2024-07-20 03:46:35 +02:00
bruvzg 0e519118d2 [Windows] Fix release export template build for ARM64 Windows. 2024-07-19 14:33:40 +03:00
Rémi Verschelde cf9e485696
Merge pull request #94518 from bruvzg/mac_net_non_sandboxed_sign
[macOS] Fix codesigning of .NET helper executables when sandboxing is disabled.
2024-07-19 11:10:55 +02:00
Rémi Verschelde 18da250ffb
Merge pull request #93737 from aitorciki/disable-windowed-gsync
[Windows] Disable G-SYNC in windowed mode
2024-07-19 11:10:31 +02:00
bruvzg 975ee76e2b
[macOS] Fix codesigning of .NET helper executables when sandboxing is disabled. 2024-07-18 23:40:49 +03:00
Rémi Verschelde 2b2fd56ca5
Merge pull request #94473 from nvlled/fix-screen-image-memory-leak
Linux/X11: Fix memory leak from created screen images
2024-07-18 10:45:43 +02:00
Rémi Verschelde 287521c2c2
Merge pull request #94466 from bruvzg/angle_update_lib
[Windows] Add `libSynchronization` to link flags.
2024-07-18 10:45:40 +02:00
Ronald Casili 3636d9dafc
Linux/X11: Fix memory leak from created screen images
Allocated XImages are improperly free'd with XFree.
The X11 documentation says that XImage should use
XDestroyImage to free both the image structure and
the data pointed to by the image structure.

Also fix a potential use-after-free bug.
2024-07-18 09:45:44 +02:00
Adam Scott 2f5f84b470
Fix audio samples not being able to be "finished" 2024-07-17 10:45:38 -04:00
Rémi Verschelde ea018a8131
Merge pull request #94120 from bruvzg/fix_kbd_names
[Windows] Fix reading keyboard layout names.
2024-07-17 15:44:50 +02:00
Rémi Verschelde 1ca4ce284e
Merge pull request #94063 from bruvzg/tablet_drag
[Winink] Check pointer button states.
2024-07-17 15:44:47 +02:00
Rémi Verschelde 64a11d08cc
Merge pull request #94411 from Riteo/suspending-the-right-way
Wayland: Check for suspended flag when unsuspending
2024-07-17 12:52:50 +02:00
Rémi Verschelde d191bee0ae
Merge pull request #94402 from Riteo/committed-to-the-cause
Wayland: Commit surface on window creation
2024-07-17 12:52:44 +02:00
Rémi Verschelde a4312eebaa
Merge pull request #94468 from m4gr3d/restart_editor_when_updating_touchscreen_settings
[Android Editor] Resolve issues with the editor touchscreen settings
2024-07-17 12:24:14 +02:00
Rémi Verschelde 7b12dbd74d
Merge pull request #94425 from m4gr3d/fix_remote_android_button_not_enabling
Fix issue preventing enabling the remote button for Android/iOS
2024-07-17 11:44:34 +02:00
Rémi Verschelde 38a537c011
Merge pull request #94398 from alvinhochun/windows-rendering-driver-initial-size-fix
Windows: Fix wrong initial size passed to rendering driver
2024-07-17 11:44:19 +02:00
Fredia Huya-Kouadio 53a752f2d6 Disable long press for mouse events
Long press is used to simulate right-click events for finger touch and stylus. The previous logic also caused it to trigger for mouse input, which is not needed since the user can instead use the mouse right click button.

This update disables long press as right click events for mouse input.
2024-07-17 02:44:17 -07:00
Rémi Verschelde 496fd12b17
Merge pull request #94052 from m4gr3d/clean_input_dispatch_settings
Cleanup Android input on render thread settings
2024-07-17 11:42:52 +02:00
bruvzg 9f714bfde5 [Windows] Add `libSynchronization` to link flags. 2024-07-17 10:58:03 +03:00
Alvin Wong 88581a7705 Support GPU preference for MS Store packaged apps 2024-07-16 23:46:37 +08:00
Alvin Wong 4091abd727 Respect integrated GPU preference in Windows Settings 2024-07-16 23:46:37 +08:00
Alvin Wong a1a0acff7c Windows: Update ANGLE surface size when window is resized
ANGLE needs to be told to resize the DXGI swap chain using
`eglWaitNative`. Otherwise the resize will only happen in
`eglSwapBuffers`, which causes some janky stretching during window
resize.
2024-07-16 17:01:42 +08:00
Alvin Wong d7f023ab73 Windows: Do not attempt to resize surface before it is created
`WM_WINDOWPOSCHANGED` may be received before `CreateWindowExW` has even
returned, when the window's rendering context or OpenGL context hasn't
been created yet.
2024-07-16 17:01:42 +08:00
Fredia Huya-Kouadio 5b327aee96 Fix issue preventing enabling the remote button for Android
https://github.com/godotengine/godot/pull/92032 updated the logic to enable / disable the remote debug button, and in doing so added a `can_export` check.

However, no events / notifications are dispatched when the value of the `can_export` check changes, which in turn prevents the logic used to enable / disable the remote debug button from running again.

The fix consists then in removing the `can_export` check, so that the remote debug button shows as `enabled` when a preset is present and is runnable.
2024-07-16 00:25:16 -07:00
Riteo 84f26a629d Wayland: check for suspended flag when unsuspending
Before, we would only check for the frame flag, which is unreliable on
newer suspension-aware compositors.
2024-07-16 00:11:22 +02:00
Riteo a852e76196 Wayland: commit surface on window creation
This is needed for initializing xdg_surfaces when not using libdecor.
Now the pure xdg_shell code path should work again.
2024-07-15 22:11:24 +02:00
Alvin Wong 1d542257e5 Windows: Fix wrong initial size passed to rendering driver 2024-07-16 03:30:44 +08:00
bruvzg 3afe1e7481 [Winink] Check pointer button states, fix drag and double-click. 2024-07-15 12:23:07 +03:00
Rémi Verschelde 97b8ad1af0
Merge pull request #94232 from bruvzg/macos_dnd
[macOS] Fix drag-and-drop feedback.
2024-07-11 23:17:06 +02:00
Rémi Verschelde 1aa1a1879d
Merge pull request #94203 from RandomShaper/bye_bye_dxil_dll
D3D12: Get rid of `DXIL.dll`!
2024-07-11 23:16:59 +02:00
Rémi Verschelde 6c2699cbf6
Merge pull request #94187 from akien-mga/windows-remove-unused-is_wow64
Remove unused `is_wow64` method in `OS_Windows`
2024-07-11 23:16:54 +02:00
Rémi Verschelde c349f0d6a7
Remove unused `is_wow64` method in `OS_Windows`
It was added in b4d369c88 for `get_processor_count`, but this was later
changed to rely on `std::thread` in 6bf02c016.
2024-07-11 23:16:12 +02:00
bruvzg c8447724e5
[macOS] Fix drag-and-drop feedback. 2024-07-11 23:13:38 +03:00
Pedro J. Estébanez ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +02:00
Rémi Verschelde 1b49d6393d
Merge pull request #93733 from alvinhochun/windows-restore-sizing
Windows: Restore to windowed mode using `SW_NORMAL`
2024-07-11 09:40:58 +02:00
Fredia Huya-Kouadio 5e59819727 Cleanup Android input on render thread settings
Follow up to https://github.com/godotengine/godot/pull/93933
Clean up the set of settings use to control whether Android input should be dispatched on the render thread.

Addresses comments in https://github.com/godotengine/godot/pull/93933#issuecomment-2210437977
2024-07-09 09:15:18 -07:00
Rémi Verschelde 1b0430dc3a
Merge pull request #94114 from bruvzg/ios_text_change
[iOS/Text Input] Avoid deleting and reentering unchanged part of text.
2024-07-09 16:47:23 +02:00
Rémi Verschelde 49a6171319
Merge pull request #93352 from Calinou/linuxbsd-controller-no-trackpad-graphics-tablet
Fix trackpads and graphics tablets being recognized as controllers on Linux/*BSD
2024-07-09 16:47:04 +02:00
bruvzg fea8ab0999 [Windows] Fix reading keyboard layout names. 2024-07-09 11:46:06 +03:00
bruvzg c632b47b48
[iOS/Text Input] Avoid deleting and reentering unchanged part of text. 2024-07-09 08:32:27 +03:00
Rémi Verschelde 8897c77d50
SCons: Default `optimize` to `auto`, fixing `target`/`dev_build` inference for Web
Fixes #94087.
2024-07-09 00:21:29 +02:00
Rémi Verschelde 3220b6fb11
Merge pull request #93976 from Hilderin/fix-caret-disappear-from-script-editor
Fix caret can disappear from script editor
2024-07-08 19:13:31 +02:00
Thaddeus Crews 0f691efb1b
SCons: Don't override cl flags on msvc 2024-07-08 09:48:18 -05:00
Hilderin ebd1ab646c Fix caret can disappear from script editor 2024-07-08 07:11:17 -04:00
Rémi Verschelde ec02d406ca
Merge pull request #94067 from RandomShaper/fix_build
Windows: Fix build error due to missing definition of Texture2D
2024-07-08 11:48:36 +02:00
Pedro J. Estébanez 50bf2e5b37 Windows: Fix build error due to missing definition of Texture2D 2024-07-08 10:40:17 +02:00
bruvzg eddc9cea11
[NativeMenu] Do not auto toggle check/multi-state items. Add `is_native_menu` method. 2024-07-08 11:20:28 +03:00
Rémi Verschelde 42e5b3ac2d
Merge pull request #94044 from adamscott/fix-web-sample-playback-finished-signal
Fix Web samples finished missing signal
2024-07-07 21:59:00 +02:00
Rémi Verschelde 39d9ff21b8
Merge pull request #94024 from anniryynanen/ime-block
Fix IME blocking controls
2024-07-07 21:58:43 +02:00
Adam Scott a38f30fbd5 Fix Web samples finished missing signal 2024-07-07 14:47:54 -04:00
Anni Ryynänen d926223c64
Fix IME blocking controls 2024-07-07 13:06:18 +03:00
Riteo 2ff50119dc Wayland: switch pointer position handling to doubles
This reduces even further the amount of work we have to do when scaling
and potentially improves input accuracy as now the input code is free
from any form of rounding.
2024-07-07 09:07:29 +02:00
Riteo 3e0632cbd2 Wayland: scale relative pointer motion
Oops, forgot to do that. Motion-dependent stuff should now work properly
when using scaled displays.
2024-07-07 08:39:53 +02:00
Hugo Locurcio 724cdffc8c
Fix trackpads and graphics tablets being recognized as controllers on Linux/*BSD 2024-07-06 00:26:39 +02:00
Rémi Verschelde ce16818dd5
Fix missing include in Web main after #93906
My bad, I introduced the bug when amending it.
2024-07-05 14:40:44 +02:00
Rémi Verschelde 20ba2f00bd
Merge pull request #93950 from bruvzg/mvk_scaling
[MoltenVK] Fix downscaled hiDPI window pixelation.
2024-07-04 23:27:23 +02:00
Rémi Verschelde 8455b3343e
Merge pull request #93933 from m4gr3d/anr_and_crash_bug_fixes
Fix crashes and ANRs reported by the Google Play Console
2024-07-04 23:27:20 +02:00
Paul Sinnett db97d88214
Fix preloading a zip in the web editor 2024-07-04 22:13:05 +02:00
bruvzg ab4213f043
[MoltenVK] Fix downscaled hiDPI window pixelation. 2024-07-04 21:03:32 +03:00
Fredia Huya-Kouadio 6b6428d779 Fix ANRs reported by the Google Play Console
- Add support for dispatching input on the render thread (UI thread is the current default) when `input_buffering` and `accumulated_input` are disabled. At the expense of latency, this helps prevent 'heavy' applications / games from blocking the UI thread (the default behavior)  which may cause the application to ANR.

- Remove GLSurfaceView logic causing the UI thread to wait on the GL thread during lifecycle events. The removed logic would cause the UI thread to ANR when the GL thread is blocked.
2024-07-04 05:18:50 -07:00
Fredia Huya-Kouadio c6a23a7a7d Fix crashes reported by the Google Play Console 2024-07-04 02:46:11 -07:00
Rémi Verschelde e6448ca0aa
Merge pull request #93891 from m4gr3d/fix_logo_not_showing_for_gles3
[Android] Fix the issue causing the logo to not show when using the `compatibility` renderer
2024-07-04 11:32:13 +02:00
Rémi Verschelde 01c24ff862
Merge pull request #93750 from adamscott/add-bigint-support-on-js-value-conversion
Add `bigint` support on JS value conversion
2024-07-04 11:31:58 +02:00
Fredia Huya-Kouadio 637f4a10ed Fix the issue causing the logo to not show when using the `compatibility` renderer 2024-07-03 11:16:45 -07:00
Adam Scott ee2759013b Add `bigint` support on JS value conversion 2024-07-03 07:44:32 -04:00
Rémi Verschelde f0d15bbfdf
Merge pull request #93853 from Faless/web/no_force_stdlib
[Web] Remove unnecessary `EMCC_FORCE_STDLIBS` in dlink builds
2024-07-02 17:27:35 +02:00
Rémi Verschelde abfce31ba7
Merge pull request #93152 from RandomShaper/prebuilt_asan
Enable usage of asan-enabled versions of prebuilt libraries
2024-07-02 17:27:31 +02:00