Commit Graph

4923 Commits

Author SHA1 Message Date
f0c8d2c536 Add POST_NOTIFICATIONS permission to the list of permissions available in the Export dialog
(cherry picked from commit 739190ca2b)
2024-04-08 22:12:58 +02:00
776696eb64 [macOS] Enabled secure restorable state.
(cherry picked from commit 84380a94f7)
2024-03-11 23:42:51 +01:00
601afdf1d5 Fix virtual keyboard for decimal values on Android
(cherry picked from commit 6f91c00056)
2024-03-11 23:42:51 +01:00
c8ae076c1a Fix emscripten 3.1.51 breaking change about *glGetProcAddress()
(cherry picked from commit 5922ac0fb1)
2024-03-11 23:42:48 +01:00
00e3aa9b07 Add workaround for emscripten >= 3.1.47 LTO build
(cherry picked from commit 656bc22e28)
2024-03-11 17:12:54 +01:00
803e901e22 Improve documentation on Android package unique name
- Document `$genname` behavior.
- Update to match actual validation and Google Play guidelines.

(cherry picked from commit 111908c4ed)
2024-03-11 15:13:20 +01:00
503dc95d71 Add documentation to EditorExportPlatformWeb
(cherry picked from commit 7ffacb5d49)
2024-03-11 15:05:13 +01:00
19673840fb iOS: Enable Storyboard launch screen by default
LaunchImages are deprecated, and Storyboard is supported on all currently
supported iOS versions, so this should be the default.

LaunchImages support was removed in 4.3 with #86312.

(cherry picked from commit 91c5d1e245)
2024-03-11 15:01:23 +01:00
5c10605295 os_linuxbsd.cpp: include servers/rendering_server.h
(cherry picked from commit 6307cebf37)
2024-03-11 15:01:22 +01:00
10f49cb758 Fix gradle build errors when the build path contains non-ASCII characters
(cherry picked from commit f1887a30f3)
2024-03-11 15:01:22 +01:00
b11c95dc98 Add WASM_BIGINT linker flag to the web build
(cherry picked from commit 3ae524fa9e)
2024-03-11 15:01:22 +01:00
193592d532 Web: Bump closure compiler spec to ECMASCRIPT_2021
Fixes #88008.

(cherry picked from commit d29b0d90e0)
2024-03-09 23:37:49 +01:00
5b4c5c4118 [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.

(cherry picked from commit e9df955e39)
2024-03-09 23:37:30 +01:00
8c54f7b6cd [macOS] Check Vulkan SDK version when looking for MoltenVK libs.
(cherry picked from commit 70e328385c)
2024-03-09 23:34:53 +01:00
307a6eba6b 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

(cherry picked from commit 0325568a9b)
2024-01-24 18:12:40 +01:00
126874bb38 Check nullptr in _nvapi_disable_threaded_optimization to prevent crash
update outdated link

(cherry picked from commit a3f44cd67e)
2024-01-23 19:57:34 +01:00
f6a9129219 Preserve the output from the gradle build command
Updates `EditorNode#execute_and_show_output(...)` to return the output of the executed command.

(cherry picked from commit 136b7f9c52)
2024-01-23 19:15:03 +01:00
a3432848b2 Fix Android editor crash issue
Fix issue causing the Android editor to crash when pressing back from a running project

(cherry picked from commit fcb07ff8dc)
2024-01-23 19:15:03 +01:00
2559d4b587 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"
```

(cherry picked from commit dce2686e52)
2024-01-23 19:09:45 +01:00
ceb0602c16 Fix bug where maximized->fullscreen->windowed mode stays maximized.
(cherry picked from commit 7918e2b6d9)
2024-01-23 19:09:45 +01:00
561b843831 Fix Andorid disabling splash screen Show Image
(cherry picked from commit 7771936df5)
2024-01-23 17:49:55 +01:00
204f3bd58d TTS_Linux: Fix size_t template issue on OpenBSD by using int consistently
(cherry picked from commit a0253e593c)
2024-01-23 16:54:02 +01:00
a71153d9bd Fix: incorrectly .gitignored files.
(cherry picked from commit 90f3992036)
2024-01-23 16:03:15 +01:00
ba41f42c82 [macOS] Fix MoltenVK SDK detection after file location changes in 1.3.275.0.
(cherry picked from commit a2c1c01941)
2024-01-18 10:47:42 +01:00
39271362c3 Fix invalid Python escape sequences
(cherry picked from commit 4986d6d317)
2024-01-16 17:17:29 +01:00
1e1d91df6a SCons: Re-disable exceptions for Android, iOS, and Web
We made a mistake when cherry-picking #80612 with 269b115d9c,
where the global flag was defaulted to false to preserve the 4.1-stable behavior for desktop
platforms, but we forgot that the refactoring removed the force disabling of exceptions for
Android, iOS, and Web.

This reintroduces this behavior so it should be back to the same as in 4.1/4.1.1, and the
export templates should get back to their original size.

Only difference, the old code used to keep exceptions for the Web editor, but I see no reason
for it, so I disable them like with the templates.
2023-11-01 22:16:17 +01:00
74a1d8addd 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

(cherry picked from commit 14428c8d5b)
2023-11-01 16:20:27 +01:00
3d8c77dc92 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.

(cherry picked from commit 5137497c18)
2023-10-24 20:15:20 +02:00
e37eb47144 Docs: Fix link to Android Gradle build tutorial
(cherry picked from commit 68a1e0c7d4)
2023-10-24 19:51:53 +02:00
82ad6a3dad Update joypad_windows.cpp
Add XInput device for Series 2 Elite controller

(cherry picked from commit 81f9c0345c)
2023-10-24 19:50:22 +02:00
426e5288a1 [macOS] Fix borderless mode on macOS 13.6+.
(cherry picked from commit 873d4079d1)
2023-10-24 18:29:40 +02:00
fdfa59ee6c [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.

(cherry picked from commit 6263774aec)
2023-10-24 18:17:02 +02:00
21e1148cc5 Fix godot_js_wrapper_create_cb regression
(cherry picked from commit 8447cbc16d)
2023-10-24 17:25:07 +02:00
55ae5b0a78 Fix JavaScript callback memory leak issue
Typo fix

(cherry picked from commit 6a90164a03)
2023-10-24 17:25:07 +02:00
5bb54d3184 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`).

