Commit graph

5565 commits

Author SHA1 Message Date
Yuri Sizov
07677f0f51 Merge pull request #85885 from YuriSizov/bench-pressing
Improve engine startup/shutdown benchmarks
2023-12-08 17:12:26 +01:00
Yuri Sizov
26ba706831 Merge pull request #85845 from YuriSizov/editor-export-hidden-errors
Ensure more export errors are reported to users
2023-12-08 16:59:04 +01:00
Yuri Sizov
abddb93152 Merge pull request #85026 from ztc0611/fix-ios-getrefreshrate
Make screen_get_refresh_rate() respect iOS Low Power Mode
2023-12-08 16:58:19 +01:00
Yuri Sizov
62b264e6ac Merge pull request #84676 from m4gr3d/update_package_name_validation_logic
Update the validation logic for the package name
2023-12-08 15:23:23 +01:00
Yuri Sizov
fc3f40f37d Improve engine startup/shutdown benchmarks
- Add contexts to give a better sense of benchmarked areas.
- Add missing benchmarks and adjust some begin/end points.
- Clean up names.
- Improve Android's internal benchmarks in a similar manner.

Co-authored-by: Fredia Huya-Kouadio <fhuya@meta.com>
2023-12-08 12:53:04 +01:00
Yuri Sizov
773b4d7764 Ensure more export errors are reported to users
Also fixes the timing issue when exporting all
presets at the same time, where the error report
would try to appear while the progress dialog
was still visible.
2023-12-06 15:26:07 +01:00
Mikael Klasson
4986d6d317 Fix invalid Python escape sequences 2023-12-06 11:51:41 +09:00
Rémi Verschelde
7233bc6736
Merge pull request #85785 from bruvzg/macos_no_angle
[macOS] Switch ANGLE backend to ANGLE over OpenGL, switch default compatibility renderer back to native.
2023-12-05 15:15:48 +01:00
bruvzg
d48524a3f4
[macOS] Switch ANGLE backend to ANGLE over OpenGL, switch default compatibility renderer back to native. 2023-12-05 15:39:40 +02:00
Rémi Verschelde
8a4a6498b0
Merge pull request #85774 from bruvzg/macos_xcode_detect2
[iOS] Use mdfind to check if Xcode is installed in one-click deploy code.
2023-12-05 14:15:08 +01:00
Rémi Verschelde
c442136079
Merge pull request #85306 from HolonProduction/ime-async
X11: Send IME update notification deferred
2023-12-05 13:57:32 +01:00
bruvzg
0e2f297806
[iOS] Use mdfind to check if Xcode is installed in one-click deploy code. 2023-12-05 09:12:55 +02:00
Rémi Verschelde
7b1a5de284
Merge pull request #85484 from Maran23/windows-popup-menu-mouse-fix
Do not consume mouse messages in windows with `no_focus` on Windows OS
2023-12-04 23:15:18 +01:00
Rémi Verschelde
c2d7cfe538
Merge pull request #85458 from HolySkyMin/mac_korean_fix
Fix IME key event being erased in macOS
2023-12-04 23:14:54 +01:00
Rémi Verschelde
57aea1307e
Merge pull request #84990 from brno32/macos-templates-fix
Fix order of operations for macOS template check
2023-12-04 23:08:23 +01:00
bruvzg
b02cf351f3
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect. 2023-12-04 07:56:33 +02:00
bruvzg
6cb5256bbe
[MinGW] Force separate debug symbols if executable size is larger than 1.9 GB. 2023-12-03 22:57:37 +02:00
bruvzg
33ce138b9b
[iOS one-click] Add support for Xcode 15 devicectl. 2023-11-30 20:28:47 +02:00
HolySkyMin
5962e5278c Fix IME key event being erased in macOS
Fixes Korean IME behavior which calls insertText and setMarkedText at the same time.
2023-11-29 18:17:57 +09:00
Marius Hanl
40d7320a17 Do not consume (eat) mouse messages with no_focus Window's (Godot PopupMenu)
Window's with the no_focus flag should still process mouse events and not consume them. Otherwise all mouse pressed operations will not work inside Godot's PopupMenu.
This problem is Windows only, all other platforms do process mouse events for PopupMenu's correctly.
2023-11-28 19:43:07 +01:00
Fredia Huya-Kouadio
7cd604132b Fix an issue causing the running project window to loop-restart when closed with the back button 2023-11-27 23:43:19 -08:00
Fredia Huya-Kouadio
1e4af5269f Fix issue causing Godot Android apps / games to freeze on close
The issue occurred because during the 'close' event, the logic was trying to terminate the native engine on the UI thread instead of doing on the render thread.
2023-11-27 18:24:36 -08:00
Alex Drozd
8f2b701892 Fix order of operations for macos template check 2023-11-26 23:26:32 +01:00
HolonProduction
bf45d3ae24 X11: Send IME update notification deferred 2023-11-24 13:18:50 +01:00
bruvzg
8e06a1084d
[iOS] Fix GDExtension init callback array reallocation. 2023-11-22 15:15:25 +02:00
bruvzg
5201475f62
[macOS] Check Apple specific version instead of generic clang version. 2023-11-22 09:05:45 +02:00
Rémi Verschelde
fa259a77cd
Codestyle: Fix some comment issues 2023-11-21 15:26:53 +01:00
Rémi Verschelde
132554badd
Merge pull request #85168 from bruvzg/ios_xc_check
[iOS] Check if Xcode is installed in one-click deploy code.
2023-11-21 15:06:32 +01:00
bruvzg
eceaaea2fe
[iOS] Check if Xcode is installed in one-click deploy code. 2023-11-21 11:43:29 +02:00
jsjtxietian
a3f44cd67e Check nullptr in _nvapi_disable_threaded_optimization to prevent crash
update outdated link
2023-11-20 19:31:14 +08:00
Zach Coleman
6a8f6bae4c Make screen_get_refresh_rate() respect iOS Low Power Mode 2023-11-17 08:36:52 -05:00
bruvzg
a92511fec3
[iOS] Fix dotnet export. 2023-11-16 15:05:44 +02:00
bruvzg
6b25204575
[macOS] Fix transparent and borderless flags interaction with full-screen mode. 2023-11-14 08:36:32 +02:00
Rémi Verschelde
5a5b456fca
Merge pull request #84774 from akien-mga/fix-TTR-in-ERR-WARN-prints
Don't use TTR/RTR for ERR/WARN prints
2023-11-12 22:59:38 +01:00
Rémi Verschelde
87ba798cba
Merge pull request #84779 from m4gr3d/keep_android_build_window_open_on_failure
Preserve the output from the gradle build command
2023-11-12 12:15:54 +01:00
Fredia Huya-Kouadio
136b7f9c52
Preserve the output from the gradle build command
Updates `EditorNode#execute_and_show_output(...)` to return the output of the executed command.
2023-11-12 12:07:04 +01:00
Rémi Verschelde
15b8185c68
Don't use TTR/RTR for ERR/WARN prints
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
Rémi Verschelde
ba713c80df
Fix various typos with codespell
Using 2.2.7.dev51+geb4a58fe.
2023-11-11 23:01:24 +01:00
Fredia Huya-Kouadio
dce2686e52 Remove Android specific abis from the export preset feature list
The presence of those abis cause them to be included in the set of `p_features` passed to the `gdextension_export_plugin#_export_file(...)` method, which caused them to be lumped in the `features_wo_arch` set.
When trying to find the gdextension library path, we use a predicate with the following logic:

```
[features_wo_arch, arch_tag](String p_feature) { return features_wo_arch.has(p_feature) || (p_feature == arch_tag); }
```

For a `gdextension` config file like the one below, this causes the first android entry (`android.armeabi-v7a = ...`) to always be returned regardless of archs since it always satisfies the predicate.

```
[configuration]

entry_symbol = "example_library_init"
compatibility_minimum = 4.1

[libraries]
linux.x86_64 = "res://libgdexample.so"

android.armeabi-v7a = "res://libgdexample.android.template_release.armeabi-v7a.so"
android.arm32 = "res://libgdexample.android.template_release.armeabi-v7a.so"
android.x86 = "res://x86/libgdexample.android.template_release.x86.so"
android.x86_32 = "res://x86/libgdexample.android.template_release.x86.so"
android.x86_64 = "res://libgdexample.android.template_release.x86_64.so"
android.arm64-v8a = "res://libgdexample.android.template_release.arm64-v8a.so"
android.arm64 = "res://libgdexample.android.template_release.arm64-v8a.so"
```
2023-11-10 07:32:59 -08:00
Rémi Verschelde
dfe2df989d
Merge pull request #84493 from bruvzg/gde_ios_static_fix
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks.
2023-11-10 10:44:56 +01:00
Rémi Verschelde
03d97977b1
Merge pull request #84649 from bruvzg/mac_fs_fs_switch
[macOS] Fix fullscreen <-> exclusive fullscreen transition.
2023-11-09 20:05:09 +01:00
Fredia Huya-Kouadio
0325568a9b Update the validation logic for the package name:
- When using the project name, allow underscore (`_`) characters
- Send a warning instead of an error when the project name is modified to fit the package name format
2023-11-09 10:28:26 -08:00
bruvzg
173b84127b
[Windows] Add some AMD GPUs to the OpenGL blocklist. 2023-11-09 20:11:04 +02:00
bruvzg
d4d5d68eda
[iOS, GDExtension] Fix loading and exporting static libraries and xcframeworks. 2023-11-09 20:04:40 +02:00
Fredia Huya-Kouadio
4628d0c7dc Add parameter to allow generation of the Godot native shared libraries from the gradle build command 2023-11-09 09:14:04 -08:00
Rémi Verschelde
aaafc69132
Merge pull request #84513 from bruvzg/x11_fallback_and_spam
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam.
2023-11-09 11:46:36 +01:00
Rémi Verschelde
0e8781e818
Merge pull request #84504 from jitspoe/master.pr_fullscreen_to_windowed_fix
Fix bug where maximized->fullscreen->windowed mode stays maximized.
2023-11-09 11:46:12 +01:00
bruvzg
4fda7e14be
[macOS] Fix fullscreen <-> exclusive fullscreen transition. 2023-11-09 08:02:56 +02:00
Yuri Sizov
37ae21966d Merge pull request #84521 from bruvzg/mac_icon_export
[macOS export] Improve icon generation.
2023-11-07 12:54:28 +01:00
Yuri Sizov
4c5c0414c8 Merge pull request #84491 from scgm0/andorid-no-show-splash-image
Fix Android disabling splash screen Show Image
2023-11-07 12:54:24 +01:00
scgm0
7771936df5 Fix Andorid disabling splash screen Show Image 2023-11-07 00:22:22 +08:00
bruvzg
03662020a9
[macOS export] Improve icon generation. 2023-11-06 15:04:12 +02:00
bruvzg
f3d4f5a77e
[X11] Add fallback from desktop GL to GLES, suppress PRIME detector error spam. 2023-11-06 12:40:44 +02:00
jitspoe
7918e2b6d9 Fix bug where maximized->fullscreen->windowed mode stays maximized. 2023-11-06 02:36:12 -05:00
Patchcoat
f8e10a2610 android keystore username and password are checked on export 2023-11-03 20:24:35 -05:00
Fredia Huya-Kouadio
fcb07ff8dc Fix Android editor crash issue
Fix issue causing the Android editor to crash when pressing back from a running project
2023-11-03 07:37:46 -07:00
Yuri Sizov
64d20e0ebf Merge pull request #83482 from bruvzg/no_sign
[macOS] Remove deprecated altool notarization support, disable rcodesign for C# version.
2023-11-03 12:52:16 +01:00
bruvzg
6bd639f9df
[Windows] Use CCD API to get fractional screen refresh rates. 2023-11-02 13:10:23 +02:00
bruvzg
6557e8aaaa
[macOS] Remove deprecated altool notarization support, add warning for rcodesign used with C# version. 2023-11-02 10:15:41 +02:00
Rémi Verschelde
da0b1eb128
Merge pull request #84316 from m4gr3d/update_android_env_variables
Replace the use of the `ANDROID_SDK_ROOT` env variable with `ANDROID_HOME`
2023-11-02 09:12:19 +01:00
Rémi Verschelde
95b8a75aaf
Merge pull request #84288 from bruvzg/angle_detect_2
[macOS] Improve ANGLE support detection.
2023-11-02 09:11:55 +01:00
Fredia Huya-Kouadio
a1ca4bab47 Replace the use of the ANDROID_SDK_ROOT env variable with ANDROID_HOME as the former is deprecated.
See https://developer.android.com/tools/variables#android_home for more details
2023-11-01 15:50:10 -07:00
Rémi Verschelde
2277eea262
Merge pull request #84285 from m4gr3d/auto_set_android_sdk_default
Automatically pick the Android sdk path using environment variables
2023-11-01 22:32:59 +01:00
Fredia Huya-Kouadio
f86e6115d9 Automatically pick the Android sdk path using environment variables 2023-11-01 07:36:16 -07:00
Rémi Verschelde
63153c9d36
Linux: Remove hardcoded lib path for x86 cross-compilation
This breaks the build with our updated i686 Linux SDK which doesn't contain
this path, and may not be needed at all.

