diff --git a/editor/export/editor_export_platform_pc.cpp b/editor/export/editor_export_platform_pc.cpp index ec34ffd1df42..94c7da5d379e 100644 --- a/editor/export/editor_export_platform_pc.cpp +++ b/editor/export/editor_export_platform_pc.cpp @@ -34,17 +34,14 @@ #include "scene/resources/image_texture.h" void EditorExportPlatformPC::get_preset_features(const Ref &p_preset, List *r_features) const { - if (p_preset->get("texture_format/bptc")) { + if (p_preset->get("texture_format/bptc") || p_preset->get("texture_format/s3tc")) { r_features->push_back("bptc"); - } - if (p_preset->get("texture_format/s3tc")) { r_features->push_back("s3tc"); } - if (p_preset->get("texture_format/etc")) { - r_features->push_back("etc"); - } + if (p_preset->get("texture_format/etc2")) { r_features->push_back("etc2"); + r_features->push_back("astc"); } // PC platforms only have one architecture per export, since // we export a single executable instead of a bundle. @@ -103,6 +100,21 @@ bool EditorExportPlatformPC::has_valid_export_configuration(const Refget("texture_format/s3tc"); + bool uses_bptc = p_preset->get("texture_format/bptc"); + + if (uses_s3tc != uses_bptc) { + valid = false; + err += TTR("If using either s3tc or bptc texture format, you must use both s3tc and bptc."); + } + + bool uses_etc2 = p_preset->get("texture_format/etc2"); + + if (!uses_s3tc && !uses_bptc && !uses_etc2) { + valid = false; + err += TTR("A texture format must be selected to export the project. Please select at least one texture format."); + } + if (!err.is_empty()) { r_error = err; } diff --git a/platform/linuxbsd/doc_classes/EditorExportPlatformLinuxBSD.xml b/platform/linuxbsd/doc_classes/EditorExportPlatformLinuxBSD.xml index 07378566c3d7..01f41c51e46d 100644 --- a/platform/linuxbsd/doc_classes/EditorExportPlatformLinuxBSD.xml +++ b/platform/linuxbsd/doc_classes/EditorExportPlatformLinuxBSD.xml @@ -58,16 +58,16 @@ - [code]{cmd_args}[/code] - Array of the command line argument for the application. - If [code]true[/code], project textures are exported in the BPTC format. + If [code]true[/code], project textures are exported in the BPTC format. If used, [member texture_format/s3tc] must be used as well. - If [code]true[/code], project textures are exported in the ETC format. + This option does not do anything and may be removed in the future. If [code]true[/code], project textures are exported in the ETC2 format. - If [code]true[/code], project textures are exported in the S3TC format. + If [code]true[/code], project textures are exported in the S3TC format. If used, [member texture_format/bptc] must be used as well. diff --git a/platform/windows/doc_classes/EditorExportPlatformWindows.xml b/platform/windows/doc_classes/EditorExportPlatformWindows.xml index 2a286de100b9..6529ca554b83 100644 --- a/platform/windows/doc_classes/EditorExportPlatformWindows.xml +++ b/platform/windows/doc_classes/EditorExportPlatformWindows.xml @@ -124,16 +124,16 @@ - [code]{cmd_args}[/code] - Array of the command line argument for the application. - If [code]true[/code], project textures are exported in the BPTC format. + If [code]true[/code], project textures are exported in the BPTC format. If used, [member texture_format/s3tc] must be used as well. - If [code]true[/code], project textures are exported in the ETC format. + This option does not do anything and may be removed in the future. If [code]true[/code], project textures are exported in the ETC2 format. - If [code]true[/code], project textures are exported in the S3TC format. + If [code]true[/code], project textures are exported in the S3TC format. If used, [member texture_format/bptc] must be used as well.