Commit Graph

3613 Commits

Author SHA1 Message Date
Fredia Huya-Kouadio cf706e2dc3 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-31 19:12:34 -07:00
Rémi Verschelde 0a81659d9b
Web: Fix version check for missing scalbnf LTO workaround
The check needs to happen after we set `env["CXX"]`.
Follow-up to #81340.

(cherry picked from commit 50161808c2)
2023-10-30 14:49:14 +01:00
Rémi Verschelde c88a8f96b4
Web: Workaround Emscripten 3.1.42+ LTO regression
Fixes #80010.

(cherry picked from commit b064008c07)
2023-10-30 14:49:13 +01:00
ocean (they/them) 09554a66d8
Build system: add option for MSVC incremental linking.
(cherry picked from commit bbafe14970)
2023-10-30 14:49:13 +01:00
Rémi Verschelde ddba96755f
Merge pull request #82009 from bruvzg/xc15_ld_bug3
[macOS, 3.x] Workaround Xcode 15 linker bug.
2023-09-20 23:40:17 +02:00
bruvzg fad3fced8f
[macOS, 3.x] Workaround Xcode 15 linker bug. 2023-09-20 23:18:32 +03:00
bruvzg 233f21108b
[macOS] Change target version to 11.0+ to fix PCRE SLJIT build. 2023-09-20 23:03:53 +03:00
Rémi Verschelde 86dee6ee13
Merge pull request #81442 from bruvzg/gl_mt
[macOS, 3.x] Disable live resize in multithreaded rendering mode.
2023-09-18 15:03:56 +02:00
Rémi Verschelde 269749580d
Merge pull request #80935 from m4gr3d/fix_hardware_keyboard_input_routing_3x
[3.x] Fix Android input routing logic when using a hardware keyboard
2023-09-18 11:35:24 +02:00
Rémi Verschelde ccf662c8b8
Merge pull request #79544 from panreyes/3.x
[3.x] Add support for repackaging the generated UWP APPX file with `makeappx`
2023-09-18 11:34:34 +02:00
Fredia Huya-Kouadio 620fdd1f07 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-09-14 04:29:15 -07:00
bruvzg dfa509a3b4
[macOS] Disable live resize in multithreaded rendering mode. 2023-09-08 08:39:47 +03:00
Rémi Verschelde 10120783d6
Merge pull request #81090 from SysError99/3.x-fix-js-callback-mem-leak
[3.x] Fix JavaScript callback memory leak
2023-09-06 13:03:31 +02:00
Ben Rog-Wilhelm 1e2e3b21f3
Fix: incorrectly .gitignored files.
(cherry picked from commit 90f3992036)
2023-08-29 12:55:44 +02:00
bruvzg 5eca175816
[macOS] Bump min. version to 10.13, and remove deprecated code.
(cherry picked from commit fd3e7e25e8)
2023-08-29 12:42:10 +02:00
Hugo Locurcio 8a5fb8c69b
Update PCK embedding SCons warning message to mention mold linker
mold is now part of the SCons `linker` option.

(cherry picked from commit 074d87d718)
2023-08-29 12:42:10 +02:00
Fredia Huya-Kouadio 6d1bf81e01
Address kotlin build warnings
(cherry picked from commit 242ffb72b8)
2023-08-29 12:42:10 +02:00
Riteo a0961d64e4
Make PIE relocation detection glibc-only
Musl doesn't compile with it, and by looking online I think that this is
a glibc only thing.

(cherry picked from commit 2a6ce37910)
2023-08-29 12:42:10 +02:00
Ekaterina Vaartis 8bc325d991
Alter linux debug stacktraces handling to support more environments
- Use -gdwarf-4 to support both LLVM and GCC when calling addr2line
- Subtract position-independant execuable relocation when passing the
  address to addr2line

(cherry picked from commit 5e041eee11)
2023-08-29 12:42:10 +02:00
SysError99 8ac91f813f [3.x] Fix JavaScript callback memory leak 2023-08-29 03:12:53 +07:00
Rémi Verschelde b92b3911f7
SCons: Disable misbehaving MSVC incremental linking
Fixes #77968.

(cherry picked from commit bc1aef88ee)
2023-08-28 20:37:27 +02:00
Riteo 1850325666
Build `JoypadLinux` sandbox detection method only with udev
Fixes an `unused-function` warning when building with `udev=no`.

