Skip to content

Commit

Permalink
Merge pull request #90365 from KoBeWi/export_any%_speedrun
Browse files Browse the repository at this point in the history
Allow skipping imported resource files from export
  • Loading branch information
akien-mga committed May 30, 2024
2 parents 838eb5a + 398892c commit 53bd0d5
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 1 deletion.
2 changes: 1 addition & 1 deletion doc/classes/EditorExportPlugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -313,7 +313,7 @@
<method name="skip">
<return type="void" />
<description>
To be called inside [method _export_file]. Skips the current file, so it's not included in the export.
To be called inside [method _export_file], [method _customize_resource], or [method _customize_scene]. Skips the current file, so it's not included in the export.
</description>
</method>
</methods>
Expand Down
12 changes: 12 additions & 0 deletions editor/export/editor_export_platform.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -797,6 +797,10 @@ String EditorExportPlatform::_export_customize(const String &p_path, LocalVector
if (!customize_scenes_plugins.is_empty()) {
for (Ref<EditorExportPlugin> &plugin : customize_scenes_plugins) {
Node *customized = plugin->_customize_scene(node, p_path);
if (plugin->skipped) {
plugin->_clear();
return String();
}
if (customized != nullptr) {
node = customized;
modified = true;
Expand Down Expand Up @@ -830,6 +834,10 @@ String EditorExportPlatform::_export_customize(const String &p_path, LocalVector
if (!customize_resources_plugins.is_empty()) {
for (Ref<EditorExportPlugin> &plugin : customize_resources_plugins) {
Ref<Resource> new_res = plugin->_customize_resource(res, p_path);
if (plugin->skipped) {
plugin->_clear();
return String();
}
if (new_res.is_valid()) {
modified = true;
if (new_res != res) {
Expand Down Expand Up @@ -1135,6 +1143,10 @@ Error EditorExportPlatform::export_project_files(const Ref<EditorExportPreset> &
// 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.is_empty()) {
// Skipped from plugin.
continue;
}

if (export_path != path) {
// It was actually customized.
Expand Down

0 comments on commit 53bd0d5

Please sign in to comment.