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
bruvzg
bf558adcdd
[.NET] Disable output embedding on macOS, move it to the advanced options on other platforms.
2024-04-09 17:47:39 +03:00
Micky
328b00774b
Use `[codeblock lang=text]` more often in class ref
2024-04-08 16:17:50 +02:00
bruvzg
30babfc789
[iOS Export] Fix adding static libs to the Xcode project.
2024-04-08 11:55:59 +03:00
DmitriySalnikov
b73e740786
Add renaming of PDB files to avoid blocking them
2024-04-05 00:14:23 +03:00
Thaddeus Crews
b0cda1f85f
Core: Use fixed-width integer types in Variant
2024-04-04 08:54:11 -05:00
bruvzg
dc01658ee9
[DisplayServer] Add separate feature flags for different native dialog types.
2024-03-26 15:18:06 +02:00
Rémi Verschelde
a277361321
Merge pull request #89594 from LeonardoDemartino/ios_airpods_routing
...
iOS: Fix AirPods routing when Play and Record category is used.
2024-03-24 01:18:51 +01:00
Rémi Verschelde
f49efbe0e5
Merge pull request #89229 from akien-mga/main-refactor-os-exit-code
...
Refactor OS exit code to be `EXIT_SUCCESS` by default
2024-03-24 01:15:06 +01:00
bruvzg
b3043674f6
[iOS Export] Check directory content before deleting old export leftovers.
2024-03-22 23:45:54 +02:00
Leonardo Demartino
3bdbf90f49
Fix AirPods routing when Play and Record category is used.
2024-03-17 02:39:16 -03:00
bruvzg
9834733f6f
[iOS] Disable PCRE2 JIT.
2024-03-15 10:24:08 +02:00
Thaddeus Crews
3b3e2374c9
clang-tidy: Enforce `modernize-use-nullptr`
2024-03-12 10:59:53 -05:00
Rémi Verschelde
0475011c66
Merge pull request #82084 from ogapo/pr/pck-cache-merge
...
Merge `uid_cache.bin` and `global_script_class_cache.cfg` after mounting PCKs
2024-03-11 14:01:16 +01:00
Rémi Verschelde
810f127022
Merge pull request #89365 from Repiteo/scons/run_in_subprocess-to-env.Run
...
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 21:13:22 +01:00
Thaddeus Crews
8116d70d4b
SCons: Convert remaining `run_in_subprocess` to `env.Run`
2024-03-10 14:01:23 -05:00
bruvzg
2cd4a4e7e2
[iOS] Restore backward compatibility with old export templates.
2024-03-10 11:04:26 +02:00
Rémi Verschelde
023dcd44c1
Refactor OS exit code to be `EXIT_SUCCESS` by default
...
- `Main::setup` early exits (failure or `--help`/`--version`) now
consistently return `EXIT_FAILURE` or `EXIT_SUCCESS` on all platforms,
instead of 255 on some and a Godot Error code on others.
- `Main::start` now returns the exit code, simplifying the handling of early
failures.
- `Main::iteration` needs to explicit set the exit code in OS if it errors
out.
- Web and iOS now properly return `OS::get_exit_code()` instead of 0.
2024-03-08 23:31:24 +01:00
David Nikdel
5e6adb4a2d
Merge uid_cache.bin and global_script_class_cache.cfg after mounting PCKs
...
fixes godotengine#82061
fixes godotengine#61556
Also, distinguish between main pack and DLC packs.
It's desirable to downloaded content to be as small as possible. This change avoids bloating non-main pack files with new versions of resources that are all read on startup and never used again. They have no effect if loaded after startup.
- project.godot/project.binary file
- extension_list.cfg
- app icon and boot_splash
- .ico and .icns files (these can still be opted in for DLC by listing them explicitly in the include filter)
2024-03-06 12:14:21 -05:00
bruvzg
c65a667924
Move `global_menu_*` methods to a separate `NativeMenu` class.
2024-03-04 23:41:41 +02:00
Leonardo Demartino
d5a3a9aea6
Fix low volume sound output on iOS when Play and Record category is used.
2024-02-29 08:54:55 -03:00
bruvzg
fc49964de4
Fix crash on documentation generation on macOS.
2024-02-19 13:42:27 +02:00
Rémi Verschelde
033821c595
Merge pull request #88245 from shana/simplify-mono-support-detection
...
C#: Let platforms signal if they support the mono module or not
2024-02-19 00:08:07 +01:00
Rémi Verschelde
e697774f61
Merge pull request #87823 from KoBeWi/ban_adb
...
Don't invoke adb with no runnable Android preset
2024-02-17 15:54:49 +01:00
kobewi
343bfb112f
Don't invoke adb with no runnable Android preset
2024-02-15 22:37:32 +01:00
Rémi Verschelde
ef5d6ccfb7
Merge pull request #86966 from Muller-Castro/value2ref-core
...
Add const lvalue ref to `core/*` container parameters
2024-02-15 15:44:43 +01:00
Thaddeus Crews
633dcf6dfd
SCons: "Environment" to "SConsEnvironment"
2024-02-14 09:26:47 -06:00
Muller-Castro
a8bc9f3e78
Add const lvalue ref to core/* container parameters
2024-02-14 11:20:36 -03:00
Rémi Verschelde
3a2fb42838
Merge pull request #85100 from ztc0611/fix-ios-focus-mainloop-notifs
...
Enhance mobile suspend MainLoop notifications
2024-02-14 14:07:54 +01:00