Brecht Kuppens
5608b1d411
Windows: Always double-quote path when launching explorer.exe to browse
...
Code now always double quotes the filename to use as command line
argument when calling explorer.exe. In particular, commas in a filename
would be interpreted by explorer.exe as separators for commands.
Similarly a trim_suffix for "file://" is assumed to be a mistake, this
could potentially be a PREfix that we want to strip, but never a suffix.
Since it didn't seem needed in the end, we removed it.
2023-08-28 12:46:50 +02:00
bruvzg
2e1f48ff6e
[Native File Dialogs] Refocus last focused window on close.
2023-08-24 09:34:58 +03:00
bruvzg
f37ace7036
[Windows] Add main executable to the console wrapper dependencies to prevent simultaneous linking.
2023-08-23 09:54:06 +03:00
Rémi Verschelde
bc1aef88ee
SCons: Disable misbehaving MSVC incremental linking
...
Fixes #77968 .
2023-08-10 14:04:19 +02:00
Tyler
3cf1e04579
Fix Windows console wrapper and icon being swapped
...
Fixes #80238 .
2023-08-07 12:46:23 -04:00
Rémi Verschelde
048a164083
Merge pull request #79693 from bruvzg/com_ath
...
[Windows] Initialize COM as apartment-threaded.
2023-08-07 14:48:40 +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
1610fc2ae7
Merge pull request #78539 from EIREXE/input-info
...
Add the ability to get per-platform information for joypads
2023-08-03 22:37:45 +02:00
Álex Román Núñez
3aa340d081
Add the ability to get per-platform information for joypads.
...
This adds the ability for games to obtain platform-specific information about joypads such as their vendor/product ID, their XInput gamepad index or the real name of the device before it gets swapped out by the gamecontrollerdb's name.
This PR also includes a rebased version of #76045 , this is because this PR is intended to be mainly to help people implementing Steam Input, as having the gamepad index is essential.
2023-08-02 22:30:30 +02:00
bruvzg
b240b5be84
[Windows] Do not force redraw window background on mouse pass-through region change.
2023-08-02 10:40:40 +03:00
Markus Sauermann
8c1ce404d7
Fix crash on Windows when closing Window
...
Send `WINDOW_EVENT_MOUSE_EXIT` when a window is destroyed.
Ensure, that on Windows, the event_callback is still valid during
destroying the `Window`.
2023-08-02 00:17:25 +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
a0c388d4e1
[Windows] Try using objcopy and strip with prefix and without prefix.
2023-07-25 09:52:38 +03:00
Yuri Sizov
c8e191b7f4
Merge pull request #79724 from Repiteo/gcc-windows-fixes
...
Fix gcc builds failing on windows
2023-07-24 19:33:19 +02:00
Yuri Sizov
88c1e0d528
Merge pull request #79350 from kleonc/screen_to_pixel_byte_to_float_conversion_fix
...
Fix byte to float color conversion in `DisplayServerWindows::screen_get_pixel`
2023-07-21 17:54:21 +02:00
Thaddeus Crews
d848c95748
Fix gcc builds failing on windows
2023-07-20 18:01:52 -05:00
bruvzg
4bfb820d32
[Windows] Initialize COM as apartment-threaded.
2023-07-20 12:14:16 +03:00
Yuri Sizov
0c2144da90
Remove excessive include that breaks compilation on Windows
2023-07-18 22:09:48 +02:00
bruvzg
d3ca91ad6a
[Windows] Implement native file selection dialog support.
2023-07-18 17:23:58 +03: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
Hendrik Brucker
7e21eb7e00
Extract and reorganize texture resource classes
2023-07-14 20:04:21 +02:00
kleonc
9d45dd812f
Fix byte to float color conversion in DisplayServerWindows::screen_get_pixel
2023-07-12 21:31:02 +02: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
988abb2161
Merge pull request #79016 from bruvzg/fix_win_initial_ne_fs
...
[Windows] Fix setting initial non-exclusive window mode.
2023-07-08 18:21:04 +02:00
MewPurPur
fe194f8db0
Optimize SVG icons and remove unused Transpose icon
2023-07-07 17:58:15 +03:00
Rémi Verschelde
3a3ec4add1
Merge pull request #78263 from bruvzg/fl_all
...
[Windows] Flash both the window caption and taskbar button on `request_attention`.
2023-07-07 16:02:38 +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
db0109b237
[Windows] Fix setting initial non-exclusive window mode.
2023-07-04 13:09:26 +03:00
bruvzg
9c5a0c6c10
Add error checks and harmonize behavior of the set_icon method.
2023-07-03 13:48:28 +03: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
d586096415
Merge pull request #72720 from pkdawson/fix-mouse-capture
...
DisplayServerWindows: Fix mouse capture when button up message is missed
2023-06-22 18:29:34 +02: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
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
bitsawer
3c42496fb0
Fix Clang dev_mode build const string conversion
2023-06-16 14:54:36 +03:00
bruvzg
28db3c7158
[DisplayServer] Add method to check if native window is focused.
2023-06-16 10:27:52 +03:00
bruvzg
49af2582c4
[Windows] Flash both the window caption and taskbar button on request_attention
.
2023-06-15 11:04:54 +03:00
Álex Román Núñez
938a837056
Disable NVIDIA's threaded optimization on Windows
2023-06-13 11:47:40 +02:00
Rémi Verschelde
9e7349bda3
Merge pull request #78151 from jpcerrone/fix_windowed_move_problems
...
Fix window resizing problems on Windows
2023-06-13 10:27:14 +02:00
RedworkDE
5c57b3aba4
Fix docs after renaming export option
2023-06-12 23:59:55 +02:00
jpcerrone
a80584664c
Fix window resizing problems on Windows
...
Fixes godotengine#76847, Fixes godotengine#74286
Reorders problematic steps from the DisplayServerWindows::window_set_mode function.
These were causing a resize with the dimensions of the previously used mode instead
of the current one.
2023-06-12 15:26:34 -03:00
Rémi Verschelde
26e5a98306
Merge pull request #77770 from jpcerrone/fix_minimize_missing
...
Fix minimize button missing in non-resizable projects
2023-06-12 11:39:08 +02:00
Dominik
19ce63d875
Added a few additional GUIDs to list of hardcoded IDs in is_xinput_device
2023-06-09 15:02:19 +02:00
Rémi Verschelde
759309ba18
Merge pull request #77977 from zaevi/fix_windows_popup_ime
...
Fix IME doesn't work under Popup on Windows.
2023-06-09 11:06:02 +02: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
Zae
1b149b7440
Fix IME doesn't work under Popup on Windows.
2023-06-08 02:40:36 +08:00
MJacred
2c5e2196bd
Replace get_rendering_device() call to prevent crashes on OpenGL.
...
And make OpenGL video adapter info align with Vulkan.
2023-06-06 23:29:36 +02:00
Michael Alexsander
71d8882a02
Enhance icon fallback and their docs for exporters
2023-06-03 19:28:50 -03:00
jpcerrone
c819da7fdb
Fix minimize button missing in non-resizable projects.
...
Fixes https://github.com/godotengine/godot/issues/77603 .
On Windows, disabling the 'resizable' flag on the project
settings would also remove the minimize button from the window.
2023-06-02 10:31:50 -03:00
Yuri Sizov
c670c4334a
Merge pull request #65902 from MJacred/editor/copysysteminfo
...
Add an editor option to copy system info to clipboard
2023-05-27 20:11:54 +02:00
MJacred
9e5bf3d589
Copy system info to clipboard + Update bug_report.yml
...
plus minor static-related fixes
* linuxbsd: get_systemd_os_release_info_value() -> static breaks usage if used multiple times
* windows/linuxbsd: get_video_adapter_driver_info() writes info into static
* linuxbsd: get_distribution_name() + get_version() -> write bsd fallback into static variable
* windows/uwp/android: remove unnecessary use of static
2023-05-27 18:21:23 +02:00
Rémi Verschelde
774f4a7261
Merge pull request #73450 from Calinou/windows-vulkan-disable-amd-switchable-graphics
...
Disable AMD switchable graphics on Windows with Vulkan to fix driver issue
2023-05-24 08:44:46 +02:00
Rémi Verschelde
7ed55c8833
Merge pull request #77258 from RedworkDE/natvis-pdb-embeded
...
Embed natvis debug views in PDB
2023-05-22 13:49:15 +02:00
RedworkDE
efa892b52a
Embed natvis debug views in PDB
...
This means the debugger can load them automatically.
2023-05-20 00:08:35 +02:00
bruvzg
5b9984b5a2
Add audio/general/text_to_speech
project setting to enable/disable TTS.
2023-05-18 20:16:03 +03:00
bitsawer
68da61e74c
Fix for Clang dev_mode Windows build
2023-05-17 19:35:37 +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
Fabio Alessandrelli
58c6f88802
[TLS/Windows] Skip disallowed certs in the trusted CA list.
...
Turns out the list of trusted root certificates contains disallowed
certificates (i.e. certificates which are no longer trusted or have been
revoked).
We need to check for the property `CERT_DISALLOWED_FILETIME_PROP_ID` to
check if and when the certificates should be distrusted.
2023-05-14 14:44:14 +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
Davi
65236fe2d5
Fix building the Windows x86_32 target
...
In x86_32, `ULONG_PTR` and `SIZE_T` are defined as `unsigned long`, which is not a type supported by Variant without the `NEED_LONG_INT` define.
2023-05-07 11:01:20 -03:00
Rémi Verschelde
8f7b09916d
Merge pull request #76026 from YuriSizov/editor-running-up-that-gui
...
Extract editor run toolbar into its own component
2023-04-26 12:15:29 +02: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
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
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
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
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
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
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
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
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
e6067a39b5
[Windows] Remove meta_mem update on keyup/keydown.
2023-03-21 09:16:10 +02:00
bruvzg
ab94024ce1
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
2023-03-20 14:58:21 +02: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
bruvzg
5d35c600d5
[Linux/X11] Add some missing keycodes/scancodes.
2023-03-08 12:13:41 +02: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