Commit Graph

1810 Commits (fe84b84b51df1ff6db658f521d1040aa563cedd0)

Author SHA1 Message Date
Thaddeus Crews 7dbea98c49
Merge pull request #97005 from Repiteo/core/window-corner-style
Core: Add `DisplayServer` flag for sharp corners
2024-10-21 16:39:25 +07:00
Thaddeus Crews f8c4a683d7
Core: Add `DisplayServer` flag for sharp corners 2024-10-18 11:20:21 +07:00
Yevhen Babiichuk (DustDFG) af6d260c17 Don't include `core/io/image.h` in `core/os/os.h`
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot

Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`

^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name

Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +07:00
Thaddeus Crews d4dddd00cb
SCons: Extend `MinGW` support & checks 2024-10-11 14:24:00 +07:00
Thaddeus Crews a44f691fc7
CI: Add MinGW/GCC build to Windows GHA 2024-10-10 10:10:55 +07:00
Yevhen Babiichuk (DustDFG) 7aacdaa071 Build System: Extract `validate_arch` helper function
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-06 07:50:49 +07:00
David Snopek 256699ee31 OpenXR: Add support for Wayland on Linux 2024-10-04 11:44:05 +07:00
Rémi Verschelde 36837bfb5d
Merge pull request #91487 from shatyuka/window-style
Apply `WS_MINIMIZE` style on window creation
2024-10-04 12:58:34 +07:00
bruvzg d2f3725120
Fix window_set_current_screen for maximized windows. 2024-10-03 10:38:32 +07:00
Gergely Kis 146ba4106f Move Vulkan includes to a central godot_vulkan.h header
Also fixes Vulkan build problem with recent Clang.
2024-09-29 17:53:18 +07:00
Yevhen Babiichuk (DustDFG) 9c50312f0d Extract common check functions in windows_detect.py file
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-27 21:15:33 +07:00
Rémi Verschelde a0d1ba4a3d
Merge pull request #97458 from Faless/fix/imagine_its_2024_and_your_os_cant_handle_few_kbs_of_text
[SCons] Remove MAXLINELENGTH override for MSVC
2024-09-26 12:50:14 +07:00
Rémi Verschelde 991e6c92ab
Merge pull request #96923 from Repiteo/style/warning-admonition
Style: Add `WARNING:` as new comment admonition
2024-09-26 12:45:38 +07:00
Fabio Alessandrelli 395a4fc5f2 [SCons] Remove MAXLINELENGTH override for MSVC
It's not clear what is the actual max value that windows support, but
despite their claim of it being 8191 we have been seeing failure with
just 8150.
2024-09-26 12:06:16 +07:00
Thaddeus Crews 32c83a228d
Style: Add `WARNING:` as new comment admonition 2024-09-25 09:44:42 +07:00
Thaddeus Crews 9f9ee0c813
SCons: Add unobtrusive type hints in SCons files 2024-09-25 09:34:35 +07:00
Rémi Verschelde 648b21b9ba
Merge pull request #96813 from Repiteo/scons/fix-clang-cl-flags
SCons: Fix `clang-cl` link/ar flags
2024-09-23 12:27:59 +07:00
Rémi Verschelde c2564f42aa
Merge pull request #97142 from SheepYhangCN/master
Fallback to OpenGL 3 if other rendering drivers are not supported
2024-09-20 16:06:35 +07:00
Thaddeus Crews b37fc1014a
Style: Apply new `clang-format` changes 2024-09-20 08:09:48 +07:00
SheepYhangCN 3b839347df Added fallback_to_opengl3 2024-09-20 06:10:05 +07:00
Alvin Wong 454251660c Fix using Binutils AR with TEMPFILE on Windows
Set `TEMPFILEARGESCFUNC`[1] to replace backslashes with forward slashes
in paths.

[1]: https://scons.org/doc/production/HTML/scons-user/apa.html#cv-TEMPFILEARGESCFUNC
2024-09-19 22:19:15 +07:00
Rémi Verschelde 804d9775b5
Merge pull request #96407 from alvinhochun/mingw-ar-long-command-tempfile
Remove `ARFLAGS` hack for Windows, replace with `TEMPFILE`
2024-09-18 17:40:53 +07:00
Rémi Verschelde 2c8ab6e7eb
Merge pull request #94839 from alvinhochun/win-set-console-mode
Combine existing modes when calling SetConsoleMode
2024-09-18 11:15:22 +07:00
kobewi 4023ace08d Add Advanced Settings switch to Editor Settings 2024-09-17 12:20:55 +07:00
A Thousand Ships dd6443193c
[Editor] Expose more editor settings to documentation
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +07:00
Thaddeus Crews df0a88b128
SCons: Fix `clang-cl` link/ar flags 2024-09-10 13:48:53 +07:00
bruvzg 2c991a727b [Windows] Only use long executable path when necessary, fix broken apksigner detection. 2024-09-10 10:34:44 +07:00
bruvzg b1f9271e49
[MinGW] Fix GCC ar detection. 2024-09-09 11:01:29 +07:00
bruvzg 10f3c1f587
Add support for non-blocking IO mode to `OS.execute_with_pipe`. 2024-09-06 14:16:39 +07:00
Rémi Verschelde 82799d7687
Merge pull request #96526 from bruvzg/win_env
[Windows] Use the same API for all `OS_Windows::*_environment` functions.
2024-09-04 18:55:46 +07:00
Rémi Verschelde 3cc99d3e31
Merge pull request #95983 from bruvzg/win_fd_opt_fix
[Windows] Emit native file dialog callback from event loop, fix selected options not saved.
2024-09-04 17:11:57 +07:00
bruvzg 319bfa9965
[Windows] Use the same API for all `OS_Windows::*_environment` functions. 2024-09-03 16:02:35 +07:00
Rémi Verschelde 262c8da104
Merge pull request #95887 from bruvzg/sysinfo_drv
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-03 11:43:12 +07:00
Rémi Verschelde 109fafc7a4
Merge pull request #96383 from dsnopek/gdextension-pdb-missing-error
GDExtension: Show warning on missing PDB file, rather than error
2024-09-02 12:13:34 +07:00
bruvzg c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info. 2024-09-01 18:22:40 +07:00
Alvin Wong 28b95ff550 Remove ARFLAGS hack for Windows, replace with TEMPFILE
TEMPFILE is the built-in way of SCons to use a response file for command
lines that are too long.
2024-09-01 04:10:30 +07:00
Alvin Wong 35a8ff9284 mingw: Only use `ar --thin` on supported versions
The flag is supported since Binutils 2.38 [1] or LLVM 14 [2].

[1]: https://sourceware.org/bugzilla/show_bug.cgi?id=28759
[2]: dd6e7e0d57
2024-09-01 02:13:31 +07:00
David Snopek 760099ca6f GDExtension: Show warning on missing PDB file, rather than error 2024-08-31 07:45:06 +07:00
Rémi Verschelde 66dd06837c
Merge pull request #90782 from bruvzg/export_platform_extension
Allow adding custom export platforms using scripts / GDExtension.
2024-08-30 09:58:52 +07:00
Rémi Verschelde cb96fc95c3
Merge pull request #92316 from alula/msvc-clang
Add support for compiling with VS clang-cl toolset
2024-08-29 10:36:17 +07:00
Alula 346cbc7f1f
Add support for compiling with VS clang-cl toolset 2024-08-28 13:30:44 +07:00
bruvzg d528f28275 [Windows] Fix OS.open_dynamic_library 2024-08-28 20:12:09 +07:00
Rémi Verschelde 2730d703a8
Merge pull request #94747 from alvinhochun/mingw-llvm-build-flags
Some improvements for MinGW and LLVM build on Windows
2024-08-28 13:14:19 +07:00
Alvin Wong 2d300a0bdc MinGW: Use thin archives to reduce disk space 2024-08-28 18:20:16 +07:00
Alvin Wong b5258b42c0 Enable Clang color output on Windows 2024-08-28 18:20:16 +07:00
Alvin Wong e9b6c1baf8 Windows/detect.py: Detect llvm-mingw GCC wrappers and set use_llvm 2024-08-28 18:20:16 +07:00
Alvin Wong 3a0837b74b Windows/detect.py: Simplify try_cmd function 2024-08-28 17:20:27 +07:00
bruvzg ae334e069c
[Windows] Always use absolute UNC paths and long path aware APIs, add "long path aware" flag to the application manifest. 2024-08-28 11:15:57 +07:00
Rémi Verschelde 96159ebc5d
Merge pull request #96192 from dsnopek/windows-gdext-adddlldirectory
Windows: Call `AddDllDirectory()` with an absolute path
2024-08-28 09:45:35 +07:00
bruvzg 07e986f728
Allow adding custom export platforms using scripts / GDExtension. 2024-08-28 10:29:01 +07:00
David Snopek e8bd385f53 Windows: Call `AddDllDirectory()` with an absolute path 2024-08-27 17:38:30 +07:00
Rémi Verschelde 73acb2a5b8
Merge pull request #94845 from alvinhochun/llvm-mingw-sanitizers
Windows: Add sanitizers for llvm-mingw, increase stack for ASan
2024-08-28 00:12:30 +07:00
Rémi Verschelde 330fca1ffd
Merge pull request #93985 from alvinhochun/windows-gpu-pref
Respect integrated GPU preference in Windows Settings
2024-08-28 00:11:45 +07:00
Rémi Verschelde 431c5839fe
Merge pull request #96168 from CreatedBySeb/remove-user-prefix
Remove confusing USER prefix from script-logged errors
2024-08-27 17:52:40 +07:00
Sébastien Dunne Fulmer c3ed8a842c
Remove confusing USER prefix from script-logged errors 2024-08-27 15:00:48 +07:00
bruvzg 9a2977fef1 [Windows] Hide cursor before moving. 2024-08-27 08:44:05 +07:00
bruvzg f8a6c0e8ab
Enable fallback from ANGLE to native and improve ANGLE error messages. 2024-08-25 21:19:54 +07:00
bruvzg ea252675aa [Windows] Emit native file dialog callback from event loop, fix selected options not saved. 2024-08-23 09:53:16 +07:00
Hilderin 6cbadcf606 Fix mouse move over an unfocused window 2024-08-22 21:36:01 +07:00
Rémi Verschelde 568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
Add debug utilities for Vulkan
2024-08-22 00:38:22 +07:00
Rémi Verschelde 37ae2a2900
Merge pull request #95921 from akien-mga/scons-validate-opt-in-drivers
SCons: Better validation for platform-specific opt-in drivers
2024-08-22 00:10:56 +07:00
Rémi Verschelde 100fbb51ab
Merge pull request #95665 from Hilderin/fix-drag-drop-between-window
Fix drag&drop between window on Windows
2024-08-22 00:10:35 +07:00
Matias N. Goldberg 364f916f3f
Add debug utilities for Vulkan
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
 - Debug-only Breadcrumb info for debugging GPU crashes and device lost
 - Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks

Functionality marked as "debug-only" is only available in debug or dev
builds.

Misc fixes:
 - Early break optimization in RenderingDevice::uniform_set_create

============================

The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +07:00
Rémi Verschelde 6e9bcc0f18
SCons: Better validation for platform-specific opt-in drivers
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +07:00
bruvzg 66832e9968 [Windows] Run native file dialogs in thread to make it non-blocking. 2024-08-19 12:58:16 +07:00
Hilderin 0987a9dc06 Fix drag&drop between window on Windows 2024-08-16 18:40:46 +07:00
bruvzg f72e74f395
[Windows/Linux] Check custom export templates architecture. 2024-08-16 15:52:12 +07:00
Rémi Verschelde b084b6a8bb
Merge pull request #94971 from bruvzg/drv_msgs
[Windows] Improve video driver error messages.
2024-08-16 14:32:50 +07:00
Rémi Verschelde a8bbb09bd5
Merge pull request #95143 from TV4Fun/fix_non_windows_library_load
Fix reload of GDExtension libraries in framework package on macOS
2024-08-16 10:35:19 +07:00
Alvin Wong 16a563b9ac DisplayServerWindows: Fix logic when creating with transient parent 2024-08-15 04:10:15 +07:00
Joel Croteau f44d6a235f Fix reload of GDExtension libraries in framework package on macos
`GDExtension::open_library` has a check in it to see if the library was loaded
from a temp file, and if it was to restore the original name as that is the one
we actually care about. This check is breaking extension reloading on Mac when
the library path is to a framework folder, as the file inside the framework
will not generally be the same name as the folder.

This check also shouldn't be necessary even on Windows, which is the only
platform that uses `generate_temp_files`, since disposal of the created temp
file is handled within `OS_Windows::open_dynamic_library`, and
`GDExtension::open_library` (which is the only function to call
`open_dynamic_library` with a `p_data` argument) only cares about the original
library file path and has to do extra work to remove the name of the temp file.
Instead, I have removed that check and set `OS_Windows::open_dynamic_library`
to return the name of the original file and not the name of the copy.

This fixes GDExtension reloading on macOS. I do not have a Windows machine
available to test that it still works properly on Windows, so someone should
check that before merging this.
2024-08-08 08:31:49 +07:00
Rémi Verschelde e693ff814a
Merge pull request #95155 from bruvzg/win_pen_checks
[Windows] Reject `WM_POINTER(UP/DOWN)` messages for non pen pointer type.
2024-08-06 12:32:02 +07:00
bruvzg e5efde9481
[Windows] Reject WM_POINTER(UP/DOWN) messages for non pen pointer type. 2024-08-04 20:07:14 +07:00
bruvzg 27474c9563
[Windows] Check if transparency is enabled in the project setting before applying DWM blur. 2024-08-01 10:30:46 +07:00
Rémi Verschelde 1d57b81d26
Merge pull request #94976 from bruvzg/win_app_name
[Windows] Improve editor grouping, set friendly name registry key for exported projects.
2024-07-31 16:13:21 +07:00
bruvzg 3f8cc6678b [Windows] Improve editor grouping, set friendly name registry key for exported projects. 2024-07-31 15:04:00 +07:00
Rémi Verschelde 3fce516155
Merge pull request #94428 from alvinhochun/windows-angle-resize-sync
Windows: Update ANGLE surface size when window is resized
2024-07-31 11:37:37 +07:00
bruvzg 68ae413893 [Windows] Improve video driver error messages. 2024-07-31 11:16:38 +07:00
bruvzg ad0ab2f396
[Windows] Improve OpenGL/ANGLE switching on ARM64. 2024-07-30 10:11:58 +07:00
Rémi Verschelde 9a8f18b9bf
Merge pull request #94796 from kus04e4ek/backfall
Windows: Fall back to D3D12 if Vulkan is not supported and vice versa
2024-07-29 15:17:26 +07:00
Alvin Wong 25270d5907 Allow llvm-mingw sanitizers only on x86_32/x86_64 2024-07-28 17:21:35 +07:00
Alvin Wong 0cda0b935d Windows: Add sanitizers for llvm-mingw, increase stack for ASan
ASan and UBSan are supported by llvm-mingw. They can be enabled by
passing `use_asan=yes use_ubsan=yes` to scons.
2024-07-28 04:32:18 +07:00
Alvin Wong 28c60a5ff9 Combine existing modes when calling SetConsoleMode
Otherwise the default modes will be cleared, which causes long lines to
be truncated in some terminals (e.g. Windows Terminal).
2024-07-28 00:32:40 +07:00
bruvzg 5d5d51937f [Windows] Remove libSynchronization 2024-07-27 17:12:27 +07:00
Kusok d30c1e6a8f Fall back to D3D12 if Vulkan is not supported and vice versa 2024-07-27 16:17:20 +07:00
Rémi Verschelde 44342c385c
Merge pull request #94735 from aitorciki/nvdrs-memset-initialization
[Windows] Use default aggregate initialization for NVAPI settings
2024-07-26 13:44:13 +07:00
Aitor Guevara 21f3e69a24 [Windows] Use default aggregate initialization for NVAPI settings
Using the member initialization encouraged in NVAPI documentation for
NVDRS_SETTING results in builds enabling `dev_mode` breaking. Default
aggregate initialization results in a clean build though.
2024-07-25 14:41:46 +07:00
Alvin Wong 97aa278edb Pass window exclusive and transient properties for subwindow creation
On Windows this allows to avoid having to change the owner of the window
after it has been created, which in rare circumstances may cause the
window to bug out.
2024-07-25 00:27:27 +07:00
bruvzg 52a2836861 Disable FP contraction. 2024-07-23 14:33:51 +07:00
Rémi Verschelde a50fe87b89
Merge pull request #94078 from Repiteo/scons/msvc-flag-fix
SCons: Don't override cl flags on msvc
2024-07-22 14:12:45 +07:00
bruvzg 0e519118d2 [Windows] Fix release export template build for ARM64 Windows. 2024-07-19 14:33:40 +07:00
Rémi Verschelde 18da250ffb
Merge pull request #93737 from aitorciki/disable-windowed-gsync
[Windows] Disable G-SYNC in windowed mode
2024-07-19 11:10:31 +07:00
Rémi Verschelde 287521c2c2
Merge pull request #94466 from bruvzg/angle_update_lib
[Windows] Add `libSynchronization` to link flags.
2024-07-18 10:45:40 +07:00
Rémi Verschelde ea018a8131
Merge pull request #94120 from bruvzg/fix_kbd_names
[Windows] Fix reading keyboard layout names.
2024-07-17 15:44:50 +07:00
Rémi Verschelde 1ca4ce284e
Merge pull request #94063 from bruvzg/tablet_drag
[Winink] Check pointer button states.
2024-07-17 15:44:47 +07:00
bruvzg 9f714bfde5 [Windows] Add `libSynchronization` to link flags. 2024-07-17 10:58:03 +07:00
Alvin Wong 88581a7705 Support GPU preference for MS Store packaged apps 2024-07-16 23:46:37 +07:00
Alvin Wong 4091abd727 Respect integrated GPU preference in Windows Settings 2024-07-16 23:46:37 +07:00
Alvin Wong a1a0acff7c Windows: Update ANGLE surface size when window is resized
ANGLE needs to be told to resize the DXGI swap chain using
`eglWaitNative`. Otherwise the resize will only happen in
`eglSwapBuffers`, which causes some janky stretching during window
resize.
2024-07-16 17:01:42 +07:00
Alvin Wong d7f023ab73 Windows: Do not attempt to resize surface before it is created
`WM_WINDOWPOSCHANGED` may be received before `CreateWindowExW` has even
returned, when the window's rendering context or OpenGL context hasn't
been created yet.
2024-07-16 17:01:42 +07:00
Alvin Wong 1d542257e5 Windows: Fix wrong initial size passed to rendering driver 2024-07-16 03:30:44 +07:00
bruvzg 3afe1e7481 [Winink] Check pointer button states, fix drag and double-click. 2024-07-15 12:23:07 +07:00
Rémi Verschelde 1aa1a1879d
Merge pull request #94203 from RandomShaper/bye_bye_dxil_dll
D3D12: Get rid of `DXIL.dll`!
2024-07-11 23:16:59 +07:00
Rémi Verschelde 6c2699cbf6
Merge pull request #94187 from akien-mga/windows-remove-unused-is_wow64
Remove unused `is_wow64` method in `OS_Windows`
2024-07-11 23:16:54 +07:00
Rémi Verschelde c349f0d6a7
Remove unused `is_wow64` method in `OS_Windows`
It was added in b4d369c88 for `get_processor_count`, but this was later
changed to rely on `std::thread` in 6bf02c016.
2024-07-11 23:16:12 +07:00
Pedro J. Estébanez ee2c1584e4 D3D12: Get rid of DXIL.dll! 2024-07-11 17:56:45 +07:00
Rémi Verschelde 1b49d6393d
Merge pull request #93733 from alvinhochun/windows-restore-sizing
Windows: Restore to windowed mode using `SW_NORMAL`
2024-07-11 09:40:58 +07:00
bruvzg fea8ab0999 [Windows] Fix reading keyboard layout names. 2024-07-09 11:46:06 +07:00
Rémi Verschelde 3220b6fb11
Merge pull request #93976 from Hilderin/fix-caret-disappear-from-script-editor
Fix caret can disappear from script editor
2024-07-08 19:13:31 +07:00
Thaddeus Crews 0f691efb1b
SCons: Don't override cl flags on msvc 2024-07-08 09:48:18 +07:00
Hilderin ebd1ab646c Fix caret can disappear from script editor 2024-07-08 07:11:17 +07:00
Rémi Verschelde ec02d406ca
Merge pull request #94067 from RandomShaper/fix_build
Windows: Fix build error due to missing definition of Texture2D
2024-07-08 11:48:36 +07:00
Pedro J. Estébanez 50bf2e5b37 Windows: Fix build error due to missing definition of Texture2D 2024-07-08 10:40:17 +07:00
bruvzg eddc9cea11
[NativeMenu] Do not auto toggle check/multi-state items. Add `is_native_menu` method. 2024-07-08 11:20:28 +07:00
Rémi Verschelde abfce31ba7
Merge pull request #93152 from RandomShaper/prebuilt_asan
Enable usage of asan-enabled versions of prebuilt libraries
2024-07-02 17:27:31 +07:00
Aitor Guevara b8edc64379 [Windows] Disable G-SYNC in windowed mode
G-SYNC (NVIDIA's VRR) is known to be buggy on windowed mode in Windows.
While the driver only enables G-SYNC for full screen mode by default,
users can toggle it on for windowed mode too, resulting in unstable
refresh rates during Editor usage.
This patch extends Godot's NVIDIA profile to force the default full
screen mode only G-SYNC with Godot.
2024-06-29 13:40:15 +07:00
Alvin Wong c54477b7e6 Windows: Restore to windowed mode using SW_NORMAL
If window was maximized before minimizing, restoring the window
afterwards using SW_RESTORE seems to cause the window to forget its
original size and position before being maximized, causing the window to
fill the screen instead.
2024-06-29 18:24:45 +07:00
Pedro J. Estébanez 32d9c93af3 Improve handling of rendering startup errors 2024-06-28 19:31:50 +07:00
Max Hilbrunner 63911b994c Windows: Fix arch detection via VCTOOLSINSTALLDIR 2024-06-25 13:31:46 +07:00
Rémi Verschelde f3195bfcee
Merge pull request #93491 from patwork/fix-type-limits-windows-utils
Fix type-limits warning in `windows_utils`
2024-06-24 17:48:49 +07:00
Rémi Verschelde f9c51183bb
Merge pull request #93342 from kus04e4ek/build-fix
Fix not using `encoding="utf-8"` when writing to files or reading from them
2024-06-24 11:14:10 +07:00
Thaddeus Crews cc6dd8d02c
Style: Optimize `.svg` files with `svgo` 2024-06-23 08:15:19 +07:00
patwork 2e84638147 Fix type-limits warning in windows_utils 2024-06-22 23:04:00 +07:00
bruvzg 04d70c11fc [Windows/ARM64] Fix raycast/embree ARM64 build with LLVM/MinGW. 2024-06-20 15:52:04 +07:00
Kusok 0c6dbbd050 Fix not using `encoding="utf-8"` when writing to files or reading from them
Co-authored-by: ChristopheClaustre <christophe.claustre.31@gmail.com>
2024-06-19 23:35:03 +07:00
Hugo Locurcio 29348be0ca Tweak warning messages related to V-Sync on OpenGL
- Make warnings print only once per session.
- Tweak the message to be less confusing, and mention that the issue
  most likely stems from a graphics driver limitation.
2024-06-16 21:22:10 +07:00
Pedro J. Estébanez d1eebd3493 Enable usage of asan-enabled versions of prebuilt libraries 2024-06-14 14:06:38 +07:00
bruvzg dbc4e3f350
[Windows] Add Windows version and Wine checks for Windows 10+ dark mode API. 2024-06-13 14:28:14 +07:00
kit 45c6971a36 Input use GetKeyState instead of GetAsyncKeyState 2024-06-12 18:37:31 +07:00
Rémi Verschelde 31277e43a7
Merge pull request #91890 from Repiteo/scons/silence_msvc-fixes
SCons: Fix `silence_msvc` implementation errors
2024-06-11 13:57:01 +07:00
Rémi Verschelde b80e591448
Merge pull request #92843 from anniryynanen/tooltip-in-popup
Stop color picker tooltip from stealing input events
2024-06-10 16:11:52 +07:00
Rémi Verschelde a139cd611a
Merge pull request #92826 from bruvzg/nat_icon_checks
Improve native menu and status indicator icons conversion and checks.
2024-06-07 23:30:39 +07:00
Rémi Verschelde ea7d988b72
Merge pull request #92781 from bruvzg/menu_open_close_imp
[macOS] Improve native menu open/close callbacks.
2024-06-07 23:30:15 +07:00
Rémi Verschelde e52658643d
Merge pull request #92702 from kleonc/cursor_image_from_atlas_texture_fix
Fix creating cursor image from `AtlasTexture`
2024-06-07 23:29:57 +07:00
Anni Ryynänen ae1e2182ec
Stop color picker tooltip from stealing input events
Input events go to the tooltip because it's added to `popup_list` in
DisplayServer `popup_open`. I think there's no harm in tooltips being omitted
from the list, so this commit blocks non-popup windows from being added if they
have `FLAG_NO_FOCUS` and `FLAG_MOUSE_PASSTHROUGH`.

I'm not happy with this way of detecting tooltips. It'll also catch other
windows where this behavior may or may not be wanted.

I thought about adding `FLAG_TOOLTIP`, but went with the smaller change for
now.

Fixes #79500.
2024-06-06 20:00:05 +07:00
bruvzg 28ec2240c4
Improve native menu and status indicator icons conversion and checks. 2024-06-06 07:46:09 +07:00
bruvzg 1f7bf27780
[macOS] Improve native menu open/close callbacks. 2024-06-05 20:22:41 +07:00
kleonc 91e995e704 Fix creating cursor image from AtlasTexture 2024-06-05 01:44:05 +07:00
Hilderin e201e5bf30 Fix Windows Activate Process 2024-06-03 19:33:41 +07:00
bruvzg 5168647530
Use current mouse button state instead of saved values. 2024-05-31 15:50:14 +07:00
Rémi Verschelde d30456fea8
Merge pull request #92415 from bruvzg/win_mod_keys
[Windows] Use current keyboard state instead of saved values for modifier keys.
2024-05-31 14:16:13 +07:00
patwork 909f28a534 Fix multichar warning in windows_utils 2024-05-30 13:58:56 +07:00
Rémi Verschelde ffad49f169
Merge pull request #86029 from 0x0ACB/resize_fix
Remove dead code from `DisplayServerWindows::window_set_size`
2024-05-30 11:47:21 +07:00
Rémi Verschelde c98fef08bf
Merge pull request #89033 from bruvzg/doc_end_err
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:48:42 +07:00
bruvzg 714effdf07
[DisplayServer] Add error messages and descriptions to callbacks. 2024-05-28 17:36:54 +07:00
Rémi Verschelde 576d9a5c12
Merge pull request #92325 from Repiteo/scons/res-race-condition-fix
SCons: Fix `RES` race condition
2024-05-28 15:48:12 +07:00
ACB 9dd1268306 remove dead code from DisplayServerWindows::window_set_size 2024-05-28 08:55:15 +07:00
bruvzg 62e41087d5 [Windows] Use current keyboard state instead of saved values for modifier keys. 2024-05-27 09:15:01 +07:00
bruvzg fc89a0c118
Fix build with `vuklan=no` and `d3d12=no` after #91505. 2024-05-25 21:08:50 +07:00
Thaddeus Crews 18fb492afe
SCons: Fix `RES` race condition 2024-05-24 12:44:44 +07:00
bruvzg 628c81d2d9
[DisplayServer] Add method to check if window transparency is supported and enabled. 2024-05-23 15:23:18 +07:00
Rémi Verschelde 7870b28ed3
Merge pull request #92252 from poiati/fix-wayland-window-class
Properly set window class in Wayland
2024-05-23 08:59:23 +07:00
Thaddeus Crews 896b003cc8
SCons: Convert platform `get_flags` to dictionary 2024-05-22 13:53:20 +07:00
Paulo Poiati a3769c0edc Properly set window class in Wayland 2024-05-22 10:42:12 +07:00
Jakub Marcowski d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black` 2024-05-21 18:02:29 +07:00
bruvzg 497f65fa50 [Windows] Use CRLF in the terminal prints. 2024-05-20 14:23:17 +07:00
Thaddeus Crews 0ec4ec0f90
SCons: Fix `silence_msvc` implementation errors 2024-05-14 12:22:54 +07:00
Rémi Verschelde 8a57f64255
Revert "Implement "get_mingw_tool" to fix mingw prefixes"
This reverts commits ecebe0b40d
and 15d37ed2a8.