(cherry picked from commit 51dfdfab96)
2023-08-28 17:27:16 +02:00
Hiroki Taira 4c00ecd146
Add support for DPAD Center key of Android TV remote controller
(cherry picked from commit 9dc84e3581)
2023-08-28 17:27:16 +02:00
Dominik e62f087bf8
Added a few additional GUIDs to list of hardcoded IDs in is_xinput_device
(cherry picked from commit 19ce63d875)
2023-08-28 17:27:15 +02:00
Omar Shehata 42d2187f38
Fix double tap & drag on Android
(cherry picked from commit 0c94750642)
2023-08-28 17:27:15 +02:00
Roman Vasilyev 93913e8d5c
ios splash screen rotation fix
(cherry picked from commit 8fcca194a1)
2023-08-28 17:27:14 +02:00
Rémi Verschelde 55550da68b
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:34:10 +02:00
bruvzg 40490bb626
[macOS] Back-port notarytool, provisioning profile and PKG export options. 2023-08-07 08:41:37 +03:00
Rémi Verschelde d5a56f023a
Merge pull request #80093 from Faless/js/npm_update
[3.x] [JS] Update npm packages
2023-08-02 17:32:15 +02:00
Fabio Alessandrelli 8fb47d6b3e [JS] Update npm packages 2023-08-01 11:51:41 +02:00
puzzud 140440ee82 [3.x] Prevent double input events on gamepad when running through steam input #79706
Co-authored-by: Eoin O'Neill <eoinoneill1991@gmail.com>
2023-07-20 16:35:44 -04:00
Pablo Navarro 7d7e256e7f Added support for repackaging the generated UWP APPX file with makeappx. 2023-07-17 20:54:32 +02:00
Fredia Huya-Kouadio 5cf0ba88e3 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/78130
2023-06-15 21:45:30 -07:00
bruvzg 9461923eff
[X11] Use current keyboard layout in OS_X11::keyboard_get_scancode_from_physical. 2023-06-13 09:29:08 +03:00
Fredia Huya-Kouadio ee07f60b07 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 23:19:02 -07:00
Fredia Huya-Kouadio f3026c2aa0
Merge pull request #78085 from m4gr3d/fix_multitouch_detection_spatial_viewport_3x
[3.x] Fix spatial viewport multitouch detection support
2023-06-11 18:08:30 -07:00
Fredia Huya-Kouadio 8f44765831 Fix spatial viewport multitouch detection support
Regression introduced by https://github.com/godotengine/godot/pull/77497
2023-06-10 08:52:26 -07:00
Fredia Huya-Kouadio b5a908c985 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:

- `Auto`: choose how to run the project based on the device screen size
- `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
2023-06-07 18:20:14 -07:00
David Turner d0019e431d [Linux/TTS] Remove unused code
In 4.x, we need to find out what language is being used, so that
we can break words.  In 3.x, we assume that spaces spearate words.

So we do not need to find the language for the current voice.
2023-06-06 11:29:43 -04:00
Fredia Huya-Kouadio 9c334fa242 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:21:57 -07:00
Rémi Verschelde b71701714f
Merge pull request #77497 from m4gr3d/improve_keyboard_mouse_support_3x
[3.x] Improve touchpad and mouse support for the Android editor
2023-05-28 12:03:09 +02:00
bruvzg 18ee8da7d6
Add audio/general/text_to_speech project setting to enable/disable TTS. 2023-05-26 20:57:29 +03:00
Fredia Huya-Kouadio ccd36e0dbe Improve touchpad and mouse support for the Android editor 2023-05-25 20:09:35 -07:00
Fredia Huya-Kouadio 3bef5f29ec Update the format for the app version code and name 2023-05-24 14:40:37 -07:00
Rémi Verschelde 1538b870f1
Merge pull request #76715 from m4gr3d/add_input_event_cancelled_state_3x
[3.x] Augment the `InputEvent` class with a `CANCELED` state
2023-05-17 18:21:42 +02:00
Rémi Verschelde e5e73e7068
Merge pull request #74583 from m4gr3d/setup_play_store_builds_3x
[3.x] Update the gradle build tasks to generate play store builds.
2023-05-17 18:21:36 +02:00
Fredia Huya-Kouadio 94d6c3dcc6 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-12 15:22:54 -07:00
Rémi Verschelde 8a23fa41a8
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.

(cherry picked from commit 788cb74cc6)
2023-05-12 11:30:33 +02:00
Fredia Huya-Kouadio f9ae38d87c
Merge pull request #73692 from m4gr3d/update_touchscreen_editor_settings_3x
[3.x] Enable granular control of touchscreen related settings
2023-05-08 09:10:36 -07:00
Fredia Huya-Kouadio 30e3e301e0 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:13:00 -07:00