1
0
Fork 0
Commit Graph

300 Commits

Author SHA1 Message Date
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
Andreia Gaita 21e524a798 C#: Let platforms signal if they support it or not
Instead of hardcoding platform names that support C#, let platforms
set a flag indicating if they support it. All public platforms
except web already support it, and it's a pain to maintain a patch
for this list just to add additional names of proprietary console
platforms.

This makes adding new platforms or variants or existing platforms
much easier, as the platform can signal what it supports/doesn't
support directly, and we can avoid harcoding platform names.
2024-02-13 22:48:43 +01:00
bruvzg ee53ae28df
Add method to get "base" system UI color (macOS/Windows) and system theme change callback. 2024-02-13 18:38:53 +02:00
Rémi Verschelde b50001ecfe
Merge pull request #87999 from bruvzg/metal_layer
[macOS / iOS] Switch Vulkan init to `VK_EXT_metal_surface` extension.
2024-02-13 17:24:15 +01:00
Rémi Verschelde ae603f2dc6
Merge pull request #87908 from bruvzg/mac_gen_plist
[macOS] Generate min. `Info.plist` for frameworks if it's missing. Validate framework bundle ID characters.
2024-02-13 17:24:07 +01:00
bruvzg f458943455
[macOS / iOS] Switch Vulkan init to VK_EXT_metal_surface extension. 2024-02-13 16:57:02 +02:00
bruvzg 94238d0462
[iOS/macOS] Add option to automatically build (and sign / archive) bundles. 2024-02-13 16:36:41 +02:00
Dario 73eff10c76 Finish splitting functionality of the Vulkan and D3D12 backends into RenderingDeviceDriver. 2024-02-12 10:02:18 -03:00
Rémi Verschelde 74b03edf1e
Merge pull request #82800 from Sauermann/fix-screen-mousemotion
Add screen-related attributes to mouse input events
2024-02-09 18:08:58 +01:00
Rémi Verschelde 4f478a55cc
Merge pull request #86843 from RandomShaper/fix_null_ptr
Avoid several null-dereferences of ApiContextRD
2024-02-07 10:58:01 +01:00
Pedro J. Estébanez d5a5dd52e8 Avoid several null-dereferences of ApiContextRD 2024-02-06 19:55:01 +01:00
Markus Sauermann 2235a1cbd0 Add screen-related attributes to mouse input events 2024-02-05 23:30:15 +01:00
Zach Coleman fc7a63cbf3 Enhance mobile suspend MainLoop Notifications 2024-02-04 21:10:06 -05:00
bruvzg 1c1036567a
[macOS] Generate min. Info.plist for frameworks if it's missing. Validate framework bundle ID characters. 2024-02-03 19:48:21 +02:00
Mel Collins 8406e60522 Add InputEventKey.location to tell left from right
This adds a new enum `KeyLocation` and associated property
`InputEventKey.location`, which indicates the left/right location of key
events which may come from one of two physical keys, eg. Shift, Ctrl.

It also adds simulation of missing Shift KEYUP events for Windows.
When multiple Shifts are held down at the same time, Windows natively
only sends a KEYUP for the last one to be released.
2024-01-26 14:42:28 +01:00
Yuri Sizov 95b27fe8c7 Reorganize code related to editor theming
This change introduces a new EditorThemeManager class
to abstract theme generatio and its subroutines.

Logic related to EditorTheme, EditorColorMap, and editor
icons has been extracted into their respective files with
includes cleaned up.

All related files have been moved to a separate folder to
better scope them in the project. This includes relevant
generated files as well.
2024-01-16 11:57:45 +01:00
bruvzg 9efd83fe3c
[iOS export] Improve .xcframework exporting.
Do not embed static .xcframeworks.
Automatically convert .xcframeworks with .dylibs to .xcframeworks with .frameworks.
2024-01-11 21:58:29 +02:00
bruvzg 491077239c
[macOS/iOS export] Add option to set custom Info.plist data. 2024-01-11 21:05:35 +02:00
Rémi Verschelde 99f3e40820
Merge pull request #87077 from bruvzg/ios_logger
[iOS] Improve logger.
2024-01-11 17:44:29 +01:00
Sassan Haradji 4782cf92ad
set provisioning style for both "iPhone Developer" and "iPhone Distribution" to automatic 2024-01-11 19:26:10 +04:00
bruvzg c38c15b42e
[iOS] Improve logger.
Stream errors to the Console.app (and highlight in Xcode).
Prevent duplicate prints in Xcode.
2024-01-11 16:59:38 +02:00
bruvzg d8a0eed726
[iOS export] Add export options for performance capabilities and min. iOS version. 2024-01-04 19:38:53 +02:00
Rémi Verschelde 6c390b620d
Merge pull request #84445 from Rubonnek/add-const-references-clang-tidy
Add const references detected by clang-tidy
2024-01-04 14:25:33 +01:00
Rémi Verschelde 27a9119b8a
Merge pull request #86312 from bruvzg/ios_fix_screen_res
[iOS] Remove deprecated LaunchImages support and switch to Storyboard by default.
2024-01-03 15:44:57 +01:00
Rémi Verschelde 37df2ff387
Merge pull request #86682 from Daylily-Zeleen/daylily-zeleen/distinguish_between_dynamic_libaray_not_found_and_can't_open
Distinguish between dynamic library not found and can't be opened.
2024-01-02 18:06:17 +01:00
Daylily-Zeleen fe6b073811 Distinguishs between dynamic library not found and can't be opened. 2024-01-01 20:01:57 +08:00
jsjtxietian 078bfae6a4 Add RD_ENABLED when VULKAN_ENABLED or D3D12_ENABLED is added 2023-12-25 11:13:01 +08:00
Pedro J. Estébanez 12a519bae2 Split RenderingDevice into API-agnostic and RenderingDeviceDriver parts
Credit and thanks to @bruzvg for multiple build fixes, update of 3rd-party items and MinGW support.

Co-authored-by: bruvzg <7645683+bruvzg@users.noreply.github.com>
2023-12-20 19:18:08 +01:00
bruvzg da3d5f780d
[iOS] Remove deprecated LaunchImages support and switch to Storyboard by default. 2023-12-18 22:21:58 +02:00
Wilson E. Alvarez a3cb1b096f
Add const references detected by clang-tidy 2023-12-16 13:36:44 -05:00
Wilson E. Alvarez 80fb8db31f
Remove unnecessary assignments
Co-authored-by: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com>
2023-12-13 11:06:26 -05:00
Yuri Sizov dea7597111 Merge pull request #85546 from bruvzg/devicectl_support
[iOS one-click] Add support for Xcode 15 devicectl.
2023-12-08 18:45:58 +01:00
Yuri Sizov 26ba706831 Merge pull request #85845 from YuriSizov/editor-export-hidden-errors
Ensure more export errors are reported to users
2023-12-08 16:59:04 +01:00
Yuri Sizov abddb93152 Merge pull request #85026 from ztc0611/fix-ios-getrefreshrate
Make screen_get_refresh_rate() respect iOS Low Power Mode
2023-12-08 16:58:19 +01:00
Yuri Sizov 773b4d7764 Ensure more export errors are reported to users
Also fixes the timing issue when exporting all
presets at the same time, where the error report
would try to appear while the progress dialog
was still visible.
2023-12-06 15:26:07 +01:00