Commit Graph

516 Commits

Author SHA1 Message Date
252329ce40 [Windows] Try reading GPU IDs directly from registry. 2025-09-05 11:09:31 +03:00
01d7abb9d0 [Windows] Save and restore window rect when switching to/from maximized+borderless mode. 2025-08-27 11:12:04 +03:00
dd2e1b104b Fix DirectInput controllers on game startup
Now SDL and DirectInput don't complain when a game starts with a DirectInput controller already connected. Fixes "JoypadSDL::process_events: Error opening gamepad at index 1: IDirectInputDevice8::SetCooperativeLevel() DirectX error 0x80070006"
2025-08-21 13:21:48 +05:00
274f88c5b8 [Windows] Fix color picker on old versions of Windows 10. 2025-08-18 09:23:31 +03:00
33c92af2b5 [Windows] Release mouse buttons after native window drag/resize operation. 2025-08-04 15:14:27 +03:00
0b3496fb4f Add support for SDL3 joystick input driver
Made possible by EIREXE, xsellier and the SDL team.

This commit includes statically linked SDL3 for Windows, Linux and macOS.
The vendored copy of SDL3 was setup to only build the required subsystems
for gamepad/joystick support, with some patches to be able to make it as
minimal as possible and reduce the impact on binary size and code size.

Co-authored-by: Álex Román Núñez <eirexe123@gmail.com>
Co-authored-by: Xavier Sellier <xsellier@gmail.com>
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-06-25 01:28:50 +02:00
a11a64fbf4 Comments spelling fixes 2025-06-15 01:36:10 +02:00
b13a0e1834 Rename String::resize to resize_uninitialized, to better communicate to callers that new characters must be initialized. 2025-06-11 18:13:02 +02:00
7d10c2a3f2 Merge pull request #104686 from bruvzg/bmaxwin
[Windows] Fix borderless maximized window mode.
2025-06-07 00:43:45 +02:00
a6be6d1cd1 Merge pull request #106959 from bruvzg/w10_cleanup
[Windows] Drop support for Windows 7/8/8.1.
2025-06-02 18:51:46 -05:00
2d93e004b9 Cleanup and unify DisplayServer screen methods and documentation. 2025-06-02 08:03:48 +03:00
617e12a6b4 [Windows] Drop support for Windows 7/8/8.1. 2025-05-30 17:30:23 +03:00
f8f350a32a Add GLOBAL_GET cached macros.
GLOBAL_GET is an expensive operation which should not be used each frame / tick.
This PR adds macros which do a cheaper revision check, and only call the expensive GLOBAL_GET when project settings have changed.

Co-authored-by: Lukas Tenbrink <lukas.tenbrink@gmail.com>
2025-04-30 15:08:50 +01:00
ad40939b6f Core: Replace C math headers with C++ equivalents
- Minor restructuring to ensure `math_funcs.h` is the central point for math functions
2025-04-16 15:49:02 -05:00
da1fca613f Fix crash in release build with llvm-mingw. 2025-04-15 20:18:11 +03:00
0d267e7b1e Core: Add dedicated BitField template 2025-04-11 11:53:26 -05:00
94282d88f9 Core: Use Math namespace for constants 2025-04-10 16:29:30 -05:00
889410dcda Add String::replace_char(s) methods for performance and convenience 2025-04-10 13:08:45 +02:00
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
4310cb82b8 AccessKit integration for macOS, Linux, and Windows. 2025-04-08 20:25:47 +03:00
f37fb49739 Add separate minimize_disabled and maximize_disabled window flags. 2025-04-07 18:58:11 +03:00
207a2b6472 Core: Integrate warning suppression macro helpers 2025-04-03 10:13:46 -05:00
4f4031a675 Replace size() == 0 with is_empty(). 2025-04-02 19:18:43 +08:00
4638ade13f Enable TTS on demand, instead of fully disabling it when project setting is not set. 2025-04-01 15:24:46 +03:00
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
9dfa751425 [Windows] Fixed the issue where newly created window incorrectly acquired the popup property on Windows. 2025-03-28 04:10:03 +08:00
ffa6ef220b Use append_ instead of parse_ for String methods. 2025-03-27 17:51:02 +01:00
e00b7dc72d [Windows] Fix borderless maximized window mode. 2025-03-27 10:19:07 +02:00
10f6c01b9c Remove ABS in favor of Math::abs 2025-03-19 13:52:40 +01:00
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
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
97ee05e9b7 Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07:00
db7c94bd65 [Windows] Remove visible WINDOW_MODE_FULLSCREEN border by setting window region. 2025-03-11 20:50:55 +02:00
466590d0ec Use get_slicec instead of get_slice for single character splitters 2025-03-08 20:36:37 +01:00
3e4e6e6c0c Improve native file dialog parent window selection. 2025-03-06 17:15:39 +02:00
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
ddd807ff7d Add (void *) cast directly to GetProcAddress calls. 2025-02-27 12:30:04 +02:00
0c384e7217 Replace error to info messages for embedded game 2025-02-26 19:32:25 -05:00
1f5f96c47f [Windows] Fix unused variable error in DisplayServerWindows 2025-02-24 18:08:13 +01:00
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
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
c7bc322bf6 Fix Embedded Game does not focus when mouse over on Windows 2025-02-20 16:28:18 -05:00
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
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
224d9bfe3f Fix Embedded Game startup location on Windows 2025-02-18 19:05:15 -05:00
f710781b16 Prevent pending input event callbacks from erasing the window in the middle of a loop. 2025-02-18 15:26:13 +02:00
f86a24fcfd [Window] Fix flashing subwindows. 2025-02-18 08:14:54 +02:00
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
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
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