Commit Graph

4678 Commits

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