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
This commit is contained in:
parent
c8884ce3bd
commit
68b35de2b6
|
@ -911,6 +911,16 @@ Error EditorExportPlatform::save_zip(const Ref<EditorExportPreset> &p_preset, co
|
||||||
return OK;
|
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) {
|
void EditorExportPlatform::gen_export_flags(Vector<String> &r_flags, int p_flags) {
|
||||||
|
|
||||||
String host = EditorSettings::get_singleton()->get("network/debug/remote_host");
|
String host = EditorSettings::get_singleton()->get("network/debug/remote_host");
|
||||||
|
|
|
@ -243,6 +243,8 @@ public:
|
||||||
|
|
||||||
virtual String get_binary_extension(const Ref<EditorExportPreset> &p_preset) const = 0;
|
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_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;
|
virtual void get_platform_features(List<String> *r_features) = 0;
|
||||||
|
|
||||||
EditorExportPlatform();
|
EditorExportPlatform();
|
||||||
|
|
|
@ -483,12 +483,12 @@ void EditorNode::_fs_changed() {
|
||||||
Error err;
|
Error err;
|
||||||
if (!preset->is_runnable() && (export_defer.path.ends_with(".pck") || export_defer.path.ends_with(".zip"))) {
|
if (!preset->is_runnable() && (export_defer.path.ends_with(".pck") || export_defer.path.ends_with(".zip"))) {
|
||||||
if (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")) {
|
} 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 {
|
} 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) {
|
if (err != OK) {
|
||||||
ERR_PRINTS(vformat(TTR("Project export failed with error code %d."), (int)err));
|
ERR_PRINTS(vformat(TTR("Project export failed with error code %d."), (int)err));
|
||||||
|
|
|
@ -703,9 +703,9 @@ void ProjectExportDialog::_export_pck_zip_selected(const String &p_path) {
|
||||||
ERR_FAIL_COND(platform.is_null());
|
ERR_FAIL_COND(platform.is_null());
|
||||||
|
|
||||||
if (p_path.ends_with(".zip")) {
|
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")) {
|
} 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_debug->set_pressed(true);
|
||||||
export_project->get_vbox()->add_child(export_debug);
|
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);
|
set_hide_on_ok(false);
|
||||||
|
|
||||||
editor_icons = "EditorIcons";
|
editor_icons = "EditorIcons";
|
||||||
|
|
|
@ -131,6 +131,7 @@ private:
|
||||||
FileDialog *export_pck_zip;
|
FileDialog *export_pck_zip;
|
||||||
FileDialog *export_project;
|
FileDialog *export_project;
|
||||||
CheckButton *export_debug;
|
CheckButton *export_debug;
|
||||||
|
CheckButton *export_pck_zip_debug;
|
||||||
|
|
||||||
void _open_export_template_manager();
|
void _open_export_template_manager();
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue