From f301451fa3304ad2072898838ea9801b044ffbd9 Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Sun, 20 Mar 2022 22:30:31 -0500 Subject: Move extension logic to EditorExportPlatformLinuxBSD --- platform/linuxbsd/export/export_plugin.cpp | 21 +++++++++++++++++++++ platform/linuxbsd/export/export_plugin.h | 3 +++ 2 files changed, 24 insertions(+) (limited to 'platform/linuxbsd/export') diff --git a/platform/linuxbsd/export/export_plugin.cpp b/platform/linuxbsd/export/export_plugin.cpp index 6300a37854..08fc9c0452 100644 --- a/platform/linuxbsd/export/export_plugin.cpp +++ b/platform/linuxbsd/export/export_plugin.cpp @@ -73,6 +73,27 @@ Error EditorExportPlatformLinuxBSD::export_project(const Ref return err; } +void EditorExportPlatformLinuxBSD::set_extension(const String &p_extension, const String &p_feature_key) { + extensions[p_feature_key] = p_extension; +} + +List EditorExportPlatformLinuxBSD::get_binary_extensions(const Ref &p_preset) const { + List list; + for (const KeyValue &E : extensions) { + if (p_preset->get(E.key)) { + list.push_back(extensions[E.key]); + return list; + } + } + + if (extensions.has("default")) { + list.push_back(extensions["default"]); + return list; + } + + return list; +} + Error EditorExportPlatformLinuxBSD::fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const { // Patch the header of the "pck" section in the ELF file so that it corresponds to the embedded data diff --git a/platform/linuxbsd/export/export_plugin.h b/platform/linuxbsd/export/export_plugin.h index ba6c9a6a6b..593916e586 100644 --- a/platform/linuxbsd/export/export_plugin.h +++ b/platform/linuxbsd/export/export_plugin.h @@ -38,9 +38,12 @@ #include "scene/resources/texture.h" class EditorExportPlatformLinuxBSD : public EditorExportPlatformPC { + Map extensions; Error _export_debug_script(const Ref &p_preset, const String &p_app_name, const String &p_pkg_name, const String &p_path); public: + void set_extension(const String &p_extension, const String &p_feature_key = "default"); + virtual List get_binary_extensions(const Ref &p_preset) const override; virtual Error export_project(const Ref &p_preset, bool p_debug, const String &p_path, int p_flags = 0) override; virtual Error fixup_embedded_pck(const String &p_path, int64_t p_embedded_start, int64_t p_embedded_size) const override; }; -- cgit v1.2.3