Commit graph

5392 commits

Author SHA1 Message Date
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
Rémi Verschelde
f7f7250c0d
Merge pull request #75827 from Kvel2D/fix-custom-cursor-atlas-texture-bug
Fix custom cursor using atlas texture
2023-04-11 19:40:44 +02:00
Rémi Verschelde
5722d6e3cc
Merge pull request #75451 from bruvzg/web_mac_keys
[Web] Detect host OS and use macOS keys on mac hosts.
2023-04-11 19:40:16 +02:00
Rémi Verschelde
02b9a9268a
Merge pull request #74326 from mjunix/patch-1
macOS export: Fix validation of codesigning certificate password
2023-04-11 19:40:11 +02:00
Kvel2D
41f0a523db Fix custom cursor using atlas texture
Remove image.is_valid() check
There is already a fail condition and image is not used before that
Move up texture_is_valid() check
2023-04-11 19:16:24 +02:00
Johan Mattsson
76e1d1363b
macOS export: Fix validation of codesigning certificate password 2023-04-11 18:45:46 +02:00
Rémi Verschelde
92b9806dcc
Windows TTS: Use HashMap instead of RBMap for ids
And fixup includes in other implementations.
2023-04-11 15:54:21 +02:00
bruvzg
a5009f4d3c
[Web] Detect host OS and use macOS keys on mac hosts. 2023-04-11 10:58:54 +03:00
bruvzg
83dc545ea2 [Windows] Cleanup COM library initialization/uninitialization. 2023-04-10 10:38:25 +03:00
bruvzg
a9d326db60 [Windows TTS] Fix queuing utterances in rapid succession. 2023-04-10 10:24:40 +03:00
bruvzg
744bf604bf [Web] Fix keycode/physical keycode mixed up. 2023-04-06 09:40:59 +03:00
Ron B. Yeh
c8cbc67156 Rename iconpath => icon_path & hasicon => has_icon. 2023-04-04 17:05:37 -07:00
Rémi Verschelde
7aa224291b
Merge pull request #73200 from 0xafbf/fix-guide-button-win
Fix guide button detection with XInput and Xbox Series controllers
2023-04-03 15:58:36 +02:00
Yuri Sizov
db77702177
Merge pull request #75254 from bruvzg/macos_menu_cb_loop
[macOS] Fix infinite loop caused by global menu callbacks which trigger EditorProgress dialog.
2023-03-30 23:09:42 +02:00
Yuri Sizov
80528c17c7
Merge pull request #75461 from Sabrehull/keycode-fix
[X11] Fix layout bug in `keyboard_get_keycode_from_physical`
2023-03-30 18:24:33 +02:00
Yuri Sizov
c29866dbc0
Merge pull request #75203 from m4gr3d/bump_target_sdk_33_main
Bump the target SDK version to 33 (Android 13)
2023-03-29 20:18:39 +02:00
Sabrehull
d4b7466266
[X11] Fix layout bug in keyboard_get_keycode_from_physical 2023-03-29 15:18:31 +02:00
bruvzg
68163f5643 [Windows] Detect missing DLL dependencies and list them in the open_dynamic_library error message. 2023-03-27 12:18:15 +03:00
bruvzg
48730e3b77
[macOS] Fix infinite loop caused by global menu callbacks which trigger EditorProgress dialog. 2023-03-23 13:38:12 +02:00
Fredia Huya-Kouadio
845ca33c76 Bump the target SDK version to 33 (Android 13) 2023-03-21 19:24:09 -07:00
ator-dev
dfb405b702 Fix "Download Project Source" for Web Editor
- Correctly pass safe project name and safe datetime to `vformat`
2023-03-21 19:20:52 +00:00
Yuri Sizov
0067578b5b
Merge pull request #75146 from m4gr3d/fix_directory_access_with_all_files_access_permission_main
Fix directory access when the running app has the `All files access` permission
2023-03-21 14:43:14 +01:00
bruvzg
e6067a39b5
[Windows] Remove meta_mem update on keyup/keydown. 2023-03-21 09:16:10 +02:00
Fredia Huya-Kouadio
f02e4e4091 Fix directory access when the running app has the All files access permission 2023-03-20 08:56:04 -07:00
Yuri Sizov
8e87806c8e
Merge pull request #75106 from m4gr3d/set_vulkan_level_optional_main
Make vulkan level 1 an optional requirement
2023-03-20 15:28:58 +01:00
bruvzg
ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows. 2023-03-20 14:58:21 +02:00
bruvzg
09465f3fe6
Remove (or make verbose only) various debug prints. 2023-03-20 08:14:18 +02:00
bruvzg
bed46f723c
[Linux/BSD] Add dynamically loaded library version checks. 2023-03-20 08:10:56 +02:00
Fredia Huya-Kouadio
f67d7fa137 Make vulkan level 1 an optional requirement 2023-03-19 08:54:12 -07:00
Yuri Sizov
2dc16f3c58
Merge pull request #74066 from m4gr3d/add_vulkan_version_filter_main
Add feature check to require min Vulkan api version 1.0 on Android
2023-03-16 13:08:09 +01:00
bruvzg
42a30c76d9
[macOS] Remove unnecessary debug prints. 2023-03-14 20:04:58 +02:00
John Veness
4505049ba6 Corrected capitalisation of macOS
In documentation and comments, ignoring thirdparty code
2023-03-12 16:48:52 +00:00
Malcolm Nixon
d186b7438f Fix null-pointer dereference on Android systems when using gl_compatibility renderer. 2023-03-11 12:03:55 -05:00
Rémi Verschelde
fcbb3e6388
Merge pull request #74702 from bruvzg/ts_inv_font_metrics
[TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only.
2023-03-10 14:06:14 +01:00
Rémi Verschelde
9b8c4d2629
Merge pull request #74673 from lewiji/android_provider_path
Add "filesRoot" path to Android provider paths xml
2023-03-10 14:05:04 +01:00
Rémi Verschelde
015cec0a6b
Merge pull request #74666 from akien-mga/scons-linux-cleanup-pulseaudio-defines
SCons: Cleanup pulseaudio defines for Linux
2023-03-10 14:03:53 +01:00
Ninni Pipping
a419325753 Fix clearing custom cursor 2023-03-10 11:59:49 +01:00
bruvzg
8d501a2dc3
[TextServer] Add invalid font scaling check, restrict Linux/BSD system fonts lookup to TrueType/CFF only. 2023-03-10 09:36:17 +02:00
lewiji
ac04ff7bec Add "filesRoot" path to Android provider paths xml 2023-03-09 19:11:08 +00:00
Rémi Verschelde
a35586779e
SCons: Cleanup pulseaudio defines for Linux
No need to define _REENTRANT manually when using the system lib,
it's part of the pkgconfig cflags.
And we were then defining PULSEAUDIO_ENABLED twice.
2023-03-09 16:05:52 +01:00
Rémi Verschelde
c1128e911c
Merge pull request #74645 from omar-polo/scons-exit
exit with non-zero status if not all freetype deps are all builtin or not
2023-03-09 15:59:20 +01:00
Omar Polo
ac04a0761e change some sys.exit() to be fatal
- when not all freetype deps are builtin (or provided externally)
- when attempting to build on an unsupported CPU architecture
2023-03-09 14:30:45 +01:00
Hugo Locurcio
ddc9cc3e49
Tweak command syntax in Vulkan renderer failure message
This quotes the executable name so that copying it always works
(even if the path contains spaces).

The command is also indented from the rest of the text and is
no longer single-quoted, as that can prevent the command from
running if the line is copied in its entirety (with the quotes).
2023-03-08 22:28:23 +01:00
Rémi Verschelde
511dac838b
Merge pull request #74598 from bruvzg/x11_kc
[Linux/X11] Add some missing keycodes/scancodes.
2023-03-08 14:06:58 +01:00
bruvzg
5d35c600d5
[Linux/X11] Add some missing keycodes/scancodes. 2023-03-08 12:13:41 +02:00
Rémi Verschelde
8325320192
Merge pull request #74563 from clayjohn/X11-context
Propogate errors when creating an OpenGL context fails in X11
2023-03-08 08:58:35 +01:00
clayjohn
e7ea3ef531 Propogate errors when creating an OpenGL context fails in X11 2023-03-07 11:12:21 -08:00
Rémi Verschelde
013a457068
Merge pull request #74535 from Rindbee/fix-broken-shortcut-key-input
Fix broken shortcut key input
2023-03-07 12:05:20 +01:00
Rémi Verschelde
918c910b4d
Merge pull request #73878 from RedMser/fix-clipboard-focus-windows
Fix clipboard relying on focused window
2023-03-07 12:04:26 +01:00
Rindbee
91e460d500 Fix broken shortcut key input 2023-03-07 16:06:38 +08:00
Ron B. Yeh
7e7ac1bb87 Rename mkv_list to mvk_list (MoltenVK path list). 2023-03-06 16:25:00 -08:00
Rémi Verschelde
5f2137a050
Merge pull request #74087 from bruvzg/get_screen_px
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows.
2023-03-06 21:58:58 +01:00
Rémi Verschelde
2267646bf4
Merge pull request #74476 from bruvzg/js_phy_keycode
[Web] Fix some missing keycode mappings.
2023-03-06 10:59:01 +01:00
bruvzg
0b0587af97
[Web] Fix some missing keycode mappings. 2023-03-06 11:55:49 +02:00
Rémi Verschelde
7b31c7b72a
Merge pull request #74470 from m4gr3d/configure_snapshot_publish_version_main
Configure maven central snapshot versions for the Godot Android library
2023-03-06 10:53:46 +01:00
Rémi Verschelde
f408e7a387
Merge pull request #74444 from akien-mga/windows-mingw-fix-missing-dwrite-font-weight
Windows: Workaround missing DWRITE_FONT_WEIGHT value in old MinGW
2023-03-06 10:52:59 +01:00
Rémi Verschelde
90b516e803
Merge pull request #74474 from bruvzg/win_ime_release_mod
[Windows] Update modifier key status during IME input.
2023-03-06 10:52:27 +01:00
Rémi Verschelde
19a51467af
Merge pull request #74398 from necrashter/android-vk-height
Use the new API for virtual keyboard height detection on Android, bugfix for old API
2023-03-06 10:50:14 +01:00
Fredia Huya-Kouadio
a5fdc95515 Configure maven central snapshot versions for the Godot Android library
A snapshot version is a version that has not yet been released which allows us to deploy the same transient version incrementally, without requiring projects to upgrade the artifact version they're consuming. Those projects can use the same version to get an updated snapshot version.
2023-03-06 01:30:19 -08:00
bruvzg
ba995c6ea1 [Windows] Update modifier key status during IME input. 2023-03-06 10:31:23 +02:00
necrashter
61549edef0
Use the new API for virtual keyboard height detection on Android, bugfix 2023-03-06 00:18:39 +03:00
Rémi Verschelde
b7ecb9584a
Windows: Workaround missing DWRITE_FONT_WEIGHT value in old MinGW
Fixes #74339.
2023-03-05 18:18:04 +01:00
Rémi Verschelde
9ab52d8773
Merge pull request #74367 from webair/increase-max-touches-ios
iOS: Increase max simultaneous touches to 32
2023-03-05 13:30:13 +01:00
Chris Weber
54bd204377 increased max touches to 32 for ios 2023-03-04 17:24:00 +01:00
Rémi Verschelde
afb8693715
Linux: Don't try to link system embree3 on unsupported archs 2023-03-03 14:02:05 +01:00
Rémi Verschelde
aa9de8a930
Merge pull request #74030 from bruvzg/win_to_win_shh
Fix Windows to Windows SSH remote deploy. Fix Windows `execute` exit code.
2023-03-02 11:21:20 +01:00
bruvzg
8a675f3824 [Linux/X11] Check if required xkb functions exist before using it. 2023-03-02 10:25:50 +02:00
bruvzg
e7647b5ee5
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows. 2023-03-01 09:32:23 +02:00
Fredia Huya-Kouadio
306a2ad386 Add feature check to require min Vulkan api version 1.0 on Android 2023-02-28 11:20:34 -08:00
Rémi Verschelde
491ded1898
Minor typo and docs URL fixes 2023-02-28 13:38:01 +01:00
bruvzg
94355249c3 Fix Windows to Windows SSH remote deploy. Fix Windows execute exit code. 2023-02-27 09:54:49 +02:00
RedMser
942f8b9858 Fix clipboard relying on focused window 2023-02-24 16:31:57 +01:00
Rémi Verschelde
9e6cb51939
Merge pull request #73752 from bruvzg/x11_quote_left
Fix X11 QUOTELEFT / SECTION physical key mapping.
2023-02-24 14:11:25 +01:00
bruvzg
97062ddf2b
[Linux TTS] Use Callable instead of registering methods. 2023-02-22 16:05:17 +02:00
Rémi Verschelde
32bd912bb6
Merge pull request #73750 from bruvzg/brace
[Input] Use BRACKET_ instead of BRACE_ for physical keys.
2023-02-22 14:50:18 +01:00
Rémi Verschelde
9e75ae878d
Merge pull request #73744 from bruvzg/mainw_init_flags
[Windows] Take initial flags into account when creating main window.
2023-02-22 14:49:44 +01:00
bruvzg
693afe95d3
Fix X11 QUOTELEFT / SECTION physical key mapping. 2023-02-22 13:16:58 +02:00
bruvzg
fdf56a2fc2 [Input] Use BRACKET_ instead of BRACE_ for physical keys. 2023-02-22 12:39:30 +02:00
Rémi Verschelde
7fab2d7f46
Merge pull request #73740 from bruvzg/win_codesign
[Windows Export] Pass password only when using PKCS12 file, fix executable name in the error message.
2023-02-22 10:13:52 +01:00
Rémi Verschelde
91aed4b9b5
Merge pull request #73694 from m4gr3d/update_touchscreen_editor_settings_main
Enable granular control of touchscreen related settings
2023-02-22 10:12:42 +01:00
bruvzg
ba7ab0e1cb [Windows] Take initial flags into account when creating main window. 2023-02-22 10:52:26 +02:00
Fredia Huya-Kouadio
445053a62d Enable granular control of touchscreen related settings 2023-02-22 00:16:39 -08:00
bruvzg
493271a04c
[Windows Export] Pass password only when using PKCS12 file, fix executable name in the error message. 2023-02-22 09:07:00 +02:00
Rémi Verschelde
e13fae1414
Merge pull request #72817 from m4gr3d/include_htc_xr_category_metadata
Add HTC Vive focus XR manifest metadata
2023-02-21 23:52:21 +01:00
bruvzg
6e76a7fbd8
[Linux] Process TTS callback on the main thread to avoid speech-dispatcher deadlock. 2023-02-21 10:45:49 +02:00
bruvzg
6f418a3441
[macOS] Fix Input.warp_mouse shifted by one screen pixel. 2023-02-21 08:30:28 +02:00
Hugo Locurcio
950c5b57e4
Move code to Windows Vulkan context initialization context
This workaround is not needed for rendering drivers other than Vulkan.
2023-02-17 17:48:18 +01:00
Aaron Franke
c53ab56633
macOS: Enable display/high_res by default 2023-02-17 10:27:28 -06:00
Rémi Verschelde
f84479fe5a
Merge pull request #72877 from bruvzg/x11_on_top
[X11] Fix initial "on top" window state.
2023-02-17 16:21:13 +01:00
bruvzg
853f0eae58
[X11] Fix initial "on top" window state. 2023-02-17 16:08:26 +02:00
Rémi Verschelde
4574b97752
Fix crash with bogus shape index to DisplayServer.cursor_set_custom_image()
Fixes #66605.
2023-02-17 14:17:37 +01:00
Rémi Verschelde
cefe1e0654
Merge pull request #73441 from akien-mga/linux-unbundling-fixes
Fix includes of thirdparty libs which can be unbundled on Linux
2023-02-17 09:56:02 +01:00
Nataša
c71d050529 iOS: Implement missing JoyButton::BACK (Options), START (Menu), and GUIDE (Home) 2023-02-16 23:54:15 +01:00
Hugo Locurcio
31a9345189
Disable AMD switchable graphics on Windows with Vulkan to fix driver issue
This is a required workaround on setups with AMD integrated graphics
+ NVIDIA dedicated GPU to be able to start the engine with the Forward+
or Forward Mobile rendering methods.

While a AMD driver update can resolve this issue, it still gets reported
regularly and is likely to become a source of support headache for people
distributing projects made with Godot (as this also affects exported projects).
2023-02-16 19:39:27 +01:00
Rémi Verschelde
29f670b7ab
Merge pull request #73359 from bruvzg/so_wrap_opt
[Linux] Make SO wrapper usage optional.
2023-02-16 18:35:04 +01:00
Rémi Verschelde
e2fc0acd36
Fix includes of thirdparty libs which can be unbundled on Linux
Changes `builtin_icu` and `builtin_recast` to match the folder names in
`thirdparty`.
2023-02-16 15:52:13 +01:00
bruvzg
dd068794c3
[Linux] Make SO wrapper usage optional. 2023-02-16 16:38:47 +02:00
bruvzg
bc95b0b171
Restore FileAccess.close method. 2023-02-16 15:34:20 +02:00
Rémi Verschelde
43c9ac82bb
Merge pull request #69201 from tbveralrud/ios-touch-leak-fix-master
iOS: Fix memory leak on touch input
2023-02-16 11:01:58 +01:00
Rémi Verschelde
5b6c9c66a4
Android: Default Min SDK to 24 for Vulkan mobile
Users can still go down to 21 when using GL Compatibility.
This makes the default behavior match the default renderer, and thus avoids
a warning in the out of the box experience.

Also mark texture compression settings as basic, since out of the box users
who want to export to Android will need to enable ETC2/ASTC manually.
2023-02-15 14:32:54 +01:00
Rémi Verschelde
47a8ee8814
Merge pull request #73268 from bruvzg/key_mod
[InputEventKey] Avoid setting both key and modifier to the same value.
2023-02-15 09:52:47 +01:00
Travis Veralrud
10be2c343f
iOS: Fix memory leak on touch input
Replace incomplete iOS gesture with touch implementation.

Fixes #66422.
2023-02-15 09:45:38 +01:00
Andrés Botero
f249a9ce19 Added guide button to controller db, changed to use secret XInput function. 2023-02-15 01:01:09 -05:00
Thomas ten Cate
8a17f94ab2 Some fixes for initial window position and size
- X11: set main window position and size hints correctly
- All platforms: update minimum and maximum size of main window at
  startup

Fixes #70984
2023-02-14 12:15:14 +01:00
bruvzg
a322f3f578
[InputEventKey] Avoid setting both key and modifier to the same value. 2023-02-14 09:05:58 +02:00
Hugo Locurcio
074d87d718
Update PCK embedding SCons warning message to mention mold linker
mold is now part of the SCons `linker` option.
2023-02-13 10:55:37 +01:00
Fredia Huya-Kouadio
b53e9614b8 Fix the issue causing long-press on a selected node on the scene tree to trigger both the context menu and the rename functionality 2023-02-12 21:04:36 -08:00
Emmanouil Papadeas
c36460060e
Further refactoring to AudioDriver implementations after #69120.
- Rename all instances of `capture_start()` and `capture_end()` to their new
  names. Fixes #72892.
- More internal renames to match what was started in #69120.
- Use `override` consistently so that such refactoring bugs can be caught.
- Harmonize the order of definition of the overridden virtual methods in each
  audio driver.
- Harmonize prototype for `set_output_device` and `set_input_device`.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-02-09 11:02:00 +01:00
Rémi Verschelde
c4fb119f03
Merge pull request #72816 from m4gr3d/downgrade_vulkan_warning
Downgrade the vulkan abort logic to a warning
2023-02-08 11:24:48 +01:00
Fredia Huya-Kouadio
9d83e807e7 Downgrade the vulkan abort logic to a warning
This addresses issues where some drivers are reporting they don't meet the vulkan hardware level 1 support requirements even though they render as expected when the check is removed.
2023-02-07 16:16:58 -08:00
bruvzg
80dc7713f9
[X11] Do not suppress structure/focus events on popup close to correctly return focus. 2023-02-07 12:13:34 +02:00
Fredia Huya-Kouadio
2735ff7b68 Add HTC Vive focus XR manifest metadata 2023-02-06 17:20:45 -08:00
Rémi Verschelde
09b2c5fd05
Merge pull request #72552 from m4gr3d/cleanup_custom_build_main
Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process
2023-02-06 22:50:22 +01:00
Rémi Verschelde
dcb1de1b6c
Merge pull request #72806 from m4gr3d/add_vulkan_filter_when_necessary
Improve logic to detect whether vulkan is used for rendering
2023-02-06 22:48:02 +01:00
Fredia Huya-Kouadio
21e18c1c41 Improve logic to detect whether vulkan is used for rendering 2023-02-06 10:13:02 -08:00
Rémi Verschelde
491c8ff4ee
Merge pull request #72780 from m4gr3d/add_vulkan_filter_when_necessary
Improve vulkan capability detection on Android
2023-02-06 15:40:15 +01:00
bruvzg
103f671ada
[X11] Fix IME window focus events. 2023-02-06 09:18:16 +02:00
Fredia Huya-Kouadio
034fd15b8a Improve vulkan capability detection on Android
- Add runtime check and abort when the device doesn't meet the requirements for vulkan support
- Add filters to the AndroidManifest when exporting with a vulkan renderer
2023-02-05 18:47:38 -08:00
Patrick Dawson
7275819a91 DisplayServerWindows: Fix mouse capture when button up message is missed 2023-02-04 17:36:47 +01:00
Rémi Verschelde
d8c3fc1f56
Merge pull request #72624 from pkdawson/fix-last-focus
DisplayServerWindows: Update `last_focused_window` when the focused subwindow is deleted
2023-02-03 06:24:05 +01:00
Markus Sauermann
6165498d0e Fix windowsize for fullscreen windows on windowcreation on Windows
Fortunately the location in the codebase was easy to find because there
was a FIXME comment.
2023-02-02 22:40:03 +01:00
Patrick Dawson
cba1fd7cca DisplayServerWindows: Update last_focused_window when the focused subwindow is deleted 2023-02-02 21:41:36 +01:00
Fredia Huya-Kouadio
ca593f2f89 Rename Godot's 'custom build' to 'gradle build' to better reflect the underlying build process. 2023-02-02 07:17:31 -08:00
Hugo Locurcio
e7779dc62d
Use a "warning" icon in OS.alert() on Linux/*BSD
This is the same icon as used on Windows.
2023-02-02 15:17:15 +01:00
Rémi Verschelde
6daf4d6008
Merge pull request #72307 from zoeesilcock/fix/splash-minimum-display-time-macos
[MacOS] Fix so that the main window is displayed before the splash screen minimum display time starts counting
2023-02-02 09:38:01 +01:00
Fredia Huya-Kouadio
a715a00d76 Clean up the XR export logic
Remove the XR export logic from the legacy build system:
- On Android, Godot 4 export requires the use of Android plugins which are not supported by the legacy build system
- Provides added flexibility for configuring the Android manifest for XR specific capabilities.
2023-02-01 14:42:40 -08:00
Zoee Silcock
85ff7a2d2a Fix so that the main window is displayed before the splash screen minimum display time starts counting on Mac OS 2023-02-01 16:21:58 +01:00
Rémi Verschelde
e52213e2fa
More codespell fixes, do more changes from previous ignore list 2023-02-01 12:11:36 +01:00
Rémi Verschelde
010a873b5b
Merge pull request #72495 from m4gr3d/implement_file_provider
Implement file provider capabilities
2023-02-01 11:10:28 +01:00
Rémi Verschelde
707ccc09ab
Merge pull request #72104 from bruvzg/popup-non-popups
Extend special popup window handling to any non-popup child of a popup.
2023-02-01 11:07:39 +01:00
bruvzg
9f42649823
[X11] Fix IME subwindow in the popup not getting input focus. 2023-02-01 11:10:10 +02:00
Fredia Huya-Kouadio
bdbeb0772f Implement file provider capabilities
The previously used file sharing api was restricted after Android N causing the engine to crash whenever used on devices running Android N or higher.
2023-02-01 01:03:50 -08:00
Rémi Verschelde
b8ef55a427
Merge pull request #71174 from RedMser/fix-confined-mouse-mode-update
Fix confined mouse mode not updating on resize
2023-01-31 15:56:29 +01:00
Rémi Verschelde
eedc4553b5
Merge pull request #72426 from fire/4-warnings
Fixed a few godot engine 4 warnings on clang with Opengl and Windows …
2023-01-31 10:54:18 +01:00
K. S. Ernest (iFire) Lee
f8be889133 Fixed a few godot engine 4 warnings on clang with Opengl and Windows apis. 2023-01-30 17:00:02 -08:00
Juan Linietsky
28f51ba547 Refactor high quality texture import
* Only two texture import modes for low/high quality now:
  * S3TC/BPTC
  * ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.

This solves the following problems:

* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
Rémi Verschelde
39b53f730a
Merge pull request #72370 from bruvzg/dead_xim
[X11] Add support for dead keys without active IME. Fix IME focus and cleanup.
2023-01-30 13:28:47 +01:00
Rémi Verschelde
bde3310f02
Merge pull request #71995 from Faless/net/4.x_tls_verify
[NET] Refactor TLS configuration.
2023-01-30 13:28:31 +01:00
bruvzg
4c50ac3921
[X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
Fabio Alessandrelli
7cd80e6a6d [Net] Remove StreamPeerTLS.blocking_handshake option.
Which was unused internally, and can be replaced by:

```
while tls.get_status() == tls.STATUS_HANDSHAKING:
  tls.poll()
```
2023-01-28 11:08:02 +01:00
Fabio Alessandrelli
adba870534 [NET] Refactor TLS configuration.
Use a TLSOptions configuration object which is created via static
functions.

- "TLSOptions.client": uses the standard CA and common name verification.
- "TLSOptions.client_unsafe": uses optional CA verification (i.e. if specified)
- "TLSOptions.server": is the standard server configuration (chain + key)

This will allow us to expand the TLS configuration options to include
e.g. mutual authentication without bloating the classes that uses
StreamPeerTLS and PacketPeerDTLS as underlying peers.
2023-01-28 11:08:02 +01:00
Fredia Huya-Kouadio
179646e593 Update the XR manifest configs
Remove the ones provided automatically by the loaders, and the ones enabled by the default on the platform.
Fixes https://github.com/GodotVR/godot_openxr_loaders/issues/19
2023-01-27 17:59:28 -08:00
Rémi Verschelde
f0e3c3f4c3
Merge pull request #72168 from RandomShaper/sensible_lock_return
Booleanize various sync primitives' wait & locking methods
2023-01-27 15:40:43 +01:00
Pedro J. Estébanez
f630940591 Booleanize various sync primitives' wait & locking methods 2023-01-27 11:15:30 +01:00
Rémi Verschelde
a0a633ae58
Merge pull request #72102 from Riteo/keymapx11-scope-goodness
Put KeyMappingX11 stuff inside its own scope
2023-01-27 10:30:20 +01:00
daviirodrig
240374c58f Fix split allow empty string in SSH export plugin 2023-01-27 05:09:30 -03:00
bruvzg
30a89b58e2
[Android] Fix virtual keyboard special keys. 2023-01-26 18:46:37 +02:00
Rémi Verschelde
3870861056
Merge pull request #72106 from m4gr3d/fix_godot_android_editor_4_crash_after_running_game
Fix the issue causing the Godot Android Editor to crash when returning from the launched and running game
2023-01-26 15:58:12 +01:00
Fredia Huya-Kouadio
ec4d720850 Fix the issue causing the Godot Android Editor to crash when returning from the launched and running game
The issue was caused because the running game pid was not set, and thus had a value of `0`. When trying to stop the running game, the `EditorRun::stop()` logic would kill the process with pid 0, which on Android corresponds to the running app's own process, thus causing the editor to crash.
This issue did not happen on Godot 3 because pid with value of `0` are not considered valid.
2023-01-26 02:59:39 -08:00
bruvzg
700d85bd19
Extend special popup window handling to any non-popup child of a popup. 2023-01-26 12:38:53 +02:00
Rémi Verschelde
cc7aa72f01
Merge pull request #72101 from bruvzg/x11_ime_unfocus
[X11] Fix IME focus return.
2023-01-26 09:53:05 +01:00
Rémi Verschelde
1cae673b54
Merge pull request #72099 from bruvzg/ime_commit
[Windows] Fix committing IME text without IME deactivation.
2023-01-26 09:52:17 +01:00
bruvzg
912c937921
[X11] Fix IME focus return. 2023-01-26 10:13:51 +02:00
bruvzg
e08a6e692d
[Windows] Fix committing IME text without IME deactivation. 2023-01-26 09:24:12 +02:00
Riteo
aa7cd71498 Put KeyMappingX11 stuff inside its own scope
This avoids collisions with other "concurrent" key mappers.
2023-01-26 03:19:36 +01:00
Fredia Huya-Kouadio
242ffb72b8 Address kotlin build warnings 2023-01-25 18:01:00 -08:00
bruvzg
c1c6ce9001 [Windows] Fix candidate window position with some third party IME engines. 2023-01-25 15:29:08 +02:00
Rémi Verschelde
67961d8ebf
Merge pull request #72029 from bruvzg/x11_keycode
[X11] Fix incorrect keycodes from non-QWERTY layouts.
2023-01-25 12:17:41 +01:00
bruvzg
1bb7e357a0
[X11] Fix incorrect keycodes from non-QWERTY layouts. 2023-01-25 13:04:02 +02:00
bruvzg
5ebb60e0cf
[X11] Make IME focus window input only. 2023-01-25 12:31:42 +02:00
Rémi Verschelde
4368191a9f
Merge pull request #72018 from bruvzg/x11_ime_loop
[X11] Prevent IME activation from entering infinite loop.
2023-01-25 09:44:50 +01:00
bruvzg
b713cfdccd
[X11] Prevent IME activation from entering infinite loop. 2023-01-25 10:21:27 +02:00
Rémi Verschelde
3f4b635077
Merge pull request #72017 from bruvzg/win_touc_no_reset
[Windows] Fix ToUnicodeEx resetting some dead key states.
2023-01-25 09:20:50 +01:00
bruvzg
8d51af1c8d [Windows] Fix ToUnicodeEx resetting some dead key states. 2023-01-25 09:49:14 +02:00
Riteo
beaff2f5cb Move xkbcommon dynamic loading code into generic linuxbsd folder
Since Wayland uses it too, it only makes sense to have it in the parent
directory of both.
2023-01-25 03:28:13 +01:00
Rémi Verschelde
3275428b1f
Merge pull request #71917 from m4gr3d/update_godot_android_editor_label
Update the Godot Android Editor name from `Godot Editor 4.x` to `Godot Editor 4`
2023-01-24 09:15:50 +01:00
Fredia Huya-Kouadio
6b400d2fd1 Update the Godot Android Editor name from Godot Editor 4.x to Godot Editor v4 2023-01-23 14:04:05 -08:00
Rémi Verschelde
84b8986a39
Merge pull request #71836 from m4gr3d/fix_godot_editor_cropping_main
Update the logic to calculate the screen scale on Android
2023-01-23 22:30:46 +01:00
bruvzg
5c4fe6339b
[Linux/BSD] Include headers for dynamically loaded libraries to simplify build dependencies. 2023-01-23 16:37:43 +02:00
bruvzg
daad4aed62
Cleanup and unify keyboard input.
- Unify keycode values (secondary label printed on a key), remove unused hardcoded Latin-1 codes.
- Unify IME behaviour, add inline composition string display on Windows and X11.
- Add key_label (localized label printed on a key) value to the key events, and allow mapping actions to the unshifted Unicode events.
- Add support for physical keyboard (Bluetooth or Sidecar) handling on iOS.
- Add support for media key handling on macOS.

Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-01-23 15:08:12 +02:00
Rémi Verschelde
5b1df48c6c
Convert en_GB spelling to en_US with codespell 2023-01-23 11:02:20 +01:00
Rémi Verschelde
59dce77d4f
Merge pull request #71848 from bruvzg/ios_gles
[iOS] Restore OpenGLES3 renderer support.
2023-01-23 10:24:51 +01:00
Rémi Verschelde
84c081945f
Merge pull request #71784 from PrecisionRender/fix-xbox-input
Fix Xbox Series controller detected as 2 devices
2023-01-23 10:24:41 +01:00
Fredia Huya-Kouadio
da3e380240 Update the logic to calculate the screen scale on Android
Takes into account the ratio between the screen size and the default window dimensions.
2023-01-22 10:58:01 -08:00
bruvzg
1cc5524b81
[iOS] Restore OpenGLES3 renderer support. 2023-01-22 13:59:52 +02:00
Rémi Verschelde
271920cc54
Merge pull request #71819 from Riteo/certified-musl-moment
Make PIE relocation detection glibc-only
2023-01-21 20:52:40 +01:00
Riteo
2a6ce37910 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.
2023-01-21 17:59:52 +01:00
Rémi Verschelde
cbcb77096b
Merge pull request #71730 from reduz/fix-altgr-stuck
Fix AltGR getting stuck on Windows right Alt-Tab
2023-01-21 11:31:29 +01:00
Rémi Verschelde
a58f6a9dd6
Merge pull request #71220 from reduz/prevent-opening-windows-console-files
Prevent opening Windows console files
2023-01-21 11:28:31 +01:00
PrecisionRender
e9400867b3 Fix Xbox Series controller duplicate input 2023-01-20 21:34:06 -06:00
Rémi Verschelde
28b2e43adf
Merge pull request #71646 from Vilcrow/android-export-genname-check
[Android export] Added validation of the project name when using $genname in the 'Unique Name' field.
2023-01-20 23:59:34 +01:00
robfram
9faa92bda0 Exclude atomic lib under FreeBSD using LLVM 2023-01-20 20:52:19 +00:00
S.V.I. Vilcrow
b8bc306fa1 [Android export] Added validation of the project name when using $genname in the 'Unique Name' field. 2023-01-20 20:54:56 +03:00
Juan Linietsky
e01452adb0 Fix AltGR getting stuck on Windows right alt-tab
Fixes #28511.
2023-01-20 14:04:55 +01:00
Rémi Verschelde
38488fbdb3
Merge pull request #71704 from akien-mga/web-editor-fix-download-zip
Web Editor: Fix callable binding for Download Zip menu item
2023-01-20 12:10:42 +01:00
Rémi Verschelde
fd314209eb
Web Editor: Fix callable binding for Download Zip menu item
Fixes #71702.
2023-01-20 12:08:00 +01:00
bruvzg
aecfd92ea8
[macOS] Move Wno-deprecated-declarations to pragmas in the OpenGL related files, update some deprecated code. 2023-01-20 11:31:07 +02:00
bruvzg
db7d8c2d87
[GDExtension] Expose some low level functions and String operators. 2023-01-19 12:50:49 +02:00
bruvzg
2529ab332c [Windows] Fix sub-window initial transparency and always-on-top state. 2023-01-19 09:21:36 +02:00
Rémi Verschelde
30ba2c0629
Merge pull request #71599 from Faless/web/4.x_userfs_path
[Web] User FS (user://) now correctly uses project name.
2023-01-18 17:32:25 +01:00
Fabio Alessandrelli
4707e78d6d [Web] User FS (user://) now correctly uses project name.
This allows multiple instances to co-exist in the same domain while
keeping their user data separate (each in its own folder).
2023-01-18 09:12:21 +01:00
Rémi Verschelde
6da836bbb4
Merge pull request #71514 from akien-mga/os-unset_environment
OS: Add `unset_environment`, better validate input
2023-01-18 08:35:43 +01:00
Rémi Verschelde
68d71f88f5
Improve DisplayServer message for video card drivers failure
And remove leftover duplicated message on Android.
2023-01-17 15:41:54 +01:00
bruvzg
60e0043012
Fix X11 input region size. 2023-01-17 07:54:54 +02:00
Rémi Verschelde
91a54cdbc1
Linux/BSD: Add LINUXBSD_ENABLED define for non X11-related checks 2023-01-16 17:01:35 +01:00
Rémi Verschelde
818a9e99a4
OS: Add unset_environment, better validate input
Instead of returning an undocumented boolean error code, we do the
validation checks that should ensure a successful result.

Based on:
- https://linux.die.net/man/3/setenv
- https://learn.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-setenvironmentvariable
2023-01-16 16:39:44 +01:00
bruvzg
34b34b104c
Add WINDOW_FLAG_MOUSE_PASSTHROUGH flag and enabled it for tooltips. Expose window_set_mouse_passthrough to Window. 2023-01-16 11:42:49 +02:00
bruvzg
7fc8716aac [Windows] Fix incorrect full-screen mode applied on start. 2023-01-16 09:17:20 +02:00
Rémi Verschelde
9711abe787
Merge pull request #71437 from vaartis/linux-backtrace
Alter linux debug stacktraces handling to support more environments
2023-01-15 13:09:31 +01:00
Ekaterina Vaartis
5e041eee11 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
2023-01-15 02:48:33 +03:00
Yuri Sizov
4c1f11944e Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
Rémi Verschelde
8716c12ead
Merge pull request #71325 from reduz/refactor-project-setting-overrides
Refactor ProjectSetting overrides
2023-01-13 18:03:15 +01:00
Rémi Verschelde
3dffe0b967
Merge pull request #63312 from bruvzg/one_click
[Export] Add one-click deploy over SSH for the desktop exports.
2023-01-13 18:00:18 +01:00
Juan Linietsky
6f0e210093 Refactor ProjectSetting overrides
* Overrides no longer happen for set/get.
* They must be checked with a new function: `ProjectSettings::get_setting_with_override()`.
* GLOBAL_DEF/GLOBAL_GET updated to use this

This change solves many problems:
* General confusion about getting the actual or overriden setting.
* Feature tags available after settings are loaded were being ignored, they are now considered.
* Hacks required for the Project Settings editor to work.

Fixes #64100. Fixes #64014. Fixes #61908.
2023-01-13 15:13:56 +01:00
bruvzg
1ed4ed3a16
[macOS] Avoid color flash on window creation and resizing. 2023-01-13 07:39:45 +02:00
Rémi Verschelde
8bd8c4edbc
Merge pull request #71294 from gelvinp/macos_notarization_teamid
Require Apple Team ID when using notarytool
2023-01-13 00:23:04 +01:00
Patrick Gelvin
8495224d13 Require Apple Team ID when using notarytool
Adds a requirement that the Team ID is specified when
notarizing with the new notarytool.

Fixes #70307
2023-01-12 15:00:07 -07:00
Pedro J. Estébanez
03b96c1c4b Implement color flash avoidance for Windows 2023-01-12 21:42:51 +01:00
Rémi Verschelde
1baddad599
Merge pull request #71269 from bruvzg/win_kill
[Windows] Allow OS::kill method to terminate non-child processes.
2023-01-12 15:00:36 +01:00
Rémi Verschelde
94cf65a73a
Merge pull request #71231 from tom95/fix-android-manifest-hand-tracking-v2
Fix writing value for hand-tracking V2.0 to AndroidManifest.xml
2023-01-12 14:31:41 +01:00
bruvzg
01adf738fa [Windows] Allow OS::kill method to terminate non-child processes. 2023-01-12 14:41:57 +02:00
Rémi Verschelde
0e4e782ada
Merge pull request #70714 from Calinou/doc-os-stdin
Improve documentation for `OS.read_string_from_stdin()`
2023-01-12 09:24:47 +01:00
Hugo Locurcio
86b8176864
Improve documentation for OS.read_string_from_stdin()
This makes it clearer that calls to this method are blocking.

The unused method parameter was also removed.
2023-01-11 19:57:25 +01:00
Tom Beckmann
0116d50fdd Fix writing value for hand-tracking V2.0 to AndroidManifest.xml 2023-01-11 17:26:42 +01:00
Juan Linietsky
c5390f203d Prevent opening Windows console files
Fixes #20110.
2023-01-11 15:05:29 +01:00
bruvzg
0b309cded8
[iOS Export] Check Xcode output and display errors if code signing, project build or .ipa export failed. 2023-01-11 10:49:11 +02:00
RedMser
951349c481 Fix confined mouse mode not updating on resize 2023-01-10 20:00:52 +01:00
Fabio Alessandrelli
6b2abf4605
Merge pull request #70626 from Faless/web/4.x_expose_force_fs_sync
[Web] Expose API to force file system sync.
2023-01-09 21:18:47 +01:00
dependabot[bot]
a20c8443af
Bump json5 from 1.0.1 to 1.0.2 in /platform/web
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 13:40:10 +00:00
Marius Seufzer
ee5057a42e
iOS: Add new model identifiers for DPI metrics
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-01-09 10:58:43 +01:00
Juan Linietsky
2b815df3c1 Use BitField<> in core type masks
* All core types masks are now correctly marked as bitfields.
* The enum hacks in MouseButtonMask and many other types are gone. This ensures that binders to other languages non C++ can actually implement type safe bitmasks.
* Most bitmask operations replaced by functions in BitField<>
* Key is still a problem because its enum and mask at the same time. While it kind of works in C++, this most likely can't be implemented safely in other languages and will have to be changed at some point. Mostly left as-is.
* Documentation and API dump updated to reflect bitfields in core types.
2023-01-08 22:17:40 +01:00
bruvzg
9dc4f4096c [Windows] Fix primary screen detection. 2023-01-07 15:41:06 +02:00
bruvzg
2718a7b7d3
Add support for the custom initial screen for the main window, fix primary screen detection. 2023-01-07 11:14:35 +02:00
Rémi Verschelde
d95794ec8a
One Copyright Update to rule them all
As many open source projects have started doing it, we're removing the
current year from the copyright notice, so that we don't need to bump
it every year.

It seems like only the first year of publication is technically
relevant for copyright notices, and even that seems to be something
that many companies stopped listing altogether (in a version controlled
codebase, the commits are a much better source of date of publication
than a hardcoded copyright statement).

We also now list Godot Engine contributors first as we're collectively
the current maintainers of the project, and we clarify that the
"exclusive" copyright of the co-founders covers the timespan before
opensourcing (their further contributions are included as part of Godot
Engine contributors).

Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-05 13:25:55 +01:00
Rémi Verschelde
8791e333da
Merge pull request #70624 from bruvzg/cur_sc
Improve `window_set_current_screen` and fix secondary window initial mode and positions.
2023-01-03 15:56:05 +01:00
Rémi Verschelde
f0893890e1
Merge pull request #70482 from bruvzg/ios_pencil
[iOS] Add Apple Pencil pressure and tilt support.
2023-01-03 15:51:39 +01:00
Rémi Verschelde
8580afdd95
Merge pull request #70498 from bruvzg/macos_tilt_fix
[macOS] Fix stylus tilt Y direction.
2023-01-03 15:50:28 +01:00
Rémi Verschelde
6dc9629b45
Merge pull request #63483 from qianjunakasumi/qianjunakasumi/master
Introduce `appCategory` attribute of android to set category
2023-01-03 12:38:54 +01:00
Rémi Verschelde
a140d469d7
Merge pull request #70612 from floppyhammer/fix-dark-title-bar
Fix dark title bar on Windows 11
2023-01-03 12:18:18 +01:00
千橘 雫霞
467b5f23a0
Introduce appCategory attribute of android to set category 2023-01-01 10:19:22 +08:00
bruvzg
f7955633de
Improve window_set_current_screen and fix secondary window initial mode and positions. 2022-12-29 09:43:39 +02:00
bruvzg
cebefc9f5d
[Export] Add one-click deploy over SSH for the desktop exports.
Add one-click deploy over SSH for the desktop exports.
Add ZIP export option for Linux and Windows.
Change export plugin icons to SVG format.
2022-12-29 09:42:00 +02:00
Riteo
3960c6b8f9 Allow building X11 without Vulkan
This limit was likely introduced when Vulkan was the only option.
2022-12-27 21:47:26 +01:00
Fabio Alessandrelli
615fd98620 [Web] Expose API to force file system sync.
Mostly useful for modules and extensions that can't use FileAccess to
write files.
2022-12-27 12:33:41 +01:00
floppyhammer
c186b511c3 Fix dark title bar 2022-12-27 14:54:38 +08:00
Rémi Verschelde
f7cf9fb148
Merge pull request #67668 from nikitalita/apk-signer
Improve get_apksigner_path() robustness
2022-12-23 23:44:56 +01:00
Rémi Verschelde
3822ba4c96
Merge pull request #67759 from TechnoPorg/jni-64-bit-arrays
Improve support for 64-bit types on Android.
2022-12-23 23:44:42 +01:00
bruvzg
223a612c0c
[iOS] Add Apple Pencil pressure and tilt support. 2022-12-23 23:44:10 +02:00
bruvzg
5478f9b842
[macOS] Fix stylus tilt Y direction. 2022-12-23 23:39:46 +02:00
Marius Seufzer
90c34699d6
fix contentScaleFactor on iOS 2022-12-23 14:57:56 +01:00
Rémi Verschelde
865c637279
SCons: Fix separate_debug_symbols option for Windows/MinGW 2022-12-21 13:52:49 +01:00
bruvzg
3d8a942a56
Fix reading Unicode from stdio. 2022-12-21 09:07:59 +02:00
Hugo Locurcio
70f6d42c92
Remove Disable Touch debug project setting
This project setting was only implemented and iOS and likely served
no purpose outside of debugging during development of engine features.

It was also located in a confusing location in the project settings
editor, as it was located below a root category (which appears in bold
and is normally not seen as clickable by users).
2022-12-17 18:47:29 +01:00
Selene29
6e6c28f6ec add missing comma in file filter 2022-12-17 13:45:22 +01:00
Fredia Huya-Kouadio
da8b468074 Add boot splash for the Godot Android Editor 2022-12-16 10:49:28 -08:00
Rémi Verschelde
2e657e51f8
Merge pull request #69477 from bruvzg/bplist_and_fwrk
[macOS/iOS] Use framework Info.plist to determine library name.
2022-12-16 13:48:02 +01:00
Rémi Verschelde
f8f496ec3b
Merge pull request #69678 from Sauermann/fix-slider-button-up
Fix colorpicker slider bug with mouse-up outside of popup
2022-12-16 13:47:53 +01:00
bruvzg
104258c5c5
[macOS/iOS] Use framework Info.plist to determine library name. 2022-12-16 11:42:29 +02:00
Haoyu Qiu
207e52c161 Fix String::word_wrap() for long words
- Changes `TextServer.string_get_word_breaks()`
  - Returns pairs of boundary start and end offsets
  - Accepts `chars_per_line` to return line breaks
- Removes `String::word_wrap()`

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2022-12-16 13:18:57 +08:00
Rémi Verschelde
346efd29e0
Fix typos with codespell 2022-12-15 12:24:08 +01:00
Fredia Huya-Kouadio
ec4de82ab3
Merge pull request #69990 from exoticorn/fix-android-touch-input
Fix ambiguous touch input events on Android
2022-12-14 18:23:17 -08:00
Dennis Ranke
408000752c handle ambiguous input events as touch events
there can be events can have both SOURCE_TOUCHSCREEN and SOURCE_STYLUS. handle them as touch events rather than mouse events.
2022-12-12 23:33:46 +01:00
Rémi Verschelde
8ab653c7ea
Merge pull request #69966 from bruvzg/ios_fix_single_line_input_and_offsets
[iOS] Fix broken single line input and incorrect selection / caret position.
2022-12-12 17:30:11 +01:00
bruvzg
13eb0a6592
[iOS] Fix broken single line input and incorrect selection / caret position. 2022-12-12 18:16:10 +02:00
oOjor-elOo
2507ee5ca4 Windows: Validate that the font family name exists before trying to get the font family
I didn't have the first emoji font installed, which led an an exception when calling font_collection->GetFontFamily() no the new rows.
2022-12-12 15:44:54 +01:00
Rémi Verschelde
f1edd03d4c
Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextension
Rename all gdnative occurences to gdextension
2022-12-12 11:43:59 +01:00
Hugo Locurcio
6799d000b1
Only support XDG directory path configuration on Linux
XDG support breaks when running Windows builds via WINE.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-12-12 11:43:16 +01:00
Gilles Roudière
be1c9d677d Rename all gdnative occurences to gdextension
Non-exhaustive list of case-sensitive renames:

GDExtension -> GDNative
GDNATIVE -> GDEXTENSION
gdextension -> gdnative
ExtensionExtension ->Extension (for where there was GDNativeExtension)
EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION)
gdnlib -> gdextension
gdn_interface -> gde_interface
gdni -> gde_interface
2022-12-12 11:04:57 +01:00
nikitalita
4fec34808d fix dbus and fontconfig links 2022-12-09 09:05:06 -08:00
Rémi Verschelde
0a3f66471e
Merge pull request #69712 from bruvzg/real_size
Rename `window_get_real_size`, add position counterpart.
2022-12-07 14:29:46 +01:00
Rémi Verschelde
39ad411369
Merge pull request #69707 from bruvzg/x11_exfs
[Linux/X11] Split fullscreen mode into `WINDOW_MODE_EXCLUSIVE_FULLSCREEN` and `WINDOW_MODE_FULLSCREEN` to improve multi-window handling.
2022-12-07 14:29:37 +01:00
Rémi Verschelde
dedca54754
Merge pull request #69686 from bruvzg/win_mgmt_fixes_batch1
[Windows] Window management fixes.
2022-12-07 13:25:58 +01:00
Rémi Verschelde
b3c7822fad
Merge pull request #69638 from bruvzg/macos_notarytool
[macOS export] Add support for Xcode notarytool.
2022-12-07 13:25:12 +01:00
bruvzg
9189c96aef
[macOS export] Add support for Xcode notarytool. 2022-12-07 13:01:12 +02:00
bruvzg
edf13eb5a6
Rename window_get_real_size to window_get_size_with_decorations, add window_get_position_with_decorations. 2022-12-07 11:07:30 +02:00
Markus Sauermann
e18107a57c Fix Determining Window for Touchscreen
DisplayServer::screen_is_touchscreen will likely never utilize its
parameter p_screen.
This PR replaces this function by DisplayServer::is_touchscreen_available()
with the same functionality.
This solves the problem, that a SubViewport was used for determining
the screen, which resulted in error messages.
2022-12-07 09:54:29 +01:00
bruvzg
ad0f6ff85b
[Linux/X11] Split fullscreen mode into WINDOW_MODE_EXCLUSIVE_FULLSCREEN and WINDOW_MODE_FULLSCREEN to improve multi-window handling. 2022-12-07 09:54:02 +02:00
bruvzg
e1cff4be9b [Windows] Window management fixes.
Fix popup menus having incorrect scale when main window is in full-screen mode and multiple monitors with different DPI are used.
Prevent mouse move code from accessing deleted window data (and creating zombie records in the windows map).
2022-12-06 23:56:21 +02:00
Markus Sauermann
b44e6bb42b Fix colorpicker slider bug with mouse-up outside of popup
When releasing the mouse button outside of the popup while dragging
a slider, the slider still gets adjusted by mouse-move events.

The reason for this bug is that the mouse-up event is sent to the
focused window (main editor window) instead of the colorpicker
popup window.

This PR adjusts the linuxbsd X11 DisplayServer to send the event to the
correct expected window.
2022-12-06 19:30:13 +01:00
Markus Sauermann
ada4761181 Fix that mouse-button-up event is parsed twice for drag-and-drop
Currently Input::get_singleton()->parse_input_event(mb); is
called twice for mouse-button-up events when dropping in a different
window on linuxbsd.
2022-12-05 19:31:22 +01:00
Rémi Verschelde
14f23df1a3
Merge pull request #69563 from nyanpasu64/patch-1
Fix burning CPU with udev disabled on Flatpak
2022-12-05 18:07:02 +01:00
Rémi Verschelde
5c6e2b2cac
Windows: Make MSVC debug CRT opt-in (debug_crt=yes)
Follow-up to #69294 which enabled it automatically for `dev_build=yes`,
but this seems to cause some issues.
Those issues should likely be debugged but until then this can stay opt-in.
2022-12-05 15:56:12 +01:00
Rémi Verschelde
e82d66f23b
Merge pull request #69294 from akien-mga/windows-msvc-link-debug-runtime
Windows: Link MSVC dynamic debug CRT for debug builds
2022-12-05 10:14:33 +01:00
bruvzg
89db7f8e7c
[Linux/BSD] Fix build without fontconfig. 2022-12-05 07:56:44 +02:00
Rémi Verschelde
8912f3e4a7
Merge pull request #69578 from dsnopek/android-native-handles
Clean up DisplayServerAndroid::window_get_native_handle() with the GLES3 renderer
2022-12-05 00:31:12 +01:00
David Snopek
61cec0b023 Clean up DisplayServerAndroid::window_get_native_handle() with the GLES3 renderer 2022-12-04 13:07:51 -06:00
bruvzg
ecec415988
Use system fonts as fallback and improve system font handling.
Add support for font weight and stretch selection when using system fonts.
Add function to get system fallback font from a font name, style, text, and language code.
Implement system font support for Android.
Use system fonts as a last resort fallback.
2022-12-04 18:44:20 +02:00
nyanpasu64
0cbd1c85a9
Fix burning CPU with udev disabled on Flatpak
Fixes #67355.
2022-12-03 20:10:48 -08:00
Rémi Verschelde
015dc492de
Merge pull request #69390 from Sauermann/fix-mouse-event-position
Fix incorrect mouse event position while hovering different window
2022-12-03 22:33:12 +01:00
Riteo
2dd5a792bb Load X11 dynamically
The loaders have been generated through hpvb's dynload-wrapper, although
they had to be heavily handpatched to workaround some already reported
issues with it. I added a note to each generated file to account for
that.

As GLAD uses X11 stuff directly, I had to define the GLAD_GLX_NO_X11
macro to not let do it that, and handle myself the display loading and
screen handling part myself, which wasn't that hard but it's still
something worth saying.

I plan to improve greatly the X11 backend (including this aspect) but,
as the release isn't that far and I'm also working on the Wayland
backend, this will do for now, I hope.
2022-12-03 19:23:43 +01:00
Rémi Verschelde
7bffdca41c
Merge pull request #69380 from bruvzg/mac_max_ws
[macOS] Improve maximized and non-resizable modes handling.
2022-12-02 12:25:25 +01:00
Rémi Verschelde
7ef9947d0e
Merge pull request #68870 from dsnopek/master-webxr-input
Get WebXR fully working in Godot 4!
2022-12-02 12:24:40 +01:00
David Snopek
310bf39cd3 Get WebXR fully working in Godot 4! 2022-12-01 21:46:30 -06:00
Fredia Huya-Kouadio
2aba13e8fb Updating the minimum Android target api for proper Vulkan support 2022-11-30 11:16:59 -08:00
Markus Sauermann
79401f8dc2 Fix incorrect mouse event position while hovering different window 2022-11-30 13:39:31 +01:00
bruvzg
8cd08f8b6f
[macOS] Improve maximized and non-resizable modes handling. 2022-11-30 11:34:40 +02:00
bruvzg
aa117a128e
[macOS] Fix export button incorrectly disabled when using login/app password for notarization. 2022-11-30 10:38:53 +02:00
clayjohn
9141984e7e Enable GLES3 on Android
Add necessary build flags and switch from using a
GLES2 context to a GLES3 one.

This also enables building for OpenXR

Co-authored-by: m4gr3d <fhuyakou@gmail.com>
Co-authored-by: dsnopek <dsnopek@gmail.com>
2022-11-29 14:18:24 -08:00
bruvzg
0cea664cb5
[iOS] Read document and cache path directly in the OS code, instead of passing in from main. 2022-11-29 14:58:12 +02:00
Rémi Verschelde
82e45820d9
Merge pull request #69332 from bruvzg/exact_symbols
[MSVC] Use symbols from .pdb only, to avoid incorrect names in the backtrace when symbols are missing.
2022-11-29 10:34:52 +01:00
Rémi Verschelde
b7667e6a47
Merge pull request #69110 from bruvzg/con_icon2
[Windows] Optimize editor icon, use different icon for console executable.
2022-11-29 10:26:47 +01:00
bruvzg
d99c32668a [MSVC] Use symbols from .pdb only, to avoid incorrect names in the backtrace when symbols are missing. 2022-11-29 11:12:54 +02:00
bruvzg
42c2c02acf [Windows] Optimize editor icon, use different icon for console executable. 2022-11-29 09:39:03 +02:00
bruvzg
aaf4d7dfe1
[macOS] Fix sub-windows opening in fullscreen. 2022-11-28 14:11:21 +02:00
Rémi Verschelde
cf9bb5c2c3
Windows: Link MSVC dynamic debug CRT for debug builds
Fixes #31608.
2022-11-28 12:58:17 +01:00
Rémi Verschelde
be0923b1d9
Merge pull request #69277 from pkdawson/construct-joypad-first
[Windows] Fix joypad crash
2022-11-28 08:47:32 +01:00
Rémi Verschelde
23f3adb7a0
Merge pull request #67815 from Calinou/html5-improve-feature-errors
Improve feature errors in HTML5 for easier understanding
2022-11-28 08:40:39 +01:00
Rémi Verschelde
2d1bf56510
Merge pull request #68740 from bruvzg/ios_fixes
[iOS] Fix getting Unicode executable path, fix error spam on start.
2022-11-28 08:31:53 +01:00
Fredia Huya-Kouadio
7cc47613fe Add missing display server overrides
Improves the base functionality for the Android platform and helps reduce the amount of spurious error logs emitted.
2022-11-27 22:07:51 -08:00
Patrick Dawson
1aa4959381 [Windows] Fix joypad crash 2022-11-28 03:38:47 +01:00
Rémi Verschelde
2a36127e34
Android: Remove extra arch suffix now redundant with the default one
We would needlessly get file names like `*.arm64.armv8.o`.
2022-11-25 16:25:31 +01:00
Rémi Verschelde
afe1c89fb5
Merge pull request #68897 from bruvzg/mac_reparent
[macOS] Dynamically attach and detach transient windows to allow them to stay on top of parent and be moved to another screen.
2022-11-21 11:44:02 +01:00
bruvzg
908bef8eee
[Export] Use image loader directly to avoid "resource as image file" errors. 2022-11-21 10:11:59 +02:00
bruvzg
c2b061dec3
[macOS] Dynamically attach and detach transient windows to allow them to stay on top of parent and can be moved to another screen. 2022-11-21 10:11:14 +02:00
Markus Sauermann
567a591f87 Fix unused exitcode in macos export plugin
Fix that the exitcode is never set.
2022-11-20 22:27:23 +01:00
bruvzg
ac0ed9ce67
Windows icon export improvements.
Regenerate Windows icon on export to ensure correct icon size order.
Add support for using PNG/WebP/SVG files as an icon for Windows exports.
Allow using WebP/SVG files as icon for macOS exports.
Add option to select generated icons interpolation, and set default interpolation to Lanczos.
2022-11-18 19:42:07 +02:00
Fredia Huya-Kouadio
3c75887d41 Fix parsing of the keep_screen_on display setting 2022-11-17 05:54:05 -08:00
Rémi Verschelde
eb7c3e1ad3
Android: Fix parsing keep_screen_on setting
Boolean stringification changed in Godot 4.0.

Fixes #67034.

Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2022-11-17 14:32:42 +01:00
Rémi Verschelde
2e2a3a5f16
Merge pull request #68778 from bruvzg/ios_icons
[iOS] iOS export improvements.
2022-11-17 13:48:07 +01:00
Rémi Verschelde
921ab252e7
Merge pull request #68777 from bruvzg/mac_activ_13
[macOS] Update activation hack to work on Ventura.
2022-11-17 11:57:50 +01:00
bruvzg
7467067d23
[iOS] iOS export improvements.
Add export options to set Settings and Notification icons on export.
Automatically fill background of the app store icon instead of failing (with warning).
Update development region to use `en` instead of `English`.
2022-11-17 12:06:15 +02:00
bruvzg
153d06d79b
[macOS] Update activation hack to work on Ventura. 2022-11-17 11:14:03 +02:00
bruvzg
b11d180a93 [Windows] Use case-sensitive file names for the system fonts to avoid warnings. 2022-11-17 09:39:31 +02:00
bruvzg
6bf9594cfb
[iOS] Fix getting Unicode executable path, fix "!configured" and "!classes.has(ti.inherits)" error spam on start. 2022-11-16 18:55:37 +02:00
Fredia Huya-Kouadio
5212d37040 Fix 'save & restart' logic for the Android Editor 2022-11-16 03:35:53 -08:00
Rémi Verschelde
13280f1874
X11: Don't override glxSwapInterval function pointers loaded by GLAD
Fixes #68722.

Co-authored-by: alcomposer <alex.w.mitchell@gmail.com>
2022-11-16 10:05:52 +01:00
Rémi Verschelde
5993209b26
Merge pull request #68700 from clayjohn/GLES3-vsync
Set vsync on window creation when using GLES3
2022-11-16 00:29:19 +01:00
clayjohn
58a9cfee80 Set vsync on window creation when using GLES3.
Add vsync to Windows platform
2022-11-15 14:14:21 -08:00
bruvzg
7db3822c2e
[Windows] Add icon to the console wrapper, add option to set icon for the console wrapper on export. 2022-11-15 23:47:21 +02:00
Riteo Siuga
dc2919d57b Load GLX dynamically with GLAD
This is accomplished through the addition of a GLAD GLX loader in the
`thirdparty` directory.

This is another step towards a nice Wayland/X11 interoperation.
2022-11-15 13:55:30 +01:00
Rémi Verschelde
a70431559b
Merge pull request #68683 from bruvzg/mvk_detect
[macOS] Automatically detect MoltenVK libs installed via homebrew and macports.
2022-11-15 11:56:47 +01:00
Rémi Verschelde
696740fe38
Merge pull request #68680 from bruvzg/fc_no_font_sub
[fontconfig] Reject font substitutes if non-alias name was used.
2022-11-15 11:56:31 +01:00
Rémi Verschelde
dbf6ff0cb6
Merge pull request #68372 from Riteo/glad2
Regenerate GL loader code with GLAD 2
2022-11-15 11:56:16 +01:00
bruvzg
00d3ceb870
[macOS] Automatically detect MoltenVK libs installed via homebrew and macports. 2022-11-15 11:59:53 +02:00
bruvzg
40832cc670
[fontconfig] Reject font substitutes if non-alias name was used. 2022-11-15 11:17:44 +02:00
Rémi Verschelde
98e0d59952
Merge pull request #68504 from dzil123/cache_system_dir_xdg2
Cache OS_LinuxBSD::get_system_dir
2022-11-15 00:18:09 +01:00
Rémi Verschelde
80dbcfd995
Merge pull request #68657 from Sauermann/fix-redundant-initialization
Remove redundant non-trivial Variant types initializations
2022-11-14 23:23:54 +01:00
Riteo
f6397bffb1 Regenerate GL loader code with GLAD 2
GLAD 1 creates unusable loaders for EGL, while the newly released GLAD 2
does not, so for consistency I thought that it would be a good idea to
uniform things beforehand. While it had some API changes some renames
were all that was needed and everything works like before, at least on
the Wayland branch.

I've kept the structure identical, although this new generator has quite
a few hefty features, such as a single header mode.

I've also added GLAD to `thirdparty/README.md`, but I haven't specified
that in the commit title because it's a very small "fix".
2022-11-14 21:48:01 +01:00
Hugo Locurcio
efe3220b2e
Fix periods in editor strings and messages
- Ensure all strings with ellipsis end with 3 periods instead of 2.
- Fix extraneous period in "Error calling from signal '...' to callable"
  messages.
2022-11-14 19:36:36 +01:00
Markus Sauermann
3b14f0334c Remove redundant Variant-types initializations 2022-11-14 19:35:19 +01:00
Rémi Verschelde
315c64282b
Fix misc formatting issues
Somehow I missed the failing CI report from trailing whitespace.

Fixed a couple typos found by codespell while at it, and misc
trailing semicolons in one of the files.
2022-11-14 19:00:48 +01:00
Rémi Verschelde
1b3ed1b3ba
Merge pull request #68631 from pkdawson/fix-icondir-buffer-overflow
Fix ICONDIR buffer overflow
2022-11-14 11:08:22 +01:00
bruvzg
964d8b2d00
[macOS] Add exclusive fullscreen mode with Dock and Menu disabled. 2022-11-14 07:57:22 +02:00
Patrick Dawson
ffa39db847 Fix ICONDIR buffer overflow 2022-11-14 00:47:14 +01:00
Rémi Verschelde
b05e1e7d69
Merge pull request #68608 from dsnopek/gl-manager-nullptr
Added missing null checks for gl_manager in MacOS and Windows display servers
2022-11-13 15:52:42 +01:00
David Snopek
4c8409c0fe Added missing null checks for gl_manager in MacOS and Windows display servers 2022-11-13 07:06:26 -06:00
dzil123
d22ab7c85b Cache OS_LinuxBSD::get_system_dir(SYSTEM_DIR_DESKTOP) 2022-11-12 22:38:32 -08:00
Markus Sauermann
ed5c9a07d7 Fix gl_manager nullptr crash
Add a nullptr-check, before accessing gl_manager
2022-11-13 00:48:45 +01:00
Rémi Verschelde
6ec698059a
Merge pull request #68482 from Sauermann/fix-mouse-enter-event
Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-change
2022-11-11 10:54:30 +01:00
Markus Sauermann
52d75c9b35 Fix unsent WINDOW_EVENT_MOUSE_ENTER event on mouse_mode-change
coauthor: @bruvzg

On linuxbsd and macOS the WINDOW_EVENT_MOUSE_ENTER was not sent,
when the mouse became visible again after a mouse_mode-change.
2022-11-11 07:52:16 +01:00
Fredia Huya-Kouadio
151233b702 Upgrade Android gradle plugin to version 7.2.1 2022-11-10 16:35:50 -08:00
Rémi Verschelde
29de658c29
Merge pull request #68345 from Abdul-AZ/master
Fix static object destructors being called on gpu selection with X11
2022-11-09 09:16:04 +01:00
David Snopek
23603e409c Add support for OpenGL to OpenXR 2022-11-08 18:47:11 -06:00
TechnoPorg
df4597c9ab Improve support for 64-bit types on Android.
This update mappings in the JNI functions to better support 64-bit integers, and adds support for 64-bit float arrays.
The code is mostly reused from 32-bit types.
2022-11-08 07:27:45 -07:00
Zae
bc9bf00e4a Fix viewport doesn't auto-resize on Web. 2022-11-08 18:33:24 +08:00
Rémi Verschelde
70bde0d762
Merge pull request #68362 from bruvzg/android_gde
[Android] Fix GDExtension export and loading.
2022-11-08 10:50:30 +01:00
Rémi Verschelde
ddfd6cfeaa
Merge pull request #67682 from m4gr3d/misc_fixes_main
Small set of fixes to the input logic
2022-11-08 10:49:18 +01:00
bruvzg
6033668bed
[Android] Fix GDExtension export and loading. 2022-11-08 09:42:16 +02:00
kobewi
d9f066d5fa Remove duplicate project settings definitions 2022-11-08 01:29:39 +01:00
Fredia Huya-Kouadio
5f4a3e57de Small set of fixes to the input logic 2022-11-07 08:57:08 -08:00
Abdulrahman Al Zeidi
5860f81c18 Fix static object destructors being called on gpu selection with X11 2022-11-07 12:08:52 +00:00
Rémi Verschelde
930a94bfc4
Merge pull request #68287 from HolonProduction/android_keys
Fix wrong android key mapping.
2022-11-06 16:05:07 +01:00
Fabio Alessandrelli
3ff7964145 [Web] Force WebGL2 when supported. 2022-11-05 14:06:09 +01:00
Fabio Alessandrelli
cece83fdf2 [Web] Improve Godot shutdown and cleanup. 2022-11-05 14:06:09 +01:00
HolonProduction
a3f0dc5a83 Fix wrong android key mapping.
Fixes the wrong mapping of `Key::HOME`. Androids `KEYCODE_HOME` is in fact the hardware home button the right mapping is `KEYCODE_MOVE_HOME`.

Also adds mappings to keys that were not present before.
2022-11-05 13:54:44 +01:00
Rémi Verschelde
191c8ed12f
Merge pull request #67434 from bruvzg/win_wrapper
Add console wrapper app to handle console i/o redirection on Windows.
2022-11-04 10:49:37 +01:00
Rémi Verschelde
879aac9db4
Merge pull request #67695 from Sauermann/fix-filedrop-space
Do not strip spaces at the end of file names of dropped files
2022-11-03 12:08:08 +01:00
Rémi Verschelde
90d290f5f5
Merge pull request #67820 from Sauermann/fix-popup-closing-on-mousemove
Fix unwanted popup closing by mouse-move while holding mouse-button down
2022-11-03 12:07:59 +01:00
Rémi Verschelde
a68ea12c5b
Merge pull request #68133 from Sauermann/fix-mouse-dropping
Fix mouseleave event after drag and drop in different windows
2022-11-03 12:07:52 +01:00
Markus Sauermann
5d0aade322 Do not strip spaces at the end of file names of dropped files on linuxbsd 2022-11-03 11:38:42 +01:00
Markus Sauermann
8fb4b5998e Fix unwanted popup closing by mouse-move while holding mouse-button 2022-11-03 11:36:58 +01:00
Rémi Verschelde
889868cbbc
Merge pull request #68182 from Riteo/x11-folder
linuxbsd: move all X11 stuff in its own directory
2022-11-03 00:32:30 +01:00
Riteo
593c571d6a linuxbsd: move all X11 stuff in its own directory
This allows implementing `DisplayServer`s like Wayland without making a
mess in the source tree.
2022-11-02 20:48:46 +01:00
Rémi Verschelde
f7c611ab71
Style: Misc docs and comment style and language fixes
- Removed empty paragraphs in XML.
- Consistently use bold style for "Example:", on a new line.
- Fix usage of `[code]` when hyperlinks could be used (`[member]`, `[constant]`).
- Fix invalid usage of backticks for inline code in BBCode.
- Fix some American/British English spelling inconsistencies.
- Other minor fixes spotted along the way, including typo fixes with codespell.
- Don't specify `@GlobalScope` for `enum` and `constant`.
2022-11-02 19:01:18 +01:00
Markus Sauermann
9cea653457 Fix mouseleave event after drag and drop in different Windows
When dropping in a different window, it is necessary to start tracking
the WM_MOUSELEAVE event again.
2022-11-01 18:58:46 +01:00
bruvzg
060d62e0dc
Load and use system emoji font in the editor. 2022-11-01 11:04:58 +02:00
Rémi Verschelde
ec3c3afeaf
Merge pull request #68099 from Sauermann/fix-popup-mouse-offset
Fix mouse offset for unfocused popups
2022-11-01 08:20:04 +01:00
Markus Sauermann
88feacdad5 Fix mouse offset for unfocused popups
On Windows, the mouse was offset, when unfocused popups were used,
like the Editor menu.
2022-11-01 00:04:14 +01:00
Rémi Verschelde
2bd9a6fe8d
Merge pull request #68044 from ztc0611/ios-promotion
Add ProMotion/High Refresh Rate Support to iOS Exports
2022-10-31 23:03:30 +01:00
Zach Coleman
601c42be66 Add ProMotion Support to iOS Exports 2022-10-31 09:33:39 -04:00
Rémi Verschelde
9188bc7341
Merge pull request #67879 from bruvzg/fix_no_vlk
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-31 14:29:05 +01:00
bruvzg
9a33c97c2a
Add console wrapper app to handle console i/o redirection on Windows. 2022-10-31 14:37:49 +02:00
Rémi Verschelde
5947f22be9
Merge pull request #67578 from KoBeWi/GEDITOR
Unify usage of GLOBAL/EDITOR_GET
2022-10-31 13:15:58 +01:00
Rémi Verschelde
90e337e081
CI: Update minimatch npm dependency to silence security report
No risk for us as this is only used for static checks on CI.
2022-10-31 11:52:52 +01:00
Rémi Verschelde
638dfe2528
Merge pull request #67581 from aaronfranke/android-float
Use proper types for converting Java float/double arrays in Android code
2022-10-31 10:36:11 +01:00
Clay John
04ac91f786
Merge pull request #67790 from kdada/fix-flash-window
Make creating window do not flicker when specify custom position
2022-10-28 13:02:58 -07:00
Clay John
282e50ac88
Merge pull request #67903 from Sauermann/fix-startup-windows-mouse-exit-event
Fix differences between Windows and linuxbsd Display Server
2022-10-28 11:20:36 -07:00
Max Hilbrunner
028db9f2b5
Merge pull request #67914 from Calinou/displayserverx11-no-native-icon
Fix `DisplayServer.has_feature()` claiming X11 has native icon support
2022-10-28 12:46:57 +02:00
Markus Sauermann
4bd601d82a Fix differences between Windows and linuxbsd Display Server
Fix that Windows receive WINDOW_EVENT_MOUSE_EXIT on startup.

When moving the mouse cursor from one window to a different one, make sure that the first window receives the WINDOW_EVENT_MOUSE_EXIT event before the second window receives the WINDOW_EVENT_MOUSE_ENTER event.

Send Mouse-Move events also for Windows, that are currently not focused.

For determining the currently hovered window, consider not just the currently focused window, but also other windows.

Send mouse move events to focused window instead of hovered window.
2022-10-28 09:32:25 +02:00
zCubed3
e7091d07cd
Fix OS.get_video_adapter_driver_info crash 2022-10-27 15:45:21 -07:00
Clay John
9ffa86357d
Merge pull request #67421 from Sauermann/fix-failure-exit-code
Fix Godot exiting with unexpected failure code
2022-10-27 11:58:50 -07:00
Hugo Locurcio
82a575dff4
Fix DisplayServer.has_feature() claiming X11 has native icon support
Native icons are not supported by the X11 DisplayServer, unlike
Windows and macOS.
2022-10-26 20:39:31 +02:00
bruvzg
4dd8f68120
Fix build with Vulkan disabled and no Vulkan headers installed. 2022-10-26 08:55:05 +03:00
Wei Guo
d7e39e313b Make window creation with custom position do not flash 2022-10-24 13:50:25 +08:00
Clay John
753a182797
Merge pull request #65334 from dsnopek/opengl-multiview
[opengl] Add multiview to the opengl3 driver
2022-10-23 17:00:01 -07:00
Hugo Locurcio
8fcd54d13e
Improve feature errors in HTML5 for easier understanding 2022-10-23 19:13:42 +02:00
Fredia Huya-Kouadio
13e4770b97 Add double_tap attribute to InputEventScreenTouch
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-22 07:30:46 -07:00
David Snopek
398ee08375 Add multiview to the opengl3 driver 2022-10-21 21:00:32 -05:00
Clay John
021f524dfd
Merge pull request #67546 from clayjohn/DS-msg
Update the DisplayServer video driver error message to be more accurate and friendly
2022-10-21 16:57:35 -07:00
nikitalita
34a60e2c62 improve get_apksigner_path() robustness 2022-10-20 04:20:34 -07:00
Max Hilbrunner
21c90b4c7d
Merge pull request #67564 from bruvzg/macos_wide_alert
[macOS] Fit OS::alert to the text width for better readability.
2022-10-19 21:52:40 +02:00
Fredia Huya-Kouadio
20d1c882cd Delete Android godot-lib with the old naming scheme
Update the `clean` task configuration: running `gradlew clean` will now properly delete the generated build artifacts
2022-10-18 20:36:40 -07:00
clayjohn
c4ba1565d0 Update the DisplayServer video driver error message
to be more accurate and friendly
2022-10-18 10:15:11 -07:00
kobewi
e48c5daddf Unify usage of GLOBAL/EDITOR_GET 2022-10-18 19:01:48 +02:00
Aaron Franke
01bec83cb6
Use proper types for converting Java float/double arrays in Android code 2022-10-18 08:26:04 -05:00
bruvzg
a3cb6163cc
[macOS] Fit OS::alert to the text width for better readability. 2022-10-18 12:11:39 +03:00
Rémi Verschelde
b545d55df9 Merge pull request #67539 from bruvzg/check_ctx
Check if Vulkan context for the window exists before resizing it to avoid unnecessary error messages.
2022-10-17 17:32:07 +02:00
Rémi Verschelde
235c5c60f8 Merge pull request #67322 from ztc0611/add-ios-ui-options
Add iOS UI Options
2022-10-17 17:30:55 +02:00
Fredia Huya-Kouadio
64e8d8cd1f
Merge pull request #67259 from lucasnlm/optimiza-android-export
Optimize Android export process
2022-10-17 08:22:37 -07:00
bruvzg
667a052ed8 Check if Vulkan context for the window exists before resizing it to avoid unnecessary error messages. 2022-10-17 17:26:57 +03:00
Markus Sauermann
7d59a14db8 Fix Godot exiting with unexpected failure code
The exit code is initialized as EXIT_FAILURE to indicate failures during
startup. Closing the Game window via the window manager does not
change the exit code, so the program exists with EXIT_FAILURE.

This PR set the exit code to EXIT_SUCCESS when initialization was
successful just before starting the main loop.
2022-10-15 03:17:40 +02:00
kobewi
072f6feaba Make some Image methods static 2022-10-14 14:34:15 +02:00
Fabio Alessandrelli
40d60ca6ae [WebSocket] Fix debugger implementation.
Register module during core initialization so the remote debugger can
properly handle the "wss://" protocol.
2022-10-13 17:25:29 +02:00
Rémi Verschelde
fd4572cc45 Merge pull request #67340 from bruvzg/mac_export_min
Fix macOS export plugin build without regex module.
2022-10-13 09:05:42 +02:00
Rémi Verschelde
40847f1436 Merge pull request #67318 from bruvzg/more_gcc_warn
[Windows] Fix more GCC MinGW warnings.
2022-10-13 09:04:06 +02:00
bruvzg
dac2047529
Fix macOS export plugin build without regex module. 2022-10-13 08:54:50 +03:00
Rémi Verschelde
42ebc4ef65
Merge pull request #67325 from Faless/web/4.x_scons_serve
[Web] Add the "serve" and "run" scons targets.
2022-10-12 22:56:10 +02:00
Rémi Verschelde
261b9da77f
Merge pull request #67281 from Nidjo123/x11-window-resize
Keep rendering context window size in sync when resizing
2022-10-12 22:53:49 +02:00
Rémi Verschelde
f2248969db
Merge pull request #66952 from bruvzg/macos_net_export
Fix macOS .NET export.
2022-10-12 22:52:59 +02:00
Fabio Alessandrelli
a06602363c [Web] Add the "serve" and "run" scons targets.
You can now run the test HTTP server by calling:

scons p=web serve

If you also wish to run the browser, call instead:

scons p=web run

The default listen port is 8060, but can be overriden via the env
variable GODOT_WEB_TEST_PORT which must be a valid integer.
2022-10-12 22:29:35 +02:00
Zach Coleman
d78051c92c Add iOS UI Options 2022-10-12 15:22:54 -04:00
bruvzg
ad4cc8682b
[Windows] Fix GCC MinGW warnings. 2022-10-12 20:19:17 +03:00
Rémi Verschelde
06dc4648bf Merge pull request #67252 from zaevi/web_fix_export_file_locked
[Web] Fix file locked issue when exporting to Web.
2022-10-12 14:44:32 +02:00
Rémi Verschelde
ced736e584 Merge pull request #67272 from Riteo/fix-auto-execinfo
Actually set the execinfo flag on non-glibc systems
2022-10-12 08:56:03 +02:00
Rémi Verschelde
fb9b4a1dd0 Merge pull request #67258 from Faless/web/4.x_eslint_html
[Web] Add auto-formatting to HTML files.
2022-10-12 08:54:52 +02:00
Nikola Bunjevac
882d40fa11 Keep rendering context window size in sync when resizing
On X11 we rely on ConfigureNotify event to update rendering context
window size, but we don't get such event when resizing
programmatically, only when done "manually" by resizing the window
etc.
2022-10-11 23:27:21 +02:00
Riteo
a3b5353892 Actually set the execinfo flag on non-glibc systems 2022-10-11 21:45:29 +02:00
Rémi Verschelde
736a2df437
Merge pull request #67244 from RandomShaper/split_render_further_2
Polish rendering driver refactor further (take 2)
2022-10-11 21:08:42 +02:00
Fabio Alessandrelli
9a653ebeac [Web] Add auto-formatting to HTML files.
Uses html-eslint for HTML file and eslint-plugin-html for inline
JavaScript.

Use HTML5 (not XHTML), remove CDATA and trailing slashes for self
closing tags.

Add format checks to CI.
2022-10-11 19:42:12 +02:00
Pedro J. Estébanez
f82deaa5b3 Polish rendering driver refactor further (take 2) 2022-10-11 19:06:55 +02:00
Lucas Lima
975c588cf9 Revert change 2022-10-11 11:39:22 -03:00
Lucas Lima
166696659e Optimize Android export process 2022-10-11 11:35:39 -03:00
Zae
55a491114a Fix file locked issue when exporting to Web. 2022-10-11 20:49:51 +08:00
Rémi Verschelde
5aadc618b6 Merge pull request #66102 from MJacred/feature/getvideoadapterdriverinfo
Fetch video adapter driver name and version from OS
2022-10-11 13:59:53 +02:00
MJacred
de768afbdc Fetch video adapter driver name and version from OS on Linux/*BSD and Windows 2022-10-11 12:39:41 +02:00
Rémi Verschelde
6ad1a635ee Merge pull request #67242 from akien-mga/cleanup-unused-defines
Cleanup unused defines in platform code
2022-10-11 12:34:10 +02:00
Rémi Verschelde
a92c564a02 Cleanup unused defines in platform code 2022-10-11 11:52:41 +02:00
Pedro J. Estébanez
e14c5186e2 Fix newlines not honored in Windows console
This is relevant when building with `windows_subsystem=console`.
2022-10-11 10:09:50 +02:00
Micky
fe56c1ff75 Use JSON::stringify where possible 2022-10-11 00:27:23 +02:00
Rémi Verschelde
28f642097a Merge pull request #67183 from akien-mga/gcc-warnings-cleanup
SCons: Cleanup GCC warnings configuration
2022-10-10 17:42:36 +02:00
Rémi Verschelde
3c413cf008 Merge pull request #67200 from bruvzg/fix_win_gcc_warn
[Windows] Fix GCC MinGW warnings.
2022-10-10 17:42:19 +02:00
Fabio Alessandrelli
15a8e17b87
Merge pull request #67184 from zaevi/web_fix_GodotJSWrapper_object_type
[Web] Fix `Object` type in GodotJSWrapper.
2022-10-10 17:41:10 +02:00
bruvzg
379df32a98
[Windows] Fix GCC MinGW warnings. 2022-10-10 17:43:49 +03:00
Rémi Verschelde
8017827144 SCons: Re-enable treating #warning as error with werror
Replace all TODO uses of `#warning` by proper TODO comments, and will open
matching bug reports to keep track of them.

We don't have a great track record fixing TODOs, but I'd wager we're even
worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-10 16:12:26 +02:00
Zae
bf61af6ae9 Fix Object type in GodotJSWrapper. 2022-10-10 19:28:43 +08:00
bruvzg
73430f292b
[macOS] Fix window button position and title bar size when editor scale do not match OS UI scale. 2022-10-10 10:32:41 +03:00
Amor Iqbal
43264bff23 Changed the conditions for firing 'No such file or directory' error 2022-10-10 08:28:04 +05:30
Jason Knight
c2d7f7fb4c Change auto to default in cursor css settings. 2022-10-07 10:53:49 -06:00
Rémi Verschelde
b28c39d2f5 Merge pull request #67021 from RandomShaper/window_create_ret_madness
Harmonize return values of `window_create()` in rendering drivers
2022-10-07 14:22:53 +02:00
bruvzg
6daf4c6593
[.NET Export] Improve .NET export process.
[macOS export] Fix incorrect file placement, search paths and architecture detection.
[macOS export] Automatically detect executable files and set +x flag.
[macOS export] Automatically apply "Disable Library Validation" entitlements when required.
[macOS export] Remove old Mono export code.
Fix folder tree creation for shared objects export.
Add arch suffix to the exported .NET "data" folder name.
Remove old Mono code from .NET "data" folder lookup.
2022-10-07 13:33:06 +03:00
Pedro J. Estébanez
e821e9d2a2 Harmonize return values of window_create() in rendering drivers 2022-10-07 11:31:54 +02:00
bruvzg
0103af1ddd
Fix MSVC warnings, rename shadowed variables, fix uninitialized values, change warnings=all to use /W4. 2022-10-07 11:32:33 +03:00
Rémi Verschelde
6c58327c69 Merge pull request #66965 from bruvzg/win_llvm
[Windows] Fix LLVM MinGW build.
2022-10-06 08:57:29 +02:00
Rémi Verschelde
c2c9a582da Merge pull request #64815 from RandomShaper/default_cpu_count
Improve default `OS`'s CPU count getter
2022-10-06 08:55:51 +02:00
bruvzg
6afb2d0225
[Windows] Fix LLVM MinGW build. 2022-10-06 09:30:25 +03:00
Fredia Huya-Kouadio
ea9bb98f26
Merge pull request #66946 from m4gr3d/cursor_shape_logic_cleanup_main
Cleanup of the Android cursor shape logic
2022-10-05 13:07:34 -07:00
Fredia Huya-Kouadio
ffe0e3970f Cleanup of the Android cursor shape logic 2022-10-05 11:57:57 -07:00
Pedro J. Estébanez
6bf02c0162 Keep a single, portable implementation of OS::get_processor_count() 2022-10-05 20:10:47 +02:00
Fredia Huya-Kouadio
38113acf0d
Merge pull request #66941 from winterpixelgames/bugfix-android-null-input-event
Fix null in android keyboard handling.
2022-10-05 10:51:58 -07:00
Jason Knight
88df3e8d53 Fix null in android keyboard handling. 2022-10-05 11:17:02 -06:00
Fredia Huya-Kouadio
3178b042b3 Fix the gradle build configuration for the Android platform following https://github.com/godotengine/godot/pull/66242 2022-10-05 08:41:48 -07:00
Rémi Verschelde
5b6ccf2fd2 Merge pull request #66720 from qarmin/unintialized_memory
Remove usage of unitialized variables
2022-10-05 11:42:47 +02:00
Rémi Verschelde
33f4c5282f Merge pull request #64819 from RandomShaper/enhance_thread_funcs
Enhance portability of threading
2022-10-05 11:42:35 +02:00
Rémi Verschelde
4bf3199000 Merge pull request #64886 from Calinou/web-editor-add-local-web-server-2
Replace local web server setup for web editor with a Python-based solution
2022-10-05 08:36:19 +02:00
Rémi Verschelde
2c94470dd1 Merge pull request #63983 from Calinou/scons-linux-execinfo-musl
Automatically use execinfo for crash handler on *BSD and musl-based Linux
2022-10-05 08:29:59 +02:00
Hugo Locurcio
8e04bffbcf
Automatically use execinfo for crash handler on *BSD and musl-based Linux
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-10-04 19:40:19 +02:00
Hugo Locurcio
1be1b15a57
Replace local web server setup for web editor with a Python-based solution
This makes it easier to set up, as you always have Python installed
when building Godot. On the other hand, you don't always have Node.js
+ npm installed (and you may not want to spend time running `npm install`).

Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2022-10-04 19:39:27 +02:00
Pedro J. Estébanez
958ecf55fe Enhance portability of threading 2022-10-04 11:43:28 +02:00
Rémi Verschelde
4eaa59d0ed Merge pull request #66773 from MladoniSzabi/numpad-no-numlock-bug-linux
Remapped the numpad keys on linux when numlock is off
2022-10-04 11:29:01 +02:00
Rémi Verschelde
68765b8831 Merge pull request #66274 from Calinou/engine-rename-max-fps
Rename `Engine.target_fps` and associated project setting to `max_fps`
2022-10-04 11:19:56 +02:00
Rémi Verschelde
b7c68b343d Merge pull request #66832 from bruvzg/cmd_p_fix
[macOS] Fix ⌘ + . + other modifier triggering twice.
2022-10-04 11:19:41 +02:00
Rémi Verschelde
02e9e2d3c0 Merge pull request #66559 from zaevi/fix_ScrollContainer_touch_scroll
Fix ScrollContainer touch-scrolling not working.
2022-10-04 10:30:31 +02:00
Rémi Verschelde
9928cdc2e7 Merge pull request #66807 from akien-mga/core-unix-remove-NO_FCNTL-and-NO_STATVFS
Unix: Remove now unnecessary I/O defines, cleanup
2022-10-04 10:22:29 +02:00
Rémi Verschelde
cd7f172cf8 Merge pull request #66804 from akien-mga/core-remove-NO_SAFE_CAST
Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build
2022-10-04 10:22:24 +02:00
Hugo Locurcio
1c6c72caf1
Rename Engine.target_fps and associated project setting to max_fps
This makes the setting easier to find, as research has found there are
numerous use cases to limiting FPS. This also improves documentation
related to the Engine property and project setting.

The project setting also works in projects exported in release mode,
so its location in the `debug/` section was misleading.
2022-10-03 23:54:36 +02:00
bruvzg
bfbbe9c1d0
[macOS] Fix ⌘ + . + other modifier triggering twice. 2022-10-03 20:44:50 +03:00
MladoniSzabi
cc0fd7e783 Remapped the numpad keys on linux when numlock is off
On Linux, when using the numpad while numlock is off doesn't do
anything. Made the numpad keys map to the correct control keys.

Resolves: #54814.
2022-10-03 12:53:42 +01:00
Rémi Verschelde
f501e4f665 Unix: Remove now unnecessary I/O defines, cleanup
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_.
- `NO_NETWORK` is also never defined. It probably isn't enough anyway to
  disable network APIs in the current codebase.
- `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some
  other platforms, clarify that.
- `NO_STATVFS` can be removed as Android supports it since API level 19,
  which is our current min SDK level. It's also only used for
  `DirAccessUnix::get_space_left()` which is anyway overridden by
  `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference.
  * Fixed documentation for `DirAccess.get_space_left()`.
- `NO_FCNTL` is likely also a remnant of early Android days, in current NDK
  r23 it seems to be available. Also cleaned up unused `fcntl.h` includes.
- `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-10-03 12:33:41 +02:00
Rémi Verschelde
54418ea659 Remove NO_THREADS fallback code, Godot 4 requires thread support
This also removes `OS::can_use_threads` from the public API since it's always
true.
2022-10-03 11:23:26 +02:00
Rémi Verschelde
82b87d7a17 Remove unsupported NO_SAFE_CAST/-fno-rtti from Android build
Android was the last platform to still attempt to disable RTTI (for binary
size), but both the Android editor and now the ICU library used by templates
need RTTI.

There could still be the possibility to support this for non-ICU template
builds (i.e. without the TextServerAdvanced module), but since this isn't one
of the build configurations we test regularly it's pretty risky to keep this
option only for that specific use case. And our code is already littered with
`dynamic_cast`s which weren't guarded with `!defined(NO_SAFE_CAST)`.
2022-10-03 11:18:31 +02:00
Matthew Munro (mam552)
0f5b448a9c Fix inconsistent window state on X11.
Fixes #66413.
DisplayServerX11 tracks some internal state about whether the window is
fullscreen, minimized, maximized or none. This commit queries the
display server when the window changes, so that this internal state can
be correctly updated.
2022-10-01 16:01:28 -06:00
Rafał Mikrut
2233624152 Remove usage of unitialized variables 2022-10-01 21:09:22 +02:00
Rémi Verschelde
ef8834a642 Merge pull request #64784 from yedpodtrzitko/yed/ci-add-mypy
ci: add Python static analysis check via mypy
2022-09-30 17:44:39 +02:00
Rémi Verschelde
166df0896c Fix typos with codespell
Using codespell 2.3-dev from current git.

And fix typo in `methods.py` for `vsproj=yes` option (still won't work
though).
2022-09-30 14:23:36 +02:00
Jiri Suchan
c5bd2f9dce ci: add Python static analysis check via mypy 2022-09-30 19:03:17 +07:00
Rémi Verschelde
f47979f087
Merge pull request #66242 from akien-mga/scons-unify-tools-target 2022-09-30 12:28:50 +02:00
Rémi Verschelde
e5857bd6c7 Merge pull request #66548 from akien-mga/msvc-warnings-c4701-c4703
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-28 20:47:50 +02:00
Zae
186ca020b3 Fix ScrollContainer touch-scrolling not working. 2022-09-29 01:47:03 +08:00
Rémi Verschelde
85fe6ecc32 Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used 2022-09-28 17:05:34 +02:00
Rémi Verschelde
0e53dd642c Fix MSVC warning C4706: assignment within conditional expression
Part of #66537.
2022-09-28 16:05:07 +02:00
bruvzg
4421378089
[Windows] Ignore excessive wintab mouse move events. 2022-09-28 10:12:04 +03:00
Rémi Verschelde
39facb35a0 SCons: Unify tools/target build type configuration
Implements https://github.com/godotengine/godot-proposals/issues/3371.

New `target` presets
====================

The `tools` option is removed and `target` changes to use three new presets,
which match the builds users are familiar with. These targets control the
default optimization level and enable editor-specific and debugging code:

- `editor`: Replaces `tools=yes target=release_debug`.
  * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_debug`: Replaces `tools=no target=release_debug`.
  * Defines: `DEBUG_ENABLED`, `-O2`/`/O2`
- `template_release`: Replaces `tools=no target=release`.
  * Defines: `-O3`/`/O2`

New `dev_build` option
======================

The previous `target=debug` is now replaced by a separate `dev_build=yes`
option, which can be used in combination with either of the three targets,
and changes the following:

- `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`),
  enables generating debug symbols, does not define `NDEBUG` so `assert()`
  works in thirdparty libraries, adds a `.dev` suffix to the binary name.

Note: Unlike previously, `dev_build` defaults to off so that users who
compile Godot from source get an optimized and small build by default.
Engine contributors should now set `dev_build=yes` in their build scripts or
IDE configuration manually.

Changed binary names
====================

The name of generated binaries and object files are changed too, to follow
this format:

`godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]`

For example:
- `godot.linuxbsd.editor.dev.arm64`
- `godot.windows.template_release.double.x86_64.mono.exe`

Be sure to update your links/scripts/IDE config accordingly.

More flexible `optimize` and `debug_symbols` options
====================================================

The optimization level and whether to generate debug symbols can be further
specified with the `optimize` and `debug_symbols` options. So the default
values listed above for the various `target` and `dev_build` combinations
are indicative and can be replaced when compiling, e.g.:

`scons p=linuxbsd target=template_debug dev_build=yes optimize=debug`
will make a "debug" export template with dev-only code enabled, `-Og`
optimization level for GCC/Clang, and debug symbols. Perfect for debugging
complex crashes at runtime in an exported project.
2022-09-26 16:31:46 +02:00
Rémi Verschelde
49fcf4ffad Style: Cleanup header guards for consistency
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-26 13:51:17 +02:00
Rémi Verschelde
67f700d726
Merge pull request #66377 from bruvzg/macos_menu_cb_deferred
[macOS] Process menu callback after event processing step to avoid event queue corruption.
2022-09-25 08:38:10 +02:00
Rémi Verschelde
39be6695d1
Merge pull request #66295 from bruvzg/win_fix_wm_char_keysym
[Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key.
2022-09-24 22:59:44 +02:00
bruvzg
b66931946b
[macOS] Process menu callback after event processing step to avoid event queue corruption. 2022-09-24 23:57:24 +03:00
Rémi Verschelde
26e9145c26 SCons: Cleanup DEBUG, _DEBUG and NDEBUG defines
- `_DEBUG` is MSVC specific so it didn't make much sense to define for
  Android and iOS builds.
- iOS was the only platform to define `DEBUG`. We don't use it anywhere
  outside thirdparty code, which we usually don't intend to debug, so it
  seems better to be consistent with other platforms.
- Consistently define `NDEBUG` to disable assert behavior in both `release`
  and `release_debug` targets. This used to be set for `release` for all
  platforms, and `release_debug` for Android and iOS only.
- Due to the above, I removed the only use we made of `assert()` in Godot
  code, which was only implemented for Unix anyway, should have been
  `DEV_ENABLED`, and is in PoolAllocator which we don't actually use.
- The denoise and recast modules keep defining `NDEBUG` even for the `debug`
  target as we don't want OIDN and Embree asserting all over the place.
2022-09-23 15:21:26 +02:00
Rémi Verschelde
c5c3d13dc0 SCons: Remove redundant -fomit-frame-pointer and -ftree-vectorize
- `-fomit-frame-pointer` is included automatically by both GCC and
  Clang in `-O1` and above.
- `-ftree-vectorize` is included automatically by GCC in `-O2` and
  beyond, and seems always enabled by Clang.

Closes #66296. See that issue for a detailed investigation.
2022-09-23 13:56:16 +02:00
bruvzg
54adfb6dfd [Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key. 2022-09-23 14:16:16 +03:00
bruvzg
0dab11afa4
[macOS extend-to-title] Add scene/project name to the editor title, fix incorrect window button position/order when system primary language is RTL. 2022-09-22 23:09:56 +03:00
Rémi Verschelde
0b06f8b0bd Merge pull request #65816 from bruvzg/proj_settings_missing_flags
Add missing initial window flags and window mode to the project settings.
2022-09-21 18:56:31 +02:00
bruvzg
cdfa50dbe9
[macOS] Improve "extended to title" transition to / from fullscreen. 2022-09-21 11:21:48 +03:00
bruvzg
0ed4cc6287
[macOS] Add an option to align window buttons in "extend to title" mode. 2022-09-20 12:55:59 +03:00
Rémi Verschelde
aa553f4030 Merge pull request #65745 from akien-mga/scons-production-lto-earlier
Refactor handling of `production` flag and per-platform LTO defaults
2022-09-20 09:45:33 +02:00
Rémi Verschelde
7da532275b Merge pull request #65541 from clayjohn/renderer-setting
Split rendering driver project setting into renderer_name and rendering_driver
2022-09-20 09:43:59 +02:00
clayjohn
4a1c7de57c Split rendering driver project setting into renderer_name and rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer). 2022-09-19 10:26:10 -07:00
Rémi Verschelde
35a15e6191 SCons: Refactor handling of production flag and per-platform LTO defaults
Fixup to #63288.
See #65583 for the bug report.

Co-authored-by: Cyberrebell <chainsaw75@web.de>
2022-09-19 18:11:29 +02:00
bruvzg
d104a4cdbd
Add missing initial window flags and window mode to the project settings. 2022-09-19 12:30:10 +03:00
kobewi
9f2dc68279 Replace File/Directory with FileAccess/DirAccess 2022-09-19 11:03:31 +02:00
Rémi Verschelde
04082597f9 Merge pull request #65975 from Faless/web/4.x_features_detection
[Web] Add feature detection helpers to JS Engine class.
2022-09-18 00:43:13 +02:00
Rémi Verschelde
d0d22bfa5e Merge pull request #65331 from derammo/derammo_natvis_3
Add more data structures to Natvis for Visual Studio
2022-09-18 00:43:06 +02:00
Fabio Alessandrelli
6bbde346ab [Web] Add feature detection helpers to JS Engine class. 2022-09-17 11:21:17 +02:00
MJacred
ac9786c525 Add get_distribution_name() and get_version() to OS
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP

Co-authored-by: bruvzg
2022-09-16 11:17:36 +02:00
Rémi Verschelde
d79040e7eb Merge pull request #65496 from MinusKube/popup-capture-mouse-bug
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-16 09:23:40 +02:00
bruvzg
89c68bb22d
[macOS] Remove tabs for "Quit" menu item. 2022-09-15 22:27:27 +03:00
bruvzg
734b89124e
[macOS] Fix redraw lag at the edge of the resizing window. 2022-09-15 17:08:12 +03:00
Rémi Verschelde
5ff8e4ee67 Merge pull request #65133 from bruvzg/win_cursor
[Windows] Simplify cursor handling and add support for fully transparent cursors.
2022-09-14 17:42:53 +02:00
bruvzg
d46bc8f4ac
[macOS, 4.0] Fix unresponsive redraw during live resizing. 2022-09-14 09:59:00 +03:00
Fredia Huya-Kouadio
9d5e48f873 Disable menus and functionality that are not relevant on the Android Editor port 2022-09-13 20:48:33 -07:00
Ted Spikes
21f7bd0723 Check for ios_simulator when building for x86_64 2022-09-13 14:04:08 +03:00
Rémi Verschelde
ff824b6f9d Merge pull request #65509 from gotnospirit/master-os-get_datetime
get_datetime_* functions can return wrong values
2022-09-13 11:01:12 +02:00
Rémi Verschelde
5c1ef35def Merge pull request #65262 from bruvzg/win10_dm
Disable dark mode title bar on Windows 10.
2022-09-13 10:58:19 +02:00
Rémi Verschelde
ad09e67894
Merge pull request #65682 from m4gr3d/update_editor_versioning_main 2022-09-13 10:38:21 +02:00
Rémi Verschelde
f8ec046b14
Merge pull request #65704 from akien-mga/web-editor-fix-some-errors
Fix some errors affecting the Web editor
2022-09-13 08:31:59 +02:00
clayjohn
96b7cb66df Fix multiwindow support in GLES3 for X11, Windows, and MacOS.
Instead of updating all viewports, then blitting all viewports
to the backbuffer, then swapping all buffers, we run through
all viewports and render, blit, and swap backbuffer before
going to the next viewport.
2022-09-12 17:30:50 -07:00
Fredia Huya-Kouadio
1efafa9dfe Exclude small screens from the set of supported devices. 2022-09-12 09:47:34 -07:00
Fredia Huya-Kouadio
67b38d0ac2 Update the versioning logic for the Godot Android Editor
This is necessary to separate subsequent uploads to the Google Play store as each upload needs to increment the version code.
2022-09-12 09:47:07 -07:00
Rémi Verschelde
1513d76cb9 Fix some errors affecting the Web editor
- Don't warn about minimized/maximized modes not being available.
- Blender and FBX export both depend on running thirdparty applications,
  which can't be done (easily at least) for Web and Android editors.
- Editor theme complained about not being able to retrieve texture data
  for an icon. It was only used once so instead of flipping at runtime,
  let's just add a flipped icon.

Part of #65702.
2022-09-12 16:29:45 +02:00
Fabio Alessandrelli
27f22b29f8 [Web] Small fixes and enhancements.
- "Definitive" fix for ENOENT randomly disappearing from emscripten.
- Proper shutdown when setup fails.
- Re-enable WebGL explicit buffer swap.
- Re-enable optional per-pixel transparency.
- Add type cast to make closure compiler happy.
- Remove emscripten Safari WebGL workaround.
- Improve AudioWorklet cleanup.
2022-09-11 09:45:09 +02:00
James
0aecfc9254 Fixes #65377: get_datetime_* functions can return wrong values 2022-09-10 07:58:38 +08:00
Yuri Sizov
d2a6a187f4
Merge pull request #44118 from Calinou/windows-enable-ansi-escape-codes
Enable ANSI escape code processing on Windows 10 and later
2022-09-08 19:53:04 +03:00
Rémi Verschelde
c2c659db32 SCons: Refactor LTO options with lto=<none|thin|full>
Adds support for LTO on macOS and Android. We don't have much experience
with LTO on these platforms so for now we keep it disabled by default
even when `production=yes` is set.

Similarly for iOS where we ship object files for the user to link in
Xcode so LTO makes builds extremely slow to link.

`production=yes` defaults to full LTO.
ThinLTO is much faster for LLVM-based compilers but seems to produce
bigger binaries (at least for the Web platform).
2022-09-08 10:00:02 +02:00
Rémi Verschelde
69233093d7 Merge pull request #65241 from bruvzg/no_keymap_ambiguity
Fix key mapping changes when moving from macOS to other platform.
2022-09-08 09:24:24 +02:00
Rémi Verschelde
a51dc70dfb Merge pull request #65460 from Faless/net/4.x_ssl_to_tls_more
[Net] Rename "ssl" references to "tls" in methods and members.
2022-09-08 09:20:19 +02:00
Rémi Verschelde
df5a356e6c Merge pull request #65501 from m4gr3d/fix_invalid_project_manager_path_main
Fix issue causing the project manager to crash because of missing path argument
2022-09-08 09:19:25 +02:00
Fabio Alessandrelli
a95d792420 [Net] Rename "ssl" references to "tls" in methods and members. 2022-09-08 03:24:23 +02:00
Fredia Huya-Kouadio
cd544fd86b Fix issue causing the project manager to crash because of missing path argument
In the process, the initialization logic is updated to show an error message and gracefully close the engine when setup errors occur.
2022-09-07 14:21:34 -07:00
Fredia Huya-Kouadio
c3c0bea615 Enable long press, pan and scale gestures for the Godot Android Editor
Fix the bug causing the editor to crash when running the project.
2022-09-07 13:30:10 -07:00
Fredia Huya-Kouadio
1b3511ad49 Cleanup the Android input logic implementation 2022-09-07 13:30:10 -07:00
MinusKube
06b86fad0d Fix MOUSE_MODE_CAPTURED not working correctly with popups 2022-09-07 19:31:57 +02:00
bruvzg
6f4d233062
Fix key mapping changes when moving from macOS to other platform
Removes separate `Command` key (use `Meta` instead).
Adds an event flag to automatically remap `Command` <-> `Control` (cannot be set alongside `Control` or `Meta`).
2022-09-07 18:45:35 +02:00
Fabio Alessandrelli
86dd3f312c [Web] Enable Web exporter in non-dev mode.
We now have a working OpenGL3/WebGL2 renderer, but extra work is needed
in project manager and editor to simplify the creation of OpenGL3
projects.
2022-09-07 11:58:30 +02:00
Fabio Alessandrelli
fffdbb38e3
Merge pull request #65239 from Geequlim/js2web
Rename JavaScript singleton to JavaScriptBridge
2022-09-07 09:29:42 +02:00
Fabio Alessandrelli
528e791a5f [Net] Rename StreamPeerSSL to StreamPeerTLS.
SSL has been deprectated almost 10 years ago.
2022-09-07 07:38:50 +02:00
Rémi Verschelde
5062aafc2d Merge pull request #64417 from aaronfranke/has-space
Replace AABB/Rect2/Rect2i has_no_* methods with has_* methods
2022-09-06 17:00:44 +02:00
Micky
b6daad8d4b Rename range_lerp to remap 2022-09-06 07:19:20 +02:00
Aaron Franke
995b9f94e8
Replace Rect2(i) has_no_area with has_area 2022-09-04 23:03:36 -05:00
MatthewZelriche
ef02f06b8c Fix XSendEvent crash & bootsplash.
Fixes a crash due to an Xlib error, as well as ensures that Godot
holds the correct size of the window after window modes have been
applied, before exiting the DisplayServerX11 constructor. This ensures
the bootsplash will be displayed with the correct dimensions.

Fixes #65320
2022-09-04 16:46:37 -06:00
derammo
0c46b5f8e9 added more data structures to Natvis for msdev
can now debug signal_map and connections in Objects
can now view more Variant types, such as packed arrays
2022-09-04 12:06:26 -04:00
Jiri Suchan
c69b22124e fix: graceful exit on macOS missing Vulkan 2022-09-04 12:00:47 +09:00
Rémi Verschelde
042050a47c
Merge pull request #65283 from bruvzg/reenable_per_pix_transp
Re-enable per-pixel transparency support on Linux, macOS, and Windows.
2022-09-03 23:52:18 +02:00
Rémi Verschelde
7ced3a6e37
Merge pull request #65111 from MatthewZelriche/DroppedXEventFix
Fix dropped XEvents early in main window lifetime.
2022-09-03 20:36:39 +02:00
bruvzg
57829b7cc4
Re-enable per-pixel transparency support on Linux, macOS, and Windows (for Vulkan and OpenGL rendering drivers). 2022-09-03 19:16:03 +03:00
bruvzg
6ce0d3a212 Disable dark mode title bar on Windows 10. 2022-09-03 11:11:22 +03:00
Raul Santos
471c9c2969
Add support for system dark mode (Linux)
- Use `org.freedesktop.appearance color-scheme` to support system dark mode.
2022-09-02 16:49:21 +02:00
Geequlim
48f9069f3a Rename JavaScript singleton to JavaScriptBridge 2022-09-02 21:11:15 +08:00
Rémi Verschelde
fe0b893dc7 Merge pull request #65242 from bruvzg/menu_event_multiwindow 2022-09-02 13:55:37 +02:00
Rémi Verschelde
f81a4b2478 Merge pull request #65026 from bruvzg/dark_mode 2022-09-02 13:54:46 +02:00
bruvzg
f255ecb241
[macOS] Simplify handling of menu accelerators, and send event to the focused window instead of main. 2022-09-02 13:56:27 +03:00
Rémi Verschelde
027415312e
Merge pull request #65132 from bruvzg/global_menu_shortcuts_context 2022-09-01 17:02:04 +02:00
MatthewZelriche
91ba9bcb03 Fix dropped XEvents early in main window lifetime.
The DisplayServerX11 constructor processes pending events shortly
after constructing the main window. However, it discards pending events
on the event queue that it is not interested in. This results in these
events never making it to the main events thread and as a result are
never processed. We need to save the events we don't handle in
DisplayServerX11 so that they can be resent for later handling by the
events thread.
2022-09-01 07:42:03 -06:00
Rémi Verschelde
d454b944e7
Merge pull request #65107 from MatthewZelriche/X11MinimizeMaximizeFix
Fix minimize/maximize not taking effect in X11.
2022-09-01 08:43:43 +02:00
bruvzg
b85a4c5d79
[macOS] Handle accelerator and click events of the global menu items separately. 2022-09-01 08:13:56 +03:00
bruvzg
629ae58a80
Add support for system dark mode and accent color detection (macOS and Windows). Add support for dark mode title bar on Windows. 2022-08-31 11:37:01 +03:00
bruvzg
77a4567122
[Windows] Simplify cursor handling and add support for fully transparent cursors. 2022-08-31 11:16:02 +03:00
Rémi Verschelde
c80ea41e3b
Merge pull request #65095 from m4gr3d/update_get_current_dir_main
Additional fixes to the Android `get_current_dir()` implementation.
2022-08-31 09:00:53 +02:00
Rémi Verschelde
87f9038ca0
Merge pull request #65094 from Faless/web/4.x_templates_refactor
[Web] Require threads, rtti, allow optimize=speed.
2022-08-30 23:57:02 +02:00
MatthewZelriche
87937bcf87 Fix minimize/maximize not taking effect in X11.
Attempts to construct an X11 window in an initial state of
minimized/maximized would fail due to the window being unmapped.
We simply check for failed mode changes during an unmap and reapply
them if necessary.
2022-08-30 12:52:24 -06:00
Fabio Alessandrelli
f958f00283 [Web] Require threads, rtti, allow optimize=speed.
Update export names (web[_dlink]_[release|debug].zip).

The Build with dynamic linking is broken due to high number of imports
in output wasm (likely emscripten regression issue 15487).
2022-08-30 20:01:19 +02:00
Fredia Huya-Kouadio
f916dff26d Additional fixes to the Android get_current_dir() implementation. 2022-08-30 10:04:12 -07:00
Rémi Verschelde
432b25d364
Merge pull request #65066 from aaronfranke/str-path-join 2022-08-30 10:01:11 +02:00
MatthewZelriche
37f3b9f1ef Fix fullscreen on X11.
Attempts to set a Godot window to fullscreen prior to the window being
mapped would silently fail. This commit uses
_window_fullscreen_check to test if a window had been set to fullscreen
while unmapped, and if so, resets it to fullscreen once the window has
been successfully mapped.

Fixes #54065
2022-08-29 19:11:20 -06:00
Aaron Franke
10a56981dc
Rename String plus_file to path_join 2022-08-29 19:38:13 -05:00
Fabio Alessandrelli
d20b32186f [Web] Rename JavaScript platform to Web.
Also rename export name from "HTML5" to "Web".
2022-08-29 11:52:00 +02:00
Rémi Verschelde
c08e84af0d
Merge pull request #64943 from MatthewZelriche/FixUnMappedAncestor 2022-08-29 08:19:50 +02:00
Rémi Verschelde
35af2b0edd
Merge pull request #64921 from bruvzg/win_arm
[Windows] Improve build environment detection, add support for Windows on ARM.
2022-08-27 18:46:54 +02:00
Rémi Verschelde
67e731d450
Merge pull request #64507 from RandomShaper/remove_unused
Remove unused `force_quit` variable from many OS abstractions
2022-08-27 18:42:20 +02:00
MatthewZelriche
93af2993f0 Fix X11 menu window bug.
Fixes an issue where XSetInputFocus fails due to the window not
being viewable.

Fixes #62635
Fixes #60690
2022-08-27 07:38:09 -06:00
bruvzg
8dab4a2aa3
[Windows] Improve build environment detection, add support for Windows on ARM. 2022-08-27 16:10:53 +03:00
Pedro J. Estébanez
6e647dea24 Remove unused force_quit variable from many OS abstractions 2022-08-27 13:41:53 +02:00
Rémi Verschelde
046c69b2a5
Merge pull request #64923 from akien-mga/scons-linux-gnu-ld-detection
Linux: Fix GNU ld detection for `pck_embed` linker script
2022-08-26 23:09:01 +02:00
Rémi Verschelde
4f60fd0480
Merge pull request #64777 from bruvzg/extend_to_title
[macOS] Extend editor contents to the window title bar for better space usage.
2022-08-26 23:03:31 +02:00
bruvzg
bc4ba6cb78
[macOS] Extend editor contents to the window titlebar for better space usage. 2022-08-26 15:12:43 +03:00
Rémi Verschelde
fce3602a1e Linux: Fix GNU ld detection for pck_embed linker script 2022-08-26 14:06:56 +02:00
bruvzg
d91cb1d5d5
[macOS export] Simplify code signing options, add support for rcodesign tool for signing and notarization. 2022-08-26 14:23:31 +03:00
Rémi Verschelde
ca26c78e7e
Merge pull request #64562 from bruvzg/fix_dup_locales
[macOS / iOS Export] Fix generation of duplicate locale property list files.
2022-08-26 10:47:28 +02:00
Rémi Verschelde
1b8f2e20bf
Merge pull request #64912 from m4gr3d/fix_android_arch_mapping_main
Revert the architecture values update made to the Android export logic
2022-08-26 07:45:02 +02:00
Fredia Huya-Kouadio
ba9e2cf512 Revert the architecture values update made to the Android export logic 2022-08-25 20:06:48 -07:00
Hugo Locurcio
ce56743aa1
Improve platform-specific READMEs to add useful links
This also adds READMEs for all platforms.
2022-08-25 17:50:53 +02:00
Aaron Franke
27b0f18275 Unify bits, arch, and android_arch into env["arch"]
Fully removes the `bits` option and adapts the code that relied on it.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-08-25 11:19:20 +02:00
Rémi Verschelde
8c1dc0c7ea
Merge pull request #64630 from nathanfranke/ios-opaque
(4.x) iOS: Force app store icon to be opaque, use proper errors
2022-08-25 08:43:39 +02:00
Rémi Verschelde
9085409492
Merge pull request #64414 from m4gr3d/fix_get_current_dir_main 2022-08-23 16:15:02 +02:00
kobewi
8be27dc59e Replace Array return types with TypedArray 2022-08-22 22:42:36 +02:00
Rémi Verschelde
7c85c4a27e
Merge pull request #64374 from RandomShaper/inheritable_cl_args 2022-08-22 21:48:28 +02:00
Fabio Alessandrelli
1e044da15c
Merge pull request #64481 from jamie-pate/master
Improve performance of screen_get_dpi() in Javascript
2022-08-20 13:36:04 +02:00
Fredia Huya-Kouadio
a356e49803 Fix issue with get_current_dir() returning the wrong path on Android 2022-08-19 20:08:19 -07:00
Nathan Franke
d769ff184f
ios: force app store icon to be opaque, use proper errors 2022-08-19 13:19:13 -05:00
Pedro J. Estébanez
e886d662ec Overhaul CLI argument forwarding to processes started by the editor 2022-08-19 11:15:56 +02:00
bruvzg
8c56a7416b
Implement MenuBar control to wrap PopupMenus or native menu, use native menu for editor. 2022-08-18 22:25:44 +03:00
bruvzg
16b45ee542
[macOS / iOS Export] Fix generation of duplicate locale property list files. 2022-08-18 09:44:43 +03:00
Jamie Pate
c2e3971013 Improve performance of screen_get_dpi() in Javascript
Replace a bisect with a single multiplication when calling
screen_get_dpi() in Javascript

Tested the value of
window.matchMedia(`(resolution:${(window.devicePixelRatio*96).toFixed(100)}dpi)`).matches
which is true except for values that cause a lot of rounding errors
(e.g. dpr : 0.3  => resolution: 28.799999999999997dpi)

Even in these cases the value matches the result of the previous
`findDPI()` method.

See also:

6cff589b5b (r81273660)
2022-08-15 21:12:19 -07:00
Fredia Huya-Kouadio
44dc24ec38 Disable threads used to check on plugins to load
The functionality is unavailable on Android (requires export capability) and unnecessarily consumes resources
2022-08-15 02:30:43 -07:00
Fredia Huya-Kouadio
b3117b6369 Fix issue preventing the Android Editor from displaying the project content
The issue was causing by a bug within the logic for `FileAccessFilesystemJAndroid#eof_reached()` causing that value to remain false after the eof was reached.
This in turn caused an infinite loop in the file scanner preventing the project's content from showing up.
2022-08-15 02:22:10 -07:00
Fredia Huya-Kouadio
45c7377556 Refactor the export checking logic to improve separation of concerns 2022-08-14 09:12:04 -07:00
Pedro J. Estébanez
8c2a577350 Clean iOS platform config of long gone macro 2022-08-10 21:42:49 +02:00
Rémi Verschelde
1b06b668c9
Merge pull request #49829 from naithar/feature/ios-plugins-swift-4.0 2022-08-10 14:09:58 +02:00
Hugo Locurcio
debfc7c38b
Enable ANSI escape code processing on Windows 10 and later
This lets the engine and projects use the same color codes
in the terminal on all platforms. This includes support for
`print_rich()` (GDScript) and `print_line_rich()` (C++).
2022-08-10 00:53:11 +02:00
Sergey Minakov
c99e8aeac3 [iOS] Extend iOS plugins to support Swift runtime 2022-08-09 20:20:54 +03:00
bruvzg
6510e11ae9
Fix memory leak when accessing/listing system fonts. 2022-08-09 12:57:53 +03:00
Rémi Verschelde
557c16bb88
Merge pull request #62885 from madmiraal/fix-59931 2022-08-08 15:53:48 +02:00
Rémi Verschelde
5df8eae862
Merge pull request #64014 from RedMser/keep-screen-on-singledef 2022-08-08 12:04:04 +02:00
RedMser
c939f336d6 Only define keep_screen_on project setting once 2022-08-06 22:10:24 +02:00
Larry Tran
2ea4baae0a
Merge branch 'master' into bugfix-ios-export 2022-08-05 18:47:20 -05:00
Larry Tran
e029e66454 Remove unnecessary string replacement 2022-08-05 18:15:57 -05:00
Rémi Verschelde
04a66e1bab
Merge pull request #63882 from RedMser/keep-screen-on-windows
Implement `keep_screen_on` for Windows
2022-08-05 23:47:20 +02:00
bruvzg
944779a132
Implement screen_is_kept_on for macOS. 2022-08-05 13:14:13 +03:00
RedMser
00e788e611 Implement keep_screen_on for Windows 2022-08-05 11:58:50 +02:00
Brian Semrau
103c0fa6e6 Add support for multiple virtual keyboard types 2022-08-04 10:41:33 -04:00
bruvzg
2f9be29c73
Implement screen_set_keep_on for macOS 2022-08-04 10:38:26 +03:00
Rémi Verschelde
9daffa12be
Merge pull request #49058 from madmiraal/add-override-fileaccess
Add override keywords to FileAccess and DirAccess derived classes
2022-08-02 20:03:24 +02:00
Marcel Admiraal
c06025fa13 Add override keywords to DirAccess derived classes 2022-08-02 16:39:44 +01:00
Marcel Admiraal
cafb19e608 Add override keywords to FileAccess derived classes 2022-08-02 16:35:15 +01:00
Rémi Verschelde
33258d850c
Merge pull request #61315 from lawnjelly/variant_bucket_pools
Variant memory pools
2022-08-02 15:54:18 +02:00
Rémi Verschelde
1418f97c70 File: Re-add support to skip CR (\r) in File::get_as_text
This was removed in #63481, and we confirmed that it's better like this,
but we add back the possibility to strip CR as an option, to optionally
restore the previous behavior.

For performance this is done directly in `String::parse_utf8`.

Also fixes Android `FileAccess::get_line()` as this one _should_ strip CR.

Supersedes #63717.
2022-08-01 00:40:35 +02:00
Yuri Sizov
9f55bd971e Extract EditorResourceConversionPlugin into its own source files and clean up editor includes 2022-07-31 21:14:15 +03:00
derammo
77b31ea365 Visual Studio Natvis file works for Variant again 2022-07-31 07:59:19 -04:00
Rémi Verschelde
3e5ad8213f
Merge pull request #63563 from aaronfranke/export-arch 2022-07-30 11:22:25 +02:00
Rémi Verschelde
f4f8b18ebe
Merge pull request #63647 from bruvzg/exp_msg_imp
Improve some export error messages.
2022-07-30 09:21:11 +02:00
Rémi Verschelde
15a02c49be
Merge pull request #61647 from KoBeWi/SaverResource 2022-07-29 22:30:51 +02:00
bruvzg
ea00cf7270
Improve some export error messages. 2022-07-29 22:44:59 +03:00
bruvzg
d6a9384a32
[Linux] Fix build with missing DBUS. 2022-07-29 22:16:21 +03:00
kobewi
c3606cb5f3 Swap arguments of ResourceSaver.save() 2022-07-29 19:53:09 +02:00
Rémi Verschelde
7199314eb3
Merge pull request #63595 from reduz/remove-signal-connect-binds
Remove Signal connect binds
2022-07-29 18:10:39 +02:00
Aaron Franke
17c4cd6412
Update export dialog to handle many architectures 2022-07-29 10:24:58 -05:00
Aaron Franke
a0072ba39f
Make some editor export methods const 2022-07-29 10:24:13 -05:00
Juan Linietsky
d4433ae6d3 Remove Signal connect binds
Remove the optional argument p_binds from `Object::connect` since it was deprecated by Callable.bind().
Changed all uses of it to Callable.bind()
2022-07-29 16:26:13 +02:00
bruvzg
f973069afb
[Linux] Load dbus libraries dynamically. 2022-07-29 11:19:19 +03:00
bruvzg
51c5ba9da7
[Linux] Replace fontconfig wrapper with a one generated from the older library version (2.12.6, Ubuntu 18.04 LTS). 2022-07-29 08:55:19 +03:00
Rémi Verschelde
0dcf679bdc
Merge pull request #63548 from pattlebass/master-html5-vibrate 2022-07-27 22:19:37 +02:00
pattlebass
130e715ab9 HTML5: Add support for Input.vibrate_handheld() 2022-07-27 22:54:41 +03:00
bruvzg
9ced8bcca3
Load fontconfig libraries dynamically. 2022-07-27 21:07:21 +03:00
bruvzg
f86448520a
Fix Linux build without fontconfig. 2022-07-27 17:21:04 +03:00
Rémi Verschelde
cc5135959b
Merge pull request #62973 from bruvzg/sysfont_support 2022-07-27 13:38:30 +02:00
Rémi Verschelde
f3fbb157ca
Merge pull request #63121 from aaronfranke/editor-export-split 2022-07-27 11:19:40 +02:00
Rémi Verschelde
835da447da
Merge pull request #63481 from m4gr3d/fix_remaining_scoped_storage_regressions_main
Address remaining scoped storage regressions
2022-07-26 18:17:03 +02:00
Fredia Huya-Kouadio
9679c67904 Address remaining scoped storage regressions
- Accelerate common path used to check the storage scope for a given path
- Update the logic for the `get_as_text()` method - previous logic loads the content of a text file one byte at a time
2022-07-26 07:44:08 -07:00
Aaron Franke
e53ae13178
Split up editor export code into multiple files 2022-07-26 08:28:19 -05:00
Rémi Verschelde
ba2cffc575
Merge pull request #63096 from aaronfranke/exp-template-names 2022-07-26 10:28:25 +02:00
bruvzg
36ef8f29dc
Implement support for loading system fonts on Linux, macOS / iOS and Windows. 2022-07-26 08:38:05 +03:00
Rémi Verschelde
3e0e84a54c
Merge pull request #63459 from Kev/bigobj-for-msvc-release 2022-07-25 23:08:26 +02:00
Kevin Smith
d8900e0020 Use bigobj for release MSVC builds
Previously it was used only on debug builds, but recent
additions to variant_call.cpp have made that unit too
large even in release_debug.

It was originally set to debug only because using it
breaks mingw, so this only reinstates it for MSVC where
it shouldn't have any drawbacks (famous last words).

Test-Information:
Builds for me with
scons -j 40 platform=windows target=release_debug
and my game then runs from it.
2022-07-25 20:10:20 +01:00
Rémi Verschelde
90019676b0 Code quality: Fix header guards consistency
Adds `header_guards.sh` bash script, used in CI to validate future
changes. Can be run locally to fix invalid header guards.
2022-07-25 11:17:40 +02:00
Rémi Verschelde
3084a48ace
Merge pull request #63219 from reduz/implement-vector4-projection 2022-07-25 11:13:27 +02:00
MaxIsJoe
f3979527de Fixes OS.get_unique_id() string not getting printed properly
Fixes #61023

Changing it back to how it's done on the 3.x branch fixed the text not being written properly.
2022-07-24 11:05:36 +02:00
reduz
455c06ecd4 Implement Vector4, Vector4i, Projection
Implement built-in classes Vector4, Vector4i and Projection.

* Two versions of Vector4 (float and integer).
* A Projection class, which is a 4x4 matrix specialized in projection types.

These types have been requested for a long time, but given they were very corner case they were not added before.
Because in Godot 4, reimplementing parts of the rendering engine is now possible, access to these types (heavily used by the rendering code) becomes a necessity.

**Q**: Why Projection and not Matrix4?
**A**: Godot does not use Matrix2, Matrix3, Matrix4x3, etc. naming convention because, within the engine, these types always have a *purpose*. As such, Godot names them: Transform2D, Transform3D or Basis. In this case, this 4x4 matrix is _always_ used as a _Projection_, hence the naming.
2022-07-23 14:00:01 +02:00
Rémi Verschelde
667cef39b4
Merge pull request #63341 from RandomShaper/fix_uwp_accum_input
Flush buffered input events on UWP
2022-07-23 13:50:00 +02:00
Pedro J. Estébanez
b53d032fb8 Flush buffered input events on UWP 2022-07-23 12:06:22 +02:00
Aaron Franke
8b5c744f95
Update export template names for Windows, Mac, and Linux 2022-07-22 18:40:59 -05:00
Rémi Verschelde
f37990ed77
Merge pull request #63278 from akien-mga/scons-linux-refactor-linker 2022-07-22 11:40:10 +02:00
Rémi Verschelde
ed926c4ec1
Merge pull request #63303 from hansemro/x11-eraser-case-insensitive
[X11] Do case-insensitive search for pen inversion detection
2022-07-22 09:17:04 +02:00
Hansem Ro
0f5436098b [X11] Do case-insensitive search for pen inversion detection 2022-07-21 19:25:22 -07:00
Rémi Verschelde
c8479c0d4d SCons: Refactor Linux linker options with linker=<bfd|gold|lld|mold>
The new option is `linker` and lets the user specify the argument to
the`-fuse_ld=` linker flag directly. The supported options are:

- `default`: No change, typically uses GNU ld (bfd) unless the user or
  distro picked a different default `/usr/bin/ld`.
- `bfd`: GNU ld from binutils
- `gold`: GNU gold from binutils
- `lld`: lld from LLVM
- `mold`: mold, an extremely fast modern linker, not (yet) intended for
  use in production but great for development speed. Provided by distro
  `mold` package or needs to be compiled from source and installed to
  `/usr` otherwise.

Removes the `use_lld=yes` option, and make lld actually usable with GCC
too.

Not all the above are compatible or recommend for LTO, we recommend
using GNU ld with GCC LTO, or lld with LLVM ThinLTO.
2022-07-22 01:00:35 +02:00
bruvzg
3833165d85
[Export] Update generated CLI helper script to work on clean macOS Monterey installation. 2022-07-21 13:50:37 +03:00
bruvzg
8823eae328
Rename OSX to macOS and iPhoneOS to iOS. 2022-07-21 09:37:52 +03:00
Riteo
a21f8b7c13 Improve linuxbsd headless building, cleanup build scripts
Now the `linuxbsd` platform can be built headlessly (e.g. without X11
development libraries).

I also cleaned up some weird (old?) usages of the `env` variable which
seem to make no difference and are used nowhere else.
2022-07-20 19:48:35 +02:00
Riteo
f035e7844f Remove -pipe from LINKFLAGS
For some reason this fixes the CI from going OOM.
2022-07-20 19:04:31 +02:00
bruvzg
680b5f1afb
[Windows] Set fullscreen flags on window creation. 2022-07-19 13:36:39 +03:00
bruvzg
7c005ba723
Improve DisplayServer.window_set_current_screen
Prevent unnecessary fullscreen toggle animation on macOS, when screen is not changed
Fix window position on Linux/X11
2022-07-19 12:26:11 +03:00
pattlebass
d57a76c809 HTML5: Make OS.get_locale() match other platforms
Fixes #63029.
2022-07-15 22:11:39 +03:00
Marcel Admiraal
6661141c21 Fix incorrect Android scancodes 2022-07-13 16:24:01 +01:00
Rémi Verschelde
19b10e2784
Merge pull request #62824 from MinusKube/haunted-editor-bug
Fix haunted editor bug causing weird issues with mouse behaviour
2022-07-13 14:13:16 +02:00
Rémi Verschelde
9b3972ad48
Merge pull request #62843 from RandomShaper/fix_iphone_input
Flush accumulated input events on iOS
2022-07-11 18:28:36 +02:00
Pedro J. Estébanez
1b98e904d0 Flush accumulated input events on iOS 2022-07-08 21:37:07 +02:00
kobewi
d2900429e8 Add static methods for creating Image and ImageTexture 2022-07-08 13:40:47 +02:00
MinusKube
7b05df8029 Move windows display server's 'outside' field to WindowData struct 2022-07-07 21:11:00 +02:00
Rémi Verschelde
1b8711b56c
Merge pull request #62813 from bruvzg/android_fix_zstd_build 2022-07-07 15:16:57 +02:00
bruvzg
e873778561 Use clang as assembler to ensure preprocessing is done, and add assembler "target" flag. 2022-07-07 14:15:12 +03:00
bruvzg
238ac2fdd5
[macOS] Improve file association handling, and allow URL schema handling. 2022-07-07 12:11:31 +03:00
bruvzg
a194043ea8
Check if GL manager exist to prevent crash when using multithreaded renderer with Vulkan. 2022-07-06 09:56:47 +03:00
Fredia Huya-Kouadio
f9c19298ce Add full support for Android scoped storage.
This was done by refactoring directory and file access handling for the Android platform so that any general filesystem access type go through the Android layer.
This allows us to validate whether the access is unrestricted, or whether it falls under scoped storage and thus act appropriately.
2022-07-05 03:00:37 -07:00
Rémi Verschelde
344b42703b
Merge pull request #62212 from hansemro/eraser-detect-4
Add inversion/eraser-end property for tablet pens
2022-07-04 21:48:19 +02:00
Hansem Ro
6dcc9d1131 [macOS, Windows, X11] Add stylus inverted/eraser support to
InputEventMouseMotion event
2022-07-04 10:36:53 -07:00
lawnjelly
b221eab426 Variant memory pools
Memory pools via PagedAllocator for Transform2D, Transform3D, Basis and AABB.
2022-07-04 12:01:46 +01:00
Rémi Verschelde
e79cb76146
Merge pull request #62611 from akien-mga/android-preset-refactor-custom-build 2022-07-03 18:38:39 +02:00