bruvzg
da1fca613f
Fix crash in release build with llvm-mingw.
2025-04-15 20:18:11 +03:00
Thaddeus Crews
0d267e7b1e
Core: Add dedicated `BitField` template
2025-04-11 11:53:26 -05:00
Thaddeus Crews
717df3ee88
Merge pull request #105249 from Repiteo/core/math-defs-namespace
...
Core: Use `Math` namespace for constants
2025-04-11 09:51:04 -05:00
Thaddeus Crews
cad0cd94ef
Merge pull request #105225 from bruvzg/ds_gdsoft
...
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 16:53:42 -05:00
Thaddeus Crews
94282d88f9
Core: Use `Math` namespace for constants
2025-04-10 16:29:30 -05:00
A Thousand Ships
889410dcda
Add `String::replace_char(s)` methods for performance and convenience
2025-04-10 13:08:45 +02:00
Pāvels Nadtočajevs
0497522933
Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers.
2025-04-10 09:18:58 +03:00
Thaddeus Crews
a8598cd8e2
Merge pull request #71542 from bruvzg/export_project_settings
...
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-09 08:51:47 -05:00
Thaddeus Crews
4362b11557
Merge pull request #103405 from van800/shakhov/macosx
...
Fix `.sln` project generation logic for Rider to support all OS and all C++ toolchains
2025-04-09 08:51:45 -05:00
bruvzg
c6739f64df
[Export] Use project settings overrides with the target preset features instead of current platform features.
2025-04-08 21:22:37 +03:00
Thaddeus Crews
e6a61b1ecc
Merge pull request #76829 from bruvzg/ac_kit_direct
...
Implement screen reader support using AccessKit library.
2025-04-08 12:32:47 -05:00
Pāvels Nadtočajevs
4310cb82b8
AccessKit integration for macOS, Linux, and Windows.
2025-04-08 20:25:47 +03:00
Ivan Shakhov
6ff86e49cf
Fix .sln project generation logic for Rider to support all OS and all C++ toolchains
...
Co-authored-by: Andreia Gaita <shana@spoiledcat.net>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-04-08 15:40:05 +02:00
Pāvels Nadtočajevs
f37fb49739
Add separate `minimize_disabled` and `maximize_disabled` window flags.
2025-04-07 18:58:11 +03:00
Thaddeus Crews
207a2b6472
Core: Integrate warning suppression macro helpers
2025-04-03 10:13:46 -05:00
Thaddeus Crews
1f56d96cf2
Merge pull request #104893 from Repiteo/scons/external-includes-alt
...
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:48:03 -05:00
Thaddeus Crews
f25fc34439
SCons: Add `CPPEXTPATH` for external includes
2025-04-02 07:29:08 -05:00
Yufeng Ying
4f4031a675
Replace size() == 0 with is_empty().
2025-04-02 19:18:43 +08:00
Pāvels Nadtočajevs
4638ade13f
Enable TTS on demand, instead of fully disabling it when project setting is not set.
2025-04-01 15:24:46 +03:00
Thaddeus Crews
780cf03051
Merge pull request #104556 from Ivorforce/string-extend-instead-of-parse
...
Use `append_` instead of `parse_` for `String` methods.
2025-03-29 10:16:33 -05:00
Thaddeus Crews
7a28334596
SCons: Ensure MinGW as fallback if missing MSVC
2025-03-29 10:14:20 -05:00
bruvzg
48bfe13e4f
Add methods to decode/encode multibyte encodings.
2025-03-28 17:32:34 +02:00
Cliear
9dfa751425
[Windows] Fixed the issue where newly created window incorrectly acquired the popup property on Windows.
2025-03-28 04:10:03 +08:00
Lukas Tenbrink
ffa6ef220b
Use `append_` instead of `parse_` for `String` methods.
2025-03-27 17:51:02 +01:00
Pāvels Nadtočajevs
e00b7dc72d
[Windows] Fix borderless maximized window mode.
2025-03-27 10:19:07 +02:00
Thaddeus Crews
f09ee0171a
Style: Begin integrating simple `.clangd` fixes
2025-03-22 13:24:35 -05:00
kobewi
10f6c01b9c
Remove ABS in favor of Math::abs
2025-03-19 13:52:40 +01:00
Rémi Verschelde
2fa721b1bc
Merge pull request #104127 from Ivorforce/360-noclip
...
Remove `String` clipping constructors.
2025-03-19 12:27:10 +01:00
Rémi Verschelde
a117a2b09c
Merge pull request #101980 from bruvzg/init_scale
...
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init.
2025-03-19 12:26:33 +01:00
Rémi Verschelde
b2950e8138
Merge pull request #101904 from bruvzg/win_export_update_icon_cache
...
Update Windows icon cache after export.
2025-03-19 12:26:26 +01:00
Pāvels Nadtočajevs
f6891b0305
[DisplayServer] Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init.
2025-03-19 11:23:04 +02:00
Thaddeus Crews
8774c608ff
Merge pull request #95606 from Hilderin/fix-unfocused-windows-cant-be-dragged
...
Fix unfocused windows can't be dragged
2025-03-18 14:42:42 -05:00
Thaddeus Crews
83cf424b5f
SCons: Expand `NoCache` coverage
2025-03-18 09:54:55 -05:00
Thaddeus Crews
863a5ff139
Merge pull request #101641 from Repiteo/scons/separate-build-dir-emitter
...
SCons: Add emitter to declutter build objects
2025-03-15 19:42:44 -05:00
Thaddeus Crews
c8b00c03fd
SCons: Fix broken msvc conditional
2025-03-15 18:14:52 -05:00
Thaddeus Crews
10ed66f28c
SCons: Add emitter to declutter build objects
2025-03-15 12:08:24 -05:00
Lukas Tenbrink
a23f630781
Remove `String` clipping constructors.
...
Callers should instead call constructors with explicit encoding names, with known length `Span`.
2025-03-15 12:34:44 +01:00
Lukas Tenbrink
f4de2cd22a
Use `resize_zeroed` instead of `resize` then `fill(0)` in several places.
2025-03-14 12:09:39 +01:00
Aaron Franke
97ee05e9b7
Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp
2025-03-12 11:11:38 -07:00
Thaddeus Crews
1aefcf77af
Merge pull request #88852 from bruvzg/borderless_hack
...
[Windows] Remove visible WINDOW_MODE_FULLSCREEN border by setting window region.
2025-03-11 16:54:08 -05:00
Thaddeus Crews
4f0cbc9a58
Merge pull request #103864 from Repiteo/scons/simplify-msvc
...
SCons: Simplify Windows/MSVC detection
2025-03-11 14:01:02 -05:00
bruvzg
db7c94bd65
[Windows] Remove visible WINDOW_MODE_FULLSCREEN border by setting window region.
2025-03-11 20:50:55 +02:00
A Thousand Ships
331a43a9d8
Add `String::remove_char(s)` methods for performance and convenience
2025-03-10 13:19:28 +01:00
Thaddeus Crews
4505352021
SCons: Simplify Windows/MSVC detection
2025-03-09 10:45:32 -05:00
Thaddeus Crews
cae3d722a3
Merge pull request #99321 from AThousandShips/use_get_slicec
...
Use `get_slicec` instead of `get_slice` for single character splitters
2025-03-09 09:05:29 -05:00
Thaddeus Crews
2324805fdc
Merge pull request #103773 from Calinou/windows-low-processor-mode-sleep-cpu
...
Use more efficient sleep approach on Windows when low-processor mode is enabled
2025-03-09 09:05:27 -05:00
A Thousand Ships
466590d0ec
Use `get_slicec` instead of `get_slice` for single character splitters
2025-03-08 20:36:37 +01:00
Thaddeus Crews
324512e11c
Style: Replace header guards with `#pragma once`
2025-03-07 17:33:47 -06:00
Thaddeus Crews
3d9b37911d
Merge pull request #103011 from Repiteo/style/svgo-newline
...
Style: Ensure svgs have trailing newlines
2025-03-07 15:12:41 -06:00
Thaddeus Crews
c937b6d180
Merge pull request #102419 from Ivorforce/std-size
...
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-03-07 15:12:25 -06:00
Hugo Locurcio
03b4e0dd58
Use more efficient sleep approach on Windows when low-processor mode is enabled
...
This aims to fix the idle CPU utilization regression from 4.3 to 4.4
by reverting to the previous approach, but only when low-processor mode
is enabled.
2025-03-07 18:06:41 +01:00
bruvzg
3e4e6e6c0c
Improve native file dialog parent window selection.
2025-03-06 17:15:39 +02:00
Pāvels Nadtočajevs
6ed12bfc5d
[Linux/BSD] Offload RenderingDevice creation test to subprocess.
2025-03-04 13:18:26 +02:00
Rémi Verschelde
53faed5351
Merge pull request #103339 from Hilderin/adjustment-error-message-embedded-game
...
Replace error to info messages for embedded game
2025-02-27 12:40:39 +01:00
Pāvels Nadtočajevs
ddd807ff7d
Add `(void *)` cast directly to `GetProcAddress` calls.
2025-02-27 12:30:04 +02:00
Hilderin
0c384e7217
Replace error to info messages for embedded game
2025-02-26 19:32:25 -05:00
Rémi Verschelde
82aacc129f
Merge pull request #103245 from bruvzg/rd_helper
...
[Windows] Offload `RenderingDevice` creation test to subprocess.
2025-02-25 15:28:06 +01:00
Pāvels Nadtočajevs
ab717497ef
[Windows] Offload `RenderingDevice` creation test to subprocess.
2025-02-24 19:40:10 +02:00
AThousandShips
1f5f96c47f
[Windows] Fix unused variable error in `DisplayServerWindows`
2025-02-24 18:08:13 +01:00
Rémi Verschelde
b77423370a
Fix cross-platform configuration of rendering driver settings
...
Simpler alternative to #103026 which avoids breaking compatibility.
Instead of introducing a new `auto` default value, we ensure that all
supported drivers are registered regardless of the editor's host platform,
and that the defaults are the intended ones.
This solves the following issues:
- macOS exports are meant to default to Metal in 4.4, but they would
default to Vulkan if exported from Linux, Windows, or Android editors.
- Windows exports couldn't be made with Direct3D 12 from Linux, macOS, or
Android editors, as the option couldn't be selected outside Windows.
Unlike #103026 , it doesn't solve the issue of not always saving the
rendering drivers to `project.godot`, but now the defaults are at least
consistent between editor platforms.
Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
Rémi Verschelde
58e4e34564
Merge pull request #103176 from 0xcafeb33f/theora-asm-opt
...
Fix libtheora optimizations causing errors in calling function for x86_64 Windows
2025-02-23 12:13:13 +01:00
Rémi Verschelde
05c56e8393
Merge pull request #103052 from Hilderin/fix-embedded-game-mouse-over-not-focused-windows
...
Fix Embedded Game does not focus when mouse over on Windows
2025-02-23 12:12:47 +01:00
cafebeef
5201dfb34c
Windows x86_64 GCC: Disable Theora assembly optimizations
...
Co-authored-by: Bernat Arlandis <berarma@hotmail.com>
2025-02-22 17:20:55 -06:00
Hilderin
c7bc322bf6
Fix Embedded Game does not focus when mouse over on Windows
2025-02-20 16:28:18 -05:00
Rémi Verschelde
26fd3458f9
Windows: Configure MinGW LTO with `-fno-use-linker-plugin -fwhole-program`
...
- Works around and closes #102867 .
- Works around and closes #102982 .
Co-authored-by: Hein-Pieter van Braam-Stewart <hp@tmm.cx>
2025-02-20 17:47:26 +01:00
Thaddeus Crews
70eb62faf2
Merge pull request #103021 from Hilderin/fix-embedded-game-start-location-windows
...
Fix Embedded Game startup location on Windows
2025-02-19 16:54:09 -06:00
Thaddeus Crews
e91493fb7b
Merge pull request #102993 from bruvzg/fix_cb_win_erase
...
Prevent pending input event callbacks from erasing the window in the middle of a loop.
2025-02-18 20:47:53 -06:00
Hilderin
224d9bfe3f
Fix Embedded Game startup location on Windows
2025-02-18 19:05:15 -05:00
Thaddeus Crews
7e5baa0426
Style: Enforce trailing newlines on svgs
2025-02-18 11:02:45 -06:00
Pāvels Nadtočajevs
f710781b16
Prevent pending input event callbacks from erasing the window in the middle of a loop.
2025-02-18 15:26:13 +02:00
bruvzg
f86a24fcfd
[Window] Fix flashing subwindows.
2025-02-18 08:14:54 +02:00
Pāvels Nadtočajevs
ae61b2f655
[Windows] Fix missing argument in non-console logger call.
2025-02-14 00:09:51 +02:00
bruvzg
3f2a29cd9d
[Windows] Read Wacom config to check if Windows Ink is disabled and auto switch to WinTab.
2025-02-13 15:10:16 +02:00
Rémi Verschelde
2fd6c635d5
Merge pull request #102744 from Hilderin/fix-floating-window-freeze-when-moving
...
Fix Game and editor freeze when clicking on the game's title bar
2025-02-12 11:21:11 +01:00
Rémi Verschelde
bd87c3a76b
Merge pull request #102247 from Hilderin/fix-embedded-game-modal-dialog
...
Fix Modal Dialog with Embedded Game
2025-02-12 11:21:01 +01:00
Hilderin
e9fef1c833
Fix Game and editor freeze when clicking on the game's title bar
2025-02-11 21:41:03 -05:00
Lukas Tenbrink
e34f1f504c
Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase.
2025-02-07 14:57:48 +01:00
Rémi Verschelde
00d806a9ae
Merge pull request #102470 from Hilderin/fix-floating-window-close-opened-dialog
...
Fix Floating Window request close when a dialog is opened
2025-02-07 01:39:38 +01:00
Hilderin
a9e06b8f64
Fix Modal Dialog with Embedded Game
2025-02-05 21:14:34 -05:00
Hilderin
a3d03717c0
Fix Floating Window request close when a dialog is opened
2025-02-05 20:34:32 -05:00
Rémi Verschelde
91907a89f7
Thirdparty: Harmonize patches to document downstream changes
2025-02-06 01:40:03 +01:00
Thaddeus Crews
ca3e268dfe
Merge pull request #101754 from bruvzg/vk_oem_only
...
[Windows] Override key codes with Unicode values for OEM keys only.
2025-02-05 10:27:16 -06:00
Thaddeus Crews
295a1dd5f7
Merge pull request #102067 from Eddy-Rogers/102008-TempDirSlashes
...
Windows: Normalize slashes in return of `OS.get_temp_dir()`
2025-01-31 09:15:51 -06:00
Pāvels Nadtočajevs
b3f7c8f5d3
[Export] Respect icon/splash screen import settings.
2025-01-31 07:45:16 +02:00
NOLogicalSense
b38103e95d
Windows: Normalize slashes in return of `OS.get_temp_dir()`
2025-01-30 22:02:20 +01:00
Thaddeus Crews
f4c2ffffb7
Merge pull request #102134 from bruvzg/win_main_cleanup
...
[Windows] Remove unused code from `godot_windows.cpp`.
2025-01-29 17:45:15 -06:00
Thaddeus Crews
3c80c14092
Merge pull request #101924 from adamscott/game-editor-non-cached-mouse-mode
...
Delegate handling `mouse_mode` to the `DisplayServer`
2025-01-28 16:08:56 -06:00
Pāvels Nadtočajevs
d9bba03392
[Windows] Remove unused code from `godot_windows.cpp`.
2025-01-28 20:12:47 +02:00
Adam Scott
47f553ae0b
Delegate to the DisplayServer the task of handling mouse_mode
...
- Add `MOUSE_MODE_MAX` and various index checks
2025-01-28 11:22:27 -05:00
bruvzg
14b9f64a18
Update Windows icon cache after export.
2025-01-27 17:09:25 +02:00
Rémi Verschelde
90208f7dd4
SCons: Fix handling of platform-specific tools, notably `mingw`
...
Add optional `detect.py` `get_tools` method to let platforms register SCons
tools they need.
This helps move this logic out of SConstruct, keeping platforms more self
contained, and helping thirdparty platforms define their own custom tools.
This logic was also unreliable (the `use_mingw` one would only work if
passed manually on the command line, not in e.g. `get_flags`).
Co-authored-by: Thaddeus Crews <repiteo@outlook.com>
2025-01-25 13:59:30 +01:00
Hilderin
9eed43d429
Fix NOTIFICATION_WM_CLOSE_REQUEST in Embedded Floating Window
2025-01-21 21:03:15 -05:00
Thaddeus Crews
8cf94c8de5
Merge pull request #101763 from SupSuper/patch-1
...
[Windows] Fix left/right Shift key regression
2025-01-21 11:55:21 -06:00
Daniel
17423e9899
[Windows] Fix left/right Shift key regression
...
Fixes #101384 by checking the latest state of the Shift keys before sending the KEYUP event.
2025-01-20 23:02:58 +00:00
bruvzg
d65c07da4c
[Windows] Override key codes with Unicode values for OEM keys only.
2025-01-18 14:56:18 +02:00
bruvzg
7c50a7822e
[Windows] Make native dialogs non-cancelable and stay on top of parent.
2025-01-17 17:44:34 +02:00
Pāvels Nadtočajevs
2e99d84e87
[DisplayServer] Add missing `FEATURE_WINDOW_DRAG` flag to Windows, X11 and Wayland display servers.
2025-01-14 15:26:32 +02:00
Pāvels Nadtočajevs
b252867145
[macOS/Windows] Add `Emoji & Symbols` context menu item to LineEdit/TextEdit to show system character picker.
2025-01-10 09:25:34 +02:00
Rémi Verschelde
a0de7d0e01
Merge pull request #101257 from SteffenBlake/remote-debug-windows-battery-fix
...
Windows: Update export script's task to work even on battery power
2025-01-09 13:50:59 +01:00
Rémi Verschelde
26db0bb15f
SCons: Make `lto=auto` prefer ThinLTO over full LTO for LLVM targets
...
This speeds up build time considerably for these platforms compared to
using `lto=full`, which is sadly single-threaded with LLVM, unlike GCC.
Changes to default behavior of `lto=auto` (i.e. `production=yes`):
- Linux: Prefer ThinLTO for LLVM
- Web: Prefer ThinLTO
- Windows: Prefer ThinLTO for llvm-mingw
The following LLVM targets don't use LTO by default currently, which
needs to be assessed further (gains from LLVM LTO on performance need
to be weighed against the potential size increase from heavy inlining):
- Android
- iOS
- macOS
- Windows clang-cl
2025-01-09 13:03:58 +01:00