Commit graph

5297 commits

Author SHA1 Message Date
MrBBBaiXue
ea2c6f1d0b Add a python script to install Direct3D 12 SDK components.
This makes it much faster to get started with Direct3D 12 builds,
as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py`
then run `scons d3d12=yes`.

This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime
and DirectX 12 Agility SDK.

- Define a default path that uses the locations from the script.
- Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\"
- Updated CI to use this new python script.

Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-01-24 20:11:43 +08:00
bruvzg
ce47551822
[macOS] Fix missing modifier + space key down events. 2024-01-23 09:03:47 +02:00
Fredia Huya-Kouadio
e04a38775b Update Android dependencies for the project
- Update Android gradle plugin version from 7.2.1 to 8.2.0
- Update gradle version from 7.4.2 to 8.2
- Update target SDK from 33 to 34
- Update build tools version from 33.0.2 to 34.0.0
- Update kotlin version from 1.7.0 to 1.9.20
- Update Android fragment version from 1.3.6 to 1.6.2
- Update AndroidX window version from 1.0.0 to 1.2.0
2024-01-18 10:35:32 -08:00
Yuri Sizov
6fa577cada Merge pull request #86383 from m4gr3d/editor_export_specify_java_sdk_path_main
Specify the path to the Java SDK used for the Android gradle build
2024-01-18 19:27:01 +01:00
Fredia Huya-Kouadio
85e98ef009 Specify the path to the Java SDK used for the Android gradle build
Introduce an editor setting to allow users the ability to specify the path to the Java SDK used for the Android gradle build.
2024-01-18 09:19:37 -08:00
Rémi Verschelde
17163886c2
Merge pull request #86671 from dsnopek/i3-focus-steal
[X11] Don't re-set input focus if the given window already has it (fixes Godot stealing input focus on i3)
2024-01-18 16:34:03 +01:00
Rémi Verschelde
4db2a6801f
Merge pull request #85206 from bruvzg/mac_clang_version_check_update
[macOS] Check Apple specific version instead of generic clang version.
2024-01-18 16:33:39 +01:00
David Snopek
64a52e08fe [X11] Don't re-set input focus if the given window already has it 2024-01-18 08:52:03 -06:00
Rémi Verschelde
4aff0ab5d5
Merge pull request #86441 from dsnopek/mequam-x11-focus-grab
[X11] Fix Godot stealing focus on alternative window managers
2024-01-18 09:34:18 +01:00
Rémi Verschelde
fa81059b9d
Merge pull request #85939 from adamscott/single-threaded-godot-4
Add `THREADS_ENABLED` macro in order to compile Godot to run on the main thread
2024-01-18 09:33:52 +01:00
Adam Scott
bd70b8e1f6
Add THREADS_ENABLED macro in order to compile Godot to run on the main thread 2024-01-17 13:58:29 -05:00
bruvzg
a2c1c01941
[macOS] Fix MoltenVK SDK detection after file location changes in 1.3.275.0. 2024-01-17 19:37:33 +02:00
Rémi Verschelde
35aee0e3ad
Merge pull request #87247 from bruvzg/win_remove_dxil_check
[Windows] Remove `dxc_path` check.
2024-01-16 15:07:44 +01:00
bruvzg
f3a24e082c
[Windows] Remove dxc path check. 2024-01-16 13:32:24 +02:00
Yuri Sizov
95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde
429f22ddcc
Merge pull request #87208 from brno32/android-export-error-icon
Add clearer error message for missing project icon during Android export
2024-01-16 10:38:02 +01:00
Rémi Verschelde
14d68ad7b7
Merge pull request #87053 from nikitalita/update-natvis
Revamp `godot.natvis` to improve VS debugging experience
2024-01-15 13:27:26 +01:00
Rémi Verschelde
03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
Rémi Verschelde
0e0fa999cf
Merge pull request #86288 from bruvzg/ios_xcf_export
[iOS export] Improve `.xcframework` exporting.
2024-01-15 13:24:30 +01:00
Rémi Verschelde
5f6790aa84
Merge pull request #85197 from brno32/scons-clean
Run `Clean` in Windows SCsub to clean up debug files
2024-01-15 13:23:17 +01:00
Alex Drozd
770c3b509b Add clearer error message for missing project icon during android export 2024-01-15 11:41:31 +01:00
Juan Linietsky
15144c24bd Implement a transient_to_focused mode
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.

This deprecates the "unparent_when_invisible" function introduced by #76025.
2024-01-14 18:51:44 +01:00
bruvzg
9efd83fe3c
[iOS export] Improve .xcframework exporting.
Do not embed static .xcframeworks.
Automatically convert .xcframeworks with .dylibs to .xcframeworks with .frameworks.
2024-01-11 21:58:29 +02:00
bruvzg
491077239c
[macOS/iOS export] Add option to set custom Info.plist data. 2024-01-11 21:05:35 +02:00
Rémi Verschelde
12ee58d8bc
Merge pull request #87080 from m4gr3d/disable_automatic_permissions_request
Disable automatic permissions request
2024-01-11 17:44:53 +01:00
Rémi Verschelde
99f3e40820
Merge pull request #87077 from bruvzg/ios_logger
[iOS] Improve logger.
2024-01-11 17:44:29 +01:00
Rémi Verschelde
f9762ab0b9
Merge pull request #86748 from sassanh/patch-1
[iOS] Set provisioning style for both `iPhone Developer` and `iPhone Distribution` to automatic
2024-01-11 17:39:24 +01:00
Rémi Verschelde
a86a285323
Merge pull request #86392 from bitsawer/fix_clang_windows_vulkan_context
Fix Clang `-Winconsistent-missing-override` warning
2024-01-11 17:36:54 +01:00
Rémi Verschelde
087a397477
Merge pull request #86301 from KoBeWi/deferred_cleanup
Update deferred calls to use Callables
2024-01-11 17:36:29 +01:00
Fredia Huya-Kouadio
df4f9e8e64 Disable automatic permissions request
The feature was added in Godot 4.2, but it goes against recommended best practices for permissions request, as such it's being reverted.
In its place, developers now have to explicitly request the permissions they need to access.
2024-01-11 08:04:09 -08:00
Sassan Haradji
4782cf92ad
set provisioning style for both "iPhone Developer" and "iPhone Distribution" to automatic 2024-01-11 19:26:10 +04:00
bruvzg
c38c15b42e
[iOS] Improve logger.
Stream errors to the Console.app (and highlight in Xcode).
Prevent duplicate prints in Xcode.
2024-01-11 16:59:38 +02:00
nikitalita
46c51d1691 revamp godot.natvis 2024-01-10 09:57:28 -08:00
Rémi Verschelde
9b522ac1a8
Merge pull request #86792 from m4gr3d/fix_android_dyn_library_logic_main
Fix Android dynamic library loading
2024-01-09 18:46:39 +01:00
kobewi
0e8f90f4c8 Update deferred calls to use Callables 2024-01-09 16:11:47 +01:00
mequam
40d69c25d5 [X11] Fix Godot stealing focus on alternative Window Managers 2024-01-09 08:58:59 -06:00
Rémi Verschelde
c951ec163e
Merge pull request #86882 from Mickeon/its-a-secret-to-everyone
Hide Keystore Release password on Android's Export window
2024-01-08 11:59:55 +01:00
Micky
ca03367801 Hide Keystore Release password on Android's Export window 2024-01-06 18:40:33 +01:00
Muller-Castro
96a95cb974 Add const lvalue ref to container parameters 2024-01-05 14:49:57 -03:00
Rémi Verschelde
5b50df2419
Merge pull request #86769 from StagnationPoint/logging_improvement
Add logging when macOS export will fail due to disabled texture formats.
2024-01-05 12:05:57 +01:00
Rémi Verschelde
1455159d2c
Merge pull request #86379 from m4gr3d/update_render_thread_paused_timing_main
Android: Update the logic used to start / stop the render thread
2024-01-05 12:05:08 +01:00
StagnationPoint
7035cf8c90 Add logging when macOS export will fail due to disabled texture formats. Since ETC2 ASTC is required for universal builds, also ensure it is enabled for them. 2024-01-05 02:44:59 -08:00
Fredia Huya-Kouadio
407855b8f8 Revert https://github.com/godotengine/godot/pull/86682 for the Android platform as it breaks dynamic library loading 2024-01-04 10:06:55 -08:00
bruvzg
d8a0eed726
[iOS export] Add export options for performance capabilities and min. iOS version. 2024-01-04 19:38:53 +02:00
Rémi Verschelde
5d44c85d4c
Merge pull request #84107 from BlueCube3310/file-access-optimization
Use platform-specific methods for FileAccess reading and writing
2024-01-04 16:39:47 +01:00
Rémi Verschelde
dbd139c91c
Merge pull request #86761 from Alex2782/fix_get_windows_safe_area
Fix `get_window_safe_area` on Android
2024-01-04 14:26:42 +01:00
Rémi Verschelde
6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde
ceafa6120d
Merge pull request #84246 from bruvzg/win_frac_refresh
[Windows] Use CCD API to get fractional screen refresh rates.
2024-01-04 14:25:14 +01:00
Rémi Verschelde
763a8e9839
Merge pull request #83702 from Patchcoat/VerifyKeystore
Ensure Android keystore username and password are checked on export
2024-01-04 14:25:09 +01:00
Alexander Hartmann
d7c6ad2020 Fix 'get_window_safe_area' on Android 2024-01-03 20:53:37 +01:00
Rémi Verschelde
27a9119b8a
Merge pull request #86312 from bruvzg/ios_fix_screen_res
[iOS] Remove deprecated LaunchImages support and switch to Storyboard by default.
2024-01-03 15:44:57 +01:00
Rémi Verschelde
d36903860c
Merge pull request #86160 from gregdebonis/gregdebonis/issue86156
Fix key mapping for `XK_KP_Delete` key
2024-01-03 15:44:32 +01:00
nikitalita
6788bc6bc2
SCons: Add stack_size and default_pthread_stack_size options to Web target 2024-01-03 14:11:24 +01:00
Rémi Verschelde
37df2ff387
Merge pull request #86682 from Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open
Distinguish between dynamic library not found and can't be opened.
2024-01-02 18:06:17 +01:00
Rémi Verschelde
3e67dc1f52
Merge pull request #86552 from sepTN/fix-get_system_font_path
Fix `OS.get_system_font_path` and `OS.get_system_font_path_for_text` to return correct slashes
2024-01-02 18:05:37 +01:00
Daylily-Zeleen
fe6b073811 Distinguishs between dynamic library not found and can't be opened. 2024-01-01 20:01:57 +08:00
Septian
475c2fa1e7 Fix OS.get_system_font_path and OS.get_system_font_path_for_text to return correct value 2023-12-27 23:19:43 +07:00
jsjtxietian
078bfae6a4 Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is added 2023-12-25 11:13:01 +08:00
bitsawer
5c51e5b9d2 Fix Clang dev_mode build on Windows 2023-12-21 14:05:39 +02:00
Fredia Huya-Kouadio
f537cdefcf Update the logic used to start / stop the render thread
Currently the render 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 render thread to match the documentation.
2023-12-20 20:37:16 -08:00
Yuri Sizov
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez
12a519bae2 Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Yuri Sizov
aee8a3bada Merge pull request #75489 from bruvzg/init_pos_usable
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-19 20:32:10 +01:00
bruvzg
e01b22a69d
[Windows] Make Windows Ink tablet API default, add dummy driver to disable tablet input. 2023-12-18 22:36:54 +02:00
bruvzg
da3d5f780d
[iOS] Remove deprecated LaunchImages support and switch to Storyboard by default. 2023-12-18 22:21:58 +02:00
Yuri Sizov
644e236e5c Merge pull request #83987 from bruvzg/macos_window_and_help
[macOS] Add default Window and Help menus, allow special menu customization.
2023-12-18 18:17:41 +01:00
Wilson E. Alvarez
a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
bruvzg
f9486a2d88
[Web] Add IME input support. 2023-12-15 19:11:10 +02:00
Gregory De Bonis
95bcf93849 Wrong key mapping for XK_KP_Delete key
Fixes #86156
2023-12-14 10:39:15 -03:00
Alex Drozd
18013ca020 run Clean in Windows SCsub to clean up debug files 2023-12-14 00:00:56 +01:00
bruvzg
0d44b50520
[macOS] Add default Window and Help menus, allow special menu customization. 2023-12-13 23:20:05 +02:00
Wilson E. Alvarez
80fb8db31f
Remove unnecessary assignments
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Rémi Verschelde
bbf64a5cea
Merge pull request #86107 from bruvzg/d3d12_copy
[D3D12] Add missing DLL architecture paths for the 32-bit builds.
2023-12-13 10:34:24 +01:00
Rémi Verschelde
2966db7d76
Merge pull request #84440 from Calinou/scons-android-add-generate-apk-option
Add `generate_apk=yes` to generate an APK after building
2023-12-13 10:31:32 +01:00
bruvzg
b2bb0d396b
[D3D12] Add missing DLL architecture paths for the 32-bit builds. 2023-12-13 11:26:12 +02:00
Hugo Locurcio
18152ac3a1
Add generate_apk=yes to generate an APK after building
This is useful to speed up iteration when working on the engine
(or editor).

This can be combined with a script that calls `adb` to deploy the APK
on a device (coupled with Godot's `--export-*` for projects)
to further speed up iteration.
2023-12-13 00:27:57 +01:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Pedro J. Estébanez
2f47c57385 Add Direct3D 12 RenderingDevice implementation 2023-12-12 19:10:04 +01:00
Rémi Verschelde
4921144024
Merge pull request #86001 from bruvzg/win_arm_angle
[Windows] Always use ANGLE in ARM builds.
2023-12-12 00:33:49 +01:00
Rémi Verschelde
ae7c533937
Merge pull request #84686 from dsnopek/webxr-msaa
Add MSAA support for WebXR
2023-12-12 00:17:16 +01:00
Adam Scott
8e5fbd4348
Set what were default values for some emscripten linkflags
- Set `-sSTACK_SIZE` to what it was before emscripten 3.1.27.
  It was renamed in 3.1.25 so also set `-sTOTAL_SIZE` for older
  versions for consistency.
- Set `-sDEFAULT_PTHREAD_STACK_SIZE` to what it was before 3.1.30.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-12-11 19:53:11 +01:00
David Snopek
275c496bc8 Add MSAA support for WebXR 2023-12-11 09:01:24 -06:00
bruvzg
b65635ae51
[Windows] Always use ANGLE in ARM builds. 2023-12-09 20:47:46 +02:00
Yuri Sizov
dea7597111 Merge pull request #85546 from bruvzg/devicectl_support
[iOS one-click] Add support for Xcode 15 devicectl.
2023-12-08 18:45:58 +01:00
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