diff options
Diffstat (limited to 'core/object/make_virtuals.py')
-rw-r--r-- | core/object/make_virtuals.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/core/object/make_virtuals.py b/core/object/make_virtuals.py index 552f2fa2bf..2e909b8042 100644 --- a/core/object/make_virtuals.py +++ b/core/object/make_virtuals.py @@ -3,6 +3,7 @@ proto = """ StringName _gdvirtual_##m_name##_sn = #m_name;\\ mutable bool _gdvirtual_##m_name##_initialized = false;\\ mutable GDNativeExtensionClassCallVirtual _gdvirtual_##m_name = nullptr;\\ +template<bool required>\\ _FORCE_INLINE_ bool _gdvirtual_##m_name##_call($CALLARGS) $CONST { \\ ScriptInstance *script_instance = ((Object*)(this))->get_script_instance();\\ if (script_instance) {\\ @@ -25,6 +26,10 @@ _FORCE_INLINE_ bool _gdvirtual_##m_name##_call($CALLARGS) $CONST { \\ $CALLPTRRET\\ return true;\\ }\\ + \\ + if (required) {\\ + WARN_PRINT_ONCE("Required virtual method: "+get_class()+"::" + #m_name + " must be overriden before calling.");\\ + }\\ \\ return false;\\ }\\ |