summaryrefslogtreecommitdiffstats
path: root/modules/visual_script/visual_script_func_nodes.cpp
diff options
context:
space:
mode:
authorreduz <reduzio@gmail.com>2022-03-09 14:58:40 +0100
committerreduz <reduzio@gmail.com>2022-03-09 18:39:13 +0100
commit21637dfc2535a00f531b8b664c1e66ba34d11eb0 (patch)
treebfe6059eedfd5a4233d7d4b46d60703e342860d8 /modules/visual_script/visual_script_func_nodes.cpp
parent922348f4c00e694961a7c9717abdcd0310c11973 (diff)
downloadredot-engine-21637dfc2535a00f531b8b664c1e66ba34d11eb0.tar.gz
Remove VARIANT_ARG* macros
* Very old macros from the time Godot was created. * Limited arguments to 5 (then later changed to 8) in many places. * They were replaced by C++11 Variadic Templates. * Renamed methods that take argument pointers to have a "p" suffix. This was used in some places and not in others, so made it standard. * Also added a dereference check for Variant*. Helped catch a couple of bugs.
Diffstat (limited to 'modules/visual_script/visual_script_func_nodes.cpp')
-rw-r--r--modules/visual_script/visual_script_func_nodes.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp
index ef6c1ecdb9..a63f3edc0d 100644
--- a/modules/visual_script/visual_script_func_nodes.cpp
+++ b/modules/visual_script/visual_script_func_nodes.cpp
@@ -772,9 +772,9 @@ public:
if (rpc_mode) {
call_rpc(object, p_inputs, input_args);
} else if (returns) {
- *p_outputs[0] = object->call(function, p_inputs, input_args, r_error);
+ *p_outputs[0] = object->callp(function, p_inputs, input_args, r_error);
} else {
- object->call(function, p_inputs, input_args, r_error);
+ object->callp(function, p_inputs, input_args, r_error);
}
} break;
case VisualScriptFunctionCall::CALL_MODE_NODE_PATH: {
@@ -795,9 +795,9 @@ public:
if (rpc_mode) {
call_rpc(node, p_inputs, input_args);
} else if (returns) {
- *p_outputs[0] = another->call(function, p_inputs, input_args, r_error);
+ *p_outputs[0] = another->callp(function, p_inputs, input_args, r_error);
} else {
- another->call(function, p_inputs, input_args, r_error);
+ another->callp(function, p_inputs, input_args, r_error);
}
} break;
@@ -813,21 +813,21 @@ public:
} else if (returns) {
if (call_mode == VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
if (returns >= 2) {
- v.call(function, p_inputs + 1, input_args, *p_outputs[1], r_error);
+ v.callp(function, p_inputs + 1, input_args, *p_outputs[1], r_error);
} else if (returns == 1) {
Variant ret;
- v.call(function, p_inputs + 1, input_args, ret, r_error);
+ v.callp(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 {
- v.call(function, p_inputs + 1, input_args, *p_outputs[0], r_error);
+ v.callp(function, p_inputs + 1, input_args, *p_outputs[0], r_error);
}
} else {
Variant ret;
- v.call(function, p_inputs + 1, input_args, ret, r_error);
+ v.callp(function, p_inputs + 1, input_args, ret, r_error);
}
if (call_mode == VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
@@ -846,9 +846,9 @@ public:
if (rpc_mode) {
call_rpc(object, p_inputs, input_args);
} else if (returns) {
- *p_outputs[0] = object->call(function, p_inputs, input_args, r_error);
+ *p_outputs[0] = object->callp(function, p_inputs, input_args, r_error);
} else {
- object->call(function, p_inputs, input_args, r_error);
+ object->callp(function, p_inputs, input_args, r_error);
}
} break;
}
@@ -2373,7 +2373,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) {
Object *obj = instance->get_owner_ptr();
- obj->emit_signal(name, p_inputs, argcount);
+ obj->emit_signalp(name, p_inputs, argcount);
return 0;
}