Commit Graph

276 Commits

Author SHA1 Message Date
Yuri Sizov cc0eebd9d8 Validate `code` tags for class and member references
This commit also adds means to manually disable warnings
in `code` tags where it's a false positive with the new
`skip-lint` attribute.

Warnings are now enabled on CI to prevent future errors.
2023-10-03 15:48:31 +02:00
bruvzg 72e2e47059
[DisplayServer] Add method to estimate window title bar size. 2023-10-03 16:13:52 +03:00
bruvzg b7b5fbe7aa
[macOS] Check all exclusive fullscreen windows before setting presentation mode. 2023-09-27 09:01:52 +03:00
A Thousand Ships 517e9f8aef [Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-26 16:44:52 +02:00
bruvzg 873d4079d1
[macOS] Fix borderless mode on macOS 13.6+. 2023-09-26 11:55:25 +03:00
Mario Liebisch 426e18fd37
Updated compiler version detection
This fixes multiple issues/inconsistencies around  `get_compiler_version()`:
* With no shell allocated, launching the compiler could fail even
  with proper paths being set.
* The return value was described as "an array of version numbers as ints",
  but the function actually returned a `Dictionary` (or `None`).
* Not all calls were properly handling a `None` return value in case of errors.
  On Windows this broke compiling for me since #81869 with default settings.
* Some calls defined inconsistent defaults/fallbacks (`0` or `-1`).
2023-09-25 21:17:20 +02:00
naelstrof b49e9c9896 Made signal handling more uniform. Fixes #82102 2023-09-22 20:06:58 -06:00
Rémi Verschelde 603119d301
Merge pull request #82037 from bruvzg/macos_gl_min_size
[macOS] Enforce non-zero window size.
2023-09-21 14:27:42 +02:00
bruvzg 1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
bruvzg 901e090e56
[macOS] Enforce non-zero window size. 2023-09-21 12:37:18 +03:00
bruvzg f316283823
[macOS export] Fix GDExtension framework +x flag errors, allow recursive signing on non macOS platform. 2023-09-20 12:21:18 +03:00
bruvzg 6da8c7a662
[macOS] Workaround Xcode 15 linker bug. 2023-09-20 11:03:44 +03:00
A Thousand Ships 3565d1bf7e [Drivers,Platform] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable 2023-09-12 20:13:32 +02:00
Yuri Sizov 07176632a6 Merge pull request #81339 from bruvzg/macos_fix_mvk_live_resize
[macOS] Fix live resize with the latest MoltenVK version.
2023-09-06 14:49:30 +02:00
bruvzg 208b379986
[macOS] Fix live resize with the latest MoltenVK version. 2023-09-05 16:21:08 +03:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
bruvzg 2e1f48ff6e
[Native File Dialogs] Refocus last focused window on close. 2023-08-24 09:34:58 +03:00
Haoyu Qiu d026b37abd Fix various typos in classref 2023-08-22 18:05:50 +08:00
Aaron Franke ada360affe
Add a button in the export dialog to fix missing texture formats 2023-08-17 02:56:42 -05:00
bruvzg 78caaf3717
[macOS] Fix missing mouse exit events on window close. 2023-08-09 10:23:57 +03:00
Rémi Verschelde 9d6570af3b
Merge pull request #79456 from bruvzg/popup_area_fix
Fix native popups auto-closing when interacting with non-client area.
2023-08-07 14:47:02 +02:00
Rémi Verschelde faaf27f284
Fix various typos with codespell
Also includes typo fixes from #79993, #80068, #80276, and #80303.

Co-authored-by: betalars <contact@betalars.de>
Co-authored-by: spaceyjase <429978+spaceyjase@users.noreply.github.com>
Co-authored-by: Swarkin <102416174+Swarkin@users.noreply.github.com>
Co-authored-by: Raul Santos <raulsntos@gmail.com>
2023-08-07 13:09:47 +02:00
bruvzg e26a6c36c8 Fix native popups auto-closing when interacting with non-client area. 2023-08-07 10:01:48 +03:00
Yuri Sizov dc6ea03101
Merge pull request #35555 from Calinou/add-version-project-setting
Add a "version" project setting and use it in new export presets
2023-08-04 21:01:15 +02:00
Haoyu Qiu 097c849395 Fix various typos in classref 2023-08-04 16:29:55 +08:00
Hugo Locurcio ad4480bf2e
Add a "version" project setting and use it in new export presets
This makes it easy to retrieve the project version at runtime
for display purposes, while simplifying the export preset configuration.
You can now leave the version empty unless you need to override it on a per-preset
basis.

Since export presets save the values of default values to the `export_presets.cfg`
file, this change only affects export presets created after this commit was merged.
2023-08-04 10:29:33 +02:00
Yuri Sizov 24049b6646 Merge pull request #79950 from bruvzg/win_app
[macOS Export] Disable unpacked .app bundle export on Windows.
2023-08-02 21:37:01 +02:00
Yuri Sizov 0c2399d6ec Merge pull request #63826 from deakcor/dev_clipboard
Add `clipboard_has/get_image` methods to DisplayServer
2023-07-27 15:22:16 +02:00
bruvzg 56bd7adae4 [macOS Export] Disable unpacked .app bundle export on Windows. 2023-07-27 13:21:23 +03:00
Yuri Sizov ec66c53d52 Merge pull request #79572 from bruvzg/mac_bg_ws_sync
[macOS] Fix uncapped frame rate for windows in the non-active workspaces.
2023-07-18 15:10:09 +02:00
Vincent D c13e3a9fb0 add clipboard get image methods for windows and macos
Co-Authored-By: RedworkDE <10944644+RedworkDE@users.noreply.github.com>
Co-Authored-By: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-07-17 23:47:27 +02:00
Phil Hudson 076ef3bf6a iOS: Add `export_project_only` flag 2023-07-17 11:45:03 +02:00
bruvzg 2ee45dc293
[macOS] Fix uncapped frame rate for windows in the non-active workspaces. 2023-07-17 10:29:49 +03:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
bruvzg 4790da7900
[macOS] Implement optional native file selection dialog support for sandboxed apps. 2023-07-12 22:36:24 +03:00
Yuri Sizov 1da09fd477 Merge pull request #79062 from MewPurPur/svg-optimizations
Optimize SVG icons and remove unused Transpose icon
2023-07-12 21:02:53 +02:00
Yuri Sizov ff689003a5 Merge pull request #77993 from bruvzg/key_lbl_from_p
Implement DisplayServer.keyboard_get_label_from_physical method.
2023-07-12 21:02:37 +02:00
Yuri Sizov 2b47f6715e Merge pull request #78437 from bruvzg/set_icon
Add error checks and harmonize behavior of the `set_icon` method.
2023-07-12 15:09:14 +02:00
Yuri Sizov 6960a1d0e8 Merge pull request #78248 from felaugmar/load-svg-adjustable-scale
Added `Image::load_svg_from_(buffer|string)`
2023-07-12 15:09:03 +02:00
Kamil Brzoskowski 3cd865dbe8
Fix formatting of dlopen error message on Windows
And harmonize the format for all platforms.

Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2023-07-09 23:39:45 +02:00
Rémi Verschelde 43c0fa7f4b
Merge pull request #78797 from Calinou/remove-redundant-vformat
Remove uses of `vformat()` with no placeholders
2023-07-08 18:18:35 +02:00
MewPurPur fe194f8db0 Optimize SVG icons and remove unused Transpose icon 2023-07-07 17:58:15 +03:00
Rémi Verschelde 69dbbcc313
Merge pull request #79092 from akien-mga/doctool-remove-version-attribute
Doctool: Remove version attribute from XML header
2023-07-07 08:34:55 +02:00
Rémi Verschelde 9522ef67d5
Merge pull request #79010 from bruvzg/set_native_icon_crash
[macOS] Fix `set_native_icon` crash with empty or invalid ICNS file.
2023-07-07 08:32:56 +02:00
Rémi Verschelde 81064cc239
Doctool: Remove version attribute from XML header
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
2023-07-06 10:08:21 +02:00
Rémi Verschelde 346f1ab86b
Bump version to 4.2-dev
Keep on waitin'
2023-07-05 22:07:03 +02:00
bruvzg 618795a214
[macOS] Fix set_native_icon crash with empty or invalid ICNS file. 2023-07-04 09:09:40 +03:00
bruvzg 9c5a0c6c10
Add error checks and harmonize behavior of the set_icon method. 2023-07-03 13:48:28 +03:00
Hugo Locurcio dcc92c174e
Remove uses of `vformat()` with no placeholders
This is identical to passing the string directly.
2023-06-28 16:27:55 +02:00
Felipe Augusto Marques 26eb3db234 Added Image's `load_svg_from_(buffer|string)`
No core dependency to the svg module.
2023-06-23 00:43:43 -03:00
Rémi Verschelde 90446fe9f3
SCons: Move platform logo/run icon to `export` folder
Follow-up to #75932.
Since these icons are only used by the export plugin, it makes sense to
move them and generate the headers there.

The whole `detect.is_active()` logic seems to be a leftover from before
times, as far back as 1.0-stable it already wasn't used for anything.

So I'm removing it and moving the export icon generation to
`platform_methods`, where it makes more sense.
2023-06-20 13:16:37 +02:00
Aaron Franke a981158d1a
macOS: Finish checking templates before validating texture formats 2023-06-19 21:36:31 -05:00
Rémi Verschelde 356a602186
Merge pull request #74511 from AThousandShips/win_cursor_fix
Fix clearing custom cursor
2023-06-20 00:00:57 +02:00
Michael Alexsander 41a75cfa4f
Allow exporting release Android builds without a debug keystore 2023-06-19 01:00:13 -03:00
Rémi Verschelde 598378513b
Merge pull request #78319 from bruvzg/fix_lipo_fa
[macOS export] Fix lipo file handling.
2023-06-16 10:24:37 +02:00
bruvzg c7f4e3fd25 [macOS export] Fix lipo file handling. 2023-06-16 11:07:56 +03:00
bruvzg 28db3c7158 [DisplayServer] Add method to check if native window is focused. 2023-06-16 10:27:52 +03:00
RedworkDE 5c57b3aba4 Fix docs after renaming export option 2023-06-12 23:59:55 +02:00
Rémi Verschelde 54a8adfd50
Merge pull request #75984 from KoBeWi/ConsoleMcWrap
Rename console script to wrapper
2023-06-12 22:54:24 +02:00
Aaron Franke 944fbce347
Enable S3TC_BPTC but not ETC2_ASTC by default 2023-06-09 11:38:29 -05:00
bruvzg fe2d9e5bdf
[macOS] Fix IME focus in popup windows. 2023-06-09 08:03:13 +03:00
Rémi Verschelde 9e4315bb50
Style: Harmonize header includes in platform ports
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module should be included with relative
paths (relative to the root folder of the modular component, e.g.
`platform/linuxbsd/`), in their own section before Godot's "core" includes.

The `api` and `export` subfolders also need to be handled as self-contained
(and thus use relative paths for their "local" includes) as they are all
compiled for each editor platform, without necessarily having the api/export
matching platform folder in the include path.
E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp`
and those need to use relative includes for it to work.
2023-06-08 15:19:19 +02:00
bruvzg 08e8ff371d
Implement keyboard_get_label_from_physical method. 2023-06-08 10:13:31 +03:00
Michael Alexsander 71d8882a02
Enhance icon fallback and their docs for exporters 2023-06-03 19:28:50 -03:00
Rémi Verschelde 8623572b1f
Merge pull request #75666 from ronyeh/main.cpp-2
Rename `iconpath` => `icon_path` & `hasicon` => `has_icon`.
2023-06-02 17:26:18 +02:00
bruvzg 5b9984b5a2
Add `audio/general/text_to_speech` project setting to enable/disable TTS. 2023-05-18 20:16:03 +03:00
Rémi Verschelde 265c70a369
Merge pull request #75142 from bruvzg/scr
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-05-16 10:48:16 +02:00
Rémi Verschelde 258fabdbb3
Merge pull request #76836 from Faless/tls/system_certs
[TLS] Add support for platform-specific CA bundles.
2023-05-12 11:17:31 +02:00
Fabio Alessandrelli 6fd9982358 [TLS] Add support for platform-specific CA bundles.
Adds a new OS::get_system_ca_certs method which can be implemented by
platforms to retrieve the list of trusted CA certificates using OS
specific APIs.

The function should return the certificates in PEM format, and is
currently implemented for Windows/macOS/LinuxBSD(*)/Android.

mbedTLS will fall back to bundled certificates when the OS returns no
certificates.

(*) LinuxBSD does not have a standardized certificates store location.
    The current implementation will test for common locations and may
    return an empty string on some distributions (falling back to the
    bundled certificates).
2023-05-12 09:58:23 +02:00
Ninni Pipping 71ee65dc57 Enable shadow warnings and fix raised errors 2023-05-11 16:00:59 +02:00
Rémi Verschelde a1db628eb3
Merge pull request #76856 from HolonProduction/macos-specific
Don't expose macOS and iOS specific display servers.
2023-05-11 11:47:58 +02:00
HolonProduction ddcb2d157d Don't expose mac specific display server. 2023-05-11 11:02:08 +02:00
Andreas Raddau fab160ce70 Store sensitive export options in dedicated credentials file 2023-05-10 11:40:17 +02:00
Rémi Verschelde e1075e9c7c
Fix various typos with codespell
Also includes the grammar fix from #76206.

Co-authored-by: Peter Anderson <BWPanda@users.noreply.github.com>
2023-04-26 13:57:09 +02:00
bruvzg a97225c753
[macOS] Implement OS::shell_show_in_file_manager() 2023-04-25 11:48:41 +03:00
bruvzg fd3e7e25e8
[macOS] Bump min. version to 10.13, and remove deprecated code. 2023-04-24 10:52:50 +03: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
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
Danil Alexeev 36bedd341a
Fix misuses of error macros 2023-04-18 10:20:48 +03: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 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
Ron B. Yeh c8cbc67156 Rename `iconpath => icon_path` & `hasicon => has_icon`. 2023-04-04 17:05:37 -07:00
bruvzg 48730e3b77
[macOS] Fix infinite loop caused by global menu callbacks which trigger EditorProgress dialog. 2023-03-23 13:38:12 +02:00
bruvzg ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows. 2023-03-20 14:58:21 +02: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
Ninni Pipping a419325753 Fix clearing custom cursor 2023-03-10 11:59:49 +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
Ron B. Yeh 7e7ac1bb87 Rename mkv_list to mvk_list (MoltenVK path list). 2023-03-06 16:25:00 -08:00
bruvzg e7647b5ee5
[DisplayServer] Implement screen_get_pixel method for LinuxBSD/X11, macOS and Windows. 2023-03-01 09:32:23 +02:00
bruvzg fdf56a2fc2 [Input] Use BRACKET_ instead of BRACE_ for physical keys. 2023-02-22 12:39:30 +02:00
bruvzg 6f418a3441
[macOS] Fix Input.warp_mouse shifted by one screen pixel. 2023-02-21 08:30:28 +02:00