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
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
d9125ebebe
Merge pull request #101293 from Ivorforce/string-to-pointer-conversion
...
Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers.
2025-03-07 15:12:12 -06:00
Pāvels Nadtočajevs
4187c48a15
[iOS export] Restore one-click deploy device enumeration using Xcode.
2025-03-04 21:37:47 +02:00
Anish Mishra
28d1dccf63
Android: Fix export and runtime logic to check if using Vulkan
...
Also fix iOS export logic that would force a min target of iOS 14.0 (for Metal)
even when targeting the Compatibility renderer.
Co-authored-by: Pāvels Nadtočajevs <7645683+bruvzg@users.noreply.github.com>
2025-02-23 12:28:59 +01:00
Rémi Verschelde
702eb39ab8
Revert "Workaround mingw-gcc LTO ICE by re-adding some dead code..."
...
This reverts commit e12a424bc5 .
This is no longer needed after 26fd3458f9 .
2025-02-20 17:47:37 +01:00
Thaddeus Crews
7e5baa0426
Style: Enforce trailing newlines on svgs
2025-02-18 11:02:45 -06:00
Thaddeus Crews
78f1918bd4
Merge pull request #102668 from jkirsteins/janiskirsteins/ios-aspect-fill-splash
...
[iOS] Sync the boot splash and the launch screen image scale modes
2025-02-12 12:56:26 -06:00
Jānis Kiršteins
0e266b0099
[iOS] Sync the boot splash and the launch screen image scale modes
2025-02-12 17:41:18 +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
Rémi Verschelde
e12a424bc5
Workaround mingw-gcc LTO ICE by re-adding some dead code...
...
Not my finest work, but without that code removed in #102179 , mingw-gcc 14.2.1 on Fedora 41
(but also confirmed with versions on macOS and WSL) crashes when linking with LTO.
We need to dig deeper to understand the bug, report it upstream and work it around in a
cleaner way. But for now this unblocks building Windows binaries with LTO, and should be
harmless.
2025-02-07 01:16:38 +01:00
Thaddeus Crews
dfedfe7ac7
Merge pull request #102179 from bruvzg/remove_sim
...
Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter.
2025-02-03 08:16:14 -06:00
Thaddeus Crews
81e17d879d
Merge pull request #102109 from bruvzg/export_res
...
[Export] Respect icon/splash screen import settings.
2025-01-31 09:15:45 -06:00
Janis Kirsteins
e77a011188
Fix a crash in Joypad initialization on iOS
...
Creating a JoypadApple can trigger a notification to add a joypad (if
a device is already connected before the game is started). Observed
on iOS 18.2.1 with a Nimbus SteelSeries.
However at this point the Input singleton is not available yet, so
it will crash.
This commit moves JoypadApple initialization to `initialize_joypad()`
which is called explicitly after the Input singleton is available.
This is consistent with other platform joypad initialization.
2025-01-31 12:57:52 +01:00
Pāvels Nadtočajevs
b3f7c8f5d3
[Export] Respect icon/splash screen import settings.
2025-01-31 07:45:16 +02:00
Pāvels Nadtočajevs
9310d2512f
Disable Metal and Vulkan renderers in simulator builds. Remove simulator support from editor/exporter.
2025-01-30 11:32:01 +02:00
Pāvels Nadtočajevs
f355c9ad37
[iOS] Fix provisioning profile specifier / UUID validation.
2025-01-17 19:20:17 +02:00
Lukas Tenbrink
512abc38b2
Remove implicit conversions from String, Char16String and CharString to data pointers. Make conversions to StrRange implicit to aid transition.
2025-01-17 17:31:58 +01:00
Adam Scott
33e16435f5
Replace some problematic uses of `String::num` to `String::num_int64`
2025-01-15 12:51:51 -05: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
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
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
Rémi Verschelde
11f95e7feb
Merge pull request #99350 from bruvzg/fs_mime
...
Support MIME types in file dialog filters on macOS and Linux.
2025-01-06 22:46:59 +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
Ricardo Subtil
b77aa473a1
Implement a "Recovery Mode" for recovering crashing/hanging projects during initialization
2025-01-03 10:50:15 +00:00
A Thousand Ships
a1846b27ea
Improve use of `Ref.is_null/valid`
...
Use `is_null` over `!is_valid` and vice versa.
2024-12-23 16:35:02 -05:00
Rémi Verschelde
fd5548a8b7
Merge pull request #100634 from YYF233333/iwyu2
...
Remove unused headers in servers
2024-12-20 23:57:09 +01:00
Yufeng Ying
e88e30c273
Remove unused headers in servers.
...
Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2024-12-20 18:51:01 +08: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
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
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
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
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
Rémi Verschelde
506930063a
Merge pull request #98093 from zynga-jpetersen/jpetersen/ios_xcode_PROVISIONING_PROFILE_SPECIFIER_support
...
Support for XCode 8+ feature `PROVISIONING_PROFILE_SPECIFIER`
2024-11-29 22:46:29 +01:00
Thaddeus Crews
925b690c98
Core: Integrate `Ref::instantiate` where possible
2024-11-10 12:41:26 -06: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
jpetersen
4036270f8d
Support for XCode 8+ feature PROVISIONING_PROFILE_SPECIFIER
...
https://developer.apple.com/documentation/xcode/build-settings-reference\#Provisioning-Profile
Used to allow for specific provisioning profile to be specified by name instead of UUID.
Needed to solve this problem where uuid wasn’t disambiguating: https://stackoverflow.com/questions/45051712/signing-app-with-xcodebuild-command-line-with-provisioning-profile-fails
Allows for specification for release and debug versions through environment variables or through export template attributes.
Debug:
EnvironmentVariable: GODOT_IOS_PROFILE_SPECIFIER_DEBUG
Export template: “application/provisioning_profile_specifier_debug”
Release:
EnvironmentalVariable: GODOT_IOS_PROFILE_SPECIFIER_RELEASE
Export Template: “application/provisioning_profile_specifier_release”
2024-10-28 11:37:55 -07:00
Summersay415
6d14cd6ff9
Fix fallbacks to OpenGL
2024-10-28 22:57:19 +07: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
Pedro J. Estébanez
c1fd4df3e4
Android & iOS: Enable strict aliasing
2024-10-21 13:33:42 +02: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
bruvzg
4c520e9400
[iOS] Add support for dark and tinted icon versions.
2024-10-04 14:00:27 +03:00
bruvzg
25f439c573
[DisplayServer] Implement has_hardware_keyboard method for Android and iOS.
2024-10-02 20:09:48 +03:00
Gergely Kis
146ba4106f
Move Vulkan includes to a central godot_vulkan.h header
...
Also fixes Vulkan build problem with recent Clang.
2024-09-29 17:53:18 +02: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
SheepYhangCN
3b839347df
Added fallback_to_opengl3
2024-09-20 06:10:05 +08: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
07e986f728
Allow adding custom export platforms using scripts / GDExtension.
2024-08-28 10:29:01 +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
Stuart Carnie
2d0165574d
Add Metal support for macOS (arm64) and iOS
2024-08-20 12:11:06 +02:00
Stuart Carnie
41875d8aef
macOS/iOS: Fix various warnings when targeting newer SDKs
2024-08-20 11:55:21 +02:00
Rémi Verschelde
a0d549fe93
Merge pull request #95272 from akien-mga/applicalifragilisticexpialidocious
...
iOS: Fix typo in GodotApplicationDelegate
2024-08-17 00:46:47 +02:00
bruvzg
824324e7c4
[iOS] Fix dylib GDExtension convertion.
2024-08-09 12:44:48 +03:00
Rémi Verschelde
1938d170aa
iOS: Fix typo in GodotApplicationDelegate
...
Fixes #90714 .
2024-08-08 10:06:36 +02:00
Haoyu Qiu
7cf9ed5f65
Fix several typos in the documentation
2024-08-02 08:42:20 +08:00
Fredia Huya-Kouadio
5b327aee96
Fix issue preventing enabling the remote button for Android
...
https://github.com/godotengine/godot/pull/92032 updated the logic to enable / disable the remote debug button, and in doing so added a `can_export` check.
However, no events / notifications are dispatched when the value of the `can_export` check changes, which in turn prevents the logic used to enable / disable the remote debug button from running again.
The fix consists then in removing the `can_export` check, so that the remote debug button shows as `enabled` when a preset is present and is runnable.
2024-07-16 00:25:16 -07:00
bruvzg
c632b47b48
[iOS/Text Input] Avoid deleting and reentering unchanged part of text.
2024-07-09 08:32:27 +03:00
Pedro J. Estébanez
32d9c93af3
Improve handling of rendering startup errors
2024-06-28 19:31:50 +02:00
Thaddeus Crews
cc6dd8d02c
Style: Optimize `.svg` files with `svgo`
2024-06-23 08:15:19 -05:00
bruvzg
501c15c5f5
[iOS export] Automatically generate ARM64 simulator library from device library if it's missing.
2024-06-16 10:46:49 +03:00
Rémi Verschelde
f976a625e1
Merge pull request #92692 from mihe/always-embed-frameworks
...
Fix iOS exports never embedding framework bundles
2024-06-03 10:36:10 +02:00
Mikael Hermansson
84ee828b58
Fix iOS exports never embedding framework bundles
2024-06-02 18:02:01 +02:00
Rémi Verschelde
37cf266b57
SCons: Process platform-specific flags earlier
...
Some of the logic in SCons depends on flags that get overridden in the
platform-specific `detect.py`, so it needs to be processed first.
For example the Android/iOS/Web platforms override the default `target`
to `template_debug`, but this was processed too late so e.g. the logic
that sets `env.editor_build` would set it to true due to the default
`target` value in the environment being `editor`.
2024-05-30 16:01:43 +02:00
Rémi Verschelde
8ec272f288
Merge pull request #92519 from mihe/stop-xcframework-embed
...
Prevent static XCFramework bundles from being embedded on iOS
2024-05-30 11:48:12 +02:00
Mikael Hermansson
b6e5e16868
Prevent static XCFramework bundles from being embedded on iOS
2024-05-29 17:54:49 +02:00
bruvzg
c8ae9e9c76
[iOS] Change default iPad landscape orientation from "left" to "right".
2024-05-29 12:47:49 +03:00
bruvzg
714effdf07
[DisplayServer] Add error messages and descriptions to callbacks.
2024-05-28 17:36:54 +03:00
Rémi Verschelde
7870b28ed3
Merge pull request #92252 from poiati/fix-wayland-window-class
...
Properly set window class in Wayland
2024-05-23 08:59:23 +02:00
Thaddeus Crews
896b003cc8
SCons: Convert platform `get_flags` to dictionary
2024-05-22 13:53:20 -05:00
Paulo Poiati
a3769c0edc
Properly set window class in Wayland
2024-05-22 10:42:12 -03:00
Jakub Marcowski
d9f8ef68df
Update pre-commit hooks configuration to use `ruff` instead of `black`
2024-05-21 18:02:29 -05:00
A Thousand Ships
a0dbdcc3ab
Replace `find` with `contains/has` where applicable
...
* Replaces `find(...) != -1` with `contains` for `String`
* Replaces `find(...) == -1` with `!contains` for `String`
* Replaces `find(...) != -1` with `has` for containers
* Replaces `find(...) == -1` with `!has` for containers
2024-05-08 12:37:42 +02:00
A Thousand Ships
955d5affa8
Reduce and prevent unnecessary random-access to `List`
...
Random-access access to `List` when iterating is `O(n^2)` (`O(n)` when
accessing a single element)
* Removed subscript operator, in favor of a more explicit `get`
* Added conversion from `Iterator` to `ConstIterator`
* Remade existing operations into other solutions when applicable
2024-05-04 16:08:55 +02:00
Radiant
789c6ebdfd
Implement `amplitude` to Input.vibrate_handheld
...
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
Co-authored-by: m4gr3d <m4gr3d@users.noreply.github.com>
2024-05-02 19:09:42 +03:00
Rémi Verschelde
1f303e0019
Merge pull request #89790 from bruvzg/ios_safe_delete
...
[iOS Export] Check directory content before deleting old export leftovers.
2024-04-29 13:00:30 +02:00
Rémi Verschelde
947f5a8741
Merge pull request #91247 from AThousandShips/callable_fix
...
Fix unsafe uses of `Callable.is_null()`
2024-04-29 10:10:32 +02:00
Rémi Verschelde
dee1231ce6
Merge pull request #91220 from Repiteo/scons/colorize-warn-error
...
SCons: Colorize warnings/errors during generation
2024-04-29 10:10:16 +02:00
Rémi Verschelde
bdeed8e750
Merge pull request #90375 from bruvzg/ios_privacy
...
[iOS export] Add support for privacy manifest configuration.
2024-04-29 10:09:38 +02:00
Thaddeus Crews
e0e8ce1fc0
SCons: Colorize warnings/errors during generation
2024-04-28 16:24:48 -05:00
A Thousand Ships
31e7ee63f2
Fix unsafe uses of `Callable.is_null()`
...
`Callable.is_null()` is not equivalent to `!Callable.is_valid()` and
doesn't guarantee the call is valid.
2024-04-27 16:22:57 +02:00
bruvzg
7f52e5bd44
[iOS] Fix sensors orientation.
2024-04-23 12:59:24 +03:00
Fredia Huya-Kouadio
764de7fe31
Collapse the gdextension arguments into the `GDExtensionData` struct
...
This is used to reduce the number of arguments to `OS::open_dynamic_library(...)`.
2024-04-19 07:56:02 -07:00
Fredia Huya-Kouadio
ede88cf59d
Fix loading GDExtension dependencies on Android
2024-04-19 07:55:08 -07:00
bruvzg
7446826ab9
[iOS export] Add support for privacy manifest configuration.
2024-04-16 12:10:12 +03:00
Miguel de Icaza
3ea7dec7d3
Fix the initialization order for the iOS driver
...
The problem is that we were initializating the main loop (SceneTree)
when we were supposed to just set it. Which would cascade into a
series of issues, including having the EditorNode being flagged as
"inside_tree" and having a tree, before it was supposed to.
This meant that some code would assume it was fully initialized, when
it was not. And this manifested as the project not being scanned for
resources, which meant that during the importing, the resources would
not match using the uid path, and produce lots of errors.
One line fix
2024-04-13 11:18:53 +02:00
Rémi Verschelde
e73f40e260
Merge pull request #87117 from DmitriySalnikov/rename_pdb
...
Add renaming of PDB files to avoid blocking them
2024-04-11 11:02:31 +02:00
Mikael Hermansson
a057158d75
Revert pack trimming introduced by #82084
2024-04-10 12:00:04 +02:00