1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Merge pull request #110837 from wheatear-dev/add-gdsoftclass-deeper

Add `GDSOFTCLASS` to deeper inheritors of `Object`
This commit is contained in:
Thaddeus Crews
2025-09-25 12:13:56 -05:00
51 changed files with 154 additions and 18 deletions

View File

@@ -149,6 +149,8 @@ public:
}; };
class ResourceFormatLoaderCrypto : public ResourceFormatLoader { class ResourceFormatLoaderCrypto : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderCrypto, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -161,6 +163,8 @@ public:
}; };
class ResourceFormatSaverCrypto : public ResourceFormatSaver { class ResourceFormatSaverCrypto : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverCrypto, ResourceFormatSaver);
public: public:
virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;
virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override; virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override;

View File

@@ -48,9 +48,9 @@ class RemoteDebugger::PerformanceProfiler : public EngineProfiler {
uint64_t last_monitor_modification_time = 0; uint64_t last_monitor_modification_time = 0;
public: public:
void toggle(bool p_enable, const Array &p_opts) {} void toggle(bool p_enable, const Array &p_opts) override {}
void add(const Array &p_data) {} void add(const Array &p_data) override {}
void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time) { void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time) override {
if (!performance) { if (!performance) {
return; return;
} }

View File

@@ -37,6 +37,8 @@
#include "core/string/ustring.h" #include "core/string/ustring.h"
class RemoteDebuggerPeer : public RefCounted { class RemoteDebuggerPeer : public RefCounted {
GDSOFTCLASS(RemoteDebuggerPeer, RefCounted);
protected: protected:
int max_queued_messages = 4096; int max_queued_messages = 4096;
@@ -54,6 +56,8 @@ public:
}; };
class RemoteDebuggerPeerTCP : public RemoteDebuggerPeer { class RemoteDebuggerPeerTCP : public RemoteDebuggerPeer {
GDSOFTCLASS(RemoteDebuggerPeerTCP, RemoteDebuggerPeer);
private: private:
Ref<StreamPeerTCP> tcp_client; Ref<StreamPeerTCP> tcp_client;
Mutex mutex; Mutex mutex;

View File

@@ -183,6 +183,8 @@ public:
VARIANT_ENUM_CAST(GDExtension::InitializationLevel) VARIANT_ENUM_CAST(GDExtension::InitializationLevel)
class GDExtensionResourceLoader : public ResourceFormatLoader { class GDExtensionResourceLoader : public ResourceFormatLoader {
GDSOFTCLASS(GDExtensionResourceLoader, ResourceFormatLoader);
public: public:
static Error load_gdextension_resource(const String &p_path, Ref<GDExtension> &p_extension); static Error load_gdextension_resource(const String &p_path, Ref<GDExtension> &p_extension);

View File

@@ -35,6 +35,8 @@
#include "core/crypto/crypto.h" #include "core/crypto/crypto.h"
class HTTPClientTCP : public HTTPClient { class HTTPClientTCP : public HTTPClient {
GDSOFTCLASS(HTTPClientTCP, HTTPClient);
private: private:
Status status = STATUS_DISCONNECTED; Status status = STATUS_DISCONNECTED;
IP::ResolverID resolving = IP::RESOLVER_INVALID_ID; IP::ResolverID resolving = IP::RESOLVER_INVALID_ID;

View File

@@ -101,6 +101,8 @@ public:
}; };
class ResourceFormatLoaderImage : public ResourceFormatLoader { class ResourceFormatLoaderImage : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderImage, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;

View File

@@ -107,6 +107,8 @@ public:
}; };
class ResourceFormatLoaderJSON : public ResourceFormatLoader { class ResourceFormatLoaderJSON : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderJSON, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -119,6 +121,8 @@ public:
}; };
class ResourceFormatSaverJSON : public ResourceFormatSaver { class ResourceFormatSaverJSON : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverJSON, ResourceFormatSaver);
public: public:
virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;
virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override; virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override;

View File

@@ -37,6 +37,8 @@
class PListNode; class PListNode;
class PList : public RefCounted { class PList : public RefCounted {
GDSOFTCLASS(PList, RefCounted);
friend class PListNode; friend class PListNode;
public: public:

View File

@@ -108,6 +108,8 @@ public:
}; };
class ResourceFormatLoaderBinary : public ResourceFormatLoader { class ResourceFormatLoaderBinary : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderBinary, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const override; virtual void get_recognized_extensions_for_type(const String &p_type, List<String> *p_extensions) const override;
@@ -179,6 +181,8 @@ public:
}; };
class ResourceFormatSaverBinary : public ResourceFormatSaver { class ResourceFormatSaverBinary : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverBinary, ResourceFormatSaver);
public: public:
static inline ResourceFormatSaverBinary *singleton = nullptr; static inline ResourceFormatSaverBinary *singleton = nullptr;
virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;

View File

@@ -39,6 +39,8 @@ class ResourceFormatImporter;
typedef Ref<Resource> (*ResourceFormatImporterLoadOnStartup)(ResourceFormatImporter *p_importer, const String &p_path, Error *r_error, bool p_use_sub_threads, float *r_progress, ResourceFormatLoader::CacheMode p_cache_mode); typedef Ref<Resource> (*ResourceFormatImporterLoadOnStartup)(ResourceFormatImporter *p_importer, const String &p_path, Error *r_error, bool p_use_sub_threads, float *r_progress, ResourceFormatLoader::CacheMode p_cache_mode);
class ResourceFormatImporter : public ResourceFormatLoader { class ResourceFormatImporter : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatImporter, ResourceFormatLoader);
struct PathAndType { struct PathAndType {
String path; String path;
String type; String type;

View File

@@ -35,6 +35,8 @@
#include "core/string/translation.h" #include "core/string/translation.h"
class TranslationLoaderPO : public ResourceFormatLoader { class TranslationLoaderPO : public ResourceFormatLoader {
GDSOFTCLASS(TranslationLoaderPO, ResourceFormatLoader);
public: public:
static Ref<Resource> load_translation(Ref<FileAccess> f, Error *r_error = nullptr); static Ref<Resource> load_translation(Ref<FileAccess> f, Error *r_error = nullptr);
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;

View File

@@ -50,6 +50,8 @@ class TranslationPO : public Translation {
// Cache temporary variables related to _get_plural_index() to make it faster // Cache temporary variables related to _get_plural_index() to make it faster
class EQNode : public RefCounted { class EQNode : public RefCounted {
GDSOFTCLASS(EQNode, RefCounted);
public: public:
String regex; String regex;
Ref<EQNode> left; Ref<EQNode> left;

View File

@@ -34,6 +34,8 @@
#include "core/io/resource_saver.h" #include "core/io/resource_saver.h"
class ResourceSaverPNG : public ResourceFormatSaver { class ResourceSaverPNG : public ResourceFormatSaver {
GDSOFTCLASS(ResourceSaverPNG, ResourceFormatSaver);
public: public:
static Error save_image(const String &p_path, const Ref<Image> &p_img); static Error save_image(const String &p_path, const Ref<Image> &p_img);
static Vector<uint8_t> save_image_to_buffer(const Ref<Image> &p_img); static Vector<uint8_t> save_image_to_buffer(const Ref<Image> &p_img);

View File

@@ -37,6 +37,8 @@
#include <sys/socket.h> #include <sys/socket.h>
class NetSocketUnix : public NetSocket { class NetSocketUnix : public NetSocket {
GDSOFTCLASS(NetSocketUnix, NetSocket);
private: private:
int _sock = -1; int _sock = -1;
IP::Type _ip_type = IP::TYPE_NONE; IP::Type _ip_type = IP::TYPE_NONE;

View File

@@ -38,6 +38,8 @@
#include <ws2tcpip.h> #include <ws2tcpip.h>
class NetSocketWinSock : public NetSocket { class NetSocketWinSock : public NetSocket {
GDSOFTCLASS(NetSocketWinSock, NetSocket);
private: private:
SOCKET _sock = INVALID_SOCKET; SOCKET _sock = INVALID_SOCKET;
IP::Type _ip_type = IP::TYPE_NONE; IP::Type _ip_type = IP::TYPE_NONE;

View File

@@ -37,6 +37,8 @@
#include "editor/settings/editor_settings.h" #include "editor/settings/editor_settings.h"
class EditorDebuggerServerTCP : public EditorDebuggerServer { class EditorDebuggerServerTCP : public EditorDebuggerServer {
GDSOFTCLASS(EditorDebuggerServerTCP, EditorDebuggerServer);
private: private:
Ref<TCPServer> server; Ref<TCPServer> server;
String endpoint; String endpoint;

View File

@@ -34,6 +34,8 @@
#include "core/object/ref_counted.h" #include "core/object/ref_counted.h"
class EditorDebuggerServer : public RefCounted { class EditorDebuggerServer : public RefCounted {
GDSOFTCLASS(EditorDebuggerServer, RefCounted);
public: public:
typedef EditorDebuggerServer *(*CreateServerFunc)(const String &p_uri); typedef EditorDebuggerServer *(*CreateServerFunc)(const String &p_uri);

View File

@@ -132,6 +132,8 @@ public:
// Note: Proper code generator is not implemented (any we probably won't ever need it), just a hardcoded bytecode for the limited set of cases. // Note: Proper code generator is not implemented (any we probably won't ever need it), just a hardcoded bytecode for the limited set of cases.
class CodeSignRequirements : public CodeSignBlob { class CodeSignRequirements : public CodeSignBlob {
GDSOFTCLASS(CodeSignRequirements, CodeSignBlob);
PackedByteArray blob; PackedByteArray blob;
static inline size_t PAD(size_t s, size_t a) { static inline size_t PAD(size_t s, size_t a) {
@@ -168,6 +170,8 @@ public:
// PList formatted entitlements. // PList formatted entitlements.
class CodeSignEntitlementsText : public CodeSignBlob { class CodeSignEntitlementsText : public CodeSignBlob {
GDSOFTCLASS(CodeSignEntitlementsText, CodeSignBlob);
PackedByteArray blob; PackedByteArray blob;
public: public:
@@ -190,6 +194,8 @@ public:
// ASN.1 serialized entitlements. // ASN.1 serialized entitlements.
class CodeSignEntitlementsBinary : public CodeSignBlob { class CodeSignEntitlementsBinary : public CodeSignBlob {
GDSOFTCLASS(CodeSignEntitlementsBinary, CodeSignBlob);
PackedByteArray blob; PackedByteArray blob;
public: public:
@@ -212,6 +218,8 @@ public:
// Code Directory, runtime options, code segment and special structure hashes. // Code Directory, runtime options, code segment and special structure hashes.
class CodeSignCodeDirectory : public CodeSignBlob { class CodeSignCodeDirectory : public CodeSignBlob {
GDSOFTCLASS(CodeSignCodeDirectory, CodeSignBlob);
public: public:
enum Slot { enum Slot {
SLOT_INFO_PLIST = -1, SLOT_INFO_PLIST = -1,
@@ -312,6 +320,8 @@ public:
/*************************************************************************/ /*************************************************************************/
class CodeSignSignature : public CodeSignBlob { class CodeSignSignature : public CodeSignBlob {
GDSOFTCLASS(CodeSignSignature, CodeSignBlob);
PackedByteArray blob; PackedByteArray blob;
public: public:

View File

@@ -33,6 +33,8 @@
#include "editor/export/editor_export_plugin.h" #include "editor/export/editor_export_plugin.h"
class DedicatedServerExportPlugin : public EditorExportPlugin { class DedicatedServerExportPlugin : public EditorExportPlugin {
GDSOFTCLASS(DedicatedServerExportPlugin, EditorExportPlugin);
private: private:
EditorExportPreset::FileExportMode current_export_mode; EditorExportPreset::FileExportMode current_export_mode;

View File

@@ -34,9 +34,11 @@
#include "editor/export/editor_export.h" #include "editor/export/editor_export.h"
class GDExtensionExportPlugin : public EditorExportPlugin { class GDExtensionExportPlugin : public EditorExportPlugin {
GDSOFTCLASS(GDExtensionExportPlugin, EditorExportPlugin);
protected: protected:
virtual void _export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features); virtual void _export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) override;
virtual String get_name() const { return "GDExtension"; } virtual String get_name() const override { return "GDExtension"; }
}; };
void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) { void GDExtensionExportPlugin::_export_file(const String &p_path, const String &p_type, const HashSet<String> &p_features) {

View File

@@ -36,6 +36,8 @@
#include "core/object/ref_counted.h" #include "core/object/ref_counted.h"
class LipO : public RefCounted { class LipO : public RefCounted {
GDSOFTCLASS(LipO, RefCounted);
struct FatArch { struct FatArch {
uint32_t cputype; uint32_t cputype;
uint32_t cpusubtype; uint32_t cpusubtype;

View File

@@ -36,6 +36,8 @@
#include "core/object/ref_counted.h" #include "core/object/ref_counted.h"
class MachO : public RefCounted { class MachO : public RefCounted {
GDSOFTCLASS(MachO, RefCounted);
public: public:
struct MachHeader { struct MachHeader {
uint32_t cputype; uint32_t cputype;

View File

@@ -44,6 +44,8 @@ public:
}; };
class ShaderBakerExportPlugin : public EditorExportPlugin { class ShaderBakerExportPlugin : public EditorExportPlugin {
GDSOFTCLASS(ShaderBakerExportPlugin, EditorExportPlugin);
protected: protected:
struct WorkItem { struct WorkItem {
String cache_path; String cache_path;

View File

@@ -33,6 +33,8 @@
#include "editor/export/shader_baker_export_plugin.h" #include "editor/export/shader_baker_export_plugin.h"
class ShaderBakerExportPluginPlatformMetal : public ShaderBakerExportPluginPlatform { class ShaderBakerExportPluginPlatformMetal : public ShaderBakerExportPluginPlatform {
GDSOFTCLASS(ShaderBakerExportPluginPlatformMetal, ShaderBakerExportPluginPlatform);
public: public:
virtual RenderingShaderContainerFormat *create_shader_container_format(const Ref<EditorExportPlatform> &p_platform, const Ref<EditorExportPreset> &p_preset) override; virtual RenderingShaderContainerFormat *create_shader_container_format(const Ref<EditorExportPlatform> &p_platform, const Ref<EditorExportPreset> &p_preset) override;
virtual bool matches_driver(const String &p_driver) override; virtual bool matches_driver(const String &p_driver) override;

View File

@@ -91,6 +91,8 @@ Error _betsy_compress_bptc(Image *r_img, Image::UsedChannels p_channels);
Error _betsy_compress_s3tc(Image *r_img, Image::UsedChannels p_channels); Error _betsy_compress_s3tc(Image *r_img, Image::UsedChannels p_channels);
class BetsyCompressor : public Object { class BetsyCompressor : public Object {
GDSOFTCLASS(BetsyCompressor, Object);
mutable CommandQueueMT command_queue; mutable CommandQueueMT command_queue;
bool exit = false; bool exit = false;
WorkerThreadPool::TaskID task_id = WorkerThreadPool::INVALID_TASK_ID; WorkerThreadPool::TaskID task_id = WorkerThreadPool::INVALID_TASK_ID;

View File

@@ -33,6 +33,8 @@
#include "core/io/resource_loader.h" #include "core/io/resource_loader.h"
class ResourceFormatDDS : public ResourceFormatLoader { class ResourceFormatDDS : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatDDS, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;

View File

@@ -677,6 +677,8 @@ public:
}; };
class ResourceFormatLoaderGDScript : public ResourceFormatLoader { class ResourceFormatLoaderGDScript : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderGDScript, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -687,6 +689,8 @@ public:
}; };
class ResourceFormatSaverGDScript : public ResourceFormatSaver { class ResourceFormatSaverGDScript : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverGDScript, ResourceFormatSaver);
public: public:
virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;
virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override; virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override;

View File

@@ -34,6 +34,8 @@
#include "scene/resources/texture.h" #include "scene/resources/texture.h"
class ResourceFormatKTX : public ResourceFormatLoader { class ResourceFormatKTX : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatKTX, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;

View File

@@ -43,6 +43,8 @@
class TLSContextMbedTLS; class TLSContextMbedTLS;
class CookieContextMbedTLS : public RefCounted { class CookieContextMbedTLS : public RefCounted {
GDSOFTCLASS(CookieContextMbedTLS, RefCounted);
friend class TLSContextMbedTLS; friend class TLSContextMbedTLS;
protected: protected:
@@ -60,6 +62,8 @@ public:
}; };
class TLSContextMbedTLS : public RefCounted { class TLSContextMbedTLS : public RefCounted {
GDSOFTCLASS(TLSContextMbedTLS, RefCounted);
protected: protected:
bool inited = false; bool inited = false;

View File

@@ -589,6 +589,8 @@ public:
}; };
class ResourceFormatLoaderCSharpScript : public ResourceFormatLoader { class ResourceFormatLoaderCSharpScript : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderCSharpScript, ResourceFormatLoader);
public: public:
Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
void get_recognized_extensions(List<String> *p_extensions) const override; void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -597,6 +599,8 @@ public:
}; };
class ResourceFormatSaverCSharpScript : public ResourceFormatSaver { class ResourceFormatSaverCSharpScript : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverCSharpScript, ResourceFormatSaver);
public: public:
Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;
void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override; void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override;

View File

@@ -77,6 +77,8 @@ public:
private: private:
class BandwidthProfiler : public EngineProfiler { class BandwidthProfiler : public EngineProfiler {
GDSOFTCLASS(BandwidthProfiler, EngineProfiler);
protected: protected:
struct BandwidthFrame { struct BandwidthFrame {
uint32_t timestamp; uint32_t timestamp;
@@ -92,12 +94,14 @@ private:
int bandwidth_usage(const Vector<BandwidthFrame> &p_buffer, int p_pointer); int bandwidth_usage(const Vector<BandwidthFrame> &p_buffer, int p_pointer);
public: public:
void toggle(bool p_enable, const Array &p_opts); void toggle(bool p_enable, const Array &p_opts) override;
void add(const Array &p_data); void add(const Array &p_data) override;
void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time); void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time) override;
}; };
class RPCProfiler : public EngineProfiler { class RPCProfiler : public EngineProfiler {
GDSOFTCLASS(RPCProfiler, EngineProfiler);
private: private:
HashMap<ObjectID, RPCNodeInfo> rpc_node_data; HashMap<ObjectID, RPCNodeInfo> rpc_node_data;
uint64_t last_profile_time = 0; uint64_t last_profile_time = 0;
@@ -105,20 +109,22 @@ private:
void init_node(const ObjectID p_node); void init_node(const ObjectID p_node);
public: public:
void toggle(bool p_enable, const Array &p_opts); void toggle(bool p_enable, const Array &p_opts) override;
void add(const Array &p_data); void add(const Array &p_data) override;
void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time); void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time) override;
}; };
class ReplicationProfiler : public EngineProfiler { class ReplicationProfiler : public EngineProfiler {
GDSOFTCLASS(ReplicationProfiler, EngineProfiler);
private: private:
HashMap<ObjectID, SyncInfo> sync_data; HashMap<ObjectID, SyncInfo> sync_data;
uint64_t last_profile_time = 0; uint64_t last_profile_time = 0;
public: public:
void toggle(bool p_enable, const Array &p_opts); void toggle(bool p_enable, const Array &p_opts) override;
void add(const Array &p_data); void add(const Array &p_data) override;
void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time); void tick(double p_frame_time, double p_process_time, double p_physics_time, double p_physics_frame_time) override;
}; };
static Error _capture(void *p_user, const String &p_msg, const Array &p_args, bool &r_captured); static Error _capture(void *p_user, const String &p_msg, const Array &p_args, bool &r_captured);

View File

@@ -42,6 +42,8 @@ class NavigationPolygon;
class NavigationMeshSourceGeometryData2D; class NavigationMeshSourceGeometryData2D;
class NavMeshGenerator2D : public Object { class NavMeshGenerator2D : public Object {
GDSOFTCLASS(NavMeshGenerator2D, Object);
static NavMeshGenerator2D *singleton; static NavMeshGenerator2D *singleton;
static Mutex baking_navmesh_mutex; static Mutex baking_navmesh_mutex;

View File

@@ -40,6 +40,8 @@ class NavigationMesh;
class NavigationMeshSourceGeometryData3D; class NavigationMeshSourceGeometryData3D;
class NavMeshGenerator3D : public Object { class NavMeshGenerator3D : public Object {
GDSOFTCLASS(NavMeshGenerator3D, Object);
static NavMeshGenerator3D *singleton; static NavMeshGenerator3D *singleton;
static Mutex baking_navmesh_mutex; static Mutex baking_navmesh_mutex;

View File

@@ -173,6 +173,8 @@ public:
}; };
class ResourceFormatLoaderTheora : public ResourceFormatLoader { class ResourceFormatLoaderTheora : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderTheora, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;

View File

@@ -34,6 +34,8 @@
#include "core/io/resource_saver.h" #include "core/io/resource_saver.h"
class ResourceSaverWebP : public ResourceFormatSaver { class ResourceSaverWebP : public ResourceFormatSaver {
GDSOFTCLASS(ResourceSaverWebP, ResourceFormatSaver);
public: public:
static Error save_image(const String &p_path, const Ref<Image> &p_img, const bool p_lossy = false, const float p_quality = 0.75f); static Error save_image(const String &p_path, const Ref<Image> &p_img, const bool p_lossy = false, const float p_quality = 0.75f);
static Vector<uint8_t> save_image_to_buffer(const Ref<Image> &p_img, const bool p_lossy = false, const float p_quality = 0.75f); static Vector<uint8_t> save_image_to_buffer(const Ref<Image> &p_img, const bool p_lossy = false, const float p_quality = 0.75f);

View File

@@ -35,6 +35,8 @@
#include "core/debugger/remote_debugger_peer.h" #include "core/debugger/remote_debugger_peer.h"
class RemoteDebuggerPeerWebSocket : public RemoteDebuggerPeer { class RemoteDebuggerPeerWebSocket : public RemoteDebuggerPeer {
GDSOFTCLASS(RemoteDebuggerPeerWebSocket, RemoteDebuggerPeer);
Ref<WebSocketPeer> ws_peer; Ref<WebSocketPeer> ws_peer;
List<Array> in_queue; List<Array> in_queue;
List<Array> out_queue; List<Array> out_queue;

View File

@@ -44,6 +44,8 @@
* joins/leaves a multicast group. * joins/leaves a multicast group.
*/ */
class NetSocketAndroid : public NetSocketUnix { class NetSocketAndroid : public NetSocketUnix {
GDSOFTCLASS(NetSocketAndroid, NetSocketUnix);
private: private:
static jobject net_utils; static jobject net_utils;
static jclass cls; static jclass cls;
@@ -64,11 +66,11 @@ public:
static void setup(jobject p_net_utils); static void setup(jobject p_net_utils);
static void terminate(); static void terminate();
virtual void close(); virtual void close() override;
virtual Error set_broadcasting_enabled(bool p_enabled); virtual Error set_broadcasting_enabled(bool p_enabled) override;
virtual Error join_multicast_group(const IPAddress &p_multi_address, const String &p_if_name); virtual Error join_multicast_group(const IPAddress &p_multi_address, const String &p_if_name) override;
virtual Error leave_multicast_group(const IPAddress &p_multi_address, const String &p_if_name); virtual Error leave_multicast_group(const IPAddress &p_multi_address, const String &p_if_name) override;
NetSocketAndroid() {} NetSocketAndroid() {}
~NetSocketAndroid(); ~NetSocketAndroid();

View File

@@ -37,6 +37,8 @@
#include "editor/file_system/editor_paths.h" #include "editor/file_system/editor_paths.h"
class EditorHTTPServer : public RefCounted { class EditorHTTPServer : public RefCounted {
GDSOFTCLASS(EditorHTTPServer, RefCounted);
private: private:
Ref<TCPServer> server; Ref<TCPServer> server;
HashMap<String, String> mimes; HashMap<String, String> mimes;

View File

@@ -56,6 +56,8 @@ extern int godot_js_fetch_is_chunked(int p_id);
#endif #endif
class HTTPClientWeb : public HTTPClient { class HTTPClientWeb : public HTTPClient {
GDSOFTCLASS(HTTPClientWeb, HTTPClient);
private: private:
int js_id = 0; int js_id = 0;
Status status = STATUS_DISCONNECTED; Status status = STATUS_DISCONNECTED;

View File

@@ -35,6 +35,8 @@
#include <sys/socket.h> #include <sys/socket.h>
class NetSocketWeb : public NetSocket { class NetSocketWeb : public NetSocket {
GDSOFTCLASS(NetSocketWeb, NetSocket);
protected: protected:
static NetSocket *_create_func(); static NetSocket *_create_func();

View File

@@ -33,6 +33,8 @@
#include "core/object/ref_counted.h" #include "core/object/ref_counted.h"
class VelocityTracker3D : public RefCounted { class VelocityTracker3D : public RefCounted {
GDSOFTCLASS(VelocityTracker3D, RefCounted);
struct PositionHistory { struct PositionHistory {
uint64_t frame = 0; uint64_t frame = 0;
Vector3 position; Vector3 position;

View File

@@ -37,6 +37,8 @@
class GraphEdit; class GraphEdit;
class GraphEditArranger : public RefCounted { class GraphEditArranger : public RefCounted {
GDSOFTCLASS(GraphEditArranger, RefCounted);
enum SET_OPERATIONS { enum SET_OPERATIONS {
IS_EQUAL, IS_EQUAL,
IS_SUBSET, IS_SUBSET,

View File

@@ -110,6 +110,8 @@ public:
}; };
class ResourceFormatLoaderCompressedTexture2D : public ResourceFormatLoader { class ResourceFormatLoaderCompressedTexture2D : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderCompressedTexture2D, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -174,6 +176,8 @@ public:
}; };
class ResourceFormatLoaderCompressedTextureLayered : public ResourceFormatLoader { class ResourceFormatLoaderCompressedTextureLayered : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderCompressedTextureLayered, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -258,6 +262,8 @@ public:
}; };
class ResourceFormatLoaderCompressedTexture3D : public ResourceFormatLoader { class ResourceFormatLoaderCompressedTexture3D : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderCompressedTexture3D, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;

View File

@@ -143,6 +143,8 @@ public:
}; };
class ResourceFormatLoaderText : public ResourceFormatLoader { class ResourceFormatLoaderText : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderText, ResourceFormatLoader);
public: public:
static ResourceFormatLoaderText *singleton; static ResourceFormatLoaderText *singleton;
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
@@ -203,6 +205,8 @@ public:
}; };
class ResourceFormatSaverText : public ResourceFormatSaver { class ResourceFormatSaverText : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverText, ResourceFormatSaver);
public: public:
static ResourceFormatSaverText *singleton; static ResourceFormatSaverText *singleton;
virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;

View File

@@ -106,6 +106,8 @@ public:
VARIANT_ENUM_CAST(Shader::Mode); VARIANT_ENUM_CAST(Shader::Mode);
class ResourceFormatLoaderShader : public ResourceFormatLoader { class ResourceFormatLoaderShader : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderShader, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -114,6 +116,8 @@ public:
}; };
class ResourceFormatSaverShader : public ResourceFormatSaver { class ResourceFormatSaverShader : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverShader, ResourceFormatSaver);
public: public:
virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;
virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override; virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override;

View File

@@ -56,6 +56,8 @@ public:
}; };
class ResourceFormatLoaderShaderInclude : public ResourceFormatLoader { class ResourceFormatLoaderShaderInclude : public ResourceFormatLoader {
GDSOFTCLASS(ResourceFormatLoaderShaderInclude, ResourceFormatLoader);
public: public:
virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override; virtual Ref<Resource> load(const String &p_path, const String &p_original_path = "", Error *r_error = nullptr, bool p_use_sub_threads = false, float *r_progress = nullptr, CacheMode p_cache_mode = CACHE_MODE_REUSE) override;
virtual void get_recognized_extensions(List<String> *p_extensions) const override; virtual void get_recognized_extensions(List<String> *p_extensions) const override;
@@ -64,6 +66,8 @@ public:
}; };
class ResourceFormatSaverShaderInclude : public ResourceFormatSaver { class ResourceFormatSaverShaderInclude : public ResourceFormatSaver {
GDSOFTCLASS(ResourceFormatSaverShaderInclude, ResourceFormatSaver);
public: public:
virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override; virtual Error save(const Ref<Resource> &p_resource, const String &p_path, uint32_t p_flags = 0) override;
virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override; virtual void get_recognized_extensions(const Ref<Resource> &p_resource, List<String> *p_extensions) const override;

View File

@@ -54,6 +54,8 @@
#endif #endif
class PhysicsServer2DWrapMT : public PhysicsServer2D { class PhysicsServer2DWrapMT : public PhysicsServer2D {
GDSOFTCLASS(PhysicsServer2DWrapMT, PhysicsServer2D);
mutable PhysicsServer2D *physics_server_2d = nullptr; mutable PhysicsServer2D *physics_server_2d = nullptr;
mutable CommandQueueMT command_queue; mutable CommandQueueMT command_queue;

View File

@@ -55,6 +55,8 @@
#endif #endif
class PhysicsServer3DWrapMT : public PhysicsServer3D { class PhysicsServer3DWrapMT : public PhysicsServer3D {
GDSOFTCLASS(PhysicsServer3DWrapMT, PhysicsServer3D);
mutable PhysicsServer3D *physics_server_3d = nullptr; mutable PhysicsServer3D *physics_server_3d = nullptr;
mutable CommandQueueMT command_queue; mutable CommandQueueMT command_queue;

View File

@@ -86,6 +86,8 @@ struct VersatileResourceTemplate {
}; };
class RenderingDeviceDriver : public RenderingDeviceCommons { class RenderingDeviceDriver : public RenderingDeviceCommons {
GDSOFTCLASS(RenderingDeviceDriver, RenderingDeviceCommons);
public: public:
struct ID { struct ID {
uint64_t id = 0; uint64_t id = 0;

View File

@@ -42,6 +42,8 @@
#include "servers/server_wrap_mt_common.h" #include "servers/server_wrap_mt_common.h"
class RenderingServerDefault : public RenderingServer { class RenderingServerDefault : public RenderingServer {
GDSOFTCLASS(RenderingServerDefault, RenderingServer);
enum { enum {
MAX_INSTANCE_CULL = 8192, MAX_INSTANCE_CULL = 8192,
MAX_INSTANCE_LIGHTS = 4, MAX_INSTANCE_LIGHTS = 4,

View File

@@ -150,6 +150,8 @@ public:
}; };
class RenderingShaderContainerFormat : public RenderingDeviceCommons { class RenderingShaderContainerFormat : public RenderingDeviceCommons {
GDSOFTCLASS(RenderingShaderContainerFormat, RenderingDeviceCommons);
public: public:
virtual Ref<RenderingShaderContainer> create_container() const = 0; virtual Ref<RenderingShaderContainer> create_container() const = 0;
virtual ShaderLanguageVersion get_shader_language_version() const = 0; virtual ShaderLanguageVersion get_shader_language_version() const = 0;