(cherry picked from commit 426e18fd37)
2023-10-24 17:08:57 +02:00
e0221d1c09 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.

(cherry picked from commit 87102e358d)
2023-10-24 16:52:58 +02:00
4944a07044 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.

(cherry picked from commit 5608b1d411)
2023-10-24 16:05:00 +02:00
67e1849bd4 Add missing tutorials to documentation classes
(cherry picked from commit 469c462b76)
2023-10-19 21:59:32 +02:00
f5130502be Use EWMH for DisplayServerX11::_window_minimize_check() implementation
(cherry picked from commit 5666656d42)
2023-10-19 21:49:00 +02:00
02c6d985b8 Fix native popups auto-closing when interacting with non-client area.
(cherry picked from commit e26a6c36c8)
2023-10-19 21:45:11 +02:00
eca105f075 [Windows] Do not force redraw window background on mouse pass-through region change.
(cherry picked from commit b240b5be84)
2023-10-19 21:21:02 +02:00
aae20e5b10 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>

(cherry picked from commit faaf27f284)
2023-10-03 20:45:35 +02:00
6b37ad40d7 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>
(cherry picked from commit 8c40edf8c0)
2023-10-03 20:45:35 +02:00
df0ebc6dfc SCons: Fix Python 3.12 SyntaxError with regex escape sequences
(cherry picked from commit b362976504)
2023-10-03 20:45:35 +02:00
9308d20d1b [iOS] Fix build with Xcode 15.
(cherry picked from commit e1c7104e46)
2023-10-03 20:45:32 +02:00
fed41ae520 Fix Windows console wrapper and icon being swapped
Fixes #80238.

(cherry picked from commit 3cf1e04579)
2023-09-21 15:43:10 +02:00
4355bf9cf3 [Web] Update npm packages
(cherry picked from commit 61e7d47344)
2023-09-21 15:39:16 +02:00
21da3f3847 [X11] Do not fail DisplayServer init if non-essential extensions are missing.
(cherry picked from commit acff87ffda)
2023-09-21 15:28:23 +02:00
252d816459 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.

(cherry picked from commit c662491bd4)
2023-09-21 14:57:13 +02:00
58ff96b8b7 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.

(cherry picked from commit 8de98dbf21)
2023-09-21 14:57:13 +02:00