Commit Graph

70 Commits

Author SHA1 Message Date
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
Rémi Verschelde 339cb0e2a2
Merge pull request #90428 from bruvzg/macos_detect_helper_exes
[macOS export] Detect embedded helper executables using MachO header.
2024-04-29 13:00:34 +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
bruvzg bae27340c9
[macOS export] Detect embedded helper executables using MachO header. 2024-04-09 13:19:24 +03: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
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
Rémi Verschelde 747977807a
Merge pull request #87657 from bruvzg/app_dist
[macOS export] Allow unpacked .app export in "Distribution" export mode.
2024-02-13 17:23:59 +01:00
Rémi Verschelde 164ec4929f
Merge pull request #86934 from bruvzg/mac_icon_fix
[macOS export] Fix RLE icon generation.
2024-02-13 17:23:25 +01: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
bruvzg 34723b0d3a
[macOS export] Allow unpacked .app export in "Distribution" export mode. 2024-01-28 00:02:20 +02: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 491077239c
[macOS/iOS export] Add option to set custom Info.plist data. 2024-01-11 21:05:35 +02:00
bruvzg bf65c6514f
[macOS export] Fix RLE icon generation. 2024-01-07 18:58:46 +02:00
StagnationPoint 7035cf8c90 Add logging when macOS export will fail due to disabled texture formats. Since ETC2 ASTC is required for universal builds, also ensure it is enabled for them. 2024-01-05 02:44:59 -08: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
Alex Drozd 8f2b701892 Fix order of operations for macos template check 2023-11-26 23:26:32 +01:00
bruvzg 03662020a9
[macOS export] Improve icon generation. 2023-11-06 15:04:12 +02:00
bruvzg 6557e8aaaa
[macOS] Remove deprecated altool notarization support, add warning for rcodesign used with C# version. 2023-11-02 10:15:41 +02:00
bruvzg e45cc9c72b
Use "version" project setting as macOS/iOS "short_version" fallback. 2023-10-20 19:31:08 +03:00
Rémi Verschelde 5d300016a3
Merge pull request #81969 from bruvzg/macsign
[macOS export] Fix GDExtension framework `+x` flag errors, allow recursive signing on non macOS platform.
2023-10-03 17:21:15 +02:00
bruvzg 1887a9df19
[macOS/Windows] Add optional ANGLE backed OpenGL renderer support. Add EGL_ANDROID_blob_cache caching.
Co-authored-by: Riteo <riteo@posteo.net>
2023-09-21 14:21:00 +03:00
bruvzg f316283823
[macOS export] Fix GDExtension framework +x flag errors, allow recursive signing on non macOS platform. 2023-09-20 12:21:18 +03:00
kobewi 6de34fde27 Add EditorStringNames singleton 2023-09-03 19:58:18 +02:00
Aaron Franke ada360affe
Add a button in the export dialog to fix missing texture formats 2023-08-17 02:56:42 -05:00
Hugo Locurcio ad4480bf2e
Add a "version" project setting and use it in new export presets
This makes it easy to retrieve the project version at runtime
for display purposes, while simplifying the export preset configuration.
You can now leave the version empty unless you need to override it on a per-preset
basis.

Since export presets save the values of default values to the `export_presets.cfg`
file, this change only affects export presets created after this commit was merged.
2023-08-04 10:29:33 +02:00
bruvzg 56bd7adae4 [macOS Export] Disable unpacked .app bundle export on Windows. 2023-07-27 13:21:23 +03:00
Phil Hudson 076ef3bf6a iOS: Add `export_project_only` flag 2023-07-17 11:45:03 +02:00
Hendrik Brucker 7e21eb7e00 Extract and reorganize texture resource classes 2023-07-14 20:04:21 +02:00
bruvzg 4790da7900
[macOS] Implement optional native file selection dialog support for sandboxed apps. 2023-07-12 22:36:24 +03:00
Felipe Augusto Marques 26eb3db234 Added Image's `load_svg_from_(buffer|string)`
No core dependency to the svg module.
2023-06-23 00:43:43 -03:00
Rémi Verschelde 90446fe9f3
SCons: Move platform logo/run icon to `export` folder
Follow-up to #75932.
Since these icons are only used by the export plugin, it makes sense to
move them and generate the headers there.