This might need further work to be robust, and there's an open PR already
adding -march flags for all supported architectures, but for now we're
playing it safe for 4.2.
2023-11-01 14:14:01 +01:00
bruvzg
4c74c7d11a
[macOS] Improve ANGLE support detection.
Try opening EGL display when checking if ANGLE is supported.
2023-11-01 08:34:35 +02:00
Rémi Verschelde
799d30c306
Merge pull request #83753 from bruvzg/mac_angle_fb
[macOS] Fallback to native OpenGL renderer if ANGLE initialization failed.
2023-10-31 20:14:42 +01:00
Rémi Verschelde
befc5a9120
Merge pull request #83954 from m4gr3d/update_godot_app_launch_mode
Update the `launchMode` for the `GodotApp` activity
2023-10-30 23:18:34 +01:00
BlueCube3310
6ed1731746 Use platform-specific methods for FileAccess reading and writing 2023-10-29 17:34:18 +01:00
Tareq Anuar
ee31f2457f
Fix retrieving command line flags in Android. 2023-10-28 19:43:00 +08:00
thfrwn
a0253e593c TTS_Linux: Fix size_t template issue on OpenBSD by using int consistently 2023-10-27 12:23:39 -04:00
Setadokalo
1d9ec3caa3 Fix freeze when requesting clipboard image from our own window 2023-10-25 18:32:40 -05:00
Fredia Huya-Kouadio
14428c8d5b Update the launchMode for the GodotApp activity to allow other activities to be part of the same task
For details, see https://developer.android.com/guide/topics/manifest/activity-element#lmode
2023-10-25 08:27:35 -07:00
Brayden Harlon
085255bd0e Improved X11 screen_get_refresh_rate performance 2023-10-24 11:25:51 -07:00
Rémi Verschelde
849b4f4793
Merge pull request #83837 from adamscott/revert-to-proxy_to_pthread=no-by-default
Revert to `proxy_to_pthread=no` as default
2023-10-24 10:54:41 +02:00
Alexander Hartmann
5137497c18
Fix Android logic for deferred window input events being inverted
Notably fixes issues with `is_action_just_*` queries in `_physics_process`
for TouchScreenButton.

Fixes #66318.
Fixes #82396.
2023-10-24 10:43:05 +02:00
Adam Scott
230cebb4b7
Revert to proxy_to_pthread=no as default
Currently, `proxy_to_pthread=yes` option as default breaks WebXR
support.
2023-10-23 08:45:45 -04:00
bruvzg
590c353707
[macOS] Fallback to native OpenGL renderer if ANGLE initialization failed. Remove platform specific renderer config values from docs. 2023-10-21 22:09:35 +03:00
Fabio Alessandrelli
e9df955e39 [Web] Fix closure compiler builds using BIGINT
When using proxy_to_pthread we add BIGINT support (to support exchanging
64 bits integers between wasm and JS).

Bigint though, is part of ECMAScript 2020, and the closure compiler was
using ECMAScript 6 instead.

This commit update the CC configuration to use ECMAScript 2020 instead.
2023-10-21 14:02:22 +02:00
bruvzg
e45cc9c72b
Use "version" project setting as macOS/iOS "short_version" fallback. 2023-10-20 19:31:08 +03:00
Rémi Verschelde
2f33c2b20e
Merge pull request #81439 from Setadokalo/clipboard_image
Implement `clipboard_get`/`has_image` for X11
2023-10-20 15:06:42 +02:00
Setadokalo
3b5a9e31bb Implement clipboard_get/has_image for X11 2023-10-20 02:59:10 -05:00
Fredia Huya-Kouadio
56ce2d94c5 Bump the java version to version 17 2023-10-17 15:08:03 -07:00
Rémi Verschelde
e6d488f233
Merge pull request #81196 from georgwacker/add-audiosession-options
Add project settings for AVAudioSessionCategory on iOS
2023-10-17 16:12:49 +02:00
Georg Wacker
fcc500ea41 Add project settings for AVAudioSessionCategory on iOS 2023-10-17 12:35:49 +02:00
Rémi Verschelde
18f12d1a1e
Merge pull request #83181 from bruvzg/cb_dlg
Add error messages to the native menu and file dialogs callback.
2023-10-16 18:44:03 +02:00
Rémi Verschelde
1ab77f410e
Merge pull request #83433 from mhilbrunner/fix-android-gradle-docs
Docs: Fix link to Android Gradle build tutorial
2023-10-16 13:01:47 +02:00
Max Hilbrunner
68a1e0c7d4 Docs: Fix link to Android Gradle build tutorial 2023-10-16 12:27:24 +02:00
Rémi Verschelde
39bc8aafa1
Merge pull request #83173 from m4gr3d/fix_gestures_properties_retrieval_timing
Fix the timeframe when the Android gestures properties are retrieved
2023-10-16 10:40:12 +02:00
bruvzg
b52826bf55
Add error messages to the native menu and file dialogs callback. 2023-10-14 18:10:39 +03:00
Kacper Gibas
8eb32f9aad Fix unused variables warning when touch is disabled 2023-10-13 16:04:08 +02:00
Rémi Verschelde
51f81e1c88
Merge pull request #82957 from bruvzg/fs_case_check
Add method to check if filesystem is case sensitive.
2023-10-13 12:55:35 +02:00
bruvzg
6371cc3d69
[macOS] Fix crash when using system default menu shortcuts. 2023-10-13 10:12:44 +03:00
Fredia Huya-Kouadio
c1a7222c97 Fix the timeframe when the Android gestures properties are retrieved.
Previous logic was retrieving them prior to them being defined in `main.cpp`
2023-10-11 15:41:19 -07:00
Fabio Alessandrelli
bb69f0c090 [Web] Improve emscripten "locateFile" glue.
Be more selective on what we rewrite, since in recent emscripten
versions loading dynamic libraries relies on it.
2023-10-11 21:21:34 +02:00
Rémi Verschelde
918f046354
Merge pull request #83114 from Repiteo/fix-dotnet-dev-build-regression
C#: Fix MSVC dotnet `dev_mode` regression
2023-10-10 22:52:04 +02:00
Thaddeus Crews
0d7d4c2a23
Fix dotnet dev_mode regression 2023-10-10 12:24:02 -05:00
bruvzg
3620d612ba
[macOS] Use occlusionState instead of isOnActiveSpace to determine when window is drawable. 2023-10-10 12:20:06 +03:00
Rémi Verschelde
1fe7f8a96c
Merge pull request #82893 from m4gr3d/godot_android_lib_improvements
Cleanups and improvements to the Godot Android library api
2023-10-10 09:11:53 +02:00
Raul Santos
cea77d0b48
C#: Add checks to Android export
- Add .NET 7.0 TFM when the platform is Anroid to the created csproj.
- Prevent exporting to Android when the architecture is not supported.
2023-10-10 00:35:08 +02:00
Rémi Verschelde
4a5801b44a
Merge pull request #82729 from shana/shana/ios-csharp
Add C# iOS support
2023-10-09 23:23:11 +02:00
Rémi Verschelde
a28dab7e82
Merge pull request #79711 from adamscott/web-non-blocking-main-thread
Add `proxy_to_pthread` option to `platform=web`
2023-10-09 23:22:22 +02:00
Andreia Gaita
ee9a735c26 Add C# iOS support
This support is experimental and requires .NET 8

Known issues:
- Requires macOS due to use of lipo and xcodebuild
- arm64 simulator templates are not currently included
  in the official packaging
