bruvzg
0587a1d217
[StatusIndicator] Switch API to use Texture2D instead of Image, improve handling on macOS, add method to set native popup menu directly.
2024-03-20 11:56:07 +02:00
bruvzg
ebb19c4198
[NativeMenu] Fix changes lost due to incorrect rebase (menu goes under task bar, dark mode, item text get, docs) and check to ensure help menu is not using native menu on Windows.
2024-03-15 22:46:47 +02:00
bruvzg
016107fba0
[NativeMenu] Fix MinGW build.
2024-03-15 13:59:47 +02:00
Rémi Verschelde
c9c17d6ca6
Merge pull request #89511 from bruvzg/win_emb_x
...
[Windows] Fix exporting as ZIP when console wrapper and/or embedded PCK is enabled.
2024-03-15 11:07:39 +01:00
bruvzg
aac31feda6
[Windows] Fix exporting as ZIP when console wrapper and/or embedded PCK is enabled.
2024-03-15 11:41:48 +02:00
bruvzg
3459aaa9d1
Fix NativeMenu layout direction on macOS, add extra check for Windows menu.
2024-03-15 09:48:54 +02:00
Rémi Verschelde
4ca6cd054f
Merge pull request #89273 from bruvzg/win_native_menu
...
[NativeMenu] Implement native popup menu support on Windows.
2024-03-14 22:34:42 +01:00
Rémi Verschelde
453485aede
Merge pull request #89270 from Repiteo/enforce-typename-in-templates
...
Enforce template syntax `typename` over `class`
2024-03-14 22:34:37 +01:00
bruvzg
ac7583e449
[NativeMenu] Implement native popup menu support on Windows.
2024-03-13 10:51:38 +02:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-12 10:59:53 -05:00
Thaddeus Crews
5a6e3cbcb0
SCons: Remove `run_in_subprocess` dependency
2024-03-11 13:20:09 -05:00
Rémi Verschelde
810f127022
Merge pull request #89365 from Repiteo/scons/run_in_subprocess-to-env.Run
...
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 21:13:22 +01:00
Thaddeus Crews
8116d70d4b
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 14:01:23 -05:00
bruvzg
620e194727
[Windows] Disable fallback to ANGLE logic when compiled w/o ANGLE support.
2024-03-10 13:18:03 +02:00
Rémi Verschelde
023dcd44c1
Refactor OS exit code to be `EXIT_SUCCESS` by default
...
- `Main::setup` early exits (failure or `--help`/`--version`) now
consistently return `EXIT_FAILURE` or `EXIT_SUCCESS` on all platforms,
instead of 255 on some and a Godot Error code on others.
- `Main::start` now returns the exit code, simplifying the handling of early
failures.
- `Main::iteration` needs to explicit set the exit code in OS if it errors
out.
- Web and iOS now properly return `OS::get_exit_code()` instead of 0.
2024-03-08 23:31:24 +01:00
Thaddeus Crews
9903e6779b
Enforce template syntax `typename` over `class`
2024-03-07 22:39:09 -06:00
K. S. Ernest (iFire) Lee
0a47f4ebd2
Avoid scale_with_dpi constexpr compiler error.
2024-03-06 15:15:01 -08:00
Rémi Verschelde
13954fc33e
Merge pull request #87452 from bruvzg/native_menu
...
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-06 13:16:52 +01:00
398utubzyt
1c10f577cb
Windows: Fix `FreeLibrary` not always being called in `dialog_show`
2024-03-05 10:31:32 -08:00
Rémi Verschelde
0eee7345ee
Merge pull request #89159 from Repiteo/suppress-msvc-false-default
...
SCons: Set `silence_msvc` to false by default
2024-03-05 09:56:15 +01:00
Rémi Verschelde
2862cb19a8
Merge pull request #88957 from 398utubzyt/windows/native-dialogs
...
Windows: Implement `dialog_show` and `dialog_input_text` for `DisplayServer`
2024-03-05 09:56:00 +01:00
Rémi Verschelde
5d20628c31
Merge pull request #88496 from bruvzg/d3d12_dyn_load
...
[Windows] Make D3D12 loading dynamic to support pre-Windows 10 versions.
2024-03-05 09:55:41 +01:00
Thaddeus Crews
581315a975
Set `silence_msvc` default to false, amend description
2024-03-04 16:06:19 -06:00
bruvzg
c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-04 23:41:41 +02:00
398utubzyt
99500611b2
Windows: Implement `DisplayServer::dialog_show` and `DisplayServer::dialog_input_text`
2024-03-04 12:53:22 -08:00
Rémi Verschelde
3655973e0e
Merge pull request #87154 from Repiteo/scons/cl-quiet
...
SCons: Silence redundant MSVC output
2024-03-04 13:33:01 +01:00
Rémi Verschelde
6d9a529c87
Merge pull request #88970 from KoBeWi/ImageCursor2D
...
Improve `cursor_set_custom_image()` method
2024-02-29 13:54:53 +01:00
kobewi
3aeb4a5542
Improve cursor_set_custom_image() method
2024-02-28 20:32:25 +01:00
Rémi Verschelde
3a08c646ee
Pre-commit: Update to clang-format 17.0.6 and black 24.2.0
2024-02-28 14:25:35 +01:00
bruvzg
a0084803b4
[macOS/Windows] Fix application indicator destruction.
2024-02-27 22:19:47 +02:00
bruvzg
e939341a0b
[Windows] Set application user model ID to prevent editor / running project and different versions of editor taskbar icon stacking.
2024-02-23 13:16:58 +02:00
bruvzg
f4ca6a856a
[Windows] Make D3D12 loading dynamic to support pre Windows 10 versions.
2024-02-19 15:08:04 +02:00
Rémi Verschelde
033821c595
Merge pull request #88245 from shana/simplify-mono-support-detection
...
C#: Let platforms signal if they support the mono module or not
2024-02-19 00:08:07 +01:00
Rémi Verschelde
b2fa20922f
Merge pull request #88405 from bruvzg/fix_non_bgra_dib
...
[Windows] Fix reading non-BGRA8 DIBs from clipboard.
2024-02-17 00:27:23 +01:00
Rémi Verschelde
59643bdb86
Merge pull request #88325 from akien-mga/texture-formats
...
Export: Unify settings for PC texture formats, removed obsoleted ETC feature
2024-02-17 00:23:45 +01:00
bruvzg
9777a0132e
[Windows] Fix reading non-BGRA8 DIBs from clipboard.
2024-02-16 17:10:16 +02:00
Rémi Verschelde
31ab2ca028
Merge pull request #86093 from bruvzg/d3d12_export
...
[D3D12] Automatically copy runtime DLLs during export.
2024-02-15 17:35:32 +01:00
Rémi Verschelde
ef5d6ccfb7
Merge pull request #86966 from Muller-Castro/value2ref-core
...
Add const lvalue ref to `core/*` container parameters
2024-02-15 15:44:43 +01:00
Rémi Verschelde
83215bd58a
Merge pull request #85322 from Repiteo/scons-Environment-to-SConsEnvironment
...
SCons: Change `Environment` type hints to `SConsEnvironment`
2024-02-15 15:44:33 +01:00
Rémi Verschelde
92e9bcb633
Merge pull request #80548 from garychia/keyboard_focus
...
Ensure the active window gains the keyboard focus
2024-02-15 15:44:16 +01:00
Rémi Verschelde
a10b4bdb81
Export: Unify settings for PC texture formats
...
S3TC and BPTC should always be used together, and likewise for ETC2 and ASTC.
2024-02-14 17:16:43 +01:00
Rémi Verschelde
e457f41f9b
Remove code relative to obsoleted ETC texture format
...
Co-authored-by: BlueCube3310 <53150244+BlueCube3310@users.noreply.github.com>
2024-02-14 17:16:41 +01:00
Thaddeus Crews
633dcf6dfd
SCons: "Environment" to "SConsEnvironment"
2024-02-14 09:26:47 -06:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
Andreia Gaita
21e524a798
C#: Let platforms signal if they support it or not
...
Instead of hardcoding platform names that support C#, let platforms
set a flag indicating if they support it. All public platforms
except web already support it, and it's a pain to maintain a patch
for this list just to add additional names of proprietary console
platforms.
This makes adding new platforms or variants or existing platforms
much easier, as the platform can signal what it supports/doesn't
support directly, and we can avoid harcoding platform names.
2024-02-13 22:48:43 +01:00
bruvzg
ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback.
2024-02-13 18:38:53 +02:00
Rémi Verschelde
c8b5290119
Merge pull request #87013 from bruvzg/intel_angle_with_ids
...
[Windows] Add support for hex vendor/device IDs in the Angle blocklist. Add Intel Gen5/Gen6/Gen7 GPUs to Angle blocklist.
2024-02-13 17:23:41 +01:00
Rémi Verschelde
7069b3d351
Merge pull request #80211 from bruvzg/status_ind
...
Implement support for application status indicators (tray icons).
2024-02-13 17:22:55 +01:00
Rémi Verschelde
00403671e4
Merge pull request #79875 from bruvzg/mingw_force_sep_ds
...
[MinGW] Force separate debug symbols if executable size is larger than 1.9 GB.
2024-02-13 17:22:46 +01:00
bruvzg
8da36031e4
Implement support for application status indicators (tray icons).
2024-02-13 15:59:35 +02:00
Dario
73eff10c76
Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver.
2024-02-12 10:02:18 -03:00
Faycal ElOuariachi
c1ec0360e9
Fix the fetching of images in CF_DIB format in DisplayServerWindows::clipboard_get_image
...
Fix the fetching of images from windows clipboard, if they're in CF_DIB format (e. g. by taking screenshots).
Image::create_from_data was used with an instance of Image, but it's a static function, returning a new instance.
2024-02-12 13:14:11 +01:00
Rémi Verschelde
74b03edf1e
Merge pull request #82800 from Sauermann/fix-screen-mousemotion
...
Add screen-related attributes to mouse input events
2024-02-09 18:08:58 +01:00
Rémi Verschelde
11964fb569
Merge pull request #87464 from bruvzg/pck_section
...
[Linux] Add support for PCK embedding section with non GNU-ld linkers.
2024-02-08 10:53:36 +01:00
Rémi Verschelde
4f478a55cc
Merge pull request #86843 from RandomShaper/fix_null_ptr
...
Avoid several null-dereferences of ApiContextRD
2024-02-07 10:58:01 +01:00
Pedro J. Estébanez
d5a5dd52e8
Avoid several null-dereferences of ApiContextRD
2024-02-06 19:55:01 +01:00
Markus Sauermann
2235a1cbd0
Add screen-related attributes to mouse input events
2024-02-05 23:30:15 +01:00
Rémi Verschelde
bbccd95d22
Merge pull request #84885 from shana/vsproj-for-everyone
...
New VS proj generation logic that supports any platform that wants to opt in
2024-02-03 23:17:18 +01:00
Rémi Verschelde
99db7204dc
Merge pull request #87848 from nikitalita/natvis-cowdata-fix
...
Fix `godot.natvis` after CowData 64-bit promotion
2024-02-02 12:05:39 +01:00
nikitalita
559b434ef1
Fix natvis after CowData 64-bit changes
2024-02-01 13:40:06 -08:00
Andreia Gaita
7638a6c981
Add new VS proj generation logic that supports any platform that wants to opt in
...
Custom Visual Studio project generation logic that supports any platform that has a msvs.py
script, so Visual Studio can be used to run scons for any platform, with the right defines per target.
Invoked with `scons vsproj=yes`
To generate build configuration files for all platforms+targets+arch combinations, users should call
```
scons vsproj=yes platform=XXX target=YYY [other build flags]
```
for each combination of platform+target[+arch]. This will generate the relevant vs project files but
skip the build process, so that project files can be quickly generated without waiting for a command line
build. This lets project files be quickly generated even if there are build errors.
All possible combinations of platform+target are created in the solution file by default, but they
won't do anything until each one is set up with a scons vsproj=yes command for the respective platform
in the appropriate command line. This lets users only generate the combinations they need, and VS
won't have to parse settings for other combos.
Only platforms that opt in to vs proj generation by having a msvs.py file in the platform folder are included.
Platforms with a msvs.py file will be added to the solution, but only the current active platform+target+arch
will have a build configuration generated, because we only know what the right defines/includes/flags/etc are
on the active build target currently being processed by scons.
Platforms that don't support an editor target will have a dummy editor target that won't do anything on build,
but will have the files and configuration for the windows editor target.
To generate AND build from the command line, run
```
scons vsproj=yes vsproj_gen_only=no
```
2024-01-31 16:42:42 +01:00
Rémi Verschelde
6287d7ce70
Merge pull request #87720 from fire/llvm-mingw-qitabent
...
Avoid non-constant-expression cannot be narrowed on Windows on mingw.
2024-01-31 10:55:19 +01:00
K. S. Ernest (iFire) Lee
f711b4f01f
Avoid non-constant-expression cannot be narrowed on Windows mingw.
...
Fixes non-constant-expression cannot be narrowed from type 'DWORD' (aka 'unsigned long') to 'int' in initializer list [-Wc++11-narrowing]
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-01-30 20:21:26 -08:00
bruvzg
ffdf8084c0
Use raw strings for D3D12 install messages.
2024-01-30 11:13:12 +02:00
Rémi Verschelde
604f8b093e
Merge pull request #87624 from bruvzg/dx12_old_mingw
...
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in.
2024-01-29 13:17:41 +01:00
Rémi Verschelde
f220d46cdc
Merge pull request #80231 from romlok/input-key-location
...
Support detecting and mapping ctrl/alt/shift/meta by their left/right physical location
2024-01-29 13:15:42 +01:00
bruvzg
dfa303f7c4
[D3D12] Add support for building with pre-11.0.0 MinGW versions, make PIX runtime opt-in.
2024-01-26 20:43:18 +02:00
Mel Collins
8406e60522
Add InputEventKey.location to tell left from right
...
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.
It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
Rémi Verschelde
b4e519b07f
SCons: Fix Windows cross-compilation from Linux after #86717
2024-01-26 12:42:09 +01:00
Rémi Verschelde
31baf464b3
Merge pull request #87549 from emanvidmaker/DarkModeOnWin10Patch
...
Make dark mode Title Bar work on Windows 10 1909 (build:18363) and above
2024-01-26 11:47:50 +01:00
Rémi Verschelde
cd5e973d7a
Merge pull request #86717 from mrbbbaixue/d3d12-sdk-install-python
...
Add a python script to install Direct3D 12 SDK components.
2024-01-26 11:43:49 +01:00
Emanvidmaker
a16ca4b96c
Added dark mode support for Windows 10, versions 1909(18363) and above
2024-01-25 18:07:01 -07:00
Yuri Sizov
474011ac06
Merge pull request #87543 from akien-mga/version-remove-year
...
Remove now unused `year` member from `version.py`
2024-01-25 16:27:21 +01:00
Rémi Verschelde
e0dc23367c
Remove now unused `year` member from `version.py`
...
We changed copyright to use "present" for the current year, so we no
longer need to hardcode this and (like now) forget to bump it yearly.
2024-01-25 15:08:34 +01:00
bruvzg
a8f521bcad
[Native File Dialog] Add support for adding custom options to the dialogs.
...
Add support for adding custom options (checkboxes and optionboxes) to the dialogs (both native and built-in).
2024-01-24 15:00:31 +02:00
MrBBBaiXue
ea2c6f1d0b
Add a python script to install Direct3D 12 SDK components.
...
This makes it much faster to get started with Direct3D 12 builds,
as you only need to run `python .\misc\scripts\install_d3d12_sdk_windows.py`
then run `scons d3d12=yes`.
This installs DirectX Shader Compiler, Mesa NIR, WinPixEventRuntime
and DirectX 12 Agility SDK.
- Define a default path that uses the locations from the script.
- Now the default path is in "%LOCALAPPDATA%\Godot\build_deps\"
- Updated CI to use this new python script.
Co-Authored-By: Hugo Locurcio <hugo.locurcio@hugo.pro>
2024-01-24 20:11:43 +08:00
bruvzg
625c4bdace
[Linux] Add support for PCK embedding section with non GNU-ld linkers.
2024-01-24 12:21:05 +02:00
Rémi Verschelde
35aee0e3ad
Merge pull request #87247 from bruvzg/win_remove_dxil_check
...
[Windows] Remove `dxc_path` check.
2024-01-16 15:07:44 +01:00
bruvzg
f3a24e082c
[Windows] Remove `dxc path` check.
2024-01-16 13:32:24 +02:00
Yuri Sizov
95b27fe8c7
Reorganize code related to editor theming
...
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.
Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.
All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
Rémi Verschelde
14d68ad7b7
Merge pull request #87053 from nikitalita/update-natvis
...
Revamp `godot.natvis` to improve VS debugging experience
2024-01-15 13:27:26 +01:00
Rémi Verschelde
03767fbf3b
Merge pull request #86446 from reduz/transient-to-focused
...
Implement a `transient_to_focused` Window mode
2024-01-15 13:25:00 +01:00
Rémi Verschelde
5f6790aa84
Merge pull request #85197 from brno32/scons-clean
...
Run `Clean` in Windows SCsub to clean up debug files
2024-01-15 13:23:17 +01:00
Juan Linietsky
15144c24bd
Implement a transient_to_focused mode
...
This intends to be the correct way to handle non-child windows becoming covered by the current window when becoming focused.
Enabling this property on select windows, they will become transient to the currently focused one when becoming visible.
This deprecates the "unparent_when_invisible" function introduced by #76025 .
2024-01-14 18:51:44 +01:00
Thaddeus Crews
9c674e26a0
SCons: Silence redundant msvc output
2024-01-13 14:57:00 -06:00
Rémi Verschelde
a86a285323
Merge pull request #86392 from bitsawer/fix_clang_windows_vulkan_context
...
Fix Clang `-Winconsistent-missing-override` warning
2024-01-11 17:36:54 +01:00
nikitalita
46c51d1691
revamp godot.natvis
2024-01-10 09:57:28 -08:00
Micky
8be1baf732
Add miscellaneous documentation to some classes
2024-01-10 16:52:47 +01:00
bruvzg
3badb90020
[Windows] Add support for hex vendor/device IDs in the Angle blocklist. Add Intel Gen5/Gen6/Gen7 GPUs to Angle blocklist.
2024-01-09 19:28:45 +02:00
Rémi Verschelde
ceafa6120d
Merge pull request #84246 from bruvzg/win_frac_refresh
...
[Windows] Use CCD API to get fractional screen refresh rates.
2024-01-04 14:25:14 +01:00
Rémi Verschelde
37df2ff387
Merge pull request #86682 from Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open
...
Distinguish between dynamic library not found and can't be opened.
2024-01-02 18:06:17 +01:00
Rémi Verschelde
3e67dc1f52
Merge pull request #86552 from sepTN/fix-get_system_font_path
...
Fix `OS.get_system_font_path` and `OS.get_system_font_path_for_text` to return correct slashes
2024-01-02 18:05:37 +01:00
Daylily-Zeleen
fe6b073811
Distinguishs between dynamic library not found and can't be opened.
2024-01-01 20:01:57 +08:00
Septian
475c2fa1e7
Fix `OS.get_system_font_path` and `OS.get_system_font_path_for_text` to return correct value
2023-12-27 23:19:43 +07:00
jsjtxietian
078bfae6a4
Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is added
2023-12-25 11:13:01 +08:00
bitsawer
5c51e5b9d2
Fix Clang dev_mode build on Windows
2023-12-21 14:05:39 +02:00
Yuri Sizov
3a8524dd92
Merge pull request #83452 from RandomShaper/rd_common
...
Split `RenderingDevice` into API-agnostic and `RenderingDeviceDriver` parts
2023-12-20 20:09:18 +01:00
Pedro J. Estébanez
12a519bae2
Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
...
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
Yuri Sizov
aee8a3bada
Merge pull request #75489 from bruvzg/init_pos_usable
...
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-19 20:32:10 +01:00
bruvzg
e01b22a69d
[Windows] Make Windows Ink tablet API default, add dummy driver to disable tablet input.
2023-12-18 22:36:54 +02:00