The whole `detect.is_active()` logic seems to be a leftover from before
times, as far back as 1.0-stable it already wasn't used for anything.

So I'm removing it and moving the export icon generation to
`platform_methods`, where it makes more sense.
2023-06-20 13:16:37 +02:00
Aaron Franke a981158d1a
macOS: Finish checking templates before validating texture formats 2023-06-19 21:36:31 -05:00
Michael Alexsander 41a75cfa4f
Allow exporting release Android builds without a debug keystore 2023-06-19 01:00:13 -03:00
Rémi Verschelde 54a8adfd50
Merge pull request #75984 from KoBeWi/ConsoleMcWrap
Rename console script to wrapper
2023-06-12 22:54:24 +02:00
Rémi Verschelde 9e4315bb50
Style: Harmonize header includes in platform ports
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:

Includes from the platform port or module should be included with relative
paths (relative to the root folder of the modular component, e.g.
`platform/linuxbsd/`), in their own section before Godot's "core" includes.

The `api` and `export` subfolders also need to be handled as self-contained
(and thus use relative paths for their "local" includes) as they are all
compiled for each editor platform, without necessarily having the api/export
matching platform folder in the include path.
E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp`
and those need to use relative includes for it to work.
2023-06-08 15:19:19 +02:00
Michael Alexsander 71d8882a02
Enhance icon fallback and their docs for exporters 2023-06-03 19:28:50 -03:00
Rémi Verschelde 8623572b1f
Merge pull request #75666 from ronyeh/main.cpp-2
Rename `iconpath` => `icon_path` & `hasicon` => `has_icon`.
2023-06-02 17:26:18 +02:00
Andreas Raddau fab160ce70 Store sensitive export options in dedicated credentials file 2023-05-10 11:40:17 +02:00
bruvzg 0088981c40
[Export] Add readable descriptions and validation warnings to the export options. 2023-04-19 08:35:59 +03:00
kobewi a3799208c0 Rename console script to wrapper 2023-04-12 15:14:51 +02:00
Johan Mattsson 76e1d1363b
macOS export: Fix validation of codesigning certificate password 2023-04-11 18:45:46 +02:00
Ron B. Yeh c8cbc67156 Rename `iconpath => icon_path` & `hasicon => has_icon`. 2023-04-04 17:05:37 -07:00
Aaron Franke c53ab56633
macOS: Enable `display/high_res` by default 2023-02-17 10:27:28 -06:00
Juan Linietsky 28f51ba547 Refactor high quality texture import
* Only two texture import modes for low/high quality now:
  * S3TC/BPTC
  * ETC2/ASTC
* Makes sense given this is the general preferred and most compatible combination in most platforms.
* Removed lossy_quality from VRAM texture compression options. It was unused everywhere.
* Added a new "high_quality" option to texture import. When enabled, it uses BPTC/ASTC (BC7/ASTC4x4) instead of S3TC/ETC2 (DXT1-5/ETC2,ETCA).
* Changed MacOS export settings so required texture formats depend on the architecture selected.

This solves the following problems:

* Makes it simpler to import textures as high quality, without having to worry about the specific format used.
* As the editor can now run on platforms such as web, Mac OS with Apple Silicion and Android, it should no longer be assumed that S3TC/BPTC is available by default for it.
2023-01-30 15:53:23 +01:00
daviirodrig 240374c58f Fix split allow empty string in SSH export plugin 2023-01-27 05:09:30 -03:00
Rémi Verschelde 3dffe0b967
Merge pull request #63312 from bruvzg/one_click
[Export] Add one-click deploy over SSH for the desktop exports.
2023-01-13 18:00:18 +01:00
Patrick Gelvin 8495224d13 Require Apple Team ID when using notarytool
Adds a requirement that the Team ID is specified when
notarizing with the new notarytool.

Fixes #70307
2023-01-12 15:00:07 -07:00
Rémi Verschelde d95794ec8a
One Copyright Update to rule them all
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-05 13:25:55 +01:00
bruvzg cebefc9f5d
[Export] Add one-click deploy over SSH for the desktop exports.
Add one-click deploy over SSH for the desktop exports.
Add ZIP export option for Linux and Windows.
Change export plugin icons to SVG format.
2022-12-29 09:42:00 +02:00