summaryrefslogtreecommitdiff
path: root/core/io/resource_saver.h
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2021-08-21 22:52:44 -0300
committerreduz <reduzio@gmail.com>2021-08-22 08:23:58 -0300
commit3682978aee06cd5cf26ba462a4e44d352e9e0cd1 (patch)
treefee311b675144ae3a5fecc58857912ea250b1bb7 /core/io/resource_saver.h
parent2a5c64f2a188360d09f793c0dbd35e1911b4c073 (diff)
Replace BIND_VMETHOD by new GDVIRTUAL syntax
* New syntax is type safe. * New syntax allows for type safe virtuals in native extensions. * New syntax permits extremely fast calling. Note: Everything was replaced where possible except for `_gui_input` `_input` and `_unhandled_input`. These will require API rework on a separate PR as they work different than the rest of the functions. Added a new method flag METHOD_FLAG_OBJECT_CORE, used internally. Allows to not dump the core virtuals like `_notification` to the json API, since each language will implement those as it is best fits.
Diffstat (limited to 'core/io/resource_saver.h')
-rw-r--r--core/io/resource_saver.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/io/resource_saver.h b/core/io/resource_saver.h
index 2fc8d32126..fcde835dab 100644
--- a/core/io/resource_saver.h
+++ b/core/io/resource_saver.h
@@ -32,6 +32,8 @@
#define RESOURCE_SAVER_H
#include "core/io/resource.h"
+#include "core/object/gdvirtual.gen.inc"
+#include "core/object/script_language.h"
class ResourceFormatSaver : public RefCounted {
GDCLASS(ResourceFormatSaver, RefCounted);
@@ -39,6 +41,10 @@ class ResourceFormatSaver : public RefCounted {
protected:
static void _bind_methods();
+ GDVIRTUAL3R(int64_t, _save, String, RES, uint32_t)
+ GDVIRTUAL1RC(bool, _recognize, RES)
+ GDVIRTUAL1RC(Vector<String>, _get_recognized_extensions, RES)
+
public:
virtual Error save(const String &p_path, const RES &p_resource, uint32_t p_flags = 0);
virtual bool recognize(const RES &p_resource) const;