summaryrefslogtreecommitdiff
path: root/modules/visual_script
diff options
context:
space:
mode:
Diffstat (limited to 'modules/visual_script')
-rw-r--r--modules/visual_script/doc_classes/VisualScript.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml40
-rw-r--r--modules/visual_script/doc_classes/VisualScriptLists.xml2
-rw-r--r--modules/visual_script/doc_classes/VisualScriptPropertyGet.xml2
-rw-r--r--modules/visual_script/icons/VisualScript.svg7
-rw-r--r--modules/visual_script/register_types.cpp2
-rw-r--r--modules/visual_script/visual_script.cpp15
-rw-r--r--modules/visual_script/visual_script.h66
-rw-r--r--modules/visual_script/visual_script_builtin_funcs.cpp96
-rw-r--r--modules/visual_script/visual_script_builtin_funcs.h26
-rw-r--r--modules/visual_script/visual_script_editor.cpp65
-rw-r--r--modules/visual_script/visual_script_editor.h69
-rw-r--r--modules/visual_script/visual_script_expression.cpp22
-rw-r--r--modules/visual_script/visual_script_expression.h22
-rw-r--r--modules/visual_script/visual_script_flow_control.cpp2
-rw-r--r--modules/visual_script/visual_script_flow_control.h158
-rw-r--r--modules/visual_script/visual_script_func_nodes.cpp71
-rw-r--r--modules/visual_script/visual_script_func_nodes.h98
-rw-r--r--modules/visual_script/visual_script_nodes.cpp79
-rw-r--r--modules/visual_script/visual_script_nodes.h602
-rw-r--r--modules/visual_script/visual_script_property_selector.cpp2
-rw-r--r--modules/visual_script/visual_script_yield_nodes.h48
22 files changed, 748 insertions, 748 deletions
diff --git a/modules/visual_script/doc_classes/VisualScript.xml b/modules/visual_script/doc_classes/VisualScript.xml
index db1ef2adc6..088d84d2ec 100644
--- a/modules/visual_script/doc_classes/VisualScript.xml
+++ b/modules/visual_script/doc_classes/VisualScript.xml
@@ -9,7 +9,7 @@
You are most likely to use this class via the Visual Script editor or when writing plugins for it.
</description>
<tutorials>
- <link>https://docs.godotengine.org/en/latest/getting_started/scripting/visual_script/index.html</link>
+ <link title="VisualScript tutorial index">https://docs.godotengine.org/en/latest/getting_started/scripting/visual_script/index.html</link>
</tutorials>
<methods>
<method name="add_custom_signal">
diff --git a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
index ef4183e6f6..000fbd0140 100644
--- a/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
+++ b/modules/visual_script/doc_classes/VisualScriptBuiltinFunc.xml
@@ -111,61 +111,61 @@
<constant name="MATH_RANDOMIZE" value="31" enum="BuiltinFunc">
Randomize the seed (or the internal state) of the random number generator. Current implementation reseeds using a number based on time.
</constant>
- <constant name="MATH_RAND" value="32" enum="BuiltinFunc">
+ <constant name="MATH_RANDI" value="32" enum="BuiltinFunc">
Return a random 32 bits integer value. To obtain a random value between 0 to N (where N is smaller than 2^32 - 1), you can use it with the remainder function.
</constant>
<constant name="MATH_RANDF" value="33" enum="BuiltinFunc">
Return a random floating-point value between 0 and 1. To obtain a random value between 0 to N, you can use it with multiplication.
</constant>
- <constant name="MATH_RANDOM" value="34" enum="BuiltinFunc">
+ <constant name="MATH_RANDF_RANGE" value="34" enum="BuiltinFunc">
Return a random floating-point value between the two inputs.
</constant>
- <constant name="MATH_SEED" value="35" enum="BuiltinFunc">
+ <constant name="MATH_RANDI_RANGE" value="35" enum="BuiltinFunc">
+ Return a random 32-bit integer value between the two inputs.
+ </constant>
+ <constant name="MATH_SEED" value="36" enum="BuiltinFunc">
Set the seed for the random number generator.
</constant>
- <constant name="MATH_RANDSEED" value="36" enum="BuiltinFunc">
+ <constant name="MATH_RANDSEED" value="37" enum="BuiltinFunc">
Return a random value from the given seed, along with the new seed.
</constant>
- <constant name="MATH_DEG2RAD" value="37" enum="BuiltinFunc">
+ <constant name="MATH_DEG2RAD" value="38" enum="BuiltinFunc">
Convert the input from degrees to radians.
</constant>
- <constant name="MATH_RAD2DEG" value="38" enum="BuiltinFunc">
+ <constant name="MATH_RAD2DEG" value="39" enum="BuiltinFunc">
Convert the input from radians to degrees.
</constant>
- <constant name="MATH_LINEAR2DB" value="39" enum="BuiltinFunc">
+ <constant name="MATH_LINEAR2DB" value="40" enum="BuiltinFunc">
Convert the input from linear volume to decibel volume.
</constant>
- <constant name="MATH_DB2LINEAR" value="40" enum="BuiltinFunc">
+ <constant name="MATH_DB2LINEAR" value="41" enum="BuiltinFunc">
Convert the input from decibel volume to linear volume.
</constant>
- <constant name="MATH_POLAR2CARTESIAN" value="41" enum="BuiltinFunc">
+ <constant name="MATH_POLAR2CARTESIAN" value="42" enum="BuiltinFunc">
Converts a 2D point expressed in the polar coordinate system (a distance from the origin [code]r[/code] and an angle [code]th[/code]) to the cartesian coordinate system (X and Y axis).
</constant>
- <constant name="MATH_CARTESIAN2POLAR" value="42" enum="BuiltinFunc">
+ <constant name="MATH_CARTESIAN2POLAR" value="43" enum="BuiltinFunc">
Converts a 2D point expressed in the cartesian coordinate system (X and Y axis) to the polar coordinate system (a distance from the origin and an angle).
</constant>
- <constant name="MATH_WRAP" value="43" enum="BuiltinFunc">
+ <constant name="MATH_WRAP" value="44" enum="BuiltinFunc">
</constant>
- <constant name="MATH_WRAPF" value="44" enum="BuiltinFunc">
+ <constant name="MATH_WRAPF" value="45" enum="BuiltinFunc">
</constant>
- <constant name="LOGIC_MAX" value="45" enum="BuiltinFunc">
+ <constant name="LOGIC_MAX" value="46" enum="BuiltinFunc">
Return the greater of the two numbers, also known as their maximum.
</constant>
- <constant name="LOGIC_MIN" value="46" enum="BuiltinFunc">
+ <constant name="LOGIC_MIN" value="47" enum="BuiltinFunc">
Return the lesser of the two numbers, also known as their minimum.
</constant>
- <constant name="LOGIC_CLAMP" value="47" enum="BuiltinFunc">
+ <constant name="LOGIC_CLAMP" value="48" enum="BuiltinFunc">
Return the input clamped inside the given range, ensuring the result is never outside it. Equivalent to [code]min(max(input, range_low), range_high)[/code].
</constant>
- <constant name="LOGIC_NEAREST_PO2" value="48" enum="BuiltinFunc">
+ <constant name="LOGIC_NEAREST_PO2" value="49" enum="BuiltinFunc">
Return the nearest power of 2 to the input.
</constant>
- <constant name="OBJ_WEAKREF" value="49" enum="BuiltinFunc">
+ <constant name="OBJ_WEAKREF" value="50" enum="BuiltinFunc">
Create a [WeakRef] from the input.
</constant>
- <constant name="FUNC_FUNCREF" value="50" enum="BuiltinFunc">
- Create a [FuncRef] from the input.
- </constant>
<constant name="TYPE_CONVERT" value="51" enum="BuiltinFunc">
Convert between types.
</constant>
diff --git a/modules/visual_script/doc_classes/VisualScriptLists.xml b/modules/visual_script/doc_classes/VisualScriptLists.xml
index 5b64d8438b..8a7254b46a 100644
--- a/modules/visual_script/doc_classes/VisualScriptLists.xml
+++ b/modules/visual_script/doc_classes/VisualScriptLists.xml
@@ -4,7 +4,7 @@
A Visual Script virtual class for in-graph editable nodes.
</brief_description>
<description>
- A Visual Script virtual class that defines the shape and the default behaviour of the nodes that have to be in-graph editable nodes.
+ A Visual Script virtual class that defines the shape and the default behavior of the nodes that have to be in-graph editable nodes.
</description>
<tutorials>
</tutorials>
diff --git a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml
index f13d449064..1c22070ab1 100644
--- a/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml
+++ b/modules/visual_script/doc_classes/VisualScriptPropertyGet.xml
@@ -31,5 +31,7 @@
</constant>
<constant name="CALL_MODE_INSTANCE" value="2" enum="CallMode">
</constant>
+ <constant name="CALL_MODE_BASIC_TYPE" value="3" enum="CallMode">
+ </constant>
</constants>
</class>
diff --git a/modules/visual_script/icons/VisualScript.svg b/modules/visual_script/icons/VisualScript.svg
index f6475d590e..2352ba5d87 100644
--- a/modules/visual_script/icons/VisualScript.svg
+++ b/modules/visual_script/icons/VisualScript.svg
@@ -1,6 +1 @@
-<svg width="16" height="16" version="1.1" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">
-<g transform="translate(0 -1036.4)">
-<ellipse cx="3" cy="1039.4" r="2" fill="#6e6e6e"/>
-<path transform="translate(0 1036.4)" d="m7 1l-0.56445 2.2578a5 5 0 0 0 -0.68945 0.2793l-1.9883-1.1934-1.4141 1.4141 1.1953 1.9941a5 5 0 0 0 -0.28516 0.68555l-2.2539 0.5625v2h5.2715a2 2 0 0 1 -0.27148 -1 2 2 0 0 1 2 -2 2 2 0 0 1 2 2 2 2 0 0 1 -0.26953 1h5.2695v-2l-2.2578-0.56445a5 5 0 0 0 -0.2793 -0.6875l1.1934-1.9902-1.4141-1.4141-1.9941 1.1953a5 5 0 0 0 -0.68555 -0.28516l-0.5625-2.2539h-2zm-4 9v6h2a3 3 0 0 0 3 -3v-3h-2v3a1 1 0 0 1 -1 1v-4h-2zm8 0a2 2 0 0 0 -1.7324 1 2 2 0 0 0 0 2 2 2 0 0 0 1.7324 1h-2v2h2a2 2 0 0 0 1.7324 -1 2 2 0 0 0 0 -2 2 2 0 0 0 -1.7324 -1h2v-2h-2z" fill="#e0e0e0"/>
-</g>
-</svg>
+<svg height="16" viewBox="0 0 16 16" width="16" xmlns="http://www.w3.org/2000/svg"><g transform="translate(0 -1036.4)"><ellipse cx="3" cy="1039.4" fill="#6e6e6e"/><path d="m7 1-.56445 2.2578a5 5 0 0 0 -.68945.2793l-1.9883-1.1934-1.4141 1.4141 1.1953 1.9941a5 5 0 0 0 -.28516.68555l-2.2539.5625v2h5.2715a2 2 0 0 1 -.27148-1 2 2 0 0 1 2-2 2 2 0 0 1 2 2 2 2 0 0 1 -.26953 1h5.2695v-2l-2.2578-.56445a5 5 0 0 0 -.2793-.6875l1.1934-1.9902-1.4141-1.4141-1.9941 1.1953a5 5 0 0 0 -.68555-.28516l-.5625-2.2539h-2zm-4 9v6h2a3 3 0 0 0 3-3v-3h-2v3a1 1 0 0 1 -1 1v-4zm8 0a2 2 0 0 0 -1.7324 1 2 2 0 0 0 0 2 2 2 0 0 0 1.7324 1h-2v2h2a2 2 0 0 0 1.7324-1 2 2 0 0 0 0-2 2 2 0 0 0 -1.7324-1h2v-2z" fill="#e0e0e0" transform="translate(0 1036.4)"/></g></svg>
diff --git a/modules/visual_script/register_types.cpp b/modules/visual_script/register_types.cpp
index 8afed1229f..0172f29923 100644
--- a/modules/visual_script/register_types.cpp
+++ b/modules/visual_script/register_types.cpp
@@ -30,7 +30,7 @@
#include "register_types.h"
-#include "core/engine.h"
+#include "core/config/engine.h"
#include "core/io/resource_loader.h"
#include "visual_script.h"
#include "visual_script_builtin_funcs.h"
diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp
index f387c0f288..b10d4523f2 100644
--- a/modules/visual_script/visual_script.cpp
+++ b/modules/visual_script/visual_script.cpp
@@ -30,14 +30,12 @@
#include "visual_script.h"
+#include "core/config/project_settings.h"
#include "core/core_string_names.h"
#include "core/os/os.h"
-#include "core/project_settings.h"
#include "scene/main/node.h"
#include "visual_script_nodes.h"
-#include <stdint.h>
-
//used by editor, this is not really saved
void VisualScriptNode::set_breakpoint(bool p_breakpoint) {
breakpoint = p_breakpoint;
@@ -86,10 +84,10 @@ void VisualScriptNode::validate_input_default_values() {
Callable::CallError ce;
Variant existing = default_input_values[i];
const Variant *existingp = &existing;
- default_input_values[i] = Variant::construct(expected, &existingp, 1, ce, false);
+ Variant::construct(expected, default_input_values[i], &existingp, 1, ce);
if (ce.error != Callable::CallError::CALL_OK) {
//could not convert? force..
- default_input_values[i] = Variant::construct(expected, nullptr, 0, ce, false);
+ Variant::construct(expected, default_input_values[i], nullptr, 0, ce);
}
}
}
@@ -1764,11 +1762,7 @@ Variant VisualScriptInstance::_call_internal(const StringName &p_method, void *p
}
next = node->sequence_outputs[output];
- if (next) {
- VSDEBUG("GOT NEXT NODE - " + itos(next->get_id()));
- } else {
- VSDEBUG("GOT NEXT NODE - NULL");
- }
+ VSDEBUG("GOT NEXT NODE - " + (next ? itos(next->get_id()) : "NULL"));
}
if (flow_stack) {
@@ -2641,7 +2635,6 @@ void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String
f->debug_get_stack_member_state(*_call_stack[l].line,&locals);
for( List<Pair<StringName,int> >::Element *E = locals.front();E;E=E->next() ) {
-
p_locals->push_back(E->get().first);
p_values->push_back(_call_stack[l].stack[E->get().second]);
}
diff --git a/modules/visual_script/visual_script.h b/modules/visual_script/visual_script.h
index d54b1faf42..85dab4e6cf 100644
--- a/modules/visual_script/visual_script.h
+++ b/modules/visual_script/visual_script.h
@@ -33,8 +33,8 @@
#include "core/debugger/engine_debugger.h"
#include "core/debugger/script_debugger.h"
+#include "core/object/script_language.h"
#include "core/os/thread.h"
-#include "core/script_language.h"
class VisualScriptInstance;
class VisualScriptNodeInstance;
@@ -249,7 +249,7 @@ private:
#ifdef TOOLS_ENABLED
Set<PlaceHolderScriptInstance *> placeholders;
//void _update_placeholder(PlaceHolderScriptInstance *p_placeholder);
- virtual void _placeholder_erased(PlaceHolderScriptInstance *p_placeholder);
+ virtual void _placeholder_erased(PlaceHolderScriptInstance *p_placeholder) override;
void _update_placeholders();
#endif
@@ -264,7 +264,7 @@ protected:
static void _bind_methods();
public:
- bool inherits_script(const Ref<Script> &p_script) const;
+ bool inherits_script(const Ref<Script> &p_script) const override;
// TODO: Remove it in future when breaking changes are acceptable
StringName get_default_func() const;
@@ -330,47 +330,47 @@ public:
void set_instance_base_type(const StringName &p_type);
- virtual bool can_instance() const;
+ virtual bool can_instance() const override;
- virtual Ref<Script> get_base_script() const;
- virtual StringName get_instance_base_type() const;
- virtual ScriptInstance *instance_create(Object *p_this);
- virtual bool instance_has(const Object *p_this) const;
+ virtual Ref<Script> get_base_script() const override;
+ virtual StringName get_instance_base_type() const override;
+ virtual ScriptInstance *instance_create(Object *p_this) override;
+ virtual bool instance_has(const Object *p_this) const override;
- virtual bool has_source_code() const;
- virtual String get_source_code() const;
- virtual void set_source_code(const String &p_code);
- virtual Error reload(bool p_keep_state = false);
+ virtual bool has_source_code() const override;
+ virtual String get_source_code() const override;
+ virtual void set_source_code(const String &p_code) override;
+ virtual Error reload(bool p_keep_state = false) override;
- virtual bool is_tool() const;
- virtual bool is_valid() const;
+ virtual bool is_tool() const override;
+ virtual bool is_valid() const override;
- virtual ScriptLanguage *get_language() const;
+ virtual ScriptLanguage *get_language() const override;
- virtual bool has_script_signal(const StringName &p_signal) const;
- virtual void get_script_signal_list(List<MethodInfo> *r_signals) const;
+ virtual bool has_script_signal(const StringName &p_signal) const override;
+ virtual void get_script_signal_list(List<MethodInfo> *r_signals) const override;
- virtual bool get_property_default_value(const StringName &p_property, Variant &r_value) const;
- virtual void get_script_method_list(List<MethodInfo> *p_list) const;
+ virtual bool get_property_default_value(const StringName &p_property, Variant &r_value) const override;
+ virtual void get_script_method_list(List<MethodInfo> *p_list) const override;
- virtual bool has_method(const StringName &p_method) const;
- virtual MethodInfo get_method_info(const StringName &p_method) const;
+ virtual bool has_method(const StringName &p_method) const override;
+ virtual MethodInfo get_method_info(const StringName &p_method) const override;
- virtual void get_script_property_list(List<PropertyInfo> *p_list) const;
+ virtual void get_script_property_list(List<PropertyInfo> *p_list) const override;
- virtual int get_member_line(const StringName &p_member) const;
+ virtual int get_member_line(const StringName &p_member) const override;
- virtual Vector<ScriptNetData> get_rpc_methods() const;
- virtual uint16_t get_rpc_method_id(const StringName &p_method) const;
- virtual StringName get_rpc_method(const uint16_t p_rpc_method_id) const;
- virtual MultiplayerAPI::RPCMode get_rpc_mode_by_id(const uint16_t p_rpc_method_id) const;
- virtual MultiplayerAPI::RPCMode get_rpc_mode(const StringName &p_method) const;
+ virtual Vector<ScriptNetData> get_rpc_methods() const override;
+ virtual uint16_t get_rpc_method_id(const StringName &p_method) const override;
+ virtual StringName get_rpc_method(const uint16_t p_rpc_method_id) const override;
+ virtual MultiplayerAPI::RPCMode get_rpc_mode_by_id(const uint16_t p_rpc_method_id) const override;
+ virtual MultiplayerAPI::RPCMode get_rpc_mode(const StringName &p_method) const override;
- virtual Vector<ScriptNetData> get_rset_properties() const;
- virtual uint16_t get_rset_property_id(const StringName &p_property) const;
- virtual StringName get_rset_property(const uint16_t p_rset_property_id) const;
- virtual MultiplayerAPI::RPCMode get_rset_mode_by_id(const uint16_t p_rpc_method_id) const;
- virtual MultiplayerAPI::RPCMode get_rset_mode(const StringName &p_variable) const;
+ virtual Vector<ScriptNetData> get_rset_properties() const override;
+ virtual uint16_t get_rset_property_id(const StringName &p_property) const override;
+ virtual StringName get_rset_property(const uint16_t p_rset_property_id) const override;
+ virtual MultiplayerAPI::RPCMode get_rset_mode_by_id(const uint16_t p_rpc_method_id) const override;
+ virtual MultiplayerAPI::RPCMode get_rset_mode(const StringName &p_variable) const override;
#ifdef TOOLS_ENABLED
virtual bool are_subnodes_edited() const;
diff --git a/modules/visual_script/visual_script_builtin_funcs.cpp b/modules/visual_script/visual_script_builtin_funcs.cpp
index a0dcd76d10..fe0c399f8d 100644
--- a/modules/visual_script/visual_script_builtin_funcs.cpp
+++ b/modules/visual_script/visual_script_builtin_funcs.cpp
@@ -30,13 +30,12 @@
#include "visual_script_builtin_funcs.h"
-#include "core/class_db.h"
-#include "core/func_ref.h"
#include "core/io/marshalls.h"
#include "core/math/math_funcs.h"
+#include "core/object/class_db.h"
+#include "core/object/reference.h"
#include "core/os/os.h"
-#include "core/reference.h"
-#include "core/variant_parser.h"
+#include "core/variant/variant_parser.h"
const char *VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX] = {
"sin",
@@ -73,7 +72,8 @@ const char *VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX
"randomize",
"randi",
"randf",
- "rand_range",
+ "randf_range",
+ "randi_range",
"seed",
"rand_seed",
"deg2rad",
@@ -89,7 +89,6 @@ const char *VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX
"clamp",
"nearest_po2",
"weakref",
- "funcref",
"convert",
"typeof",
"type_exists",
@@ -143,7 +142,7 @@ bool VisualScriptBuiltinFunc::has_input_sequence_port() const {
int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) {
switch (p_func) {
case MATH_RANDOMIZE:
- case MATH_RAND:
+ case MATH_RANDI:
case MATH_RANDF:
return 0;
case MATH_SIN:
@@ -194,12 +193,12 @@ int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) {
case MATH_POW:
case MATH_EASE:
case MATH_STEPIFY:
- case MATH_RANDOM:
+ case MATH_RANDF_RANGE:
+ case MATH_RANDI_RANGE:
case MATH_POLAR2CARTESIAN:
case MATH_CARTESIAN2POLAR:
case LOGIC_MAX:
case LOGIC_MIN:
- case FUNC_FUNCREF:
case TYPE_CONVERT:
case COLORN:
return 2;
@@ -361,16 +360,23 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const
}
} break;
case MATH_RANDOMIZE:
- case MATH_RAND:
+ case MATH_RANDI:
case MATH_RANDF: {
} break;
- case MATH_RANDOM: {
+ case MATH_RANDF_RANGE: {
if (p_idx == 0) {
return PropertyInfo(Variant::FLOAT, "from");
} else {
return PropertyInfo(Variant::FLOAT, "to");
}
} break;
+ case MATH_RANDI_RANGE: {
+ if (p_idx == 0) {
+ return PropertyInfo(Variant::INT, "from");
+ } else {
+ return PropertyInfo(Variant::INT, "to");
+ }
+ } break;
case MATH_SEED:
case MATH_RANDSEED: {
return PropertyInfo(Variant::INT, "seed");
@@ -426,13 +432,6 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const
case OBJ_WEAKREF: {
return PropertyInfo(Variant::OBJECT, "source");
} break;
- case FUNC_FUNCREF: {
- if (p_idx == 0) {
- return PropertyInfo(Variant::OBJECT, "instance");
- } else {
- return PropertyInfo(Variant::STRING, "funcname");
- }
- } break;
case TYPE_CONVERT: {
if (p_idx == 0) {
return PropertyInfo(Variant::NIL, "what");
@@ -551,13 +550,16 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
} break;
case MATH_RANDOMIZE: {
} break;
- case MATH_RAND: {
+ case MATH_RANDI: {
t = Variant::INT;
} break;
case MATH_RANDF:
- case MATH_RANDOM: {
+ case MATH_RANDF_RANGE: {
t = Variant::FLOAT;
} break;
+ case MATH_RANDI_RANGE: {
+ t = Variant::INT;
+ } break;
case MATH_SEED: {
} break;
case MATH_RANDSEED: {
@@ -593,10 +595,6 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
t = Variant::OBJECT;
} break;
- case FUNC_FUNCREF: {
- t = Variant::OBJECT;
-
- } break;
case TYPE_CONVERT: {
} break;
case TEXT_ORD:
@@ -649,7 +647,6 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
/*
String VisualScriptBuiltinFunc::get_caption() const {
-
return "BuiltinFunc";
}
@@ -861,17 +858,22 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in
Math::randomize();
} break;
- case VisualScriptBuiltinFunc::MATH_RAND: {
+ case VisualScriptBuiltinFunc::MATH_RANDI: {
*r_return = Math::rand();
} break;
case VisualScriptBuiltinFunc::MATH_RANDF: {
*r_return = Math::randf();
} break;
- case VisualScriptBuiltinFunc::MATH_RANDOM: {
+ case VisualScriptBuiltinFunc::MATH_RANDF_RANGE: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
*r_return = Math::random((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
+ case VisualScriptBuiltinFunc::MATH_RANDI_RANGE: {
+ VALIDATE_ARG_NUM(0);
+ VALIDATE_ARG_NUM(1);
+ *r_return = Math::random((int)*p_inputs[0], (int)*p_inputs[1]);
+ } break;
case VisualScriptBuiltinFunc::MATH_SEED: {
VALIDATE_ARG_NUM(0);
uint64_t seed = *p_inputs[0];
@@ -1013,30 +1015,6 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in
}
} break;
- case VisualScriptBuiltinFunc::FUNC_FUNCREF: {
- if (p_inputs[0]->get_type() != Variant::OBJECT) {
- r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument = 0;
- r_error.expected = Variant::OBJECT;
-
- return;
- }
- if (p_inputs[1]->get_type() != Variant::STRING && p_inputs[1]->get_type() != Variant::NODE_PATH) {
- r_error.error = Callable::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument = 1;
- r_error.expected = Variant::STRING;
-
- return;
- }
-
- Ref<FuncRef> fr = memnew(FuncRef);
-
- fr->set_instance(*p_inputs[0]);
- fr->set_function(*p_inputs[1]);
-
- *r_return = fr;
-
- } break;
case VisualScriptBuiltinFunc::TYPE_CONVERT: {
VALIDATE_ARG_NUM(1);
int type = *p_inputs[1];
@@ -1048,7 +1026,7 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in
return;
} else {
- *r_return = Variant::construct(Variant::Type(type), p_inputs, 1, r_error);
+ Variant::construct(Variant::Type(type), *r_return, p_inputs, 1, r_error);
}
} break;
case VisualScriptBuiltinFunc::TYPE_OF: {
@@ -1060,7 +1038,7 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_in
} break;
case VisualScriptBuiltinFunc::TEXT_CHAR: {
- CharType result[2] = { *p_inputs[0], 0 };
+ char32_t result[2] = { *p_inputs[0], 0 };
*r_return = String(result);
@@ -1283,9 +1261,10 @@ void VisualScriptBuiltinFunc::_bind_methods() {
BIND_ENUM_CONSTANT(MATH_MOVE_TOWARD);
BIND_ENUM_CONSTANT(MATH_DECTIME);
BIND_ENUM_CONSTANT(MATH_RANDOMIZE);
- BIND_ENUM_CONSTANT(MATH_RAND);
+ BIND_ENUM_CONSTANT(MATH_RANDI);
BIND_ENUM_CONSTANT(MATH_RANDF);
- BIND_ENUM_CONSTANT(MATH_RANDOM);
+ BIND_ENUM_CONSTANT(MATH_RANDF_RANGE);
+ BIND_ENUM_CONSTANT(MATH_RANDI_RANGE);
BIND_ENUM_CONSTANT(MATH_SEED);
BIND_ENUM_CONSTANT(MATH_RANDSEED);
BIND_ENUM_CONSTANT(MATH_DEG2RAD);
@@ -1301,7 +1280,6 @@ void VisualScriptBuiltinFunc::_bind_methods() {
BIND_ENUM_CONSTANT(LOGIC_CLAMP);
BIND_ENUM_CONSTANT(LOGIC_NEAREST_PO2);
BIND_ENUM_CONSTANT(OBJ_WEAKREF);
- BIND_ENUM_CONSTANT(FUNC_FUNCREF);
BIND_ENUM_CONSTANT(TYPE_CONVERT);
BIND_ENUM_CONSTANT(TYPE_OF);
BIND_ENUM_CONSTANT(TYPE_EXISTS);
@@ -1375,9 +1353,10 @@ void register_visual_script_builtin_func_node() {
VisualScriptLanguage::singleton->add_register_func("functions/built_in/move_toward", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_MOVE_TOWARD>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/dectime", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DECTIME>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/randomize", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDOMIZE>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/rand", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RAND>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/randi", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDI>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/randf", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDF>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/random", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDOM>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/randf_range", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDF_RANGE>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/randi_range", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDI_RANGE>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/seed", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SEED>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/randseed", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDSEED>);
@@ -1396,7 +1375,6 @@ void register_visual_script_builtin_func_node() {
VisualScriptLanguage::singleton->add_register_func("functions/built_in/nearest_po2", create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_NEAREST_PO2>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/weakref", create_builtin_func_node<VisualScriptBuiltinFunc::OBJ_WEAKREF>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/funcref", create_builtin_func_node<VisualScriptBuiltinFunc::FUNC_FUNCREF>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/convert", create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_CONVERT>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/typeof", create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_OF>);
VisualScriptLanguage::singleton->add_register_func("functions/built_in/type_exists", create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_EXISTS>);
diff --git a/modules/visual_script/visual_script_builtin_funcs.h b/modules/visual_script/visual_script_builtin_funcs.h
index 1b186353f1..361b445e30 100644
--- a/modules/visual_script/visual_script_builtin_funcs.h
+++ b/modules/visual_script/visual_script_builtin_funcs.h
@@ -70,9 +70,10 @@ public:
MATH_MOVE_TOWARD,
MATH_DECTIME,
MATH_RANDOMIZE,
- MATH_RAND,
+ MATH_RANDI,
MATH_RANDF,
- MATH_RANDOM,
+ MATH_RANDF_RANGE,
+ MATH_RANDI_RANGE,
MATH_SEED,
MATH_RANDSEED,
MATH_DEG2RAD,
@@ -88,7 +89,6 @@ public:
LOGIC_CLAMP,
LOGIC_NEAREST_PO2,
OBJ_WEAKREF,
- FUNC_FUNCREF,
TYPE_CONVERT,
TYPE_OF,
TYPE_EXISTS,
@@ -122,25 +122,25 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
+ virtual String get_caption() const override;
//virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_category() const override { return "functions"; }
void set_func(BuiltinFunc p_which);
BuiltinFunc get_func();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptBuiltinFunc(VisualScriptBuiltinFunc::BuiltinFunc func);
VisualScriptBuiltinFunc();
diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp
index b7ca3c882b..1bb96a47f3 100644
--- a/modules/visual_script/visual_script_editor.cpp
+++ b/modules/visual_script/visual_script_editor.cpp
@@ -31,10 +31,10 @@
#include "visual_script_editor.h"
#include "core/input/input.h"
-#include "core/object.h"
+#include "core/object/class_db.h"
+#include "core/object/script_language.h"
#include "core/os/keyboard.h"
-#include "core/script_language.h"
-#include "core/variant.h"
+#include "core/variant/variant.h"
#include "editor/editor_node.h"
#include "editor/editor_resource_preview.h"
#include "editor/editor_scale.h"
@@ -388,7 +388,7 @@ static Color _color_from_type(Variant::Type p_type, bool dark_theme = true) {
case Variant::NODE_PATH:
color = Color(0.41, 0.58, 0.93);
break;
- case Variant::_RID:
+ case Variant::RID:
color = Color(0.41, 0.93, 0.6);
break;
case Variant::OBJECT:
@@ -494,7 +494,7 @@ static Color _color_from_type(Variant::Type p_type, bool dark_theme = true) {
case Variant::NODE_PATH:
color = Color(0.41, 0.58, 0.93);
break;
- case Variant::_RID:
+ case Variant::RID:
color = Color(0.17, 0.9, 0.45);
break;
case Variant::OBJECT:
@@ -885,7 +885,7 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
//not the same, reconvert
Callable::CallError ce;
const Variant *existingp = &value;
- value = Variant::construct(left_type, &existingp, 1, ce, false);
+ Variant::construct(left_type, value, &existingp, 1, ce);
}
if (left_type == Variant::COLOR) {
@@ -1124,8 +1124,8 @@ void VisualScriptEditor::_update_members() {
TreeItem *ti = members->create_item(variables);
ti->set_text(0, E->get());
- Variant var = script->get_variable_default_value(E->get());
- ti->set_suffix(0, "= " + String(var));
+
+ ti->set_suffix(0, "= " + _sanitized_variant_text(E->get()));
ti->set_icon(0, type_icons[script->get_variable_info(E->get()).type]);
ti->set_selectable(0, true);
@@ -1167,6 +1167,20 @@ void VisualScriptEditor::_update_members() {
updating_members = false;
}
+String VisualScriptEditor::_sanitized_variant_text(const StringName &property_name) {
+ Variant var = script->get_variable_default_value(property_name);
+
+ if (script->get_variable_info(property_name).type != Variant::NIL) {
+ Callable::CallError ce;
+ const Variant *converted = &var;
+ Variant n;
+ Variant::construct(script->get_variable_info(property_name).type, n, &converted, 1, ce);
+ var = n;
+ }
+
+ return String(var);
+}
+
void VisualScriptEditor::_member_selected() {
if (updating_members) {
return;
@@ -2513,6 +2527,8 @@ RES VisualScriptEditor::get_edited_resource() const {
}
void VisualScriptEditor::set_edited_resource(const RES &p_res) {
+ ERR_FAIL_COND(script.is_valid());
+ ERR_FAIL_COND(p_res.is_null());
script = p_res;
signal_editor->script = script;
signal_editor->undo_redo = undo_redo;
@@ -2533,6 +2549,9 @@ void VisualScriptEditor::set_edited_resource(const RES &p_res) {
_update_members();
}
+void VisualScriptEditor::enable_editor() {
+}
+
Vector<String> VisualScriptEditor::get_functions() {
return Vector<String>();
}
@@ -2546,6 +2565,9 @@ String VisualScriptEditor::get_name() {
if (script->get_path().find("local://") == -1 && script->get_path().find("::") == -1) {
name = script->get_path().get_file();
if (is_unsaved()) {
+ if (script->get_path().empty()) {
+ name = TTR("[unsaved]");
+ }
name += "(*)";
}
} else if (script->get_name() != "") {
@@ -2562,7 +2584,11 @@ Ref<Texture2D> VisualScriptEditor::get_theme_icon() {
}
bool VisualScriptEditor::is_unsaved() {
- return script->is_edited() || script->are_subnodes_edited();
+ bool unsaved =
+ script->is_edited() ||
+ script->are_subnodes_edited() ||
+ script->get_path().empty(); // In memory.
+ return unsaved;
}
Variant VisualScriptEditor::get_edit_state() {
@@ -2670,7 +2696,8 @@ void VisualScriptEditor::reload(bool p_soft) {
_update_graph();
}
-void VisualScriptEditor::get_breakpoints(List<int> *p_breakpoints) {
+Array VisualScriptEditor::get_breakpoints() {
+ Array breakpoints;
List<StringName> functions;
script->get_function_list(&functions);
for (List<StringName>::Element *E = functions.front(); E; E = E->next()) {
@@ -2679,10 +2706,11 @@ void VisualScriptEditor::get_breakpoints(List<int> *p_breakpoints) {
for (List<int>::Element *F = nodes.front(); F; F = F->next()) {
Ref<VisualScriptNode> vsn = script->get_node(E->get(), F->get());
if (vsn->is_breakpoint()) {
- p_breakpoints->push_back(F->get() - 1); //subtract 1 because breakpoints in text start from zero
+ breakpoints.push_back(F->get() - 1); //subtract 1 because breakpoints in text start from zero
}
}
}
+ return breakpoints;
}
void VisualScriptEditor::add_callback(const String &p_function, PackedStringArray p_args) {
@@ -3933,8 +3961,9 @@ void VisualScriptEditor::_default_value_edited(Node *p_button, int p_id, int p_i
Variant existing = vsn->get_default_input_value(p_input_port);
if (pinfo.type != Variant::NIL && existing.get_type() != pinfo.type) {
Callable::CallError ce;
- const Variant *existingp = &existing;
- existing = Variant::construct(pinfo.type, &existingp, 1, ce, false);
+ Variant e = existing;
+ const Variant *existingp = &e;
+ Variant::construct(pinfo.type, existing, &existingp, 1, ce);
}
default_value_edit->set_position(Object::cast_to<Control>(p_button)->get_global_position() + Vector2(0, Object::cast_to<Control>(p_button)->get_size().y));
@@ -4660,10 +4689,10 @@ void VisualScriptEditor::_member_option(int p_option) {
}
}
-void VisualScriptEditor::add_syntax_highlighter(SyntaxHighlighter *p_highlighter) {
+void VisualScriptEditor::add_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlighter) {
}
-void VisualScriptEditor::set_syntax_highlighter(SyntaxHighlighter *p_highlighter) {
+void VisualScriptEditor::set_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlighter) {
}
void VisualScriptEditor::_bind_methods() {
@@ -4686,6 +4715,8 @@ void VisualScriptEditor::_bind_methods() {
ClassDB::bind_method("_update_members", &VisualScriptEditor::_update_members);
ClassDB::bind_method("_generic_search", &VisualScriptEditor::_generic_search);
+
+ ClassDB::bind_method(D_METHOD("add_syntax_highlighter", "highlighter"), &VisualScriptEditor::add_syntax_highlighter);
}
VisualScriptEditor::VisualScriptEditor() {
@@ -4755,8 +4786,8 @@ VisualScriptEditor::VisualScriptEditor() {
graph->set_v_size_flags(Control::SIZE_EXPAND_FILL);
graph->set_anchors_and_margins_preset(Control::PRESET_WIDE);
graph->connect("node_selected", callable_mp(this, &VisualScriptEditor::_node_selected));
- graph->connect("_begin_node_move", callable_mp(this, &VisualScriptEditor::_begin_node_move));
- graph->connect("_end_node_move", callable_mp(this, &VisualScriptEditor::_end_node_move));
+ graph->connect("begin_node_move", callable_mp(this, &VisualScriptEditor::_begin_node_move));
+ graph->connect("end_node_move", callable_mp(this, &VisualScriptEditor::_end_node_move));
graph->connect("delete_nodes_request", callable_mp(this, &VisualScriptEditor::_on_nodes_delete));
graph->connect("duplicate_nodes_request", callable_mp(this, &VisualScriptEditor::_on_nodes_duplicate));
graph->connect("gui_input", callable_mp(this, &VisualScriptEditor::_graph_gui_input));
diff --git a/modules/visual_script/visual_script_editor.h b/modules/visual_script/visual_script_editor.h
index 37063b2da1..5610e6b1b4 100644
--- a/modules/visual_script/visual_script_editor.h
+++ b/modules/visual_script/visual_script_editor.h
@@ -64,7 +64,6 @@ class VisualScriptEditor : public ScriptEditorBase {
};
enum PortAction {
-
CREATE_CALL_SET_GET,
CREATE_ACTION,
};
@@ -146,6 +145,7 @@ class VisualScriptEditor : public ScriptEditorBase {
bool updating_members;
void _update_members();
+ String _sanitized_variant_text(const StringName &property_name);
StringName selected;
@@ -288,39 +288,40 @@ protected:
static void _bind_methods();
public:
- virtual void add_syntax_highlighter(SyntaxHighlighter *p_highlighter);
- virtual void set_syntax_highlighter(SyntaxHighlighter *p_highlighter);
-
- virtual void apply_code();
- virtual RES get_edited_resource() const;
- virtual void set_edited_resource(const RES &p_res);
- virtual Vector<String> get_functions();
- virtual void reload_text();
- virtual String get_name();
- virtual Ref<Texture2D> get_theme_icon();
- virtual bool is_unsaved();
- virtual Variant get_edit_state();
- virtual void set_edit_state(const Variant &p_state);
- virtual void goto_line(int p_line, bool p_with_error = false);
- virtual void set_executing_line(int p_line);
- virtual void clear_executing_line();
- virtual void trim_trailing_whitespace();
- virtual void insert_final_newline();
- virtual void convert_indent_to_spaces();
- virtual void convert_indent_to_tabs();
- virtual void ensure_focus();
- virtual void tag_saved_version();
- virtual void reload(bool p_soft);
- virtual void get_breakpoints(List<int> *p_breakpoints);
- virtual void add_callback(const String &p_function, PackedStringArray p_args);
- virtual void update_settings();
- virtual bool show_members_overview();
- virtual void set_debugger_active(bool p_active);
- virtual void set_tooltip_request_func(String p_method, Object *p_obj);
- virtual Control *get_edit_menu();
- virtual void clear_edit_menu();
- virtual bool can_lose_focus_on_node_selection() { return false; }
- virtual void validate();
+ virtual void add_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlighter) override;
+ virtual void set_syntax_highlighter(Ref<EditorSyntaxHighlighter> p_highlighter) override;
+
+ virtual void apply_code() override;
+ virtual RES get_edited_resource() const override;
+ virtual void set_edited_resource(const RES &p_res) override;
+ virtual void enable_editor() override;
+ virtual Vector<String> get_functions() override;
+ virtual void reload_text() override;
+ virtual String get_name() override;
+ virtual Ref<Texture2D> get_theme_icon() override;
+ virtual bool is_unsaved() override;
+ virtual Variant get_edit_state() override;
+ virtual void set_edit_state(const Variant &p_state) override;
+ virtual void goto_line(int p_line, bool p_with_error = false) override;
+ virtual void set_executing_line(int p_line) override;
+ virtual void clear_executing_line() override;
+ virtual void trim_trailing_whitespace() override;
+ virtual void insert_final_newline() override;
+ virtual void convert_indent_to_spaces() override;
+ virtual void convert_indent_to_tabs() override;
+ virtual void ensure_focus() override;
+ virtual void tag_saved_version() override;
+ virtual void reload(bool p_soft) override;
+ virtual Array get_breakpoints() override;
+ virtual void add_callback(const String &p_function, PackedStringArray p_args) override;
+ virtual void update_settings() override;
+ virtual bool show_members_overview() override;
+ virtual void set_debugger_active(bool p_active) override;
+ virtual void set_tooltip_request_func(String p_method, Object *p_obj) override;
+ virtual Control *get_edit_menu() override;
+ virtual void clear_edit_menu() override;
+ virtual bool can_lose_focus_on_node_selection() override { return false; }
+ virtual void validate() override;
static void register_editor();
diff --git a/modules/visual_script/visual_script_expression.cpp b/modules/visual_script/visual_script_expression.cpp
index bd41117497..10a18dfd5e 100644
--- a/modules/visual_script/visual_script_expression.cpp
+++ b/modules/visual_script/visual_script_expression.cpp
@@ -187,7 +187,7 @@ Error VisualScriptExpression::_get_token(Token &r_token) {
while (true) {
#define GET_CHAR() (str_ofs >= expression.length() ? 0 : expression[str_ofs++])
- CharType cchar = GET_CHAR();
+ char32_t cchar = GET_CHAR();
if (cchar == 0) {
r_token.type = TK_EOF;
return OK;
@@ -329,7 +329,7 @@ Error VisualScriptExpression::_get_token(Token &r_token) {
case '"': {
String str;
while (true) {
- CharType ch = GET_CHAR();
+ char32_t ch = GET_CHAR();
if (ch == 0) {
_set_error("Unterminated String");
@@ -340,13 +340,13 @@ Error VisualScriptExpression::_get_token(Token &r_token) {
} else if (ch == '\\') {
//escaped characters...
- CharType next = GET_CHAR();
+ char32_t next = GET_CHAR();
if (next == 0) {
_set_error("Unterminated String");
r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
}
- CharType res = 0;
+ char32_t res = 0;
switch (next) {
case 'b':
@@ -367,7 +367,7 @@ Error VisualScriptExpression::_get_token(Token &r_token) {
case 'u': {
// hex number
for (int j = 0; j < 4; j++) {
- CharType c = GET_CHAR();
+ char32_t c = GET_CHAR();
if (c == 0) {
_set_error("Unterminated String");
@@ -379,7 +379,7 @@ Error VisualScriptExpression::_get_token(Token &r_token) {
r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
}
- CharType v;
+ char32_t v;
if (c >= '0' && c <= '9') {
v = c - '0';
} else if (c >= 'a' && c <= 'f') {
@@ -431,7 +431,7 @@ Error VisualScriptExpression::_get_token(Token &r_token) {
#define READING_DONE 4
int reading = READING_INT;
- CharType c = cchar;
+ char32_t c = cchar;
bool exp_sign = false;
bool exp_beg = false;
bool is_float = false;
@@ -489,7 +489,7 @@ Error VisualScriptExpression::_get_token(Token &r_token) {
r_token.type = TK_CONSTANT;
if (is_float) {
- r_token.value = num.to_double();
+ r_token.value = num.to_float();
} else {
r_token.value = num.to_int();
}
@@ -1341,7 +1341,7 @@ public:
}
bool valid;
- r_ret = base.get_named(index->name, &valid);
+ r_ret = base.get_named(index->name, valid);
if (!valid) {
r_error_str = "Invalid index '" + String(index->name) + "' for base of type " + Variant::get_type_name(base.get_type()) + ".";
return true;
@@ -1405,7 +1405,7 @@ public:
argp.write[i] = &arr[i];
}
- r_ret = Variant::construct(constructor->data_type, (const Variant **)argp.ptr(), argp.size(), ce);
+ Variant::construct(constructor->data_type, r_ret, (const Variant **)argp.ptr(), argp.size(), ce);
if (ce.error != Callable::CallError::CALL_OK) {
r_error_str = "Invalid arguments to construct '" + Variant::get_type_name(constructor->data_type) + "'.";
@@ -1463,7 +1463,7 @@ public:
argp.write[i] = &arr[i];
}
- r_ret = base.call(call->method, (const Variant **)argp.ptr(), argp.size(), ce);
+ base.call(call->method, (const Variant **)argp.ptr(), argp.size(), r_ret, ce);
if (ce.error != Callable::CallError::CALL_OK) {
r_error_str = "On call to '" + String(call->method) + "':";
diff --git a/modules/visual_script/visual_script_expression.h b/modules/visual_script/visual_script_expression.h
index dee0213d54..2b3b25842d 100644
--- a/modules/visual_script/visual_script_expression.h
+++ b/modules/visual_script/visual_script_expression.h
@@ -259,22 +259,22 @@ protected:
void _get_property_list(List<PropertyInfo> *p_list) const;
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "operators"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "operators"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptExpression();
~VisualScriptExpression();
diff --git a/modules/visual_script/visual_script_flow_control.cpp b/modules/visual_script/visual_script_flow_control.cpp
index 3ed20fab35..36c756fc58 100644
--- a/modules/visual_script/visual_script_flow_control.cpp
+++ b/modules/visual_script/visual_script_flow_control.cpp
@@ -30,9 +30,9 @@
#include "visual_script_flow_control.h"
+#include "core/config/project_settings.h"
#include "core/io/resource_loader.h"
#include "core/os/keyboard.h"
-#include "core/project_settings.h"
//////////////////////////////////////////
////////////////RETURN////////////////////
diff --git a/modules/visual_script/visual_script_flow_control.h b/modules/visual_script/visual_script_flow_control.h
index 45b56b3073..1d0d6d103b 100644
--- a/modules/visual_script/visual_script_flow_control.h
+++ b/modules/visual_script/visual_script_flow_control.h
@@ -43,20 +43,20 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
void set_return_type(Variant::Type);
Variant::Type get_return_type() const;
@@ -64,7 +64,7 @@ public:
void set_enable_return_value(bool p_enable);
bool is_return_value_enabled() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptReturn();
};
@@ -76,22 +76,22 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptCondition();
};
@@ -103,22 +103,22 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptWhile();
};
@@ -130,22 +130,22 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptIterator();
};
@@ -159,25 +159,25 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
void set_steps(int p_steps);
int get_steps() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptSequence();
};
@@ -202,23 +202,23 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
- virtual bool has_mixed_input_and_sequence_ports() const { return true; }
+ virtual String get_output_sequence_port_text(int p_port) const override;
+ virtual bool has_mixed_input_and_sequence_ports() const override { return true; }
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptSwitch();
};
@@ -233,20 +233,20 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
void set_base_type(const StringName &p_type);
StringName get_base_type() const;
@@ -254,9 +254,9 @@ public:
void set_base_script(const String &p_path);
String get_base_script() const;
- virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const override;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptTypeCast();
};
diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp
index f13377f3c8..b2aa42ef97 100644
--- a/modules/visual_script/visual_script_func_nodes.cpp
+++ b/modules/visual_script/visual_script_func_nodes.cpp
@@ -30,7 +30,7 @@
#include "visual_script_func_nodes.h"
-#include "core/engine.h"
+#include "core/config/engine.h"
#include "core/io/resource_loader.h"
#include "core/os/os.h"
#include "scene/main/node.h"
@@ -42,7 +42,7 @@
//////////////////////////////////////////
int VisualScriptFunctionCall::get_output_sequence_port_count() const {
- if ((method_cache.flags & METHOD_FLAG_CONST && call_mode != CALL_MODE_INSTANCE) || (call_mode == CALL_MODE_BASIC_TYPE && Variant::is_method_const(basic_type, function))) {
+ if ((method_cache.flags & METHOD_FLAG_CONST && call_mode != CALL_MODE_INSTANCE) || (call_mode == CALL_MODE_BASIC_TYPE && Variant::is_builtin_method_const(basic_type, function))) {
return 0;
} else {
return 1;
@@ -50,7 +50,7 @@ int VisualScriptFunctionCall::get_output_sequence_port_count() const {
}
bool VisualScriptFunctionCall::has_input_sequence_port() const {
- return !((method_cache.flags & METHOD_FLAG_CONST && call_mode != CALL_MODE_INSTANCE) || (call_mode == CALL_MODE_BASIC_TYPE && Variant::is_method_const(basic_type, function)));
+ return !((method_cache.flags & METHOD_FLAG_CONST && call_mode != CALL_MODE_INSTANCE) || (call_mode == CALL_MODE_BASIC_TYPE && Variant::is_builtin_method_const(basic_type, function)));
}
#ifdef TOOLS_ENABLED
@@ -130,7 +130,11 @@ StringName VisualScriptFunctionCall::_get_base_type() const {
int VisualScriptFunctionCall::get_input_value_port_count() const {
if (call_mode == CALL_MODE_BASIC_TYPE) {
- Vector<Variant::Type> types = Variant::get_method_argument_types(basic_type, function);
+ Vector<Variant::Type> types;
+ int argc = Variant::get_builtin_method_argument_count(basic_type, function);
+ for (int i = 0; i < argc; i++) {
+ types.push_back(Variant::get_builtin_method_argument_type(basic_type, function, i));
+ }
return types.size() + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) + 1;
} else {
@@ -147,8 +151,7 @@ int VisualScriptFunctionCall::get_input_value_port_count() const {
int VisualScriptFunctionCall::get_output_value_port_count() const {
if (call_mode == CALL_MODE_BASIC_TYPE) {
- bool returns = false;
- Variant::get_method_return_type(basic_type, function, &returns);
+ bool returns = Variant::has_builtin_method_return_value(basic_type, function);
return returns ? 1 : 0;
} else {
@@ -195,10 +198,7 @@ PropertyInfo VisualScriptFunctionCall::get_input_value_port_info(int p_idx) cons
#ifdef DEBUG_METHODS_ENABLED
if (call_mode == CALL_MODE_BASIC_TYPE) {
- Vector<StringName> names = Variant::get_method_argument_names(basic_type, function);
- Vector<Variant::Type> types = Variant::get_method_argument_types(basic_type, function);
- return PropertyInfo(types[p_idx], names[p_idx]);
-
+ return PropertyInfo(Variant::get_builtin_method_argument_type(basic_type, function, p_idx), Variant::get_builtin_method_argument_name(basic_type, function, p_idx));
} else {
MethodBind *mb = ClassDB::get_method(_get_base_type(), function);
if (mb) {
@@ -220,7 +220,7 @@ PropertyInfo VisualScriptFunctionCall::get_output_value_port_info(int p_idx) con
#ifdef DEBUG_METHODS_ENABLED
if (call_mode == CALL_MODE_BASIC_TYPE) {
- return PropertyInfo(Variant::get_method_return_type(basic_type, function), "");
+ return PropertyInfo(Variant::get_builtin_method_return_type(basic_type, function), "");
} else {
if (call_mode == CALL_MODE_INSTANCE) {
if (p_idx == 0) {
@@ -234,7 +234,6 @@ PropertyInfo VisualScriptFunctionCall::get_output_value_port_info(int p_idx) con
/*MethodBind *mb = ClassDB::get_method(_get_base_type(),function);
if (mb) {
-
ret = mb->get_argument_info(-1);
} else {*/
@@ -419,7 +418,7 @@ void VisualScriptFunctionCall::set_function(const StringName &p_type) {
function = p_type;
if (call_mode == CALL_MODE_BASIC_TYPE) {
- use_default_args = Variant::get_method_default_arguments(basic_type, function).size();
+ use_default_args = Variant::get_builtin_method_default_arguments(basic_type, function).size();
} else {
//update all caches
@@ -606,7 +605,7 @@ void VisualScriptFunctionCall::_validate_property(PropertyInfo &property) const
int mc = 0;
if (call_mode == CALL_MODE_BASIC_TYPE) {
- mc = Variant::get_method_default_arguments(basic_type, function).size();
+ mc = Variant::get_builtin_method_default_arguments(basic_type, function).size();
} else {
MethodBind *mb = ClassDB::get_method(_get_base_type(), function);
if (mb) {
@@ -805,19 +804,21 @@ public:
} else if (returns) {
if (call_mode == VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
if (returns >= 2) {
- *p_outputs[1] = v.call(function, p_inputs + 1, input_args, r_error);
+ v.call(function, p_inputs + 1, input_args, *p_outputs[1], r_error);
} else if (returns == 1) {
- v.call(function, p_inputs + 1, input_args, r_error);
+ Variant ret;
+ v.call(function, p_inputs + 1, input_args, ret, r_error);
} else {
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
r_error_str = "Invalid returns count for call_mode == CALL_MODE_INSTANCE";
return 0;
}
} else {
- *p_outputs[0] = v.call(function, p_inputs + 1, input_args, r_error);
+ v.call(function, p_inputs + 1, input_args, *p_outputs[0], r_error);
}
} else {
- v.call(function, p_inputs + 1, input_args, r_error);
+ Variant ret;
+ v.call(function, p_inputs + 1, input_args, ret, r_error);
}
if (call_mode == VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
@@ -976,7 +977,7 @@ void VisualScriptPropertySet::_adjust_input_index(PropertyInfo &pinfo) const {
if (index != StringName()) {
Variant v;
Callable::CallError ce;
- v = Variant::construct(pinfo.type, nullptr, 0, ce);
+ Variant::construct(pinfo.type, v, nullptr, 0, ce);
Variant i = v.get(index);
pinfo.type = i.get_type();
}
@@ -1117,7 +1118,7 @@ void VisualScriptPropertySet::_update_cache() {
Variant v;
Callable::CallError ce;
- v = Variant::construct(basic_type, nullptr, 0, ce);
+ Variant::construct(basic_type, v, nullptr, 0, ce);
List<PropertyInfo> pinfo;
v.get_property_list(&pinfo);
@@ -1336,7 +1337,8 @@ void VisualScriptPropertySet::_validate_property(PropertyInfo &property) const {
if (property.name == "index") {
Callable::CallError ce;
- Variant v = Variant::construct(type_cache.type, nullptr, 0, ce);
+ Variant v;
+ Variant::construct(type_cache.type, v, nullptr, 0, ce);
List<PropertyInfo> plist;
v.get_property_list(&plist);
String options = "";
@@ -1449,11 +1451,11 @@ public:
_FORCE_INLINE_ void _process_get(Variant &source, const Variant &p_argument, bool &valid) {
if (index != StringName() && assign_op == VisualScriptPropertySet::ASSIGN_OP_NONE) {
- source.set_named(index, p_argument, &valid);
+ source.set_named(index, p_argument, valid);
} else {
Variant value;
if (index != StringName()) {
- value = source.get_named(index, &valid);
+ value = source.get_named(index, valid);
} else {
value = source;
}
@@ -1497,7 +1499,7 @@ public:
}
if (index != StringName()) {
- source.set_named(index, value, &valid);
+ source.set_named(index, value, valid);
} else {
source = value;
}
@@ -1562,12 +1564,12 @@ public:
bool valid;
if (needs_get) {
- Variant value = v.get_named(property, &valid);
+ Variant value = v.get_named(property, valid);
_process_get(value, *p_inputs[1], valid);
- v.set_named(property, value, &valid);
+ v.set_named(property, value, valid);
} else {
- v.set_named(property, *p_inputs[1], &valid);
+ v.set_named(property, *p_inputs[1], valid);
}
if (!valid) {
@@ -1786,7 +1788,7 @@ void VisualScriptPropertyGet::_update_cache() {
Variant v;
Callable::CallError ce;
- v = Variant::construct(basic_type, nullptr, 0, ce);
+ Variant::construct(basic_type, v, nullptr, 0, ce);
List<PropertyInfo> pinfo;
v.get_property_list(&pinfo);
@@ -2012,7 +2014,8 @@ void VisualScriptPropertyGet::_validate_property(PropertyInfo &property) const {
if (property.name == "index") {
Callable::CallError ce;
- Variant v = Variant::construct(type_cache, nullptr, 0, ce);
+ Variant v;
+ Variant::construct(type_cache, v, nullptr, 0, ce);
List<PropertyInfo> plist;
v.get_property_list(&plist);
String options = "";
@@ -2088,6 +2091,7 @@ void VisualScriptPropertyGet::_bind_methods() {
BIND_ENUM_CONSTANT(CALL_MODE_SELF);
BIND_ENUM_CONSTANT(CALL_MODE_NODE_PATH);
BIND_ENUM_CONSTANT(CALL_MODE_INSTANCE);
+ BIND_ENUM_CONSTANT(CALL_MODE_BASIC_TYPE);
}
class VisualScriptNodeInstancePropertyGet : public VisualScriptNodeInstance {
@@ -2110,7 +2114,7 @@ public:
*p_outputs[0] = object->get(property, &valid);
if (index != StringName()) {
- *p_outputs[0] = p_outputs[0]->get_named(index);
+ *p_outputs[0] = p_outputs[0]->get_named(index, valid);
}
if (!valid) {
@@ -2139,7 +2143,7 @@ public:
*p_outputs[0] = another->get(property, &valid);
if (index != StringName()) {
- *p_outputs[0] = p_outputs[0]->get_named(index);
+ *p_outputs[0] = p_outputs[0]->get_named(index, valid);
}
if (!valid) {
@@ -2155,7 +2159,7 @@ public:
*p_outputs[0] = v.get(property, &valid);
if (index != StringName()) {
- *p_outputs[0] = p_outputs[0]->get_named(index);
+ *p_outputs[0] = p_outputs[0]->get_named(index, valid);
}
if (!valid) {
@@ -2367,7 +2371,8 @@ void register_visual_script_func_nodes() {
Variant::Type t = Variant::Type(i);
String type_name = Variant::get_type_name(t);
Callable::CallError ce;
- Variant vt = Variant::construct(t, nullptr, 0, ce);
+ Variant vt;
+ Variant::construct(t, vt, nullptr, 0, ce);
List<MethodInfo> ml;
vt.get_method_list(&ml);
diff --git a/modules/visual_script/visual_script_func_nodes.h b/modules/visual_script/visual_script_func_nodes.h
index 6921f0e820..8372df561f 100644
--- a/modules/visual_script/visual_script_func_nodes.h
+++ b/modules/visual_script/visual_script_func_nodes.h
@@ -75,25 +75,25 @@ private:
Dictionary _get_argument_cache() const;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "functions"; }
void set_basic_type(Variant::Type p_type);
Variant::Type get_basic_type() const;
@@ -125,9 +125,9 @@ public:
void set_rpc_call_mode(RPCCallMode p_mode);
RPCCallMode get_rpc_call_mode() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
- virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const override;
VisualScriptFunctionCall();
};
@@ -187,25 +187,25 @@ private:
void _adjust_input_index(PropertyInfo &pinfo) const;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "functions"; }
void set_base_type(const StringName &p_type);
StringName get_base_type() const;
@@ -231,8 +231,8 @@ public:
void set_assign_op(AssignOp p_op);
AssignOp get_assign_op() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
- virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const override;
VisualScriptPropertySet();
};
@@ -273,25 +273,25 @@ private:
Variant::Type _get_type_cache() const;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "functions"; }
void set_base_type(const StringName &p_type);
StringName get_base_type() const;
@@ -314,7 +314,7 @@ public:
void set_index(const StringName &p_type);
StringName get_index() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptPropertyGet();
};
@@ -328,30 +328,30 @@ private:
StringName name;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
+ virtual String get_caption() const override;
//virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_category() const override { return "functions"; }
void set_signal(const StringName &p_type);
StringName get_signal() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptEmitSignal();
};
diff --git a/modules/visual_script/visual_script_nodes.cpp b/modules/visual_script/visual_script_nodes.cpp
index 87aa64211e..edec270adc 100644
--- a/modules/visual_script/visual_script_nodes.cpp
+++ b/modules/visual_script/visual_script_nodes.cpp
@@ -30,11 +30,11 @@
#include "visual_script_nodes.h"
-#include "core/engine.h"
-#include "core/global_constants.h"
+#include "core/config/engine.h"
+#include "core/config/project_settings.h"
+#include "core/core_constants.h"
#include "core/input/input.h"
#include "core/os/os.h"
-#include "core/project_settings.h"
#include "scene/main/node.h"
#include "scene/main/scene_tree.h"
@@ -828,7 +828,6 @@ PropertyInfo VisualScriptOperator::get_input_value_port_info(int p_idx) const {
{ Variant::NIL, Variant::NIL }, //OP_NEGATE,
{ Variant::NIL, Variant::NIL }, //OP_POSITIVE,
{ Variant::INT, Variant::INT }, //OP_MODULE,
- { Variant::STRING, Variant::STRING }, //OP_STRING_CONCAT,
//bitwise
{ Variant::INT, Variant::INT }, //OP_SHIFT_LEFT,
{ Variant::INT, Variant::INT }, //OP_SHIFT_RIGHT,
@@ -873,7 +872,6 @@ PropertyInfo VisualScriptOperator::get_output_value_port_info(int p_idx) const {
Variant::NIL, //OP_NEGATE,
Variant::NIL, //OP_POSITIVE,
Variant::INT, //OP_MODULE,
- Variant::STRING, //OP_STRING_CONCAT,
//bitwise
Variant::INT, //OP_SHIFT_LEFT,
Variant::INT, //OP_SHIFT_RIGHT,
@@ -933,36 +931,36 @@ static const char *op_names[] = {
};
String VisualScriptOperator::get_caption() const {
- static const wchar_t *op_names[] = {
+ static const char32_t *op_names[] = {
//comparison
- L"A = B", //OP_EQUAL,
- L"A \u2260 B", //OP_NOT_EQUAL,
- L"A < B", //OP_LESS,
- L"A \u2264 B", //OP_LESS_EQUAL,
- L"A > B", //OP_GREATER,
- L"A \u2265 B", //OP_GREATER_EQUAL,
+ U"A = B", //OP_EQUAL,
+ U"A \u2260 B", //OP_NOT_EQUAL,
+ U"A < B", //OP_LESS,
+ U"A \u2264 B", //OP_LESS_EQUAL,
+ U"A > B", //OP_GREATER,
+ U"A \u2265 B", //OP_GREATER_EQUAL,
//mathematic
- L"A + B", //OP_ADD,
- L"A - B", //OP_SUBTRACT,
- L"A \u00D7 B", //OP_MULTIPLY,
- L"A \u00F7 B", //OP_DIVIDE,
- L"\u00AC A", //OP_NEGATE,
- L"+ A", //OP_POSITIVE,
- L"A mod B", //OP_MODULE,
- L"A .. B", //OP_STRING_CONCAT,
+ U"A + B", //OP_ADD,
+ U"A - B", //OP_SUBTRACT,
+ U"A \u00D7 B", //OP_MULTIPLY,
+ U"A \u00F7 B", //OP_DIVIDE,
+ U"\u00AC A", //OP_NEGATE,
+ U"+ A", //OP_POSITIVE,
+ U"A mod B", //OP_MODULE,
+ U"A .. B", //OP_STRING_CONCAT,
//bitwise
- L"A << B", //OP_SHIFT_LEFT,
- L"A >> B", //OP_SHIFT_RIGHT,
- L"A & B", //OP_BIT_AND,
- L"A | B", //OP_BIT_OR,
- L"A ^ B", //OP_BIT_XOR,
- L"~A", //OP_BIT_NEGATE,
+ U"A << B", //OP_SHIFT_LEFT,
+ U"A >> B", //OP_SHIFT_RIGHT,
+ U"A & B", //OP_BIT_AND,
+ U"A | B", //OP_BIT_OR,
+ U"A ^ B", //OP_BIT_XOR,
+ U"~A", //OP_BIT_NEGATE,
//logic
- L"A and B", //OP_AND,
- L"A or B", //OP_OR,
- L"A xor B", //OP_XOR,
- L"not A", //OP_NOT,
- L"A in B", //OP_IN,
+ U"A and B", //OP_AND,
+ U"A or B", //OP_OR,
+ U"A xor B", //OP_XOR,
+ U"not A", //OP_NOT,
+ U"A in B", //OP_IN,
};
return op_names[op];
@@ -1433,7 +1431,7 @@ void VisualScriptConstant::set_constant_type(Variant::Type p_type) {
type = p_type;
Callable::CallError ce;
- value = Variant::construct(type, nullptr, 0, ce);
+ Variant::construct(type, value, nullptr, 0, ce);
ports_changed_notify();
_change_notify();
}
@@ -1706,8 +1704,10 @@ public:
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
bool valid;
+ // *p_output[0] points to the same place as *p_inputs[2] so we need a temp to store the value before the change in the next line
+ Variant temp = *p_inputs[2];
*p_outputs[0] = *p_inputs[0];
- p_outputs[0]->set(*p_inputs[1], *p_inputs[2], &valid);
+ p_outputs[0]->set(*p_inputs[1], temp, &valid);
if (!valid) {
r_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
@@ -1754,7 +1754,7 @@ PropertyInfo VisualScriptGlobalConstant::get_input_value_port_info(int p_idx) co
}
PropertyInfo VisualScriptGlobalConstant::get_output_value_port_info(int p_idx) const {
- String name = GlobalConstants::get_global_constant_name(index);
+ String name = CoreConstants::get_global_constant_name(index);
return PropertyInfo(Variant::INT, name);
}
@@ -1778,7 +1778,7 @@ public:
//virtual int get_working_memory_size() const { return 0; }
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
- *p_outputs[0] = GlobalConstants::get_global_constant_value(index);
+ *p_outputs[0] = CoreConstants::get_global_constant_value(index);
return 0;
}
};
@@ -1795,11 +1795,11 @@ void VisualScriptGlobalConstant::_bind_methods() {
String cc;
- for (int i = 0; i < GlobalConstants::get_global_constant_count(); i++) {
+ for (int i = 0; i < CoreConstants::get_global_constant_count(); i++) {
if (i > 0) {
cc += ",";
}
- cc += GlobalConstants::get_global_constant_name(i);
+ cc += CoreConstants::get_global_constant_name(i);
}
ADD_PROPERTY(PropertyInfo(Variant::INT, "constant", PROPERTY_HINT_ENUM, cc), "set_global_constant", "get_global_constant");
}
@@ -3255,7 +3255,7 @@ public:
virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Callable::CallError &r_error, String &r_error_str) {
Callable::CallError ce;
- *p_outputs[0] = Variant::construct(type, p_inputs, argcount, ce);
+ Variant::construct(type, *p_outputs[0], p_inputs, argcount, ce);
if (ce.error != Callable::CallError::CALL_OK) {
r_error_str = "Invalid arguments for constructor";
}
@@ -3727,7 +3727,7 @@ void VisualScriptDeconstruct::_update_elements() {
elements.clear();
Variant v;
Callable::CallError ce;
- v = Variant::construct(type, nullptr, 0, ce);
+ Variant::construct(type, v, nullptr, 0, ce);
List<PropertyInfo> pinfo;
v.get_property_list(&pinfo);
@@ -3879,7 +3879,6 @@ void register_visual_script_nodes() {
VisualScriptLanguage::singleton->add_register_func("operators/math/negate", create_op_node<Variant::OP_NEGATE>);
VisualScriptLanguage::singleton->add_register_func("operators/math/positive", create_op_node<Variant::OP_POSITIVE>);
VisualScriptLanguage::singleton->add_register_func("operators/math/remainder", create_op_node<Variant::OP_MODULE>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/string_concat", create_op_node<Variant::OP_STRING_CONCAT>);
//bitwise
VisualScriptLanguage::singleton->add_register_func("operators/bitwise/shift_left", create_op_node<Variant::OP_SHIFT_LEFT>);
VisualScriptLanguage::singleton->add_register_func("operators/bitwise/shift_right", create_op_node<Variant::OP_SHIFT_RIGHT>);
diff --git a/modules/visual_script/visual_script_nodes.h b/modules/visual_script/visual_script_nodes.h
index fa284b216c..b6061f8838 100644
--- a/modules/visual_script/visual_script_nodes.h
+++ b/modules/visual_script/visual_script_nodes.h
@@ -56,20 +56,20 @@ protected:
void _get_property_list(List<PropertyInfo> *p_list) const;
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "flow_control"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "flow_control"; }
void add_argument(Variant::Type p_type, const String &p_name, int p_index = -1, const PropertyHint p_hint = PROPERTY_HINT_NONE, const String &p_hint_string = String(""));
void set_argument_type(int p_argidx, Variant::Type p_type);
@@ -97,7 +97,7 @@ public:
void set_rpc_mode(MultiplayerAPI::RPCMode p_mode);
MultiplayerAPI::RPCMode get_rpc_mode() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptFunction();
};
@@ -142,20 +142,16 @@ public:
virtual bool is_input_port_name_editable() const;
virtual bool is_input_port_type_editable() const;
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
-
- virtual String get_caption() const = 0;
- virtual String get_text() const = 0;
- virtual String get_category() const = 0;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
void add_input_data_port(Variant::Type p_type, const String &p_name, int p_index = -1);
void set_input_data_port_type(int p_idx, Variant::Type p_type);
@@ -177,22 +173,22 @@ class VisualScriptComposeArray : public VisualScriptLists {
GDCLASS(VisualScriptComposeArray, VisualScriptLists)
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "functions"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptComposeArray();
};
@@ -207,19 +203,19 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "operators"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "operators"; }
void set_operator(Variant::Operator p_op);
Variant::Operator get_operator() const;
@@ -227,7 +223,7 @@ public:
void set_typed(Variant::Type p_op);
Variant::Type get_typed() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptOperator();
};
@@ -241,25 +237,25 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "operators"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "operators"; }
void set_typed(Variant::Type p_op);
Variant::Type get_typed() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptSelect();
};
@@ -270,28 +266,28 @@ class VisualScriptVariableGet : public VisualScriptNode {
StringName variable;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
void set_variable(StringName p_variable);
StringName get_variable() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptVariableGet();
};
@@ -302,28 +298,28 @@ class VisualScriptVariableSet : public VisualScriptNode {
StringName variable;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
void set_variable(StringName p_variable);
StringName get_variable() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptVariableSet();
};
@@ -335,23 +331,23 @@ class VisualScriptConstant : public VisualScriptNode {
Variant value;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "constants"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "constants"; }
void set_constant_type(Variant::Type p_type);
Variant::Type get_constant_type() const;
@@ -359,7 +355,7 @@ public:
void set_constant_value(Variant p_value);
Variant get_constant_value() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptConstant();
};
@@ -373,24 +369,24 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
void set_preload(const Ref<Resource> &p_preload);
Ref<Resource> get_preload() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptPreload();
};
@@ -399,21 +395,21 @@ class VisualScriptIndexGet : public VisualScriptNode {
GDCLASS(VisualScriptIndexGet, VisualScriptNode);
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "operators"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "operators"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptIndexGet();
};
@@ -422,21 +418,21 @@ class VisualScriptIndexSet : public VisualScriptNode {
GDCLASS(VisualScriptIndexSet, VisualScriptNode);
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "operators"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "operators"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptIndexSet();
};
@@ -449,24 +445,24 @@ class VisualScriptGlobalConstant : public VisualScriptNode {
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "constants"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "constants"; }
void set_global_constant(int p_which);
int get_global_constant();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptGlobalConstant();
};
@@ -479,22 +475,22 @@ class VisualScriptClassConstant : public VisualScriptNode {
protected:
static void _bind_methods();
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "constants"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "constants"; }
void set_class_constant(const StringName &p_which);
StringName get_class_constant();
@@ -502,7 +498,7 @@ public:
void set_base_type(const StringName &p_which);
StringName get_base_type();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptClassConstant();
};
@@ -515,23 +511,23 @@ class VisualScriptBasicTypeConstant : public VisualScriptNode {
protected:
static void _bind_methods();
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "constants"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "constants"; }
void set_basic_type_constant(const StringName &p_which);
StringName get_basic_type_constant() const;
@@ -539,7 +535,7 @@ public:
void set_basic_type(Variant::Type p_which);
Variant::Type get_basic_type() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptBasicTypeConstant();
};
@@ -569,24 +565,24 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "constants"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "constants"; }
void set_math_constant(MathConstant p_which);
MathConstant get_math_constant();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptMathConstant();
};
@@ -599,31 +595,31 @@ class VisualScriptEngineSingleton : public VisualScriptNode {
String singleton;
protected:
- void _validate_property(PropertyInfo &property) const;
+ void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
void set_singleton(const String &p_string);
String get_singleton();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
- virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const override;
VisualScriptEngineSingleton();
};
@@ -634,30 +630,30 @@ class VisualScriptSceneNode : public VisualScriptNode {
NodePath path;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
void set_node_path(const NodePath &p_path);
NodePath get_node_path();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
- virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const override;
VisualScriptSceneNode();
};
@@ -666,27 +662,27 @@ class VisualScriptSceneTree : public VisualScriptNode {
GDCLASS(VisualScriptSceneTree, VisualScriptNode);
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
- virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const override;
VisualScriptSceneTree();
};
@@ -700,24 +696,24 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
void set_resource_path(const String &p_path);
String get_resource_path();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptResourcePath();
};
@@ -729,23 +725,23 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const { return "data"; }
+ virtual String get_caption() const override;
+ virtual String get_category() const override { return "data"; }
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
- virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const override;
VisualScriptSelf();
};
@@ -773,22 +769,22 @@ public:
STEP_YIELD_BIT = STEP_SHIFT << 4, //yield (will find VisualScriptFunctionState state in first working memory)
};
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
void _script_changed();
@@ -804,22 +800,22 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptSubCall();
};
@@ -835,20 +831,20 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override;
void set_title(const String &p_title);
String get_title() const;
@@ -859,7 +855,7 @@ public:
void set_size(const Size2 &p_size);
Size2 get_size() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptComment();
};
@@ -874,19 +870,19 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_category() const override;
void set_constructor_type(Variant::Type p_type);
Variant::Type get_constructor_type() const;
@@ -894,7 +890,7 @@ public:
void set_constructor(const Dictionary &p_info);
Dictionary get_constructor() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptConstructor();
};
@@ -909,19 +905,19 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_category() const override;
void set_var_name(const StringName &p_name);
StringName get_var_name() const;
@@ -929,7 +925,7 @@ public:
void set_var_type(Variant::Type p_type);
Variant::Type get_var_type() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptLocalVar();
};
@@ -944,20 +940,20 @@ protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override;
void set_var_name(const StringName &p_name);
StringName get_var_name() const;
@@ -965,7 +961,7 @@ public:
void set_var_type(Variant::Type p_type);
Variant::Type get_var_type() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptLocalVarSet();
};
@@ -985,24 +981,24 @@ public:
Mode mode;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_category() const override;
void set_action_name(const StringName &p_name);
StringName get_action_name() const;
@@ -1010,7 +1006,7 @@ public:
void set_action_mode(Mode p_mode);
Mode get_action_mode() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptInputAction();
};
@@ -1033,30 +1029,30 @@ class VisualScriptDeconstruct : public VisualScriptNode {
void _set_elem_cache(const Array &p_elements);
Array _get_elem_cache() const;
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
protected:
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_category() const;
+ virtual String get_caption() const override;
+ virtual String get_category() const override;
void set_deconstruct_type(Variant::Type p_type);
Variant::Type get_deconstruct_type() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptDeconstruct();
};
diff --git a/modules/visual_script/visual_script_property_selector.cpp b/modules/visual_script/visual_script_property_selector.cpp
index 3c44faab90..875270e74f 100644
--- a/modules/visual_script/visual_script_property_selector.cpp
+++ b/modules/visual_script/visual_script_property_selector.cpp
@@ -196,7 +196,7 @@ void VisualScriptPropertySelector::_update_search() {
if (type != Variant::NIL) {
Variant v;
Callable::CallError ce;
- v = Variant::construct(type, nullptr, 0, ce);
+ Variant::construct(type, v, nullptr, 0, ce);
v.get_method_list(&methods);
} else {
Object *obj = ObjectDB::get_instance(script);
diff --git a/modules/visual_script/visual_script_yield_nodes.h b/modules/visual_script/visual_script_yield_nodes.h
index 4877e8b7e6..7a72211027 100644
--- a/modules/visual_script/visual_script_yield_nodes.h
+++ b/modules/visual_script/visual_script_yield_nodes.h
@@ -50,25 +50,25 @@ private:
float wait_time;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "functions"; }
void set_yield_mode(YieldMode p_mode);
YieldMode get_yield_mode();
@@ -76,7 +76,7 @@ public:
void set_wait_time(float p_time);
float get_wait_time();
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptYield();
};
@@ -103,25 +103,25 @@ private:
StringName _get_base_type() const;
protected:
- virtual void _validate_property(PropertyInfo &property) const;
+ virtual void _validate_property(PropertyInfo &property) const override;
static void _bind_methods();
public:
- virtual int get_output_sequence_port_count() const;
- virtual bool has_input_sequence_port() const;
+ virtual int get_output_sequence_port_count() const override;
+ virtual bool has_input_sequence_port() const override;
- virtual String get_output_sequence_port_text(int p_port) const;
+ virtual String get_output_sequence_port_text(int p_port) const override;
- virtual int get_input_value_port_count() const;
- virtual int get_output_value_port_count() const;
+ virtual int get_input_value_port_count() const override;
+ virtual int get_output_value_port_count() const override;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const override;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const override;
- virtual String get_caption() const;
- virtual String get_text() const;
- virtual String get_category() const { return "functions"; }
+ virtual String get_caption() const override;
+ virtual String get_text() const override;
+ virtual String get_category() const override { return "functions"; }
void set_base_type(const StringName &p_type);
StringName get_base_type() const;
@@ -135,7 +135,7 @@ public:
void set_call_mode(CallMode p_mode);
CallMode get_call_mode() const;
- virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) override;
VisualScriptYieldSignal();
};