summaryrefslogtreecommitdiff
path: root/editor/export
diff options
context:
space:
mode:
authorclayjohn <claynjohn@gmail.com>2023-03-09 12:49:00 -0800
committerYuri Sizov <yuris@humnom.net>2023-03-27 16:26:13 +0200
commit5262fe21de8ec04a6b25b1a73c2789a7bdc3dc03 (patch)
treea3585d2296eeb481d03a79ac127d10702a65806f /editor/export
parentd8f0c2bdca653b4a1ec5ef3d173d798efc5005b2 (diff)
Delete unused compression formats from .imoprt files when exporting
(cherry picked from commit dec86164e123fe34b0406521e156aa967a96e66b)
Diffstat (limited to 'editor/export')
-rw-r--r--editor/export/editor_export_platform.cpp35
1 files changed, 23 insertions, 12 deletions
diff --git a/editor/export/editor_export_platform.cpp b/editor/export/editor_export_platform.cpp
index fe3c2333ed..fa6b0a7716 100644
--- a/editor/export/editor_export_platform.cpp
+++ b/editor/export/editor_export_platform.cpp
@@ -1026,13 +1026,13 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
String type = ResourceLoader::get_resource_type(path);
if (FileAccess::exists(path + ".import")) {
- // Before doing this, try to see if it can be customized
+ // Before doing this, try to see if it can be customized.
String export_path = _export_customize(path, customize_resources_plugins, customize_scenes_plugins, export_cache, export_base_path, false);
if (export_path != path) {
- // It was actually customized..
- // Since the original file is likely not recognized, just use the import system
+ // It was actually customized.
+ // Since the original file is likely not recognized, just use the import system.
Ref<ConfigFile> config;
config.instantiate();
@@ -1043,18 +1043,18 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
}
config->set_value("remap", "type", ResourceLoader::get_resource_type(export_path));
- // Erase all PAths
+ // Erase all Paths.
List<String> keys;
config->get_section_keys("remap", &keys);
for (const String &K : keys) {
- if (E.begins_with("path")) {
+ if (K.begins_with("path")) {
config->erase_section_key("remap", K);
}
}
// Set actual converted path.
config->set_value("remap", "path", export_path);
- // erase useless sections
+ // Erase useless sections.
config->erase_section("deps");
config->erase_section("params");
@@ -1075,7 +1075,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
return err;
}
} else {
- // file is imported and not customized, replace by what it imports
+ // File is imported and not customized, replace by what it imports.
Ref<ConfigFile> config;
config.instantiate();
err = config->load(path + ".import");
@@ -1087,7 +1087,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
String importer_type = config->get_value("remap", "importer");
if (importer_type == "keep") {
- //just keep file as-is
+ // Just keep file as-is.
Vector<uint8_t> array = FileAccess::get_file_as_bytes(path);
err = p_func(p_udata, path, array, idx, total, enc_in_filters, enc_ex_filters, key);
@@ -1130,6 +1130,9 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
String remapped_path = config->get_value("remap", remap);
Vector<uint8_t> array = FileAccess::get_file_as_bytes(remapped_path);
err = p_func(p_udata, remapped_path, array, idx, total, enc_in_filters, enc_ex_filters, key);
+ } else {
+ // Remove paths if feature not enabled.
+ config->erase_section_key("remap", remap);
}
}
}
@@ -1138,9 +1141,17 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
return err;
}
- //also save the .import file
- Vector<uint8_t> array = FileAccess::get_file_as_bytes(path + ".import");
- err = p_func(p_udata, path + ".import", array, idx, total, enc_in_filters, enc_ex_filters, key);
+ // Erase useless sections.
+ config->erase_section("deps");
+ config->erase_section("params");
+
+ String import_text = config->encode_to_text();
+ CharString cs = import_text.utf8();
+ Vector<uint8_t> sarr;
+ sarr.resize(cs.size());
+ memcpy(sarr.ptrw(), cs.ptr(), sarr.size());
+
+ err = p_func(p_udata, path + ".import", sarr, idx, total, enc_in_filters, enc_ex_filters, key);
if (err != OK) {
return err;
@@ -1148,7 +1159,7 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
}
} else {
- // Customize
+ // Customize.
bool do_export = true;
for (int i = 0; i < export_plugins.size(); i++) {