Fixes #91710.
2024-05-09 11:10:32 +07:00
Pedro J. Estébanez fc08eca524 DisplayServer: Avoid deadlocks while issuing input events and recursive main loop iterations 2024-05-08 17:41:40 +07:00
A Thousand Ships a0dbdcc3ab
Replace `find` with `contains/has` where applicable
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +07:00
Rémi Verschelde a7f4860b72
Merge pull request #91698 from bruvzg/mingw_exe_size
[MinGW] Restore executable size check.
2024-05-08 12:31:36 +07:00
bruvzg 15d37ed2a8
[MinGW] Restore executable size check. 2024-05-08 12:43:02 +07:00
Rémi Verschelde 7d03b1de0b
Style: Trim trailing whitespace and ensure newline at EOF
Found by apply the file_format checks again via #91597.
2024-05-08 10:12:46 +07:00
Rémi Verschelde 2885620385
Merge pull request #91361 from RandomShaper/fix_no_focusin
Windows: Fix `WINDOW_EVENT_FOCUS_IN` not delivered in some cases
2024-05-07 13:48:48 +07:00
Rémi Verschelde 86fb866b6a
Merge pull request #85188 from aitorciki/nvdrs-fixes
[Windows] Fix NVIDIA app profile creation
2024-05-07 13:48:40 +07:00
Rémi Verschelde e63252b421
Merge pull request #90705 from AThousandShips/foreach_list
Reduce and prevent unnecessary random-access to `List`
2024-05-07 09:04:44 +07:00
Thaddeus Crews ecebe0b40d
Implement "get_mingw_tool" to fix mingw prefixes
• Replaces "try_cmd" entirely and removes need for "get_mingw_bin_prefix" in isolation
2024-05-06 17:32:53 +07:00
A Thousand Ships 955d5affa8
Reduce and prevent unnecessary random-access to `List`
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)

* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +07:00
Pedro J. Estébanez 12fda2fc13 Windows: Fix WINDOW_EVENT_FOCUS_IN not delivered in some cases 2024-05-03 13:42:12 +07:00
K. S. Ernest (iFire) Lee f9b488508c
Add PackedVector4Array Variant type
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2024-05-03 00:58:27 +07:00
Shatyuka e1cb65bedf Apply `WS_MINIMIZE` style on window creation 2024-05-03 06:36:51 +07:00
bruvzg e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect. 2024-05-02 14:39:33 +07:00
Rémi Verschelde 85062e37ef
Merge pull request #89588 from bruvzg/status_ind_menu_direct
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-05-01 09:54:44 +07:00
Rémi Verschelde 271d7c8db7
Merge pull request #91147 from bruvzg/con_redir_3
[Windows] Improve console IO redirection.
2024-04-29 13:00:41 +07:00
Rémi Verschelde 947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +07:00
Rémi Verschelde dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +07:00
Rémi Verschelde 45c6f18128
Merge pull request #61006 from bruvzg/libbacktrce
[Windows] Enable crash reporter on MinGW builds.
2024-04-29 10:09:22 +07:00
Thaddeus Crews e0e8ce1fc0
SCons: Colorize warnings/errors during generation 2024-04-28 16:24:48 +07:00
A Thousand Ships 31e7ee63f2
Fix unsafe uses of `Callable.is_null()`
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +07:00
bruvzg 874814794b [Windows] Improve console IO redirection. 2024-04-27 00:40:17 +07:00
Rémi Verschelde fc912defb1
Merge pull request #90326 from fire/vsk-scons-final-4.3
Avoid compiler error with RenderingContextDriverVulkanWindows
2024-04-23 19:11:10 +07:00
bruvzg c1b34672f9
[Windows] Enable crash reporter on MinGW builds, use libbacktrace to generate stack trace from DWARF symbols. 2024-04-22 16:19:37 +07:00
Fredia Huya-Kouadio 764de7fe31 Collapse the gdextension arguments into the `GDExtensionData` struct
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 +07:00
Fredia Huya-Kouadio ede88cf59d Fix loading GDExtension dependencies on Android 2024-04-19 07:55:08 +07:00
Rémi Verschelde 7210d6cb43
Merge pull request #90358 from KoBeWi/finding_errors_in_other_apps
Add `OS.get_process_exit_code()` method
2024-04-16 13:30:41 +07:00
kobewi dce4a3e4c2 Add get_process_exit_code() method 2024-04-16 12:46:15 +07:00
Rémi Verschelde c951421c99
Merge pull request #90268 from RandomShaper/wtp_servers
Use WorkerThreadPool for Server threads (enhanced)
2024-04-15 10:12:00 +07:00
Thaddeus Crews 6df57d2d7d
SCons: Fix `silence_msvc` regression 2024-04-13 08:58:29 +07:00
Thaddeus Crews b278cefd1c
SCons: Silence msvc output without hiding errors 2024-04-11 22:21:18 +07:00
Rémi Verschelde e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +07:00
Pedro J. Estébanez c28f5901c7 Polish interaction between windowing, input and rendering
- Adapt GL make/release API to the current architecture.
- Fix DisplayServer being locked while dispatching input (prevent deadlocks).
2024-04-10 18:47:42 +07:00
bruvzg bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms. 2024-04-09 17:47:39 +07:00
Rémi Verschelde dc91479082
Merge pull request #90382 from RandomShaper/win_focus_fix
Windows: Fix mouse handling regression
2024-04-08 15:54:32 +07:00
Pedro J. Estébanez bdfe76b200 Windows: Fix mouse handling regression 2024-04-08 13:05:01 +07:00
Rémi Verschelde 7d96ec4f9d
Merge pull request #88329 from ManpreetXSingh/key-window-menu
Windows: Add support for enabling Alt+Space menu and fix borderless maximize
2024-04-08 11:20:05 +07:00
Rémi Verschelde 6b4944ee67
Merge pull request #87042 from Mickeon/documentation-EditorExportPlatform-misc
Add miscellaneous documentation to some classes
2024-04-08 11:19:33 +07:00
K. S. Ernest (iFire) Lee 761ee753bf Avoid compiler error with RenderingContextDriverVulkanWindows. 2024-04-06 15:53:10 +07:00
Manpreet Singh 329d04d331 Windows: Add alt+space menu and fix window modes 2024-04-06 16:26:19 +07:00
DmitriySalnikov b73e740786 Add renaming of PDB files to avoid blocking them 2024-04-05 00:14:23 +07:00
Pedro J. Estébanez 9240034d3c Robustify handling of activation & focus on Windows 2024-04-03 15:52:11 +07:00