summaryrefslogtreecommitdiff
path: root/platform/windows
AgeCommit message (Collapse)Author
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-28Merge pull request #67790 from kdada/fix-flash-windowClay John
Make creating window do not flicker when specify custom position
2022-10-28Merge pull request #67903 from Sauermann/fix-startup-windows-mouse-exit-eventClay John
Fix differences between Windows and linuxbsd Display Server
2022-10-28Fix differences between Windows and linuxbsd Display ServerMarkus Sauermann
Fix that Windows receive WINDOW_EVENT_MOUSE_EXIT on startup. When moving the mouse cursor from one window to a different one, make sure that the first window receives the WINDOW_EVENT_MOUSE_EXIT event before the second window receives the WINDOW_EVENT_MOUSE_ENTER event. Send Mouse-Move events also for Windows, that are currently not focused. For determining the currently hovered window, consider not just the currently focused window, but also other windows. Send mouse move events to focused window instead of hovered window.
2022-10-27Fix OS.get_video_adapter_driver_info crashzCubed3
2022-10-24Make window creation with custom position do not flashWei Guo
2022-10-21Merge pull request #67546 from clayjohn/DS-msgClay John
Update the DisplayServer video driver error message to be more accurate and friendly
2022-10-18Update the DisplayServer video driver error messageclayjohn
to be more accurate and friendly
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-17Check if Vulkan context for the window exists before resizing it to avoid ↵bruvzg
unnecessary error messages.
2022-10-12[Windows] Fix GCC MinGW warnings.bruvzg
2022-10-11Merge pull request #66102 from MJacred/feature/getvideoadapterdriverinfoRémi Verschelde
Fetch video adapter driver name and version from OS
2022-10-11Fetch video adapter driver name and version from OS on Linux/*BSD and WindowsMJacred
2022-10-11Merge pull request #67242 from akien-mga/cleanup-unused-definesRémi Verschelde
Cleanup unused defines in platform code
2022-10-11Cleanup unused defines in platform codeRémi Verschelde
2022-10-11Fix newlines not honored in Windows consolePedro J. Estébanez
This is relevant when building with `windows_subsystem=console`.
2022-10-10Merge pull request #67183 from akien-mga/gcc-warnings-cleanupRémi Verschelde
SCons: Cleanup GCC warnings configuration
2022-10-10[Windows] Fix GCC MinGW warnings.bruvzg
2022-10-10SCons: Re-enable treating `#warning` as error with `werror`Rémi Verschelde
Replace all TODO uses of `#warning` by proper TODO comments, and will open matching bug reports to keep track of them. We don't have a great track record fixing TODOs, but I'd wager we're even worse for fixing these "TODO #warning" so we should prohibit this usage.
2022-10-07Harmonize return values of window_create() in rendering driversPedro J. Estébanez
2022-10-06Merge pull request #66965 from bruvzg/win_llvmRémi Verschelde
[Windows] Fix LLVM MinGW build.
2022-10-06Merge pull request #64815 from RandomShaper/default_cpu_countRémi Verschelde
Improve default `OS`'s CPU count getter
2022-10-06[Windows] Fix LLVM MinGW build.bruvzg
2022-10-05Keep a single, portable implementation of `OS::get_processor_count()`Pedro J. Estébanez
2022-10-04Merge pull request #66559 from zaevi/fix_ScrollContainer_touch_scrollRémi Verschelde
Fix ScrollContainer touch-scrolling not working.
2022-10-03Unix: Remove now unnecessary I/O defines, cleanupRémi Verschelde
- `LIBC_FILEIO_ENABLED` wasn't defined anywhere, even in _other platforms_. - `NO_NETWORK` is also never defined. It probably isn't enough anyway to disable network APIs in the current codebase. - `UNIX_SOCKET_UNAVAILABLE` is never defined in this code but used by some other platforms, clarify that. - `NO_STATVFS` can be removed as Android supports it since API level 19, which is our current min SDK level. It's also only used for `DirAccessUnix::get_space_left()` which is anyway overridden by `DirAccessJAndroid::get_space_left()` so it shouldn't make a difference. * Fixed documentation for `DirAccess.get_space_left()`. - `NO_FCNTL` is likely also a remnant of early Android days, in current NDK r23 it seems to be available. Also cleaned up unused `fcntl.h` includes. - `NO_ALLOCA` is never defined, and we use alloca in many places now.
2022-09-30ci: add Python static analysis check via mypyJiri Suchan
2022-09-30Merge pull request #66242 from akien-mga/scons-unify-tools-targetRémi Verschelde
2022-09-29Fix ScrollContainer touch-scrolling not working.Zae
2022-09-28Fix MSVC warning C4706: assignment within conditional expressionRémi Verschelde
Part of #66537.
2022-09-28[Windows] Ignore excessive wintab mouse move events.bruvzg
2022-09-26SCons: Unify tools/target build type configurationRémi Verschelde
Implements https://github.com/godotengine/godot-proposals/issues/3371. New `target` presets ==================== The `tools` option is removed and `target` changes to use three new presets, which match the builds users are familiar with. These targets control the default optimization level and enable editor-specific and debugging code: - `editor`: Replaces `tools=yes target=release_debug`. * Defines: `TOOLS_ENABLED`, `DEBUG_ENABLED`, `-O2`/`/O2` - `template_debug`: Replaces `tools=no target=release_debug`. * Defines: `DEBUG_ENABLED`, `-O2`/`/O2` - `template_release`: Replaces `tools=no target=release`. * Defines: `-O3`/`/O2` New `dev_build` option ====================== The previous `target=debug` is now replaced by a separate `dev_build=yes` option, which can be used in combination with either of the three targets, and changes the following: - `dev_build`: Defines `DEV_ENABLED`, disables optimization (`-O0`/`/0d`), enables generating debug symbols, does not define `NDEBUG` so `assert()` works in thirdparty libraries, adds a `.dev` suffix to the binary name. Note: Unlike previously, `dev_build` defaults to off so that users who compile Godot from source get an optimized and small build by default. Engine contributors should now set `dev_build=yes` in their build scripts or IDE configuration manually. Changed binary names ==================== The name of generated binaries and object files are changed too, to follow this format: `godot.<platform>.<target>[.dev][.double].<arch>[.<extra_suffix>][.<ext>]` For example: - `godot.linuxbsd.editor.dev.arm64` - `godot.windows.template_release.double.x86_64.mono.exe` Be sure to update your links/scripts/IDE config accordingly. More flexible `optimize` and `debug_symbols` options ==================================================== The optimization level and whether to generate debug symbols can be further specified with the `optimize` and `debug_symbols` options. So the default values listed above for the various `target` and `dev_build` combinations are indicative and can be replaced when compiling, e.g.: `scons p=linuxbsd target=template_debug dev_build=yes optimize=debug` will make a "debug" export template with dev-only code enabled, `-Og` optimization level for GCC/Clang, and debug symbols. Perfect for debugging complex crashes at runtime in an exported project.
2022-09-24Merge pull request #66295 from bruvzg/win_fix_wm_char_keysymRémi Verschelde
[Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key.
2022-09-23SCons: Cleanup `DEBUG`, `_DEBUG` and `NDEBUG` definesRémi Verschelde
- `_DEBUG` is MSVC specific so it didn't make much sense to define for Android and iOS builds. - iOS was the only platform to define `DEBUG`. We don't use it anywhere outside thirdparty code, which we usually don't intend to debug, so it seems better to be consistent with other platforms. - Consistently define `NDEBUG` to disable assert behavior in both `release` and `release_debug` targets. This used to be set for `release` for all platforms, and `release_debug` for Android and iOS only. - Due to the above, I removed the only use we made of `assert()` in Godot code, which was only implemented for Unix anyway, should have been `DEV_ENABLED`, and is in PoolAllocator which we don't actually use. - The denoise and recast modules keep defining `NDEBUG` even for the `debug` target as we don't want OIDN and Embree asserting all over the place.
2022-09-23[Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key.bruvzg
2022-09-21Merge pull request #65816 from bruvzg/proj_settings_missing_flagsRémi Verschelde
Add missing initial window flags and window mode to the project settings.
2022-09-19SCons: Refactor handling of `production` flag and per-platform LTO defaultsRémi Verschelde
Fixup to #63288. See #65583 for the bug report. Co-authored-by: Cyberrebell <chainsaw75@web.de>
2022-09-19Add missing initial window flags and window mode to the project settings.bruvzg
2022-09-18Merge pull request #65331 from derammo/derammo_natvis_3Rémi Verschelde
Add more data structures to Natvis for Visual Studio
2022-09-16Add get_distribution_name() and get_version() to OSMJacred
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Co-authored-by: bruvzg
2022-09-16Merge pull request #65496 from MinusKube/popup-capture-mouse-bugRémi Verschelde
Fix MOUSE_MODE_CAPTURED not working correctly with popups
2022-09-14Merge pull request #65133 from bruvzg/win_cursorRémi Verschelde
[Windows] Simplify cursor handling and add support for fully transparent cursors.
2022-09-13Disable menus and functionality that are not relevant on the Android Editor portFredia Huya-Kouadio
2022-09-13Merge pull request #65509 from gotnospirit/master-os-get_datetimeRémi Verschelde
get_datetime_* functions can return wrong values
2022-09-13Merge pull request #65262 from bruvzg/win10_dmRémi Verschelde
Disable dark mode title bar on Windows 10.
2022-09-12Fix multiwindow support in GLES3 for X11, Windows, and MacOS.clayjohn
Instead of updating all viewports, then blitting all viewports to the backbuffer, then swapping all buffers, we run through all viewports and render, blit, and swap backbuffer before going to the next viewport.
2022-09-10Fixes #65377: get_datetime_* functions can return wrong valuesJames
2022-09-08Merge pull request #44118 from Calinou/windows-enable-ansi-escape-codesYuri Sizov
Enable ANSI escape code processing on Windows 10 and later
2022-09-08SCons: Refactor LTO options with `lto=<none|thin|full>`Rémi Verschelde
Adds support for LTO on macOS and Android. We don't have much experience with LTO on these platforms so for now we keep it disabled by default even when `production=yes` is set. Similarly for iOS where we ship object files for the user to link in Xcode so LTO makes builds extremely slow to link. `production=yes` defaults to full LTO. ThinLTO is much faster for LLVM-based compilers but seems to produce bigger binaries (at least for the Web platform).
2022-09-07Fix MOUSE_MODE_CAPTURED not working correctly with popupsMinusKube