Commit Graph

602 Commits

Author SHA1 Message Date
Ivan Šachov e744959de5 avoiding an incorrect ERR_FILE_NOT_FOUND report when the DLL exists but fails to load for another reason
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2026-05-16 21:55:33 +02:00
Thaddeus Crews 013fc6f92a Merge pull request #114102 from AR-DEV-1/13823-imp
Add tilde symbol (~) to the FileDialog
2026-03-19 10:20:04 -05:00
Rémi Verschelde 7795057e4b Misc includes or modernize fixes found via clangd-tidy 2026-03-16 21:38:26 +01:00
Rémi Verschelde d9b81615e5 Remove unused includes in platform with clangd-tidy
Handled Linux, Windows, Android, and (partially) Web.
2026-03-14 22:37:05 +01:00
Rémi Verschelde 765362b033 Explicitly include core/config/engine.h where used 2026-03-04 10:17:10 +01:00
Rémi Verschelde a447ac95ec Move DisplayServer enums and typedefs to DisplayServerEnums
This will allow decoupling `display_server.h` from a number of headers in the
codebase which only require those enums and not all the DisplayServer API.
2026-03-03 12:44:02 +01:00
Rémi Verschelde f5a290ac46 Move RenderingServer enums to a dedicated RenderingServerEnums (RSE) namespace
A number of headers in the codebase included `rendering_server.h` just for
some enum definitions. This means that any change to `rendering_server.h` or
one of its dependencies would trigger a massive incremental rebuild.

With this change, we decouple a number of classes from `rendering_server.h`,
greatly speeding up incremental rebuilds for that area.

On my machine, this reduces incremental compilation time after an edit of
`rendering_server.h` by 60s (from 2m57s).
2026-02-25 19:43:03 +01:00
Lukas Tenbrink c5df0cb82b Don't right-align escaped newlines, e.g. for #define. This has previously led to long diffs in the commit history. 2026-02-04 19:31:28 +01:00
AR 92fe77d26a Logic for expansion of Tilde symbol
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2026-01-29 06:46:50 +05:00
bruvzg 9c753ebe84 [Windows] Disable MSVC control flow check on IAT hooks. 2026-01-27 10:30:19 +02:00
Rémi Verschelde dac17215ad Windows: Add missing extern "C" for hidsdi.h on MinGW < 12.0.0
Follow-up to #113013.
2026-01-15 23:49:13 +01:00
Thaddeus Crews 0892983225 Merge pull request #113013 from bruvzg/hid_hook
Fix EnumDevices stall using IAT hooks.
2025-11-24 10:21:44 -06:00
Pāvels Nadtočajevs 985dfa7cda Fix EnumDevices stall using IAT hooks.
Co-authored-by: Davi <davicr38@gmail.com>
2025-11-21 11:21:46 +02:00
Pāvels Nadtočajevs a7358ddd12 Add error message when trying to load project from CWD. 2025-11-20 23:19:09 +02:00
Lukas Tenbrink c3747884da Add some important profiling hooks. 2025-11-08 00:08:48 +01:00
Pāvels Nadtočajevs c231c8c41d Fix "Unexpected NUL character" errors on Wine. 2025-11-07 08:08:12 +02:00
Thaddeus Crews 5935a32e32 Core: Cleanup headers in core/config
- `MainLoop` now forward-declared in `OS`
2025-10-06 09:20:56 -05:00
Thaddeus Crews d1d28c0bcf Merge pull request #111223 from Ivorforce/remove-iterator-include
Replace `std::size` usage with `std_size` to avoid `<iterator>` include.
2025-10-06 09:06:49 -05:00
Lukas Tenbrink 1db0a60dc0 Replace std::size usage with std_size to avoid <iterator> include. 2025-10-05 00:26:11 +02:00
Aaron Franke 3d1c9fd5de Move server files into their subfolders 2025-09-30 19:39:39 -07:00
Thaddeus Crews 5316d12588 Merge pull request #109346 from bruvzg/win_drv_chk
[Windows] Try reading GPU driver information directly from registry.
2025-09-16 09:48:52 -05:00
Pāvels Nadtočajevs 274f88c5b8 [Windows] Fix color picker on old versions of Windows 10. 2025-08-18 09:23:31 +03:00
Pāvels Nadtočajevs 9f8626ccaa [Windows] Try reading GPU driver information directly from registry. 2025-08-06 08:01:05 +03:00
Nintorch 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
Lukas Tenbrink 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
Pāvels Nadtočajevs 98f377d9d0 Use system timer/wait functions for frame delay when screen reader is active. 2025-06-04 13:44:02 +03:00
Pāvels Nadtočajevs 617e12a6b4 [Windows] Drop support for Windows 7/8/8.1. 2025-05-30 17:30:23 +03:00
uno1982 d79258c2e7 Fix: Windows OS.get_unique_id() null termination issue
use ascii for encoding-neutral
check buffer size as well
2025-05-23 15:05:41 -05:00
Pedro J. Estébanez 820380817a Exclude RD creation test functions from templates 2025-05-15 10:12:38 +02:00
Pedro J. Estébanez 53bee4eb56 Windows: Restrict time API use to the desktop flavor 2025-05-15 10:12:16 +02:00
jss2a98aj 2e61c7773b Fix OS_Windows::get_video_adapter_driver_info() 2025-04-18 19:11:40 -04:00
A Thousand Ships 889410dcda Add String::replace_char(s) methods for performance and convenience 2025-04-10 13:08:45 +02:00
Thaddeus Crews 207a2b6472 Core: Integrate warning suppression macro helpers 2025-04-03 10:13:46 -05:00
bruvzg 48bfe13e4f Add methods to decode/encode multibyte encodings. 2025-03-28 17:32:34 +02: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
Aaron Franke 97ee05e9b7 Rename version defines to GODOT_VERSION_* to match GDExtension godot-cpp 2025-03-12 11:11:38 -07: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 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
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
Pāvels Nadtočajevs 6ed12bfc5d [Linux/BSD] Offload RenderingDevice creation test to subprocess. 2025-03-04 13:18:26 +02:00
Pāvels Nadtočajevs ddd807ff7d Add (void *) cast directly to GetProcAddress calls. 2025-02-27 12:30:04 +02:00
Pāvels Nadtočajevs ab717497ef [Windows] Offload RenderingDevice creation test to subprocess. 2025-02-24 19:40:10 +02: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
NOLogicalSense b38103e95d Windows: Normalize slashes in return of OS.get_temp_dir() 2025-01-30 22:02:20 +01:00
Ricardo Subtil b77aa473a1 Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization 2025-01-03 10:50:15 +00:00
Thaddeus Crews 9300c2bdc9 Merge pull request #100400 from CrabNickolson/windows-thread-names
Add support for thread naming on windows platform
2024-12-19 19:59:41 -06:00
Hugo Locurcio 928982891e Add OS.get_version_alias() to return a human-readable Windows/macOS version number
Windows 11's major version number is actually 10.x.x, which can be confusing
if you don't know about this quirk. `OS.get_version_alias()` avoids this
by displaying the "branding" version number and the build number as a suffix,
so that individual updates can still be distinguished from each other.

On macOS, `OS.get_version_alias()` returns the version number prepended
with the version name (e.g. Sequoia for macOS 15).

On other operating systems, this returns the same value as `OS.get_version()`.
2024-12-14 18:47:50 +01:00
Ramón Grill d848835f8c Add support for thread naming on windows platform 2024-12-14 14:42:39 +01:00
Thaddeus Crews a607bca2fd Merge pull request #100024 from Ivorforce/optimize-string-single-char
Optimize string single char contains calls.
2024-12-09 14:33:24 -06:00