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 +02:00
Pedro J. Estébanez
12fda2fc13
Windows: Fix WINDOW_EVENT_FOCUS_IN not delivered in some cases
2024-05-03 13:42:12 +02: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 +02:00
bruvzg
e5205e589f
[StatusIndicator] Add method to get indicator icon screen rect.
2024-05-02 14:39:33 +03: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 +02: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 +02: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 +02: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 +02: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 +02:00
Thaddeus Crews
e0e8ce1fc0
SCons: Colorize warnings/errors during generation
2024-04-28 16:24:48 -05: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 +02:00
bruvzg
874814794b
[Windows] Improve console IO redirection.
2024-04-27 00:40:17 +03: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 +02: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 +03: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 +02:00
kobewi
dce4a3e4c2
Add get_process_exit_code() method
2024-04-16 12:46:15 +02: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 +02:00
Thaddeus Crews
6df57d2d7d
SCons: Fix `silence_msvc` regression
2024-04-13 08:58:29 -05:00
Thaddeus Crews
b278cefd1c
SCons: Silence msvc output without hiding errors
2024-04-11 22:21:18 -05: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 +02: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 +02:00
bruvzg
bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms.
2024-04-09 17:47:39 +03: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 +02:00
Pedro J. Estébanez
bdfe76b200
Windows: Fix mouse handling regression
2024-04-08 13:05:01 +02: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 +02: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 +02: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 +05:30
DmitriySalnikov
b73e740786
Add renaming of PDB files to avoid blocking them
2024-04-05 00:14:23 +03:00
Pedro J. Estébanez
9240034d3c
Robustify handling of activation & focus on Windows
2024-04-03 15:52:11 +02:00
Rémi Verschelde
7092230df6
Merge pull request #89907 from bruvzg/nat_dlg_ftr_flags
...
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-28 10:47:15 +01:00
bruvzg
082b420c0a
Implement `OS.execute_with_pipe` method to run process with redirected stdio.
...
Implement `pipe://*` path handling for creation of named pipes.
2024-03-27 11:41:16 +02:00
bruvzg
dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-26 15:18:06 +02:00
bruvzg
399899a095
[NativeMenu] Move files to the `display` subfolder.
2024-03-26 10:18:08 +02:00
Aitor Guevara
159f0af92f
[Windows] Fix NVIDIA app profile creation
...
When adding an executable to the NVIDIA profile created to disable
threaded optimization, wrong values were passed to `launcher` and
`fileInFolder` params, which resulted in 1) the NVIDIA driver not
applying the profile and 2) the app being repeatedly added to the
profile.
This patch fixes the faulty app creation params and deletes the
potentially corrupted profile if found.
2024-03-25 12:43:04 +01:00
Rémi Verschelde
f49efbe0e5
Merge pull request #89229 from akien-mga/main-refactor-os-exit-code
...
Refactor OS exit code to be `EXIT_SUCCESS` by default
2024-03-24 01:15:06 +01:00
A Thousand Ships
79ba22a73f
Use `Vector*` component-wise `min/max/clamp` functions where applicable
2024-03-20 13:47:42 +01:00
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
Alex Drozd
18013ca020
run Clean in Windows SCsub to clean up debug files
2023-12-14 00:00:56 +01:00
bruvzg
b2bb0d396b
[D3D12] Add missing DLL architecture paths for the 32-bit builds.
2023-12-13 11:26:12 +02:00
bruvzg
1a82b5d026
[D3D12] Automatically copy runtime DLLs during export.
2023-12-13 07:48:53 +02:00
Rémi Verschelde
41365c6c8b
Merge pull request #70315 from RandomShaper/d3d12_mesa
...
Direct3D 12 Rendering Driver (Mesa NIR approach)
2023-12-12 21:58:57 +01:00
Pedro J. Estébanez
2f47c57385
Add Direct3D 12 RenderingDevice implementation
2023-12-12 19:10:04 +01:00
bruvzg
b65635ae51
[Windows] Always use ANGLE in ARM builds.
2023-12-09 20:47:46 +02:00
Yuri Sizov
773b4d7764
Ensure more export errors are reported to users
...
Also fixes the timing issue when exporting all
presets at the same time, where the error report
would try to appear while the progress dialog
was still visible.
2023-12-06 15:26:07 +01:00
Mikael Klasson
4986d6d317
Fix invalid Python escape sequences
2023-12-06 11:51:41 +09:00
bruvzg
b02cf351f3
[DisplayServer] Use screen "usable rect" instead of full rect to calculate initial window rect.
2023-12-04 07:56:33 +02:00
bruvzg
6cb5256bbe
[MinGW] Force separate debug symbols if executable size is larger than 1.9 GB.
2023-12-03 22:57:37 +02:00
Marius Hanl
40d7320a17
Do not consume (eat) mouse messages with no_focus Window's (Godot PopupMenu)
...
Window's with the no_focus flag should still process mouse events and not consume them. Otherwise all mouse pressed operations will not work inside Godot's PopupMenu.
This problem is Windows only, all other platforms do process mouse events for PopupMenu's correctly.
2023-11-28 19:43:07 +01:00
Rémi Verschelde
fa259a77cd
Codestyle: Fix some comment issues
2023-11-21 15:26:53 +01:00
jsjtxietian
a3f44cd67e
Check nullptr in `_nvapi_disable_threaded_optimization` to prevent crash
...
update outdated link
2023-11-20 19:31:14 +08:00
Rémi Verschelde
15b8185c68
Don't use TTR/RTR for ERR/WARN prints
...
We don't translate those, only editor strings are translated.
2023-11-12 12:00:55 +01:00
bruvzg
173b84127b
[Windows] Add some AMD GPUs to the OpenGL blocklist.
2023-11-09 20:11:04 +02:00
jitspoe
7918e2b6d9
Fix bug where maximized->fullscreen->windowed mode stays maximized.
2023-11-06 02:36:12 -05:00
bruvzg
6bd639f9df
[Windows] Use CCD API to get fractional screen refresh rates.
2023-11-02 13:10:23 +02:00
bruvzg
b52826bf55
Add error messages to the native menu and file dialogs callback.
2023-10-14 18:10:39 +03:00
Rémi Verschelde
51f81e1c88
Merge pull request #82957 from bruvzg/fs_case_check
...
Add method to check if filesystem is case sensitive.
2023-10-13 12:55:35 +02:00
Rémi Verschelde
5a3befd6c9
Merge pull request #82508 from floatingpointer/master
...
Add XInput device ID for wireless Series 2 Elite controller
2023-10-09 15:32:13 +02:00
bruvzg
97bcd8a631
Add method to check if filesystem is case sensitive.
2023-10-09 11:00:15 +03:00
kobewi
09b30be86d
Add vararg call() method to C++ Callable
2023-10-05 11:35:29 +02:00
bruvzg
43e4708dff
[Native File Dialogs] Improve filter list handling, add selected filter to the callback.
2023-10-03 19:26:16 +03:00
Rémi Verschelde
30bc077756
Merge pull request #82364 from bruvzg/angle_lists_and_defaults
...
[ANGLE] Add fallback control options and defaults.
2023-10-03 17:22:53 +02:00
Rémi Verschelde
31dbbc2c5a
Merge pull request #80952 from bruvzg/nfdlg_refocus
...
[Native File Dialogs] Refocus last focused window on close.
2023-10-03 17:13:58 +02:00
Rémi Verschelde
530e01b478
Merge pull request #80409 from bruvzg/est_title_size
...
[DisplayServer] Add method to estimate window title bar size.
2023-10-03 17:12:18 +02:00
Rémi Verschelde
39bf982e65
Merge pull request #79871 from bruvzg/mingw_prefix_fix
...
[Windows] Try using objcopy and strip with prefix and without prefix.
2023-10-03 17:11:27 +02:00
bruvzg
ac3fc2a8a1
[ANGLE] Add fallback control options and defaults.
...
[macOS] Use ANGLE by default if engine is built with statically linked ANGLE.
[Windows] Add option enable/disable fallback to ANGLE and option force specific GPU to always use ANGLE.
2023-10-03 16:23:43 +03:00
bruvzg
72e2e47059
[DisplayServer] Add method to estimate window title bar size.
2023-10-03 16:13:52 +03:00
floatingpointer
81f9c0345c
Update joypad_windows.cpp
...
Add XInput device for Series 2 Elite controller
2023-09-28 18:24:08 -07:00
A Thousand Ships
517e9f8aef
[Modules] Replace `ERR_FAIL_COND` with `ERR_FAIL_NULL` where applicable
2023-09-26 16:44:52 +02:00
Rémi Verschelde
814ab59c37
Windows: Remove `MSVC` define redundant with `_MSC_VER`
...
Cleanup unused MSVC code in FileAccessUnix.
2023-09-26 11:11:45 +02:00
Aitor Guevara
6263774aec
[Windows] Fix not applying NVIDIA profile to new executables
...
An NVIDIA profile is applied to the current executable to disable
threaded OpenGL optimizations on Windows (see #71472 ). But because the
application is only added to the profile upon the profile creation,
newer executables won't be added to the profile (e.g. if the profile is
created on first launch of Godot_v4.1-stable_win64.exe, when users
update the editor and launch Godot_v4.2-stable_win64.exe, the profile
will never be applied to this new executable).
This patch fixes that scenario by splitting creating the profile (if it
doesn't exist) and adding the application (if it doesn't have a profile
applied) into two separate steps.
Applications that have been manually added to a different profile aren't
overriden to avoid confusing users who know what they're doing.
2023-09-22 20:51:12 +02:00
Rémi Verschelde
cc0a02c75c
Merge pull request #82031 from bruvzg/borderless_fs
...
[Windows] Use clear color for non exclusive fullscreen border, fix maximize for borderless window switching to exclusive fs.
2023-09-21 14:27:39 +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
b826cd5acd
[Windows] Use clear color for non exclusive fullscreen border, fix maximize for borderless window switching to exclusive fs.
2023-09-21 11:24:40 +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
Rémi Verschelde
8de6405288
UWP: Remove platform port, needs to be redone from scratch for 4.x
...
The UWP platform port was never ported to the Godot 4.0+ API,
and it's now accumulating bitrot as it doesn't compile, and thus
we no longer propagate platform changes in it.
So we finally remove to acknowledge this state. There's still some
interest in reviving the UWP port eventually, especially as support
for Direct3D 12 will soon be merged, but when that happens it will
be easiest to redo it from scratch.
2023-09-07 15:01:59 +02:00
kobewi
6de34fde27
Add EditorStringNames singleton
2023-09-03 19:58:18 +02:00
ocean (they/them)
bbafe14970
Build system: add option for MSVC incremental linking.
2023-08-29 18:53:45 -04:00
Rémi Verschelde
6584cd88d9
Merge pull request #78963 from bgie/comma_in_filename
...
Windows: Always double-quote path when launching explorer.exe to browse
2023-08-28 15:01:49 +02:00
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
Chia-Hsiang Cheng
669ce39f95
Ensure the active window gains the keyboard focus
2023-08-12 16:35:44 +08: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