Check whether we are on a server before calling rpc() / vrpc() in the macros.

This commit is contained in:
Relintai 2021-08-31 00:38:53 +02:00
parent 332687dda9
commit cc9dc30b83

View File

@ -143,13 +143,13 @@ struct EntityStat {
// f.e. RPC(method, arg0, arg1, etc)
#define RPC(func, ...) \
if (is_inside_tree() && get_tree()->has_network_peer()) { \
if (is_inside_tree() && get_tree()->has_network_peer() && get_tree()->is_network_server()) { \
rpc(#func, ##__VA_ARGS__); \
} \
func(__VA_ARGS__);
#define VRPC(func, ...) \
if (is_inside_tree() && get_tree()->has_network_peer()) { \
if (is_inside_tree() && get_tree()->has_network_peer() && get_tree()->is_network_server()) { \
vrpc(#func, ##__VA_ARGS__); \
} \
func(__VA_ARGS__);
@ -193,13 +193,13 @@ struct EntityStat {
normalfunc(normal_var);
#define VRPCOBJ12(rpcfunc, rpc_var, normalfunc, normal_var1, normal_var2) \
if (is_inside_tree() && get_tree()->has_network_peer()) { \
if (is_inside_tree() && get_tree()->has_network_peer() && get_tree()->is_network_server()) { \
vrpc(#rpcfunc, rpc_var); \
} \
normalfunc(normal_var1, normal_var2);
#define VRPCOBJP(rpcfunc, rpc_var1, rpc_var2, normalfunc, normal_var1, normal_var2) \
if (is_inside_tree() && get_tree()->has_network_peer()) { \
if (is_inside_tree() && get_tree()->has_network_peer() && get_tree()->is_network_server()) { \
vrpc(#rpcfunc, rpc_var1, rpc_var2); \
} \
normalfunc(normal_var1, normal_var2);
@ -231,7 +231,7 @@ struct EntityStat {
// f.e. RSET(rset("property", "value"), property, value)
#define RSET(rset_func, variable, value) \
if (is_inside_tree() && get_tree()->has_network_peer()) { \
if (is_inside_tree() && get_tree()->has_network_peer() && get_tree()->is_network_server()) { \
rset_func; \
} \
variable = value;