summaryrefslogtreecommitdiff
path: root/editor
diff options
context:
space:
mode:
authorIgnacio Etcheverry <ignalfonsore@gmail.com>2018-04-26 23:08:19 +0200
committerIgnacio Etcheverry <ignalfonsore@gmail.com>2018-04-26 23:21:05 +0200
commit68b35de2b6ea23178061f65bc28b4f73e0c65f35 (patch)
treef1e13db46ba94147a8eb9f8bff775b13004726c7 /editor
parentc8884ce3bddfeb2dead4208047edb27f97a7e78d (diff)
Make 'Export PCK/ZIP' work well with EditorExportPlugin
Add debug flag to the 'Export PCK/ZIP' option Make 'Export PCK/ZIP' notify when the export process begins. This is necessary to receive the 'EditorExportPlugin::_export_begin' callback
Diffstat (limited to 'editor')
-rw-r--r--editor/editor_export.cpp10
-rw-r--r--editor/editor_export.h2
-rw-r--r--editor/editor_node.cpp6
-rw-r--r--editor/project_export.cpp9
-rw-r--r--editor/project_export.h1
5 files changed, 23 insertions, 5 deletions
diff --git a/editor/editor_export.cpp b/editor/editor_export.cpp
index 7456cc902a..176d3606ea 100644
--- a/editor/editor_export.cpp
+++ b/editor/editor_export.cpp
@@ -911,6 +911,16 @@ Error EditorExportPlatform::save_zip(const Ref<EditorExportPreset> &p_preset, co
return OK;
}
+Error EditorExportPlatform::export_pack(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
+ ExportNotifier notifier(*this, p_preset, p_debug, p_path, p_flags);
+ return save_pack(p_preset, p_path);
+}
+
+Error EditorExportPlatform::export_zip(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags) {
+ ExportNotifier notifier(*this, p_preset, p_debug, p_path, p_flags);
+ return save_zip(p_preset, p_path);
+}
+
void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags) {
String host = EditorSettings::get_singleton()->get("network/debug/remote_host");
diff --git a/editor/editor_export.h b/editor/editor_export.h
index e851769279..e16ec54470 100644
--- a/editor/editor_export.h
+++ b/editor/editor_export.h
@@ -243,6 +243,8 @@ public:
virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const = 0;
virtual Error export_project(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0) = 0;
+ virtual Error export_pack(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
+ virtual Error export_zip(const Ref<EditorExportPreset> &p_preset, bool p_debug, const String &p_path, int p_flags = 0);
virtual void get_platform_features(List<String> *r_features) = 0;
EditorExportPlatform();
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index d6e1a91245..a2e0576602 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -483,12 +483,12 @@ void EditorNode::_fs_changed() {
Error err;
if (!preset->is_runnable() && (export_defer.path.ends_with(".pck") || export_defer.path.ends_with(".zip"))) {
if (export_defer.path.ends_with(".zip")) {
- err = platform->save_zip(preset, export_defer.path);
+ err = platform->export_zip(preset, export_defer.debug, export_defer.path);
} else if (export_defer.path.ends_with(".pck")) {
- err = platform->save_pack(preset, export_defer.path);
+ err = platform->export_pack(preset, export_defer.debug, export_defer.path);
}
} else {
- err = platform->export_project(preset, export_defer.debug, export_defer.path, /*p_flags*/ 0);
+ err = platform->export_project(preset, export_defer.debug, export_defer.path);
}
if (err != OK) {
ERR_PRINTS(vformat(TTR("Project export failed with error code %d."), (int)err));
diff --git a/editor/project_export.cpp b/editor/project_export.cpp
index 7e9a884142..8b8c756219 100644
--- a/editor/project_export.cpp
+++ b/editor/project_export.cpp
@@ -703,9 +703,9 @@ void ProjectExportDialog::_export_pck_zip_selected(const String &p_path) {
ERR_FAIL_COND(platform.is_null());
if (p_path.ends_with(".zip")) {
- platform->save_zip(current, p_path);
+ platform->export_zip(current, export_pck_zip_debug->is_pressed(), p_path);
} else if (p_path.ends_with(".pck")) {
- platform->save_pack(current, p_path);
+ platform->export_pack(current, export_pck_zip_debug->is_pressed(), p_path);
}
}
@@ -981,6 +981,11 @@ ProjectExportDialog::ProjectExportDialog() {
export_debug->set_pressed(true);
export_project->get_vbox()->add_child(export_debug);
+ export_pck_zip_debug = memnew(CheckButton);
+ export_pck_zip_debug->set_text(TTR("Export With Debug"));
+ export_pck_zip_debug->set_pressed(true);
+ export_pck_zip->get_vbox()->add_child(export_pck_zip_debug);
+
set_hide_on_ok(false);
editor_icons = "EditorIcons";
diff --git a/editor/project_export.h b/editor/project_export.h
index 6c74743769..b62254974d 100644
--- a/editor/project_export.h
+++ b/editor/project_export.h
@@ -131,6 +131,7 @@ private:
FileDialog *export_pck_zip;
FileDialog *export_project;
CheckButton *export_debug;
+ CheckButton *export_pck_zip_debug;
void _open_export_template_manager();