mirror of
https://github.com/godotengine/godot.git
synced 2025-10-20 08:23:29 +00:00
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.
This commit is contained in:
parent
922348f4c0
commit
21637dfc25
59 changed files with 417 additions and 467 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue