Thaddeus Crews
713a1ba554
Style: Standardize Obj-C `#import` syntax
2025-03-08 09:28:34 -06: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
3c43508ed7
Merge pull request #102427 from AThousandShips/fix_substr
...
Clean up some uses of `String::substr`
2025-03-07 15:12:33 -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
Thaddeus Crews
5788e436d3
Merge pull request #95049 from Grublady/mac_system_color
...
Use windowBackgroundColor instead of controlColor for macOS system base color
2025-03-07 12:06:33 -06:00
A Thousand Ships
5113022dfe
Clean up some uses of `String::substr`
...
Cases where the end position is either equvalent to the default or past
the end of the string.
2025-03-07 14:50:38 +01:00
bruvzg
3e4e6e6c0c
Improve native file dialog parent window selection.
2025-03-06 17:15:39 +02:00
Grublady
2b16d4e002
Use windowBackgroundColor instead of controlColor for macOS system base color
...
Per Apple Developer Documentation:
windowBackgroundColor: "The color to use for the window background."
controlColor: "The color to use for the flat surfaces of a control."
Godot's base_color more closely corresponds to windowBackgroundColor.
In some cases, controlColor may even return values that are not appropriate for use as a base color.
2025-03-05 15:01:27 -05:00
Pāvels Nadtočajevs
ab717497ef
[Windows] Offload `RenderingDevice` creation test to subprocess.
2025-02-24 19:40:10 +02: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
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
SheepYhangCN
c0eec97e98
macOS: Implement fallback from Metal to Vulkan for x86_64
2025-02-10 13:23:46 +01: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
Pāvels Nadtočajevs
4b8cfc3040
Fix native popup menus position in embedded windows.
2025-02-01 21:31:03 +02:00
Pāvels Nadtočajevs
b3f7c8f5d3
[Export] Respect icon/splash screen import settings.
2025-01-31 07:45:16 +02: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
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
Malcolm Anderson
998e3dfcf7
Update the app bundle's creation time to match the build time on macOS
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2025-01-25 20:21:17 -08: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
8e0f498400
Merge pull request #101266 from WhalesState/color-picking-fix
...
Fix color picking on Linux/X11.
2025-01-09 00:42:22 +01:00
Rémi Verschelde
76c8e76560
Merge pull request #101284 from akx/tyops
...
A handful of typo fixes
2025-01-08 15:53:33 +01:00
Rémi Verschelde
dea597c679
Merge pull request #94580 from stuartcarnie/sgc/macos_joypad
...
Apple: Bug fixes and improvements for game controllers
2025-01-08 15:53:15 +01:00
Stuart Carnie
cd17cb0110
[macos, ios]: Refactor joypad support into shared code, numerous bugfixes
2025-01-08 07:00:23 -07:00
Aarni Koskela
f134769506
Fix various typos
...
* Add TODO notes for typos that should be fixed for 5.0
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-08 14:47:42 +02:00
WhalesState
989161e117
Fix color picking on linux.
2025-01-08 10:32:25 +02:00
Rémi Verschelde
0fee2724f0
Merge pull request #100751 from YYF233333/force_regex_with_editor
...
Force build editor with regex module, remove checking code
2025-01-07 23:17:35 +01:00
Yufeng Ying
34d8255947
Force build editor with regex module, remove checking code.
...
Fix include.
Co-authored-by: Rémi Verschelde <rverschelde@gmail.com>
2025-01-07 19:43:23 +08:00
Pāvels Nadtočajevs
7f0b4e58b0
Implement `DisplayServer.window_start_resize`.
2025-01-07 07:58:02 +02:00
Rémi Verschelde
399f585042
Merge pull request #99603 from stuartcarnie/metal_fx_upscaling
...
Metal: Add MetalFX upscaling support
2025-01-06 22:47:08 +01:00
Stuart Carnie
11dc4f2e5e
Metal: Add MetalFX upscaling support
...
Co-authored-by: Hugo Locurcio <hugo.locurcio@hugo.pro>
2025-01-06 06:03:18 -07:00
Pāvels Nadtočajevs
e1f129cb52
Support MIME types in file dialog filters on macOS and Linux.
2025-01-04 22:05:35 +02:00
Rémi Verschelde
eaed664bce
Merge pull request #100637 from bruvzg/unset_fw
...
Unset last focused window when it is destroyed.
2024-12-20 23:57:13 +01:00
Pāvels Nadtočajevs
73faa509ea
Unset last focused window when it is destroyed.
2024-12-20 09:40:25 +02:00
Hilderin
9d2a4c03be
Embedding game process in editor
2024-12-18 17:52:42 -05:00
Fredia Huya-Kouadio
2d3f6963b2
Update the visibility for the custom templates for all platforms
...
Hide the custom template options behind the `Advanced Options` toggle
2024-12-17 13:08:47 -08:00
Thaddeus Crews
a7fa0528bb
Merge pull request #100372 from Calinou/os-add-get-version-alias
...
Add `OS.get_version_alias()` to return a human-readable Windows/macOS version number
2024-12-16 12:09:40 -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
Thaddeus Crews
9535cd064f
Merge pull request #97810 from pafuent/getting_ccache_working_on_mac
...
Improve detection of ccache on macOS
2024-12-13 16:19:32 -06:00
Pablo Andres Fuente
7c4c1100e0
Improving detection of ccache on Mac
...
Before this commit, ccache where only used on Mac when
`OSXCROSS_ROOT` was defined. Now, it could be used even
when that envirnment variable is not defined.
2024-12-13 09:50:27 -03:00
Rémi Verschelde
f86b3696f6
SCons: Properly set SSE2 as baseline on x86_32
...
Setting it only for release templates on Windows and macOS was inconsistent,
and Jolt requires it as a minimum.
Drop the `-mxsave` flag from the raycast module, this doesn't seem to be
used explicitly by Embree, and unnecessarily makes our config and baseline
muddy.
2024-12-12 22:44:44 +01:00
Thaddeus Crews
4a1a7addd1
Merge pull request #100179 from zaevi/fix_transient_topmost
...
[Windows & macOS] Fix popup window shows behind `always_on_top` parent.
2024-12-11 17:35:53 -06:00
Pāvels Nadtočajevs
8b853b7db7
[macOS] Print full source paths in the trace.
2024-12-11 09:21:25 +02:00
Thaddeus Crews
69c67ede17
Merge pull request #88950 from bruvzg/excap
...
[macOS, Windows] Add support for excluding windows from a screenshot.
2024-12-10 14:16:10 -06:00
bruvzg
9fece033ab
[macOS, Windows] Add support for excluding windows from a screenshot.
2024-12-10 11:00:13 +02:00
Zae
2211b1bf91
Fix popup shows behind always_on_top parent.
2024-12-10 01:35:25 +08:00
ArchercatNEO
00a791f04e
Use temp dirs instead of cache dirs for export
...
Fixes #95897
During CI scenarios $HOME may be set to an invalid value (such as
`/var/empty`).
Using temp dirs fits better with godot's usage of these paths and is
independent from the user's $HOME.
2024-12-08 12:07:17 +00:00
Thaddeus Crews
44cda51110
Merge pull request #98812 from bruvzg/macos_bundles_as_file
...
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 14:41:07 -06:00
Thaddeus Crews
156bc92282
Merge pull request #98397 from adamscott/add-tmp-support
...
Add temp utilities (alias `OS::get_temp_dir()`, `FileAccess::create_temp()`, and `DirAccess::create_temp()`)
2024-12-03 14:40:59 -06:00
Thaddeus Crews
a135a6478a
Merge pull request #98383 from RandomShaper/deprecate_unsafe_th_rend
...
Deprecate the pointless unsafe threading model for rendering
2024-12-03 14:40:56 -06:00
Pāvels Nadtočajevs
84650f2018
Implement `DisplayServer.beep`.
2024-12-03 12:43:26 +02:00
bruvzg
d5e599f77e
[macOS] Handle bundles as files in the embedded file dialogs.
2024-12-03 12:41:52 +02:00
Adam Scott
1b3e483899
Add file and dir temporary utilities
...
Co-authored by @Alex2782 for the Android bindings.
Many thanks to the reviewers also.
Co-authored-by: Alex <alex.hart.278@gmail.com>
2024-12-02 12:08:14 -05:00
Rémi Verschelde
bb09a6f061
Merge pull request #99642 from bruvzg/mac_win_tile
...
[macOS] Use native window drag for the custom editor title bars.
2024-12-02 17:20:19 +01:00
Pāvels Nadtočajevs
b248d66265
[macOS] Use native window drag for the custom editor title bars.
2024-12-02 17:40:27 +02:00
Pāvels Nadtočajevs
d3e16c9ee2
[iOS] Add options to specify additional entitlements and capabilities in the export settings.
2024-12-02 17:38:19 +02:00
rune-scape
d58b2e879f
Get rid of easily removable uses of const_cast
2024-12-01 17:50:13 -08:00
A Thousand Ships
68f638cf02
Use `(r)find_char` instead of `(r)find` for single characters
2024-11-17 10:02:18 +01:00
Thaddeus Crews
6c9337de36
Merge pull request #99217 from dustdfg/refactor_compiler_min_detection
...
Buildsystem: Refactor compiler detection code
2024-11-15 10:42:42 -06:00
Yevhen Babiichuk (DustDFG)
d55ed0cb15
Buildsystem: Refactor compiler detection code
...
* Delete old check for gcc 8 as we support 9 or higher
* Flatten branches for clang and apple clang
* Renamed is_vanilla_clang to is_apple_clang to be more clear
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-11-15 12:59:46 +02:00
Pāvels Nadtočajevs
f5fad7592f
Use processed filter list for native dialogs.
2024-11-15 12:08:33 +02:00
Pedro J. Estébanez
a46ea9d064
Deprecate the pointless unsafe threading model for rendering
2024-11-14 10:43:29 +01:00
Thaddeus Crews
cb286da1dd
Merge pull request #99112 from bruvzg/get_model_name
...
Implement `get_model_name` on macOS and Windows.
2024-11-12 09:27:52 -06:00
Pāvels Nadtočajevs
a6dfd1cf6e
Implement `get_model_name` on macOS and Windows.
2024-11-12 10:34:24 +02:00
Thaddeus Crews
f2136384e4
CI: Update `ruff` & `mypy` pre-commit hooks
...
• ruff: 0.6.6 → 0.7.3
• mypy: 1.11.2 → 1.13.0
2024-11-11 11:27:42 -06:00
bruvzg
2d66988f99
[GDExtension] Improve macOS library loading/export.
2024-11-04 09:28:30 +02:00
Anish Mishra
0dfd18c84b
[DisplayServer] Add feature flag for native file dialog access to `user/res` and `options`
2024-10-30 14:13:43 +05:30
Thaddeus Crews
05a4620e88
Merge pull request #98615 from Summersay415/three-opengls-please
...
Fix fallbacks to OpenGL
2024-10-29 19:25:48 -05:00
Thaddeus Crews
b7a0971ad2
Merge pull request #97934 from adamscott/give-AThousandShips-a-break
...
[Codestyle] Set clang-format `RemoveSemicolon` rule to `true`
2024-10-29 19:25:36 -05:00
Summersay415
6d14cd6ff9
Fix fallbacks to OpenGL
2024-10-28 22:57:19 +07:00
Thaddeus Crews
07e759b74a
Merge pull request #97771 from dsnopek/openxr-linux-egl
...
OpenXR: Add support for Wayland on Linux
2024-10-25 13:04:08 -05:00
Thaddeus Crews
17f06f6dae
Merge pull request #97555 from dustdfg/platform_methods/extract_validate_arch
...
Build System: Extract `validate_arch` helper functions
2024-10-25 13:03:48 -05:00
Adam Scott
0d350e7108
Set clang-format `RemoveSemicolon` rule to `true`
...
- Set clang-format `Standard` rule to `c++20`
2024-10-25 13:49:43 -04:00
Yevhen Babiichuk (DustDFG)
af6d260c17
Don't include `core/io/image.h` in `core/os/os.h`
...
`core/os/os.h` doesn't use `core/io/image.h`. It just brings
transitive dependencies. Lots of dependencies because `core/os/os.h`
is transitively included in almost every file of godot
Also added `core/io/image.h` into files^1 where `Ref<Image>` and `core/os/os.h`
were used to prevent obscure errors involving `Ref<Image>`
^1 except those which include `core/io/image_loader.h` or `core/io/image.h` by
corresponding .h file with the same name
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2024-10-18 19:04:19 +03:00
Travis Lange
5777a3fed5
added ability to add extra codesign entitlements for macos from godot editor
2024-10-13 09:33:42 -04:00
Yevhen Babiichuk (DustDFG)
7aacdaa071
Build System: Extract `validate_arch` helper function
...
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-10-06 07:50:49 +03:00
Rémi Verschelde
b0d512636c
Merge pull request #97570 from dustdfg/ios_macos/print_warning_instead_of_comments
...
Replace comments with printed warning for Metal on x86_64
2024-10-04 22:43:46 +02:00
David Snopek
256699ee31
OpenXR: Add support for Wayland on Linux
2024-10-04 11:44:05 -05:00
Rémi Verschelde
c28dd316a9
Merge pull request #97757 from bruvzg/max_move_screen
...
Fix `window_set_current_screen` for maximized windows.
2024-10-04 11:22:10 +02:00
Rémi Verschelde
dedb2ff217
Merge pull request #97678 from bruvzg/fix_nd_menu
...
[macOS] Fix menu crash when used from opened native dialog.
2024-10-04 11:21:54 +02:00
bruvzg
d2f3725120
Fix window_set_current_screen for maximized windows.
2024-10-03 10:38:32 +03:00
Dario
e2c6daf7ef
Implement asynchronous transfer queues, thread guards on RenderingDevice. Add ubershaders and rework pipeline caches for Forward+ and Mobile.
...
- Implements asynchronous transfer queues from PR #87590 .
- Adds ubershaders that can run with specialization constants specified as push constants.
- Pipelines with specialization constants can compile in the background.
- Added monitoring for pipeline compilations.
- Materials and shaders can now be created asynchronously on background threads.
- Meshes that are loaded on background threads can also compile pipelines as part of the loading process.
2024-10-02 15:11:58 -03:00
bruvzg
4c8f8e6980
[macOS] Fix menu crash when used from opened native dialog.
2024-10-01 08:30:30 +03:00
Yevhen Babiichuk (DustDFG)
1abcfdda85
Replace comments with printed warning for Metal on x86_64
...
Signed-off-by: Yevhen Babiichuk (DustDFG) <dfgdust@gmail.com>
2024-09-28 08:28:33 +03:00
Thaddeus Crews
9f9ee0c813
SCons: Add unobtrusive type hints in SCons files
2024-09-25 09:34:35 -05:00
Rémi Verschelde
c2564f42aa
Merge pull request #97142 from SheepYhangCN/master
...
Fallback to OpenGL 3 if other rendering drivers are not supported
2024-09-20 16:06:35 +02:00
Thaddeus Crews
b37fc1014a
Style: Apply new `clang-format` changes
2024-09-20 08:09:48 -05:00
SheepYhangCN
3b839347df
Added fallback_to_opengl3
2024-09-20 06:10:05 +08:00
kobewi
4023ace08d
Add Advanced Settings switch to Editor Settings
2024-09-17 12:20:55 +02:00
bruvzg
8d039146d9
[macOS] Fix dynamic library lookup for system libraries.
2024-09-14 18:22:36 +03:00
A Thousand Ships
dd6443193c
[Editor] Expose more editor settings to documentation
...
Co-authored-by: Tomasz Chabora <kobewi4e@gmail.com>
2024-09-12 15:34:49 +02:00
bruvzg
1f0b1220d2
Reenable macOS .app export from Windows, add warnings about Unix permissions.
2024-09-07 01:12:10 +03:00
Rémi Verschelde
2c733cbf1c
Merge pull request #95885 from bruvzg/macos_arch
...
[macOS] Use per-architecture min. OS version for export.
2024-09-06 11:11:01 +02:00
bruvzg
c273786758
Update rendering driver name on fallbacks. Fix rendering driver/method in the editor system info.
2024-09-01 18:22:40 +03:00
bruvzg
07e986f728
Allow adding custom export platforms using scripts / GDExtension.
2024-08-28 10:29:01 +03:00
bruvzg
f8a6c0e8ab
Enable fallback from ANGLE to native and improve ANGLE error messages.
2024-08-25 21:19:54 +03:00
Rémi Verschelde
568589c9d8
Merge pull request #90993 from darksylinc/matias-TheForge
...
Add debug utilities for Vulkan
2024-08-22 00:38:22 +02:00
Matias N. Goldberg
364f916f3f
Add debug utilities for Vulkan
...
Features:
- Debug-only tracking of objects by type. See
get_driver_allocs_by_object_type et al.
- Debug-only Breadcrumb info for debugging GPU crashes and device lost
- Performance report per frame from get_perf_report
- Some VMA calls had to be modified in order to insert the necessary
memory callbacks
Functionality marked as "debug-only" is only available in debug or dev
builds.
Misc fixes:
- Early break optimization in RenderingDevice::uniform_set_create
============================
The work was performed by collaboration of TheForge and Google. I am
merely splitting it up into smaller PRs and cleaning it up.
2024-08-21 23:48:08 +02:00
Rémi Verschelde
6e9bcc0f18
SCons: Better validation for platform-specific opt-in drivers
...
This replaces cryptic compilation errors with a clear error message
and early build termination.
2024-08-21 22:53:34 +02:00