mirror of
				https://github.com/godotengine/godot.git
				synced 2025-10-31 13:41:03 +00:00 
			
		
		
		
	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
(cherry picked from commit 68b35de2b6)
			
			
This commit is contained in:
		
							parent
							
								
									c358e4c728
								
							
						
					
					
						commit
						fe9da69f96
					
				
					 5 changed files with 23 additions and 5 deletions
				
			
		|  | @ -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(); | ||||||
|  |  | ||||||
|  | @ -460,12 +460,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)); | ||||||
|  |  | ||||||
|  | @ -697,9 +697,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); | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -975,6 +975,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…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Ignacio Etcheverry
						Ignacio Etcheverry