2023-10-09 18:22:56 +02:00
Adam Scott
78c2a08fae
Add proxy_to_pthread option to platform=web
Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2023-10-09 11:50:01 -04:00
Rémi Verschelde
a1d7c62df7
Merge pull request #83003 from AThousandShips/null_check_extra
Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-10-09 15:37:14 +02:00
Rémi Verschelde
7c12111c1c
Merge pull request #82790 from MarioLiebisch/warn-wasm-no-dlink
Web: Catch using GDExtensions in a non-dlink build
2023-10-09 15:33:02 +02:00
Rémi Verschelde
5a3befd6c9
Merge pull request #82508 from floatingpointer/master
Add XInput device ID for wireless Series 2 Elite controller
2023-10-09 15:32:13 +02:00
bruvzg
97bcd8a631 Add method to check if filesystem is case sensitive. 2023-10-09 11:00:15 +03:00
A Thousand Ships
f18aa00e85 Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-10-08 17:23:33 +02:00
Fredia Huya-Kouadio
2951c162ed Cleanups and improvements to the Godot Android library api:
- Provide api to retrieve the running Godot instance from a GodotHost
- Provide api for the GodotHost to register runtime GodotPlugin instances
- Hide the GodotService class until it's completed
- Include project setting to enable long press for Android devices
- Include project setting to enable pan and scale gestures on Android devices
2023-10-08 05:30:38 -07:00
Mario Liebisch
56a3cdc2f0
Web: Catch using GDExtensions in a non-dlink build
Previously this would simply fail with a cryptic
`me.rtenv.loadDynamicLibrary is not a function` error.
2023-10-06 18:02:53 +02:00
bruvzg
abbdc99821
[macOS] Fix ambiguous method call with older SDKs. 2023-10-05 22:12:24 +03:00
kobewi
09b30be86d Add vararg call() method to C++ Callable 2023-10-05 11:35:29 +02:00
Rémi Verschelde
d8ab953442
Merge pull request #82163 from naelstrof/master
Made signal handling more uniform during crashes.
2023-10-05 10:08:09 +02:00
Rémi Verschelde
bfd78bb917
Merge pull request #82779 from emacser0/typo
Fix some typos in source
2023-10-04 15:46:29 +02:00
Rémi Verschelde
a904e78fd9
Merge pull request #82736 from adamscott/fix-#81105-regression
Fix `godot_js_wrapper_create_cb` regression
2023-10-04 15:43:42 +02:00
Rémi Verschelde
1e544505be
Merge pull request #82691 from YuriSizov/rst-validate-with-exceptions
Validate `code` tags for class and member references
2023-10-04 15:42:42 +02:00
Rémi Verschelde
03ff9fedb6
Merge pull request #82101 from bruvzg/x11_gles
[X11] Add support for using EGL/GLES instead of GLX.
2023-10-04 15:35:05 +02:00
Rémi Verschelde
d5db0e5032
Merge pull request #81218 from bruvzg/_temp_fs
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-04 15:34:16 +02:00
bruvzg
af00c4a54a
[X11] Add support for using EGL/GLES instead of GLX. 2023-10-04 14:15:36 +03:00
emacser0
4c65ff52e4 Fix some typos in source. 2023-10-04 19:55:11 +09:00
bruvzg
d1aaa914f3
[macOS] Add about_to_open and popup_hide callback for the global menus, move part of logic to the PopupMenu to allow live menu modification. 2023-10-04 09:49:51 +03:00
Adam Scott
8447cbc16d
Fix godot_js_wrapper_create_cb regression 2023-10-03 12:52:20 -04:00
bruvzg
43e4708dff
[Native File Dialogs] Improve filter list handling, add selected filter to the callback. 2023-10-03 19:26:16 +03:00
Rémi Verschelde
3a5d524287
Merge pull request #82614 from m4gr3d/openxr_eye_gaze_interaction
Add support for the OpenXR Eye gaze interaction extension
2023-10-03 17:25:52 +02:00
Rémi Verschelde
be6a09b6ec
Merge pull request #82423 from bruvzg/mac_ex_fs
[macOS] Check all exclusive fullscreen windows before setting presentation mode.
2023-10-03 17:23:18 +02:00
Rémi Verschelde
30bc077756
Merge pull request #82364 from bruvzg/angle_lists_and_defaults
[ANGLE] Add fallback control options and defaults.
2023-10-03 17:22:53 +02:00
Rémi Verschelde
124f8983b8
Merge pull request #82357 from bruvzg/mac_fix_bl
[macOS] Fix borderless mode on macOS 13.6+.
2023-10-03 17:22:29 +02:00
Rémi Verschelde
5d300016a3
Merge pull request #81969 from bruvzg/macsign
[macOS export] Fix GDExtension framework `+x` flag errors, allow recursive signing on non macOS platform.
2023-10-03 17:21:15 +02:00
Rémi Verschelde
31dbbc2c5a
Merge pull request #80952 from bruvzg/nfdlg_refocus
[Native File Dialogs] Refocus last focused window on close.
2023-10-03 17:13:58 +02:00
Rémi Verschelde
530e01b478
Merge pull request #80409 from bruvzg/est_title_size
[DisplayServer] Add method to estimate window title bar size.
2023-10-03 17:12:18 +02:00
Rémi Verschelde
39bf982e65
Merge pull request #79871 from bruvzg/mingw_prefix_fix
[Windows] Try using objcopy and strip with prefix and without prefix.
2023-10-03 17:11:27 +02:00
Yuri Sizov
cc0eebd9d8 Validate code tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
bruvzg
ac3fc2a8a1
[ANGLE] Add fallback control options and defaults.
[macOS] Use ANGLE by default if engine is built with statically linked ANGLE.
[Windows] Add option enable/disable fallback to ANGLE and option force specific GPU to always use ANGLE.
2023-10-03 16:23:43 +03:00
bruvzg
72e2e47059
[DisplayServer] Add method to estimate window title bar size. 2023-10-03 16:13:52 +03:00
Bastiaan Olij
9e56e7a3ce Add support for the OpenXR Eye gaze interaction extension
Co-authored-by: Bastiaan Olij <mux213@gmail.com>
2023-10-02 14:02:23 -07:00
Rémi Verschelde
9b29efd772
Merge pull request #82633 from Faless/web/visibility_expose
[Web] Fix `dlink_enabled` build
2023-10-02 13:16:51 +02:00
Rémi Verschelde
5fe97c5844
Merge pull request #82441 from akien-mga/web-clarify-get_unique_id
Web: Clarify that `OS.get_unique_id` is not supported
2023-10-02 13:16:31 +02:00
Rémi Verschelde
e95b7e84a4
Merge pull request #80844 from dalexeev/fix-callable-expected-argc
Fix expected argument count for `Callable` call errors
2023-10-02 13:15:53 +02:00
Fabio Alessandrelli
0bbadd6883 [Web] Fix dlink_enabled build
After changing the default visibility to hidden to avoid generating
thousands of import/export symbols (browsers have a hard limit of 10k),
explicitly setting visibility for "boundary functions" (i.e. wasm
callbacks called by JS via pointer) is required to ensure the function
can be retrieved via pointer from the function table.
2023-10-01 19:44:46 +02:00
Danil Alexeev
aff767ef07
Fix expected argument count for Callable call errors 2023-09-29 20:00:10 +03:00
floatingpointer
81f9c0345c Update joypad_windows.cpp
Add XInput device for Series 2 Elite controller
2023-09-28 18:24:08 -07:00
bruvzg
e1c7104e46
[iOS] Fix build with Xcode 15. 2023-09-27 21:27:15 +03:00
Rémi Verschelde
0a10f09ce4
Web: Clarify that OS.get_unique_id is not supported
Remove the base error message in `OS`, we no longer really error out this
way for not implemented methods. Instead, each platform should override them
to provide the context they want.

Fixes #82439.
2023-09-27 15:17:45 +02:00
bruvzg
b7b5fbe7aa
[macOS] Check all exclusive fullscreen windows before setting presentation mode. 2023-09-27 09:01:52 +03:00
A Thousand Ships
517e9f8aef [Modules] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-26 16:44:52 +02:00
Rémi Verschelde
da91cf9367
Merge pull request #82347 from SaracenOne/dir_access_checks
Add error checks for DirAccess creation
2023-09-26 16:36:47 +02:00
Rémi Verschelde
a4bca12336
Merge pull request #82304 from akien-mga/windows-remove-redundant-MSVC-define
Windows: Remove `MSVC` define redundant with `_MSC_VER`
2023-09-26 13:45:26 +02:00
Rémi Verschelde
48bee5c8ef
Merge pull request #82221 from Riteo/linux-ogl-no-vsync-override
Linux/OpenGL: Don't force vsync in the editor
2023-09-26 13:45:12 +02:00
Rémi Verschelde
814ab59c37
Windows: Remove MSVC define redundant with _MSC_VER
Cleanup unused MSVC code in FileAccessUnix.
2023-09-26 11:11:45 +02:00
bruvzg
873d4079d1
[macOS] Fix borderless mode on macOS 13.6+. 2023-09-26 11:55:25 +03:00
Rémi Verschelde
4443b8f474
Merge pull request #82230 from zaevi/dark-mode-android-ios
Support dark mode on Android and iOS.
2023-09-26 08:30:36 +02:00
Zae
428eb1309a Support dark mode on Android and iOS. 2023-09-26 11:00:04 +08:00
Saracen
3f4513d4de Add error checks for DirAccess creation. 2023-09-26 03:07:43 +01:00
Mario Liebisch
426e18fd37
Updated compiler version detection
This fixes multiple issues/inconsistencies around  `get_compiler_version()`:
* With no shell allocated, launching the compiler could fail even
  with proper paths being set.
* The return value was described as "an array of version numbers as ints",
  but the function actually returned a `Dictionary` (or `None`).
* Not all calls were properly handling a `None` return value in case of errors.
  On Windows this broke compiling for me since #81869 with default settings.
* Some calls defined inconsistent defaults/fallbacks (`0` or `-1`).
2023-09-25 21:17:20 +02:00
Rémi Verschelde
b362976504
SCons: Fix Python 3.12 SyntaxError with regex escape sequences 2023-09-25 10:39:30 +02:00
Rémi Verschelde
b8238ec919
Merge pull request #81251 from aitorciki/nvidia-profile-multiapp
[Windows] Fix not applying NVIDIA profile to new executables
2023-09-24 23:31:20 +02:00
Riteo
4fd6777cf4 Linux/OpenGL: don't force vsync in the editor
I couldn't tell whether this has an actual purpose and it feels more
like a debug remnant.

We also need to be able to disable vsync in the editor for the WIP
Wayland backend (in the EGL driver) as it does manual frame throttling.
2023-09-24 04:36:58 +02:00
naelstrof
b49e9c9896 Made signal handling more uniform. Fixes #82102 2023-09-22 20:06:58 -06:00
Rémi Verschelde
bafcd32f15
Merge pull request #81716 from akien-mga/web-disable-raycast-embree
Web: Disable raycast module by default (no occlusion culling)
2023-09-22 22:03:55 +02:00
Aitor Guevara
6263774aec [Windows] Fix not applying NVIDIA profile to new executables
An NVIDIA profile is applied to the current executable to disable
threaded OpenGL optimizations on Windows (see #71472). But because the
application is only added to the profile upon the profile creation,
newer executables won't be added to the profile (e.g. if the profile is
created on first launch of Godot_v4.1-stable_win64.exe, when users
update the editor and launch Godot_v4.2-stable_win64.exe, the profile
will never be applied to this new executable).
This patch fixes that scenario by splitting creating the profile (if it
doesn't exist) and adding the application (if it doesn't have a profile
applied) into two separate steps.
Applications that have been manually added to a different profile aren't
overriden to avoid confusing users who know what they're doing.
2023-09-22 20:51:12 +02:00
Rémi Verschelde
603119d301
Merge pull request #82037 from bruvzg/macos_gl_min_size
[macOS] Enforce non-zero window size.
2023-09-21 14:27:42 +02:00
Rémi Verschelde
cc0a02c75c
Merge pull request #82031 from bruvzg/borderless_fs
[Windows] Use clear color for non exclusive fullscreen border, fix maximize for borderless window switching to exclusive fs.
2023-09-21 14:27:39 +02:00
bruvzg
1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
bruvzg
901e090e56
[macOS] Enforce non-zero window size. 2023-09-21 12:37:18 +03:00
bruvzg
b826cd5acd [Windows] Use clear color for non exclusive fullscreen border, fix maximize for borderless window switching to exclusive fs. 2023-09-21 11:24:40 +03:00
bruvzg
f316283823
[macOS export] Fix GDExtension framework +x flag errors, allow recursive signing on non macOS platform. 2023-09-20 12:21:18 +03:00
bruvzg
6da8c7a662
[macOS] Workaround Xcode 15 linker bug. 2023-09-20 11:03:44 +03:00
Rémi Verschelde
50161808c2
Web: Fix version check for missing scalbnf LTO workaround
The check needs to happen after we set `env["CXX"]`.
Follow-up to #81340.
2023-09-18 16:32:20 +02:00
Rémi Verschelde
4b2fb36a04
Merge pull request #80644 from Distantz/master
Android Stylus pressure and tilt support.
2023-09-17 14:46:39 +02:00
Rémi Verschelde
8c40edf8c0
Web: Disable raycast module by default (no occlusion culling)
This means no CPU occlusion culling (and not compiling Embree), unless
you compile custom export templates with `module_raycast_enabled=yes`.

This reduces the memory footprint significantly, and binary size.

Fixes #70621.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2023-09-16 21:00:04 +02:00
Yuri Sizov
48e1c19dea Merge pull request #81583 from AThousandShips/null_check_drivers_platform
[Drivers,Platform] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-15 19:48:18 +02:00
Yuri Sizov
55840c5d24 Merge pull request #80932 from m4gr3d/fix_hardware_keyboard_input_routing_main
Fix Android input routing logic when using a hardware keyboard
2023-09-14 15:21:28 +02:00
A Thousand Ships
3565d1bf7e [Drivers,Platform] Replace ERR_FAIL_COND with ERR_FAIL_NULL where applicable 2023-09-12 20:13:32 +02:00
Rémi Verschelde
df5376c4c0
Merge pull request #80761 from adamscott/change-default-android-package-unique-name
[Android] Change the default "org.godotengine" package name to "com.example"
2023-09-11 15:35:56 +02:00
Adam Scott
00e9bafb73
Change the default org.godotengine to com.example 2023-09-11 09:01:36 -04:00
Rémi Verschelde
08c578c54c
Merge pull request #81416 from akien-mga/uwp-ce-nest-qu-un-au-revoir
UWP: Remove platform port, needs to be redone from scratch for 4.x
2023-09-07 16:33:40 +02:00
Rémi Verschelde
2cd740fd7a
Merge pull request #81105 from SysError99/master-fix-js-mem-leak
Fix JavaScript callback memory leak issue
2023-09-07 16:32:06 +02:00
Rémi Verschelde
8de6405288
UWP: Remove platform port, needs to be redone from scratch for 4.x
The UWP platform port was never ported to the Godot 4.0+ API,
and it's now accumulating bitrot as it doesn't compile, and thus
we no longer propagate platform changes in it.

So we finally remove to acknowledge this state. There's still some
interest in reviving the UWP port eventually, especially as support
for Direct3D 12 will soon be merged, but when that happens it will
be easiest to redo it from scratch.
2023-09-07 15:01:59 +02:00
SysError99
6a90164a03 Fix JavaScript callback memory leak issue
Typo fix
2023-09-07 19:59:45 +07:00
Yuri Sizov
d8ff69d53c Extract ScriptInstance to simplify includes
This allows to include script_instance.h directly in the
generated gdvirtual.gen.inc, and remove excessive includes
from the codebase.

This should also allow Resource to use GDVIRTUAL macros,
which wasn't possible previously due to a circular dependency.
2023-09-06 22:54:38 +02:00
Yuri Sizov
2282fc5de9 Merge pull request #81368 from m4gr3d/relax_android_plugin_v1_deprecation
Relax restriction on loading v1 Android plugins on Godot 4.2+
2023-09-06 14:49:43 +02:00
Yuri Sizov
2ced50f310 Merge pull request #81365 from bruvzg/ios_export_ext
[iOS export] Switch export target extension based on export type.
2023-09-06 14:49:40 +02:00
Yuri Sizov
07176632a6 Merge pull request #81339 from bruvzg/macos_fix_mvk_live_resize
[macOS] Fix live resize with the latest MoltenVK version.
2023-09-06 14:49:30 +02:00
Yuri Sizov
3c63dce3cd Merge pull request #80573 from KoBeWi/2k_lines_of_changes_created_at_2AM
Add EditorStringNames singleton
2023-09-06 14:49:02 +02:00
Rémi Verschelde
bceac8c34f
Merge pull request #81340 from akien-mga/web-workaround-emscripten-3.1.42-lto-bug
Web: Workaround Emscripten 3.1.42+ LTO regression
2023-09-06 13:50:39 +02:00
Fredia Huya-Kouadio
12d96eeaef Relax restriction on loading v1 Android plugins on Godot 4.2+ 2023-09-06 02:59:44 -07:00
bruvzg
26951000ab
[iOS export] Switch export target extension based on export type. 2023-09-06 11:58:43 +03:00
bruvzg
208b379986
[macOS] Fix live resize with the latest MoltenVK version. 2023-09-05 16:21:08 +03:00
Rémi Verschelde
b064008c07
Web: Workaround Emscripten 3.1.42+ LTO regression
Fixes #80010.
2023-09-05 14:58:52 +02:00
Fredia Huya-Kouadio
8cc7739197 Godot Android plugin re-architecture 2023-09-03 17:04:10 -07:00
kobewi
6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
ocean (they/them)
bbafe14970 Build system: add option for MSVC incremental linking. 2023-08-29 18:53:45 -04:00
Rémi Verschelde
5b5471e30a
Merge pull request #78908 from zorbathut/pr_gitignore
Add static check for overzealous .gitignores and fix an example of such.
2023-08-29 12:41:53 +02:00
Rémi Verschelde
120abd12c2
Merge pull request #79504 from Pingar5/master
Android: Add option to always use WiFi to connect to remote debug
2023-08-28 15:02:13 +02:00
Rémi Verschelde
6584cd88d9
Merge pull request #78963 from bgie/comma_in_filename
Windows: Always double-quote path when launching explorer.exe to browse
2023-08-28 15:01:49 +02:00
Brennen Shaughnessy
40b08cb4b6
Android: Add option to always use WiFi to connect to remote debug 2023-08-28 13:13:36 +02:00
Brecht Kuppens
5608b1d411
Windows: Always double-quote path when launching explorer.exe to browse
Code now always double quotes the filename to use as command line
argument when calling explorer.exe. In particular, commas in a filename
would be interpreted by explorer.exe as separators for commands.

Similarly a trim_suffix for "file://" is assumed to be a mistake, this
could potentially be a PREfix that we want to strip, but never a suffix.
Since it didn't seem needed in the end, we removed it.
2023-08-28 12:46:50 +02:00
Emmanouil Papadeas
c662491bd4
Fix JavaScriptBridge.eval() never returning PackedByteArray
It wrongly returned 20 on array buffers, which used to be the enumerator
value of Godot 3.x's type PoolByteArray, and now is the value of type Color,
while it should return 29 which is the enumerator value for PackedByteArray.
2023-08-28 11:37:55 +02:00
Yuri Sizov
d476cdff34 Merge pull request #80918 from bruvzg/scons_wrp_deps
[Windows] Add main executable to the console wrapper dependencies to prevent simultaneous linking.
2023-08-25 14:58:55 +02:00
bruvzg
2e1f48ff6e
[Native File Dialogs] Refocus last focused window on close. 2023-08-24 09:34:58 +03:00
Fredia Huya-Kouadio
87102e358d Fix Android input routing logic when using a hardware keyboard
When a hardware keyboard is connected, all key events come through so we can route them directly to the engine.
This is not the case for soft keyboards, for which the current logic was designed as it requires extra processing.
2023-08-23 09:57:00 -07:00
bruvzg
f37ace7036 [Windows] Add main executable to the console wrapper dependencies to prevent simultaneous linking. 2023-08-23 09:54:06 +03:00
Haoyu Qiu
d026b37abd Fix various typos in classref 2023-08-22 18:05:50 +08:00
Hugo Locurcio
469c462b76
Add missing tutorials to documentation classes 2023-08-19 20:29:24 +02:00
Hugo Locurcio
6f1152bdbe
Add a --audio-output-latency command-line argument
This allows optimizing the audio output latency on higher-end CPUs,
especially in projects that do not expose a way to override this setting.
2023-08-17 14:45:17 +02:00
Rémi Verschelde
c72b851dfb
Merge pull request #80104 from bruvzg/freedesktop_native_file_dialog
[Linux/Freedesktop] Implement native file selection dialog support.
2023-08-17 11:23:00 +02:00
Rémi Verschelde
9a48b14a2d
Merge pull request #80036 from PorkrollPosadist/fix-wayland-window-behavior
Use EWMH for `DisplayServerX11::_window_minimize_check()` implementation
2023-08-17 11:22:36 +02:00
Rémi Verschelde
314cdf456b
Merge pull request #79578 from Faless/web/4.x_dlink_visibility
[Web] Use `fvisibility=hidden` for side module when dlink_enabled.
2023-08-17 11:21:47 +02:00
Aaron Franke
ada360affe
Add a button in the export dialog to fix missing texture formats 2023-08-17 02:56:42 -05:00
bruvzg
6cc314e0fa
[Linux/Freedesktop] Implement native file selection dialog support. 2023-08-17 10:56:16 +03:00
Rémi Verschelde
3907e53ff6
SCons: Disable C++ exception handling
Upon investigating the extremely slow MSVC build times in #80513, I noticed
that while Godot policy is to never use exceptions, we weren't enforcing it
with compiler flags, and thus still included exception handling code and
stack unwinding.

This is wasteful on multiple aspects:

- Binary size: Around 20% binary size reduction with exceptions disabled
  for both MSVC and GCC binaries.
- Compile time:
  * More than 50% build time reduction with MSVC.
  * 10% to 25% build time reduction with GCC + LTO.
- Performance: Possibly, needs to be benchmarked.

Since users may want to re-enable exceptions in their own thirdparty code
or the libraries they compile with Godot, this behavior can be toggled with
the `disable_exceptions` SCons option, which defaults to true.
2023-08-16 10:23:34 +02:00
Rémi Verschelde
6c3735cb7c
Merge pull request #80569 from m4gr3d/show_in_app_library_settings_main
Add export setting to control whether to show the Godot app in the app library
2023-08-16 09:13:30 +02:00
pikethom
7494ad6b54 Android stylus pressure and tilt support 2023-08-15 19:55:17 +12:00
Rémi Verschelde
efdff9cbc2
Fix GCC -Wmaybe-uninitialized warnings 2023-08-14 14:35:35 +02:00
Fredia Huya-Kouadio
63d47dced0 Add export setting to control whether to show the Godot app in the app library 2023-08-13 09:54:10 -04:00
Chia-Hsiang Cheng
669ce39f95 Ensure the active window gains the keyboard focus 2023-08-12 16:35:44 +08:00
scgm0
05bc070f7c C#: Fix exporting for Android 2023-08-12 09:22:49 +08:00
Rémi Verschelde
bc1aef88ee
SCons: Disable misbehaving MSVC incremental linking
Fixes #77968.
2023-08-10 14:04:19 +02:00
Rémi Verschelde
49f0d8cee3
Merge pull request #80279 from Sauermann/fix-x11-mouse-window-event-crash
Track hovered `Window` in `DisplayServerX11`
2023-08-10 00:43:00 +02:00
Rémi Verschelde
11ea4dc466
Merge pull request #80439 from bruvzg/macos_mouse_enter_exit
[macOS] Fix missing mouse exit events on window close.
2023-08-09 15:20:39 +02:00
Rémi Verschelde
d255811443
Merge pull request #80404 from bruvzg/file_attribs
[FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows.
2023-08-09 15:20:32 +02:00
Markus Sauermann
a7c5849f98 Track hovered Window in DisplayServerX11
Send mouse-entered/exited window-events only when necessary
2023-08-09 12:20:23 +02:00
bruvzg
78caaf3717
[macOS] Fix missing mouse exit events on window close. 2023-08-09 10:23:57 +03:00
bruvzg
8aa6f29b56
[FileAccess] Add methods to get/set "hidden" and "read-only" attributes on macOS/BSD and Windows. 2023-08-08 21:51:32 +03:00
Tyler
3cf1e04579 Fix Windows console wrapper and icon being swapped
Fixes #80238.
2023-08-07 12:46:23 -04:00
Rémi Verschelde
6a0410bbc2
Merge pull request #80240 from bruvzg/x11_ext_checks
[X11] Do not fail DisplayServer init if non-essential extensions are missing.
2023-08-07 14:50:47 +02:00
Rémi Verschelde
048a164083
Merge pull request #79693 from bruvzg/com_ath
[Windows] Initialize COM as apartment-threaded.
2023-08-07 14:48:40 +02:00
Rémi Verschelde
9d6570af3b
Merge pull request #79456 from bruvzg/popup_area_fix
Fix native popups auto-closing when interacting with non-client area.
2023-08-07 14:47:02 +02:00
Rémi Verschelde
faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
bruvzg
e26a6c36c8 Fix native popups auto-closing when interacting with non-client area. 2023-08-07 10:01:48 +03:00
Yuri Sizov
dc6ea03101
Merge pull request #35555 from Calinou/add-version-project-setting
Add a "version" project setting and use it in new export presets
2023-08-04 21:01:15 +02:00
Rémi Verschelde
cc6a60913a
Merge pull request #78325 from akien-mga/libpng-moar-intrinsics
libpng: Enable intrinsics on x86/SSE2, ppc64/VSX, and all arm/NEON
2023-08-04 17:04:07 +02:00
Rémi Verschelde
2c9b7fc7a8
libpng: Enable intrinsics on x86/SSE2, ppc64/VSX, and all arm/NEON 2023-08-04 14:57:21 +02:00
Haoyu Qiu
097c849395 Fix various typos in classref 2023-08-04 16:29:55 +08:00
Hugo Locurcio
ad4480bf2e
Add a "version" project setting and use it in new export presets
This makes it easy to retrieve the project version at runtime
for display purposes, while simplifying the export preset configuration.
You can now leave the version empty unless you need to override it on a per-preset
basis.

Since export presets save the values of default values to the `export_presets.cfg`
file, this change only affects export presets created after this commit was merged.
2023-08-04 10:29:33 +02:00
bruvzg
acff87ffda
[X11] Do not fail DisplayServer init if non-essential extensions are missing. 2023-08-04 10:58:14 +03:00
Yuri Sizov
1610fc2ae7 Merge pull request #78539 from EIREXE/input-info
Add the ability to get per-platform information for joypads
2023-08-03 22:37:45 +02:00
Álex Román Núñez
3aa340d081 Add the ability to get per-platform information for joypads.
This adds the ability for games to obtain platform-specific information about joypads such as their vendor/product ID, their XInput gamepad index or the real name of the device before it gets swapped out by the gamecontrollerdb's name.

This PR also includes a rebased version of #76045, this is because this PR is intended to be mainly to help people implementing Steam Input, as having the gamepad index is essential.
2023-08-02 22:30:30 +02:00
Yuri Sizov
49305df0e0 Merge pull request #80092 from Faless/web/npm_update
[Web] Update npm packages
2023-08-02 21:37:05 +02:00
Yuri Sizov
24049b6646 Merge pull request #79950 from bruvzg/win_app
[macOS Export] Disable unpacked .app bundle export on Windows.
2023-08-02 21:37:01 +02:00
bruvzg
b240b5be84 [Windows] Do not force redraw window background on mouse pass-through region change. 2023-08-02 10:40:40 +03:00
Markus Sauermann
8c1ce404d7 Fix crash on Windows when closing Window
Send `WINDOW_EVENT_MOUSE_EXIT` when a window is destroyed.

Ensure, that on Windows, the event_callback is still valid during
destroying the `Window`.
2023-08-02 00:17:25 +02:00
PorkrollPosadist
5666656d42 Use EWMH for DisplayServerX11::_window_minimize_check() implementation 2023-07-31 16:35:18 -04:00
Fabio Alessandrelli
61e7d47344 [Web] Update npm packages 2023-07-31 21:43:59 +02:00
Fredia Huya-Kouadio
867fc02551 Fix npe when registering the sensors. 2023-07-28 18:58:16 -07:00
Yuri Sizov
0c2399d6ec Merge pull request #63826 from deakcor/dev_clipboard
Add `clipboard_has/get_image` methods to DisplayServer
2023-07-27 15:22:16 +02:00
bruvzg
56bd7adae4 [macOS Export] Disable unpacked .app bundle export on Windows. 2023-07-27 13:21:23 +03:00
Yuri Sizov
63411859db Merge pull request #79351 from Repiteo/dotnet-handle-warnings
C#: Fix MSVC dotnet builds failing if running `dev_mode`
2023-07-26 18:40:06 +02:00
bruvzg
a0c388d4e1 [Windows] Try using objcopy and strip with prefix and without prefix. 2023-07-25 09:52:38 +03:00
Yuri Sizov
bec47cdbbc Merge pull request #79846 from Faless/web/no_body_length
[Web] Always return -1 as body length in HTTPClientWeb
2023-07-24 19:33:48 +02:00
Yuri Sizov
c8e191b7f4 Merge pull request #79724 from Repiteo/gcc-windows-fixes
Fix gcc builds failing on windows
2023-07-24 19:33:19 +02:00
Fabio Alessandrelli
f4713d235a [Web] Always return -1 as body length in HTTPClientWeb.
Body length cannot be reliably retrieved from the web.
Reading the "content-length" value will return a meaningless value when
the response is compressed, as reading will return uncompressed chunks
in any case, resulting in a mismatch between the detected body size and
the actual size returned by repeatedly calling read_response_body_chunk.

Additionally, while "content-length" is considered a safe CORS header,
"content-encoding" is not, so using the "content-encoding" to decide if
"content-length" is meaningful is not an option either.

We simply must accept the fact that browsers are awful when it comes to
networking APIs.
2023-07-24 08:57:02 +02:00
Yuri Sizov
88c1e0d528 Merge pull request #79350 from kleonc/screen_to_pixel_byte_to_float_conversion_fix
Fix byte to float color conversion in `DisplayServerWindows::screen_get_pixel`
2023-07-21 17:54:21 +02:00
Thaddeus Crews
d848c95748
Fix gcc builds failing on windows 2023-07-20 18:01:52 -05:00
bruvzg
4bfb820d32 [Windows] Initialize COM as apartment-threaded. 2023-07-20 12:14:16 +03:00
Yuri Sizov
0c2144da90 Remove excessive include that breaks compilation on Windows 2023-07-18 22:09:48 +02:00
Yuri Sizov
8f175a8649
Merge pull request #78958 from m4gr3d/refactor_android_plugin_packaging_main
Re-architect how Android plugins are packaged and handled at export time
2023-07-18 20:47:41 +02:00
Fredia Huya-Kouadio
b52e1be2c2 Clean up the XR features parameters from core
Following on the previous commit, the XR features logic have now be moved to the Godot OpenXR loader plugin.

See https://github.com/GodotVR/godot_openxr_loaders/pull/38
2023-07-18 19:14:53 +02:00
Fredia Huya-Kouadio
d17811c814 Re-architect how Android plugins are packaged and handled at export time
The previous packaging format for Godot Android plugins consisted of the plugin's `gdap` config file accompanied by binaries defined in the `gdap` file.
This format is now deprecated (starting with Godot 4.2), and instead Godot Android plugins are now packaged as `EditorExportPlugin` plugins.

The `EditorExportPlugin` class has been updated with the following methods to provide the necessary set of functionality:
- `_supports_platform`: returns true if the plugin supports the given platform
- `_get_android_dependencies`: retrieve the set of android dependencies (e.g: `org.godot.example:my-plugin:0.0.0`) provided by the plugin
- `_get_android_dependencies_maven_repos`: retrieve the urls of the maven repos for the provided android dependencies
- `_get_android_libraries`: retrieve the local paths of the android libraries (AAR files) provided by the plugin
- `_get_android_manifest_activity_element_contents`: update the contents of the `<activity>` element in the generated Android manifest
- `_get_android_manifest_application_element_contents`: update the contents of the `<application>` element in the generated Android manifest
- `_get_android_manifest_element_contents`: update the contents of the `<manifest>` element in the generated Android manifest
2023-07-18 19:14:53 +02:00
Yuri Sizov
e8aa8c17d2
Merge pull request #79574 from bruvzg/win_nat_d
[Windows] Implement native file selection dialog support.
2023-07-18 19:04:40 +02:00
bruvzg
d3ca91ad6a [Windows] Implement native file selection dialog support. 2023-07-18 17:23:58 +03:00
Yuri Sizov
ec66c53d52 Merge pull request #79572 from bruvzg/mac_bg_ws_sync
[macOS] Fix uncapped frame rate for windows in the non-active workspaces.
2023-07-18 15:10:09 +02:00
Vincent D
c13e3a9fb0 add clipboard get image methods for windows and macos
Co-Authored-By: RedworkDE <10944644+RedworkDE@users.noreply.github.com>
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-07-17 23:47:27 +02:00
Yuri Sizov
57919beb05
Merge pull request #76821 from m4gr3d/prototype_godot_service_main
Refactor Godot Android architecture
2023-07-17 21:11:21 +02:00
Thaddeus Crews
897334a366
Allow MSVC dev_mode builds to succeed with dotnet
• Added #else section to mono #ifdef checks in relevant export_plugin scripts
2023-07-17 11:35:38 -05:00
Fabio Alessandrelli
5eed870a6a [Web] Use fvisibility=hidden for side module when dlink_enabled.
This hugely reduces the number of exports, making it acceptable for
browsers.

Note that dlink + threads is still not working due to upstream issues
with the pthread emulation library.

Should hopefully be solved once emscripten move to native WASM threads.
2023-07-17 13:18:02 +02:00
Phil Hudson
076ef3bf6a iOS: Add export_project_only flag 2023-07-17 11:45:03 +02:00
bruvzg
2ee45dc293
[macOS] Fix uncapped frame rate for windows in the non-active workspaces. 2023-07-17 10:29:49 +03:00
Fredia Huya-Kouadio
29bbc17b48 Godot Android re-architecture
Decouples the Godot java entry point from the Android Fragment component. This enables the Godot component to be more easily reused across different types of Android components including Activities and Services.
2023-07-16 18:56:58 -07:00
Fredia Huya-Kouadio
00c782d959 Renaming Godot.java to GodotFragment.java to better reflect its nature and role 2023-07-16 18:56:57 -07:00
Hendrik Brucker
7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
Yuri Sizov
70b5330b46 Merge pull request #78164 from 0xafbf/allow-export-tv-and-launcher
Add options to show icon in Android TV and run app as Android launcher
2023-07-14 18:48:54 +02:00
bruvzg
4790da7900
[macOS] Implement optional native file selection dialog support for sandboxed apps. 2023-07-12 22:36:24 +03:00
kleonc
9d45dd812f Fix byte to float color conversion in DisplayServerWindows::screen_get_pixel 2023-07-12 21:31:02 +02:00
Yuri Sizov
1da09fd477 Merge pull request #79062 from MewPurPur/svg-optimizations
Optimize SVG icons and remove unused Transpose icon
2023-07-12 21:02:53 +02:00
Yuri Sizov
ff689003a5 Merge pull request #77993 from bruvzg/key_lbl_from_p
Implement DisplayServer.keyboard_get_label_from_physical method.
2023-07-12 21:02:37 +02:00
Yuri Sizov
55b74c7cdf Merge pull request #76045 from Eoin-ONeill-Yokai/steaminput-fix
Prevent double input events on gamepad when running through steam input
2023-07-12 17:16:36 +02:00
Yuri Sizov
661c3954a6 Merge pull request #73443 from akien-mga/unbundle-openxr
Allow unbundling OpenXR (for Linux distros)
2023-07-12 17:15:25 +02:00
bruvzg
7b7f6d45d6
Implement iOS one-click deploy. 2023-07-12 16:25:04 +03:00
Yuri Sizov
5dff3c4484 Merge pull request #78538 from Sauermann/fix-code-simplifications
Remove unnecessary value assignments throughout the codebase
2023-07-12 15:09:26 +02:00
Yuri Sizov
2b47f6715e Merge pull request #78437 from bruvzg/set_icon
Add error checks and harmonize behavior of the `set_icon` method.
2023-07-12 15:09:14 +02:00
Yuri Sizov
6960a1d0e8 Merge pull request #78248 from felaugmar/load-svg-adjustable-scale
Added `Image::load_svg_from_(buffer|string)`
2023-07-12 15:09:03 +02:00
Yuri Sizov
64689c146c Merge pull request #79089 from bruvzg/android_echo
[Android] Set `echo` property for the physical keyboard events.
2023-07-12 14:18:30 +02:00
Rémi Verschelde
5dbbdaf27b
Merge pull request #79284 from akien-mga/fix-linux-os-move_to_trash
Fix Linux `move_to_trash` wrongly reporting files as not found
2023-07-11 11:30:21 +02:00
Rémi Verschelde
a6e75f3971
Fix Linux move_to_trash wrongly reporting files as not found
We can't rely on the error code from `gio` or `kioclient5`, in my
rudimentary testing they return `1` for both missing files and other
situations like not having a Trash can on the mounted volume.

Fixes #79108.
2023-07-11 09:55:27 +02:00
Eoin O'Neill
8de98dbf21 Prevent double input events on gamepad when running through steam input
During GDC and general testing on Steam Deck units, we found that single
gamepads would often register inputs twice under certain circumstances.
This was caused by SteamInput creating a new virtual device, which Godot
registers as a second gamepad. This resulted in two gamepad devices
reporting the same button presses, often leading to buggy input response
on games with no multi-device logic and other-wise could cause intended
Steam rebindings to not work as intended (for example, swapping o and x
on a playstation pad if that feature isn't supported by the game.)

SDL gets around this by taking in a list of devices that are to be
ignored. When valve sees a controller that wants to be rebound via
SteamInput, they push a new VID/PID entry onto the environment
variable `SDL_GAMECONTROLLER_IGNORE_DEVICES` for the original gamepad
so that all game inputs can be read from the virtual gamepad instead.

This leverages the same logic as we are already using SDL gamepad
related HID mappings.
2023-07-10 15:26:33 -07:00
Rémi Verschelde
dcd16a5750
Linux: Fix build with use_sowrap=no and various warnings/errors 2023-07-10 14:34:01 +02:00
Rémi Verschelde
8a06ec979e
Change explicit 'Godot 4.0' references to 'Godot 4'
Fixes #79276.
2023-07-10 13:08:11 +02:00
Kamil Brzoskowski
3cd865dbe8
Fix formatting of dlopen error message on Windows
And harmonize the format for all platforms.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-07-09 23:39:45 +02:00
Rémi Verschelde
79b31a8357
Merge pull request #79105 from akien-mga/linux-libsquish-lacks-pkgconfig
Linux: Link libsquish directly when unbundling, .pc file unreliable
2023-07-08 18:22:18 +02:00
Rémi Verschelde
ce32fe974e
Merge pull request #79048 from sepTN/its-platform-not-plafrom
Fix a typo in the TLSOptions documentation
2023-07-08 18:21:28 +02:00
Rémi Verschelde
988abb2161
Merge pull request #79016 from bruvzg/fix_win_initial_ne_fs
[Windows] Fix setting initial non-exclusive window mode.
2023-07-08 18:21:04 +02:00
Rémi Verschelde
43c0fa7f4b
Merge pull request #78797 from Calinou/remove-redundant-vformat
Remove uses of `vformat()` with no placeholders
2023-07-08 18:18:35 +02:00
Septian
b88b6b4f48 fix typo on TLSOptions.xml and library_godot_display.js 2023-07-08 13:34:50 +07:00
MewPurPur
fe194f8db0 Optimize SVG icons and remove unused Transpose icon 2023-07-07 17:58:15 +03:00
Rémi Verschelde
3a3ec4add1
Merge pull request #78263 from bruvzg/fl_all
[Windows] Flash both the window caption and taskbar button on `request_attention`.
2023-07-07 16:02:38 +02:00
Rémi Verschelde
f1e63b808a
Merge pull request #79101 from akien-mga/linux-unbundle-brotli
Linux: Allow unbundling brotli to use system library
2023-07-07 08:35:44 +02:00
Rémi Verschelde
69dbbcc313
Merge pull request #79092 from akien-mga/doctool-remove-version-attribute
Doctool: Remove version attribute from XML header
2023-07-07 08:34:55 +02:00
Rémi Verschelde
9522ef67d5
Merge pull request #79010 from bruvzg/set_native_icon_crash
[macOS] Fix `set_native_icon` crash with empty or invalid ICNS file.
2023-07-07 08:32:56 +02:00
Rémi Verschelde
b3b4f4c1c9
Linux: Link libsquish directly when unbundling, .pc file unreliable 2023-07-06 15:32:42 +02:00
Rémi Verschelde
153c4a4c4f
Linux: Allow unbundling brotli to use system library 2023-07-06 15:26:38 +02:00
Rémi Verschelde
81064cc239
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
bruvzg
c687bfa697
[Android] Set echo property for the physical keyboard events. 2023-07-06 09:53:50 +03:00
Rémi Verschelde
346f1ab86b
Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
bruvzg
db0109b237 [Windows] Fix setting initial non-exclusive window mode. 2023-07-04 13:09:26 +03:00
bruvzg
618795a214
[macOS] Fix set_native_icon crash with empty or invalid ICNS file. 2023-07-04 09:09:40 +03:00
bruvzg
9c5a0c6c10
Add error checks and harmonize behavior of the set_icon method. 2023-07-03 13:48:28 +03:00
Ben Rog-Wilhelm
90f3992036 Fix: incorrectly .gitignored files. 2023-07-01 08:41:15 -05:00
Hugo Locurcio
dcc92c174e
Remove uses of vformat() with no placeholders
This is identical to passing the string directly.
2023-06-28 16:27:55 +02:00
Hugo Locurcio
0b19ec3498
Display a message about missing C# support on Android/iOS/Web platforms
When trying to export a C# project, this displays an error message after
creating a export preset for an unsupported platform.

Support for these platforms is planned for a future release.
2023-06-24 00:09:06 +02:00
Felipe Augusto Marques
26eb3db234 Added Image's load_svg_from_(buffer|string)
No core dependency to the svg module.
2023-06-23 00:43:43 -03:00
Rémi Verschelde
d586096415
Merge pull request #72720 from pkdawson/fix-mouse-capture
DisplayServerWindows: Fix mouse capture when button up message is missed
2023-06-22 18:29:34 +02:00
Markus Sauermann
890fdd56df Code simplifications
CPPcheck found most of them.

no need to assign the variable twice:
- AnimationTrackEditTypeAudio
- SSEffects

variable is assigned in all if-else clauses:
- EditorHelp
- AndroidInputHandler
- MenuBar
- ShaderCompiler

same if clause:
- ItemList

clearing an empty bitfield has no effect:
- Viewport
2023-06-21 22:37:26 +02:00
Rémi Verschelde
90446fe9f3
SCons: Move platform logo/run icon to export folder
Follow-up to #75932.
Since these icons are only used by the export plugin, it makes sense to
move them and generate the headers there.

The whole `detect.is_active()` logic seems to be a leftover from before
times, as far back as 1.0-stable it already wasn't used for anything.

So I'm removing it and moving the export icon generation to
`platform_methods`, where it makes more sense.
2023-06-20 13:16:37 +02:00
Rémi Verschelde
ddaefb3cd6
Merge pull request #78455 from aaronfranke/macos-fix-tex-format-valid
macOS: Finish checking templates before validating texture formats
2023-06-20 13:14:23 +02:00
Rémi Verschelde
65628f23c5
Merge pull request #78175 from phil-hudson/fix-#78105
Android: Set pending intent flag to stop insta-crash
2023-06-20 13:14:07 +02:00
Phil Hudson
ce7f648694 fix(android): set pending intent flag to stop insta-crash
fix(android): add conditional check for minimum sdk version

fix(android): formatting

fix(android): formatting

fix(android): formatting

fix(android): formatting again
2023-06-20 16:56:59 +08:00
Aaron Franke
a981158d1a
macOS: Finish checking templates before validating texture formats 2023-06-19 21:36:31 -05:00
Rémi Verschelde
217a20a8a0
Merge pull request #78448 from akien-mga/black-23.3.0
CI: Update static checks to black 23.3.0
2023-06-20 00:05:39 +02:00
Rémi Verschelde
356a602186
Merge pull request #74511 from AThousandShips/win_cursor_fix
Fix clearing custom cursor
2023-06-20 00:00:57 +02:00
Rémi Verschelde
c9c941e339
CI: Update static checks to black 23.3.0
And apply it to the codebase, removing empty lines at the start of blocks.
2023-06-19 23:33:02 +02:00
Rémi Verschelde
eb9c96b87c
Merge pull request #78123 from YeldhamDev/if_you_want_anything_done,_do_it_yourself
Allow exporting release Android builds without a debug keystore
2023-06-19 10:27:44 +02:00
Rémi Verschelde
01e84b1da1
Merge pull request #67158 from amoriqbal/fix_error_message
Fix the conditions for firing 'No such file or directory' error on Linux `move_to_trash`
2023-06-19 10:26:50 +02:00
Michael Alexsander
41a75cfa4f
Allow exporting release Android builds without a debug keystore 2023-06-19 01:00:13 -03:00
Rémi Verschelde
34a07b81ae
Allow unbundling OpenXR (for Linux distros)
Copy XrMatrix4x4f_CreateProjectionFov to our OpenXRUtil, instead of relying
on a private header.
2023-06-16 16:25:04 +02:00
bitsawer
3c42496fb0 Fix Clang dev_mode build const string conversion 2023-06-16 14:54:36 +03:00
Rémi Verschelde
598378513b
Merge pull request #78319 from bruvzg/fix_lipo_fa
[macOS export] Fix lipo file handling.
2023-06-16 10:24:37 +02:00
Rémi Verschelde
6d1ca52792
Merge pull request #78306 from m4gr3d/cleanup_launch_flow_main
Add parameters for the Godot Activity starting intent to allow restarting or force-quitting the engine
2023-06-16 10:23:50 +02:00
bruvzg
c7f4e3fd25 [macOS export] Fix lipo file handling. 2023-06-16 11:07:56 +03:00
bruvzg
28db3c7158 [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
Fredia Huya-Kouadio
0664f5ec3b Add parameters for the Godot Activity starting intent to allow restarting or force-quitting the engine
Follow-up code cleanup for https://github.com/godotengine/godot/pull/78129
2023-06-15 21:41:49 -07:00
Danil Alexeev
2d2b2cadfa
Fix bsd feature tag includes only "other BSDs" 2023-06-15 16:25:18 +03:00
bruvzg
49af2582c4 [Windows] Flash both the window caption and taskbar button on request_attention. 2023-06-15 11:04:54 +03:00
Álex Román Núñez
938a837056 Disable NVIDIA's threaded optimization on Windows 2023-06-13 11:47:40 +02:00
Rémi Verschelde
9e7349bda3
Merge pull request #78151 from jpcerrone/fix_windowed_move_problems
Fix window resizing problems on Windows
2023-06-13 10:27:14 +02:00
Andrés Botero
e01a2693d5 Add options to show icon in Android TV and run app as Android launcher 2023-06-12 22:02:48 -05:00
RedworkDE
5c57b3aba4 Fix docs after renaming export option 2023-06-12 23:59:55 +02:00
Rémi Verschelde
54a8adfd50
Merge pull request #75984 from KoBeWi/ConsoleMcWrap
Rename console script to wrapper
2023-06-12 22:54:24 +02:00
jpcerrone
a80584664c Fix window resizing problems on Windows
Fixes godotengine#76847, Fixes godotengine#74286
Reorders problematic steps from the DisplayServerWindows::window_set_mode function.
These were causing a resize with the dimensions of the previously used mode instead
of the current one.
2023-06-12 15:26:34 -03:00
bruvzg
974a7a89c6
[iOS] Fix orientation change in runtime. 2023-06-12 14:13:53 +03:00
Rémi Verschelde
54ab17eb21
Merge pull request #78129 from m4gr3d/fix_open_new_project_main
Fix issue causing the last edited project to open while switching to another one
2023-06-12 11:57:59 +02:00
Rémi Verschelde
26e5a98306
Merge pull request #77770 from jpcerrone/fix_minimize_missing
Fix minimize button missing in non-resizable projects
2023-06-12 11:39:08 +02:00
Fredia Huya-Kouadio
a951a14b16 Fix issue causing the last edited project to open while switching to another one.
Fixes https://github.com/godotengine/godot/issues/76562
2023-06-11 22:29:35 -07:00
Fredia Huya-Kouadio
dcd31a25b4
Merge pull request #78083 from m4gr3d/fix_multitouch_detection_spatial_viewport_main
Fix spatial viewport multitouch detection support
2023-06-11 18:08:59 -07:00
Fredia Huya-Kouadio
2c050cc17e Fix spatial viewport multitouch detection support
Regression introduced by https://github.com/godotengine/godot/pull/77498
2023-06-10 08:47:24 -07:00
Aaron Franke
944fbce347
Enable S3TC_BPTC but not ETC2_ASTC by default 2023-06-09 11:38:29 -05:00
Dominik
19ce63d875 Added a few additional GUIDs to list of hardcoded IDs in is_xinput_device 2023-06-09 15:02:19 +02:00
Rémi Verschelde
a5a23678c4
Merge pull request #78029 from bruvzg/macos_fix_popup_ime_focus
[macOS] Fix IME focus in popup windows.
2023-06-09 11:08:06 +02:00
Rémi Verschelde
759309ba18
Merge pull request #77977 from zaevi/fix_windows_popup_ime
Fix IME doesn't work under Popup on Windows.
2023-06-09 11:06:02 +02:00
bruvzg
fe2d9e5bdf
[macOS] Fix IME focus in popup windows. 2023-06-09 08:03:13 +03:00
Rémi Verschelde
9e4315bb50
Style: Harmonize header includes in platform ports
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module should be included with relative
paths (relative to the root folder of the modular component, e.g.
`platform/linuxbsd/`), in their own section before Godot's "core" includes.

The `api` and `export` subfolders also need to be handled as self-contained
(and thus use relative paths for their "local" includes) as they are all
compiled for each editor platform, without necessarily having the api/export
matching platform folder in the include path.
E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp`
and those need to use relative includes for it to work.
2023-06-08 15:19:19 +02:00
bruvzg
08e8ff371d
Implement keyboard_get_label_from_physical method. 2023-06-08 10:13:31 +03:00
Fredia Huya-Kouadio
b2cd6a8a95 Add setting to control the window used to run the project for the Android editor
The follow options were added to the (new) `run/window_placement/android_window` editor setting:

- `Same as Editor`: run the project in the same window as the editor
- `Side-by-side with Editor`: run the project in an adjacent window to the editor
- `Auto`: choose how to run the project based on the device screen size
2023-06-07 18:32:52 -07:00
Zae
1b149b7440 Fix IME doesn't work under Popup on Windows. 2023-06-08 02:40:36 +08:00
Rémi Verschelde
2ae5a0704a
X11: Fix vformat ambiguous int types for GCC 10 (again) 2023-06-07 14:57:51 +02:00
MJacred
2c5e2196bd Replace get_rendering_device() call to prevent crashes on OpenGL.
And make OpenGL video adapter info align with Vulkan.
2023-06-06 23:29:36 +02:00
Rémi Verschelde
0010b34a37
Merge pull request #75099 from mxnemu/add-default-x11-error-handler
[Linux/X11] Add a default error handler for X11 to avoid crashes.
2023-06-05 18:04:49 +02:00
nee
b13c82e964 [Linux/X11] Add a default error handler for X11 to avoid crashes.
The default behaviour for X11 is to crash even on non-fatal errors
when there is no error handler set. This change allows the window to
stay open and may enable users to save their work when things go
wrong.

This acts as a workaround for #65425 and #68471
2023-06-05 17:28:21 +02:00
Michael Alexsander
71d8882a02
Enhance icon fallback and their docs for exporters 2023-06-03 19:28:50 -03:00
Rémi Verschelde
8623572b1f
Merge pull request #75666 from ronyeh/main.cpp-2
Rename `iconpath` => `icon_path` & `hasicon` => `has_icon`.
2023-06-02 17:26:18 +02:00
jpcerrone
c819da7fdb Fix minimize button missing in non-resizable projects.
Fixes https://github.com/godotengine/godot/issues/77603.
On Windows, disabling the 'resizable' flag on the project
settings would also remove the minimize button from the window.
2023-06-02 10:31:50 -03:00
bruvzg
e15f37945b
[Linux/TTS] Cache TTS voice list. 2023-06-02 14:00:52 +03:00
hlutor
a932c5e81d Added override for window_get_vsync_mode in display_server_web.cpp 2023-05-31 18:23:06 -06:00
Rémi Verschelde
574f917442
Merge pull request #77686 from m4gr3d/fix_editor_audio_stream_microphone_crash_main
Fix issue causing the Android editor to crash when creating a new AudioStreamMicrophone
2023-06-01 00:40:49 +02:00
Fredia Huya-Kouadio
8ca14183f0 Fix issue causing the Android editor to crash when creating a new AudioStreamMicrophone
Fixes https://github.com/godotengine/godot/issues/73801
2023-05-31 00:58:27 -07:00
Zae
14908140ea Fix HTTPClient.get_response_body_length() incorrect on Web 2023-05-30 15:22:51 +08:00
Yuri Sizov
c670c4334a
Merge pull request #65902 from MJacred/editor/copysysteminfo
Add an editor option to copy system info to clipboard
2023-05-27 20:11:54 +02:00
MJacred
9e5bf3d589 Copy system info to clipboard + Update bug_report.yml
plus minor static-related fixes
* linuxbsd: get_systemd_os_release_info_value() -> static breaks usage if used multiple times
* windows/linuxbsd: get_video_adapter_driver_info() writes info into static
* linuxbsd: get_distribution_name() + get_version() -> write bsd fallback into static variable
* windows/uwp/android: remove unnecessary use of static
2023-05-27 18:21:23 +02:00
Fredia Huya-Kouadio
01ee00f710 Improve touchpad and mouse support for the Android editor
- Fix issues with using a touchpad to click, drag, interact with the navigation controls, etc..
- Fix issues with panning with 2+ fingers
- Fix issues with using double-tap to magnify on the spatial editor
2023-05-25 20:27:04 -07:00
Rémi Verschelde
a67d37f7cf
Merge pull request #77458 from Riteo/late-night-preprocessing
Build `JoypadLinux` sandbox detection method only with udev
2023-05-25 09:26:33 +02:00
Riteo
51dfdfab96 Build JoypadLinux sandbox detection method only with udev
Fixes an `unused-function` warning when building with `udev=no`.
2023-05-25 04:47:43 +02:00
Fredia Huya-Kouadio
a041f96779 Update the format for the app version code and name 2023-05-24 14:36:56 -07:00
Rémi Verschelde
094e88416a
Merge pull request #74569 from m4gr3d/setup_play_store_builds_main
Update the gradle build tasks to generate play store builds
2023-05-24 10:53:17 +02:00
Rémi Verschelde
774f4a7261
Merge pull request #73450 from Calinou/windows-vulkan-disable-amd-switchable-graphics
Disable AMD switchable graphics on Windows with Vulkan to fix driver issue
2023-05-24 08:44:46 +02:00
Fredia Huya-Kouadio
831b4a5366 Improve startup benchmarking
Move the benchmarking measuring methods from `Engine` to `OS` to allow for platform specific overrides (e.g: can be used to hook into platform specific benchmarking and tracing capabilities).
2023-05-23 13:22:35 -07:00
Rémi Verschelde
9dc286967f
X11: Fix vformat ambiguous int types for GCC 10
The build would fail with GCC 10 from our Linux SDK used for official builds.
2023-05-23 11:27:28 +02:00
Rémi Verschelde
7ed55c8833
Merge pull request #77258 from RedworkDE/natvis-pdb-embeded
Embed natvis debug views in PDB
2023-05-22 13:49:15 +02:00
Hiroki Taira
9dc84e3581
Add support for DPAD Center key of Android TV remote controller 2023-05-22 13:31:22 +02:00
RedworkDE
efa892b52a Embed natvis debug views in PDB
This means the debugger can load them automatically.
2023-05-20 00:08:35 +02:00
bruvzg
5b9984b5a2
Add audio/general/text_to_speech project setting to enable/disable TTS. 2023-05-18 20:16:03 +03:00
Max Hilbrunner
a521b85976 Small docs syntax fixes 2023-05-18 14:20:53 +02:00
bitsawer
68da61e74c Fix for Clang dev_mode Windows build 2023-05-17 19:35:37 +03:00
Rémi Verschelde
b0f49266f9
Merge pull request #76719 from m4gr3d/add_input_event_cancelled_state_main
Augment the `InputEvent` class with a `CANCELED` state
2023-05-17 11:25:21 +02:00
Rémi Verschelde
265c70a369
Merge pull request #75142 from bruvzg/scr
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
Fredia Huya-Kouadio
250749fa79 Augment the InputEvent class with a CANCELED state
The `InputEvent` class currently supports the `pressed` and `released` states, which given the binary nature, is represented by a `bool` field.
This commit introduced the `CANCELED` state, which signals that an ongoing input event has been canceled.
To represent all the states, the `InputEventState` enum is added and the `InputEvent` logic is refactored accordingly.
2023-05-15 11:48:25 -07:00
Fabio Alessandrelli
58c6f88802 [TLS/Windows] Skip disallowed certs in the trusted CA list.
Turns out the list of trusted root certificates contains disallowed
certificates (i.e. certificates which are no longer trusted or have been
revoked).

We need to check for the property `CERT_DISALLOWED_FILETIME_PROP_ID` to
check if and when the certificates should be distrusted.
2023-05-14 14:44:14 +02:00
Rémi Verschelde
788cb74cc6
Linux: Don't use udev for joypad hotloading when running in a sandbox
udev doesn't work in sandboxes, notably the new Steam container runtime
as found notably on the Steam Deck, and in Flatpak/Snap packages.

Like SDL does, when we detect such a containerized environment, we fall
back to parsing `/dev/input` directly.
See smcv's comments in #76879 for details.

Fixes #76879.
2023-05-12 11:30:16 +02:00
Rémi Verschelde
258fabdbb3
Merge pull request #76836 from Faless/tls/system_certs
[TLS] Add support for platform-specific CA bundles.
2023-05-12 11:17:31 +02:00
Rémi Verschelde
1c07717d3e
Merge pull request #76974 from dsnopek/linuxbsd-feature-tags
Fix 'linux' and specific BSD feature tags
2023-05-12 10:06:08 +02:00
Rémi Verschelde
03053eaf19
Merge pull request #76957 from Riteo/dbus-check
Check DBus loading status before attempting to detect its version
2023-05-12 10:04:33 +02:00
Fabio Alessandrelli
6fd9982358 [TLS] Add support for platform-specific CA bundles.
Adds a new OS::get_system_ca_certs method which can be implemented by
platforms to retrieve the list of trusted CA certificates using OS
specific APIs.

The function should return the certificates in PEM format, and is
currently implemented for Windows/macOS/LinuxBSD(*)/Android.

mbedTLS will fall back to bundled certificates when the OS returns no
certificates.

(*) LinuxBSD does not have a standardized certificates store location.
    The current implementation will test for common locations and may
    return an empty string on some distributions (falling back to the
    bundled certificates).
2023-05-12 09:58:23 +02:00
David Snopek
87fcee2d7f Fix 'linux' and specific BSD feature tags 2023-05-11 16:58:52 -05:00
Riteo
a7542070ae Check DBus loading status before attempting to detect its version
Fixes two related segfaults caused by running the DBus version check
unconditionally and potentially calling null function pointers.

This was clearly an oversight as all the other wrappers have proper
loading status checks.
2023-05-11 19:29:10 +02:00
Ninni Pipping
71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Rémi Verschelde
0c7c35bdc6
Merge pull request #76924 from stolk/fixuninit
x11: Do not use uninitialized timestamps.
2023-05-11 11:48:23 +02:00
Rémi Verschelde
a1db628eb3
Merge pull request #76856 from HolonProduction/macos-specific
Don't expose macOS and iOS specific display servers.
2023-05-11 11:47:58 +02:00
HolonProduction
ddcb2d157d Don't expose mac specific display server. 2023-05-11 11:02:08 +02:00
Bram Stolk
7a2e350d2b x11: Do not use uninitialized timestamps.
Fixes #76922
2023-05-10 11:27:14 -07:00
Rémi Verschelde
74e5ad5c60
Merge pull request #76165 from and-rad/safe-credentials
Store sensitive export options in dedicated credentials file
2023-05-10 12:47:07 +02:00
Andreas Raddau
fab160ce70 Store sensitive export options in dedicated credentials file 2023-05-10 11:40:17 +02:00
Ninni Pipping
6bccdec7a1 Make documentation sorting use natural order 2023-05-09 17:47:52 +02:00
Rémi Verschelde
e56427b4f5
Merge pull request #76868 from chfoo/issue-72728
Ensure WindowData minimized/maximized are mutually exclusive
2023-05-09 17:44:53 +02:00
Rémi Verschelde
d550fdd7a4
Merge pull request #76791 from OmarShehata/fix-android-double-tap
Fix double tap & drag on Android
2023-05-09 10:45:59 +02:00
Omar Shehata
0c94750642 Fix double tap & drag on Android 2023-05-08 21:15:37 -04:00
Christopher Foo
e4d052e284
Ensure WindowData minimized/maximized are mutually exclusive
The window manager can break the assumption that
fullscreen/maximized/minimized values are mutually exclusive.
2023-05-08 20:23:45 -04:00
Rémi Verschelde
491a437df5
Merge pull request #76540 from reduz/redo-remote-filesystem
Redo how the remote filesystem works
2023-05-08 13:52:51 +02:00
Juan Linietsky
273a6eeb66 Redo how the remote filesystem works
Instead of reading files over the network, the new version uses a local file cache and only updates files when it changes.

The original remote filesystem was created 14 years ago, when ethernet was faster than hard drives or even flash. Also, mobile devices have a very small amount of storage.
Nowadays, this is no longer the case so the approach is changed to using a persistent cache in the target device.

Co-authored-by: m4gr3d
2023-05-08 11:57:54 +02:00
Davi
65236fe2d5 Fix building the Windows x86_32 target
In x86_32, `ULONG_PTR` and `SIZE_T` are defined as `unsigned long`, which is not a type supported by Variant without the `NEED_LONG_INT` define.
2023-05-07 11:01:20 -03:00
UltraBIF
8106d33d0f Fixed various typos across the docs 2023-05-02 18:24:32 -04:00
shendo
92ade92fce [Android] Fix dynamic Variant params stack constructions in JNI callbacks
Emitting signals with params from Android plugins could crash due to
object assignment with uninitialised mem.  Instead, use 'memnew_placement'
to construct into stack addresses.  Make similar JNI callbacks consistent.

Fixes #75754.
2023-05-01 16:31:23 +10:00
Fredia Huya-Kouadio
0d569bea5d Update the gradle build tasks to generate play store builds.
Configure the gradle builds to sign and build the release version of the Godot Android Editor
2023-04-27 22:08:55 -07:00
Rémi Verschelde
390aed9f11
Merge pull request #76510 from bruvzg/ios_conv_lib_load
[iOS] Fix loading of GDExtension dylibs auto converted to framework.
2023-04-27 23:56:36 +02:00
Samuele Panzeri
4aaa2e6477 Fix wait for thread not started 2023-04-27 20:28:22 +02:00
bruvzg
ad4d565ee7
[iOS] Fix loading of GDExtension dylibs auto converted to framework. 2023-04-27 19:04:12 +03:00
Rémi Verschelde
e1075e9c7c
Fix various typos with codespell
Also includes the grammar fix from #76206.

Co-authored-by: Peter Anderson <BWPanda@users.noreply.github.com>
2023-04-26 13:57:09 +02:00
Rémi Verschelde
8f7b09916d
Merge pull request #76026 from YuriSizov/editor-running-up-that-gui
Extract editor run toolbar into its own component
2023-04-26 12:15:29 +02:00
Rémi Verschelde
fdb058f4df
Merge pull request #76464 from m4gr3d/fix_gl_window_resize_main
Fix issue with resizing the display on Android when using the compatibility renderer
2023-04-26 11:36:06 +02:00
Rémi Verschelde
b58873b98a
Merge pull request #69833 from Eoin-ONeill-Yokai/audio_invalid_mixrate
Fix crash caused by invalid mix_rate assignment due to bogus project settings.
2023-04-26 11:35:37 +02:00
Fredia Huya-Kouadio
b438b4a490 Fix issue with resizing the display on Android when using the compatibility renderer. 2023-04-26 00:43:13 -07:00
Eoin O'Neill
5a08091168 Fix crash caused by invalid mix_rate assignment due to bogus
project settings.

We'll default to a sensible value in the case that a user has
somehow managed to modify the configuration file incorrectly.

Closes 69819
2023-04-25 23:52:50 -07:00
Rémi Verschelde
5e383f3e3d
Merge pull request #76428 from bruvzg/finder_open
[macOS] Implement OS::shell_show_in_file_manager()
2023-04-25 14:44:13 +02:00
Rémi Verschelde
92e5f4f73a
Merge pull request #76037 from theromis/master
iOS splash screen rotation fix
2023-04-25 14:43:53 +02:00
Rémi Verschelde
53191928e5
Merge pull request #76345 from reduz/fix-thread-ids
Fix thread IDs.
2023-04-25 13:20:46 +02:00
bruvzg
a97225c753
[macOS] Implement OS::shell_show_in_file_manager() 2023-04-25 11:48:41 +03:00
Rémi Verschelde
76d33d187f
Merge pull request #69698 from Daylily-Zeleen/daylily-zeleen/show_in_explorer
Implement and expose OS::shell_show_in_file_manager()
2023-04-25 09:57:27 +02:00
Daylily-Zeleen
b12ced0a26 Implement and expose OS::shell_show_in_file_manager() 2023-04-25 11:29:32 +08:00
Rémi Verschelde
60a335b24b
Merge pull request #76394 from bruvzg/macos_1013
[macOS] Bump min. version to 10.13, and remove deprecated code.
2023-04-24 16:48:25 +02:00
Juan Linietsky
a37c30dfc9 Fix thread IDs.
On Linux, thread IDs were not properly assigned with the current approach.
The line:
`std::thread new_thread(&Thread::callback, _thread_id_hash(thread.get_id()), p_settings, p_callback, p_user);`
does not work because the thread ID is not assigned until the thread starts.

This PR changes the behavior to use manually generated thread IDs. Additionally, if a thread is (or may have been created) outside Godot, the method `Thread::attach_external_thread` was added.
2023-04-24 15:13:58 +02:00
bruvzg
628f3b2f79
[OS] Implement and expose to scripting APIs get_memory_info method instead of old get_free_static_memory. 2023-04-24 14:08:55 +03:00
bruvzg
fd3e7e25e8
[macOS] Bump min. version to 10.13, and remove deprecated code. 2023-04-24 10:52:50 +03:00
Rémi Verschelde
220d44eff4
Merge pull request #76325 from m4gr3d/downgrade_agp_main
Downgrade android gradle plugin to version 7.2.1.
2023-04-22 13:19:57 +02:00
Fredia Huya-Kouadio
4507d3a38c Downgrade android gradle plugin to version 7.2.1.
Version 7.3.0 changes the build layout which causes updates to the generated shared libraries to not be picked up.
2023-04-21 14:34:07 -07:00
Hugo Locurcio
303bf247de
Add support for VRAM-compressed custom mouse cursor images
No memory is actually saved when using this, so lossless modes are
still recommended as they look better and load faster.
2023-04-21 18:01:47 +02:00
bruvzg
a5128e71bb
[Export docs] Move docs to platform folders. 2023-04-20 11:02:12 +03:00
Yuri Sizov
8a74d8438f Extract editor run toolbar into its own component
- Simplify and update its logic.
- Simplify EditorScript.
- Improve EditorNode and other relevant includes.
- Fix scene-based path in the movie writer when
reloading a scene.
2023-04-19 17:12:28 +02:00
Rémi Verschelde
989fa49e71
Merge pull request #75219 from bruvzg/get_focus_screen
Add project manager / editor initial screen settings, implement `get_keyboard_focus_screen` method.
2023-04-19 10:13:44 +02:00
bruvzg
520a8d8ed2
Add project manager / editor initial screen settings, implement DisplayServer.get_keyboard_focus_screen method. 2023-04-19 08:54:53 +03:00
bruvzg
0088981c40
[Export] Add readable descriptions and validation warnings to the export options. 2023-04-19 08:35:59 +03:00
Rémi Verschelde
c2edf14faf
Merge pull request #75881 from bruvzg/win_coinit
[Windows] Cleanup COM library initialization/uninitialization.
2023-04-18 23:40:06 +02:00
Rémi Verschelde
c4dba9a5ef
Merge pull request #75880 from bruvzg/win_tts_queue_fix
[Windows TTS] Fix queuing utterances in rapid succession.
2023-04-18 23:39:42 +02:00
Rémi Verschelde
efa01d36b6
Merge pull request #75383 from bruvzg/dll_deps_detect
[Windows] Detect missing DLL dependencies and list them in the open_dynamic_library error message.
2023-04-18 23:39:16 +02:00
Rémi Verschelde
63d17df83e
Merge pull request #74978 from bruvzg/linux_version_check
[Linux/BSD] Add dynamically loaded library version checks.
2023-04-18 23:38:51 +02:00
Danil Alexeev
36bedd341a
Fix misuses of error macros 2023-04-18 10:20:48 +03:00
Yuri Sizov
f5f796b0b7
Merge pull request #76040 from MightiestGoat/fix-sliding-window-linux-via-tracking-parent
Fix the sliding window problem in linux occur due to reparenting of the window due to decoration.
2023-04-14 13:11:36 +02:00
mightygoat
932afc3bf5 Fix the sliding window problem in linux occur due to reparenting of the window during the decoration via tracking the parent of the window 2023-04-14 00:45:34 +05:30
Roman Vasilyev
8fcca194a1 ios splash screen rotation fix 2023-04-13 11:32:52 -07:00
Jason Knight
f8699d93f6 Fix potential null in android text entry system. 2023-04-12 09:18:11 -06:00
kobewi
a3799208c0 Rename console script to wrapper 2023-04-12 15:14:51 +02:00
Rémi Verschelde
95791889e2
Merge pull request #75933 from akien-mga/windows-tts-hashmap
Windows TTS: Use HashMap instead of RBMap for ids
2023-04-11 19:41:03 +02:00