summaryrefslogtreecommitdiff
path: root/platform
AgeCommit message (Collapse)Author
2022-10-05Merge pull request #64886 from Calinou/web-editor-add-local-web-server-2Rémi Verschelde
Replace local web server setup for web editor with a Python-based solution
2022-10-05Merge pull request #63983 from Calinou/scons-linux-execinfo-muslRémi Verschelde
Automatically use execinfo for crash handler on *BSD and musl-based Linux
2022-10-04Automatically use execinfo for crash handler on *BSD and musl-based LinuxHugo Locurcio
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2022-10-04Replace local web server setup for web editor with a Python-based solutionHugo Locurcio
This makes it easier to set up, as you always have Python installed when building Godot. On the other hand, you don't always have Node.js + npm installed (and you may not want to spend time running `npm install`). Co-authored-by: Fabio Alessandrelli <fabio.alessandrelli@gmail.com>
2022-10-04Merge pull request #66773 from MladoniSzabi/numpad-no-numlock-bug-linuxRémi Verschelde
Remapped the numpad keys on linux when numlock is off
2022-10-04Merge pull request #66274 from Calinou/engine-rename-max-fpsRémi Verschelde
Rename `Engine.target_fps` and associated project setting to `max_fps`
2022-10-04Merge pull request #66832 from bruvzg/cmd_p_fixRémi Verschelde
[macOS] Fix ⌘ + . + other modifier triggering twice.
2022-10-04Merge pull request #66559 from zaevi/fix_ScrollContainer_touch_scrollRémi Verschelde
Fix ScrollContainer touch-scrolling not working.
2022-10-04Merge pull request #66807 from ↵Rémi Verschelde
akien-mga/core-unix-remove-NO_FCNTL-and-NO_STATVFS Unix: Remove now unnecessary I/O defines, cleanup
2022-10-04Merge pull request #66804 from akien-mga/core-remove-NO_SAFE_CASTRémi Verschelde
Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android build
2022-10-03Rename `Engine.target_fps` and associated project setting to `max_fps`Hugo Locurcio
This makes the setting easier to find, as research has found there are numerous use cases to limiting FPS. This also improves documentation related to the Engine property and project setting. The project setting also works in projects exported in release mode, so its location in the `debug/` section was misleading.
2022-10-03[macOS] Fix ⌘ + . + other modifier triggering twice.bruvzg
2022-10-03Remapped the numpad keys on linux when numlock is offMladoniSzabi
On Linux, when using the numpad while numlock is off doesn't do anything. Made the numpad keys map to the correct control keys. Resolves: #54814.
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-10-03Remove NO_THREADS fallback code, Godot 4 requires thread supportRémi Verschelde
This also removes `OS::can_use_threads` from the public API since it's always true.
2022-10-03Remove unsupported `NO_SAFE_CAST`/`-fno-rtti` from Android buildRémi Verschelde
Android was the last platform to still attempt to disable RTTI (for binary size), but both the Android editor and now the ICU library used by templates need RTTI. There could still be the possibility to support this for non-ICU template builds (i.e. without the TextServerAdvanced module), but since this isn't one of the build configurations we test regularly it's pretty risky to keep this option only for that specific use case. And our code is already littered with `dynamic_cast`s which weren't guarded with `!defined(NO_SAFE_CAST)`.
2022-10-01Fix inconsistent window state on X11.Matthew Munro (mam552)
Fixes #66413. DisplayServerX11 tracks some internal state about whether the window is fullscreen, minimized, maximized or none. This commit queries the display server when the window changes, so that this internal state can be correctly updated.
2022-09-30Merge pull request #64784 from yedpodtrzitko/yed/ci-add-mypyRémi Verschelde
ci: add Python static analysis check via mypy
2022-09-30Fix typos with codespellRémi Verschelde
Using codespell 2.3-dev from current git. And fix typo in `methods.py` for `vsproj=yes` option (still won't work though).
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-28Merge pull request #66548 from akien-mga/msvc-warnings-c4701-c4703Rémi Verschelde
Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable used
2022-09-29Fix ScrollContainer touch-scrolling not working.Zae
2022-09-28Fix MSVC warnings C4701 and C4703: Potentially uninitialized variable usedRémi Verschelde
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-26Style: Cleanup header guards for consistencyRémi Verschelde
Fix file names for {Static,Lightmap}RaycasterEmbree.
2022-09-25Merge pull request #66377 from bruvzg/macos_menu_cb_deferredRémi Verschelde
[macOS] Process menu callback after event processing step to avoid event queue corruption.
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-24[macOS] Process menu callback after event processing step to avoid event ↵bruvzg
queue corruption.
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-23SCons: Remove redundant `-fomit-frame-pointer` and `-ftree-vectorize`Rémi Verschelde
- `-fomit-frame-pointer` is included automatically by both GCC and Clang in `-O1` and above. - `-ftree-vectorize` is included automatically by GCC in `-O2` and beyond, and seems always enabled by Clang. Closes #66296. See that issue for a detailed investigation.
2022-09-23[Windows] Fix WM_CHAR processing code using Unicode char instead of Virtual key.bruvzg
2022-09-22[macOS extend-to-title] Add scene/project name to the editor title, fix ↵bruvzg
incorrect window button position/order when system primary language is RTL.
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-21[macOS] Improve "extended to title" transition to / from fullscreen.bruvzg
2022-09-20[macOS] Add an option to align window buttons in "extend to title" mode.bruvzg
2022-09-20Merge pull request #65745 from akien-mga/scons-production-lto-earlierRémi Verschelde
Refactor handling of `production` flag and per-platform LTO defaults
2022-09-20Merge pull request #65541 from clayjohn/renderer-settingRémi Verschelde
Split rendering driver project setting into renderer_name and rendering_driver
2022-09-19Split rendering driver project setting into renderer_name and ↵clayjohn
rendering_driver. To differentiate between a driver (e.g. Vulkan or D3D12) and a renderer (e.g. clustered or mobile renderer).
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-19Replace File/Directory with FileAccess/DirAccesskobewi
2022-09-18Merge pull request #65975 from Faless/web/4.x_features_detectionRémi Verschelde
[Web] Add feature detection helpers to JS Engine class.
2022-09-18Merge pull request #65331 from derammo/derammo_natvis_3Rémi Verschelde
Add more data structures to Natvis for Visual Studio
2022-09-17[Web] Add feature detection helpers to JS Engine class.Fabio Alessandrelli
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-15[macOS] Remove tabs for "Quit" menu item.bruvzg