Commit Graph

4602 Commits

Author SHA1 Message Date
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