Commit graph

3635 commits

Author SHA1 Message Date
Rémi Verschelde
58898a5484
Linux: Add support for arm64 and arm32 export templates
This is done in a hacky way, mostly to keep it simple and avoid having
to do a refactoring of the `EditorExportPlatform` interface.

Only Windows and Linux use `EditorExportPlatformPC`, and thus to
handle the new architectures for Linux, we simply do a few checks here
and there with a couple new methods to register the export template
names for Linux arm64 and arm32.

For Godot 4.0, we did refactor everything to allow exporting binaries
for different architectures cleanly. For 3.6, which is likely the last
feature release for the 3.x branch, I tend to cut corners as these
improvements will be shorter lived and thus new tech debt isn't as big
a concern.
2024-01-18 15:38:32 +01:00
Rémi Verschelde
d01e8aafb4
UWP: Fix VS 2017 build with new get_unique_id method
Fixes this error:
```
platform\uwp\os_uwp.cpp(715): error C3149: 'Windows::Storage::Streams::IBuffer': cannot use this type here without a top-level '^'
```
2024-01-17 11:24:19 +01:00
Rémi Verschelde
304f453b01
SCons: Fix Python 3.12 SyntaxError with regex escape sequences
(cherry picked from commit b362976504)
2024-01-16 17:04:40 +01:00
Rémi Verschelde
b0329fe8cb
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.

(cherry picked from commit 63153c9d36)
2024-01-16 16:17:54 +01:00
Rémi Verschelde
4126326197
Merge pull request #83409 from jfriv/add-audiosession-options
[3.x] Add project settings for AVAudioSessionCategory on iOS
2024-01-10 13:37:22 +01:00
Cody Roberts
739d27ae40
Add project settings for AVAudioSessionCategory on iOS
Co-authored-by: Georg Wacker <contact@georgwacker.com>
2024-01-10 13:33:11 +01:00
DylanCheetah
bc93cad7f9
Implement UWP version of OS.get_unique_id function. 2024-01-10 13:25:28 +01:00
Fredia Huya-Kouadio
194452bf38 Update the logic used to start / stop the GL thread
Currently the GL thread is started / stopped when the activity is respectively resumed / paused. However, according to the `GLSurfaceView` documentation, this should be done instead when the activity is started / stopped, so this change updates the start / stop logic for the GL thread to match the documentation.
2023-12-20 20:38:34 -08:00
Rémi Verschelde
4c4cb12e38
Merge pull request #84409 from m4gr3d/add_android_gestures_project_settings
[3.x] Add Android project settings for gesture support
2023-12-13 13:24:35 +01:00
Rémi Verschelde
4bb21d3d83
Merge pull request #85915 from akien-mga/3.x-fix-linux-arm64-theora-libvpx
[3.x] SCons: Fix Linux arm64 build for theora and libvpx
2023-12-11 20:02:03 +01:00
Rémi Verschelde
5b8a1314bd
SCons: Fix Linux arm64 build for theora and libvpx
The architecture handling in 3.x is all over the place, and I'm not
going to start a major refactor like I did for 4.0 so late in its life
cycle.

So let's add more hacks! ⚔️

This requires manually passing `arch=arm64` when compiling, but this is
already the case for other parts of the codebase.
2023-12-08 12:56:52 +01:00
Zach Coleman
f330bea7a0 [3.x] Make OSIPhone::get_screen_refresh_rate respect iOS Low Power Mode 2023-11-22 11:56:12 -05:00
Rémi Verschelde
e96c42f0e1
Merge pull request #84279 from m4gr3d/update_godot_app_launch_mode_3x
[3.x] Update the `launchMode` for the `GodotApp` activity to allow other activities to be part of the same task
2023-11-15 18:28:18 +01:00
Rémi Verschelde
6618a2e745
Merge pull request #84415 from m4gr3d/fix_editor_crash_after_backing_from_game_3x
[3.x] Fix Android editor crash issue
2023-11-14 11:37:39 +01:00
Rémi Verschelde
2bbfc379df
Merge pull request #84286 from m4gr3d/auto_set_android_sdk_default_3x
[3.x] Automatically pick the Android sdk path using environment variables
2023-11-14 11:37:36 +01:00
Rémi Verschelde
b40cea8fd4
Merge pull request #83664 from turbohz/fix-error-code-255-version-help
[3.x] Server: Return exit code 0 when running --version or --help
2023-11-14 11:37:27 +01:00
Rémi Verschelde
814400bdd2
Merge pull request #83136 from bruvzg/occ_3x
[3.x] [macOS] Use occlusionState to determine when window is drawable.
2023-11-14 11:37:24 +01:00
Fredia Huya-Kouadio
ec8a4c025d Fix Android editor crash issue
Fix issue causing the Android editor to crash when pressing back from a running project
2023-11-03 07:54:04 -07:00
Fredia Huya-Kouadio
e9045a6d03 Add Android project settings for gesture support
- Include project setting to enable long press for Android devices
- Include project setting to enable pan and scale gestures on Android devices
2023-11-03 05:25:18 -07:00
Fredia Huya-Kouadio
1ce2b800b5 Automatically pick the Android sdk path using environment variables 2023-11-01 07:36:41 -07:00
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
TurboHz
7c3d37ec1d Return exit code 0 when running --version or --help
Fixes https://github.com/godotengine/godot/issues/83661
2023-10-20 11:26:38 +02:00
bruvzg
d4c2e7ec2e
[macOS, 3.x] Use occlusionState to determine when window is drawable. 2023-10-11 11:49:38 +03: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