summaryrefslogtreecommitdiff
path: root/platform/ios
AgeCommit message (Collapse)Author
2023-01-07Add support for the custom initial screen for the main window, fix primary ↵bruvzg
screen detection.
2023-01-05One Copyright Update to rule them allRémi Verschelde
As many open source projects have started doing it, we're removing the current year from the copyright notice, so that we don't need to bump it every year. It seems like only the first year of publication is technically relevant for copyright notices, and even that seems to be something that many companies stopped listing altogether (in a version controlled codebase, the commits are a much better source of date of publication than a hardcoded copyright statement). We also now list Godot Engine contributors first as we're collectively the current maintainers of the project, and we clarify that the "exclusive" copyright of the co-founders covers the timespan before opensourcing (their further contributions are included as part of Godot Engine contributors). Also fixed "cf." Frenchism - it's meant as "refer to / see".
2023-01-03Merge pull request #70482 from bruvzg/ios_pencilRémi Verschelde
[iOS] Add Apple Pencil pressure and tilt support.
2022-12-23[iOS] Add Apple Pencil pressure and tilt support.bruvzg
2022-12-23fix contentScaleFactor on iOSMarius Seufzer
2022-12-17Remove Disable Touch debug project settingHugo Locurcio
This project setting was only implemented and iOS and likely served no purpose outside of debugging during development of engine features. It was also located in a confusing location in the project settings editor, as it was located below a root category (which appears in bold and is normally not seen as clickable by users).
2022-12-16[macOS/iOS] Use framework Info.plist to determine library name.bruvzg
2022-12-12[iOS] Fix broken single line input and incorrect selection / caret position.bruvzg
2022-12-12Merge pull request #69718 from groud/finally_rename_gdnative_to_gdextensionRémi Verschelde
Rename all gdnative occurences to gdextension
2022-12-12Rename all gdnative occurences to gdextensionGilles Roudière
Non-exhaustive list of case-sensitive renames: GDExtension -> GDNative GDNATIVE -> GDEXTENSION gdextension -> gdnative ExtensionExtension ->Extension (for where there was GDNativeExtension) EXTENSION_EXTENSION ->EXTENSION (for where there was GDNATIVE_EXTENSION) gdnlib -> gdextension gdn_interface -> gde_interface gdni -> gde_interface
2022-12-07Merge pull request #69712 from bruvzg/real_sizeRémi Verschelde
Rename `window_get_real_size`, add position counterpart.
2022-12-07Rename `window_get_real_size` to `window_get_size_with_decorations`, add ↵bruvzg
`window_get_position_with_decorations`.
2022-12-07Fix Determining Window for TouchscreenMarkus Sauermann
DisplayServer::screen_is_touchscreen will likely never utilize its parameter p_screen. This PR replaces this function by DisplayServer::is_touchscreen_available() with the same functionality. This solves the problem, that a SubViewport was used for determining the screen, which resulted in error messages.
2022-12-04Use system fonts as fallback and improve system font handling.bruvzg
Add support for font weight and stretch selection when using system fonts. Add function to get system fallback font from a font name, style, text, and language code. Implement system font support for Android. Use system fonts as a last resort fallback.
2022-11-29[iOS] Read document and cache path directly in the OS code, instead of ↵bruvzg
passing in from main.
2022-11-28Merge pull request #68740 from bruvzg/ios_fixesRémi Verschelde
[iOS] Fix getting Unicode executable path, fix error spam on start.
2022-11-21[Export] Use image loader directly to avoid "resource as image file" errors.bruvzg
2022-11-18Windows icon export improvements.bruvzg
Regenerate Windows icon on export to ensure correct icon size order. Add support for using PNG/WebP/SVG files as an icon for Windows exports. Allow using WebP/SVG files as icon for macOS exports. Add option to select generated icons interpolation, and set default interpolation to Lanczos.
2022-11-17[iOS] iOS export improvements.bruvzg
Add export options to set Settings and Notification icons on export. Automatically fill background of the app store icon instead of failing (with warning). Update development region to use `en` instead of `English`.
2022-11-16[iOS] Fix getting Unicode executable path, fix "!configured" and ↵bruvzg
"!classes.has(ti.inherits)" error spam on start.
2022-11-08Remove duplicate project settings definitionskobewi
2022-11-01Load and use system emoji font in the editor.bruvzg
2022-10-31Merge pull request #68044 from ztc0611/ios-promotionRémi Verschelde
Add ProMotion/High Refresh Rate Support to iOS Exports
2022-10-31Add ProMotion Support to iOS ExportsZach Coleman
2022-10-31Merge pull request #67879 from bruvzg/fix_no_vlkRémi Verschelde
Fix build with Vulkan disabled and no Vulkan headers installed.
2022-10-31Merge pull request #67578 from KoBeWi/GEDITORRémi Verschelde
Unify usage of GLOBAL/EDITOR_GET
2022-10-28Merge pull request #67790 from kdada/fix-flash-windowClay John
Make creating window do not flicker when specify custom position
2022-10-26Fix build with Vulkan disabled and no Vulkan headers installed.bruvzg
2022-10-24Make window creation with custom position do not flashWei Guo
2022-10-22Add double_tap attribute to InputEventScreenTouchFredia Huya-Kouadio
This provides parity with the `InputEventMouseButton` allowing for proper conversion between the two events.
2022-10-18Unify usage of GLOBAL/EDITOR_GETkobewi
2022-10-17Merge pull request #67322 from ztc0611/add-ios-ui-optionsRémi Verschelde
Add iOS UI Options
2022-10-14Make some Image methods statickobewi
2022-10-12Add iOS UI OptionsZach Coleman
2022-09-30ci: add Python static analysis check via mypyJiri Suchan
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-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-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-16Add get_distribution_name() and get_version() to OSMJacred
supports: LinuxBSD, Windows, macOS, iOS, Android, UWP Co-authored-by: bruvzg
2022-09-13Check for ios_simulator when building for x86_64Ted Spikes
2022-09-08SCons: Refactor LTO options with `lto=<none|thin|full>`Rémi Verschelde
Adds support for LTO on macOS and Android. We don't have much experience with LTO on these platforms so for now we keep it disabled by default even when `production=yes` is set. Similarly for iOS where we ship object files for the user to link in Xcode so LTO makes builds extremely slow to link. `production=yes` defaults to full LTO. ThinLTO is much faster for LLVM-based compilers but seems to produce bigger binaries (at least for the Web platform).
2022-09-06Rename `range_lerp` to `remap`Micky
2022-08-29Rename String `plus_file` to `path_join`Aaron Franke
2022-08-26Merge pull request #64562 from bruvzg/fix_dup_localesRémi Verschelde
[macOS / iOS Export] Fix generation of duplicate locale property list files.
2022-08-25Improve platform-specific READMEs to add useful linksHugo Locurcio
This also adds READMEs for all platforms.