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
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
...
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
[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
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
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
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
...
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
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
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
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
...
🔗 GHA / 📊 Static checks (push) Waiting to run
🔗 GHA / 🤖 Android (push) Blocked by required conditions
🔗 GHA / 🍏 iOS (push) Blocked by required conditions
🔗 GHA / 🐧 Linux (push) Blocked by required conditions
🔗 GHA / 🍎 macOS (push) Blocked by required conditions
🔗 GHA / 🏁 Windows (push) Blocked by required conditions
🔗 GHA / 🌐 Web (push) Blocked by required conditions
🔗 GHA / 🪲 Godot CPP (push) Blocked by required conditions
[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