Skip to content

Commit 91b3a26

Browse files
committed
Merge pull request godotengine#106848 from Faless/mp/rpc_config_revert
Expose `get_rpc_config` and `get_node_rpc_config`
2 parents 7eabfab + b73ec1f commit 91b3a26

File tree

13 files changed

+40
-18
lines changed

13 files changed

+40
-18
lines changed

core/object/script_language.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ void Script::_bind_methods() {
172172
ClassDB::bind_method(D_METHOD("is_tool"), &Script::is_tool);
173173
ClassDB::bind_method(D_METHOD("is_abstract"), &Script::is_abstract);
174174

175-
ClassDB::bind_method(D_METHOD("get_rpc_config"), &Script::get_rpc_config);
175+
ClassDB::bind_method(D_METHOD("get_rpc_config"), &Script::_get_rpc_config_bind);
176176

177177
ADD_PROPERTY(PropertyInfo(Variant::STRING, "source_code", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "set_source_code", "get_source_code");
178178
}

core/object/script_language.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,10 @@ class Script : public Resource {
135135

136136
void _set_debugger_break_language();
137137

138+
Variant _get_rpc_config_bind() const {
139+
return get_rpc_config().duplicate(true);
140+
}
141+
138142
public:
139143
virtual void reload_from_file() override;
140144

@@ -191,7 +195,7 @@ class Script : public Resource {
191195

192196
virtual bool is_placeholder_fallback_enabled() const { return false; }
193197

194-
virtual Variant get_rpc_config() const = 0;
198+
virtual const Variant get_rpc_config() const = 0;
195199

196200
Script() {}
197201
};

core/object/script_language_extension.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ class ScriptExtension : public Script {
209209

210210
GDVIRTUAL0RC_REQUIRED(Variant, _get_rpc_config)
211211

212-
virtual Variant get_rpc_config() const override {
212+
virtual const Variant get_rpc_config() const override {
213213
Variant ret;
214214
GDVIRTUAL_CALL(_get_rpc_config, ret);
215215
return ret;

doc/classes/Node.xml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,13 @@
495495
Fetches a node by [NodePath]. Similar to [method get_node], but does not generate an error if [param path] does not point to a valid node.
496496
</description>
497497
</method>
498+
<method name="get_node_rpc_config" qualifiers="const">
499+
<return type="Variant" />
500+
<description>
501+
Returns a [Dictionary] mapping method names to their RPC configuration defined for this node using [method rpc_config].
502+
[b]Note:[/b] This method only returns the RPC configuration assigned via [method rpc_config]. See [method Script.get_rpc_config] to retrieve the RPCs defined by the [Script].
503+
</description>
504+
</method>
498505
<method name="get_orphan_node_ids" qualifiers="static">
499506
<return type="int[]" />
500507
<description>
@@ -538,12 +545,6 @@
538545
[b]Note:[/b] The returned value will be larger than expected if running at a framerate lower than [member Engine.physics_ticks_per_second] / [member Engine.max_physics_steps_per_frame] FPS. This is done to avoid "spiral of death" scenarios where performance would plummet due to an ever-increasing number of physics steps per frame. This behavior affects both [method _process] and [method _physics_process]. As a result, avoid using [code]delta[/code] for time measurements in real-world seconds. Use the [Time] singleton's methods for this purpose instead, such as [method Time.get_ticks_usec].
539546
</description>
540547
</method>
541-
<method name="get_rpc_config" qualifiers="const">
542-
<return type="Variant" />
543-
<description>
544-
Returns a [Dictionary] mapping method names to their RPC configuration defined for this node using [method rpc_config].
545-
</description>
546-
</method>
547548
<method name="get_scene_instance_load_placeholder" qualifiers="const">
548549
<return type="bool" />
549550
<description>

misc/extension_api_validation/4.4-stable.expected

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -251,3 +251,10 @@ Validate extension JSON: Error: Field 'classes/InputMap/methods/add_action/argum
251251
Validate extension JSON: Error: Field 'global_enums/KeyModifierMask/values/KEY_MODIFIER_MASK': value changed value in new API, from 532676600.0 to 2130706432.
252252

253253
Precision of string-serialized Variant constants increased.
254+
255+
256+
GH-106848
257+
---------
258+
Validate extension JSON: API was removed: classes/Node/methods/get_rpc_config
259+
260+
Change Node `get_rpc_config` to `get_node_rpc_config`. Compatibility method registered.

modules/gdscript/gdscript.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -922,7 +922,7 @@ void GDScript::get_members(HashSet<StringName> *p_members) {
922922
}
923923
}
924924

925-
Variant GDScript::get_rpc_config() const {
925+
const Variant GDScript::get_rpc_config() const {
926926
return rpc_config;
927927
}
928928

modules/gdscript/gdscript.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ class GDScript : public Script {
346346
virtual void get_constants(HashMap<StringName, Variant> *p_constants) override;
347347
virtual void get_members(HashSet<StringName> *p_members) override;
348348

349-
virtual Variant get_rpc_config() const override;
349+
virtual const Variant get_rpc_config() const override;
350350

351351
void unload_static() const;
352352

modules/mono/csharp_script.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2737,7 +2737,7 @@ int CSharpScript::get_member_line(const StringName &p_member) const {
27372737
return -1;
27382738
}
27392739

2740-
Variant CSharpScript::get_rpc_config() const {
2740+
const Variant CSharpScript::get_rpc_config() const {
27412741
return rpc_config;
27422742
}
27432743

modules/mono/csharp_script.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,7 +289,7 @@ class CSharpScript : public Script {
289289

290290
int get_member_line(const StringName &p_member) const override;
291291

292-
Variant get_rpc_config() const override;
292+
const Variant get_rpc_config() const override;
293293

294294
#ifdef TOOLS_ENABLED
295295
bool is_placeholder_fallback_enabled() const override {

modules/multiplayer/scene_rpc_interface.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ const SceneRPCInterface::RPCConfigCache &SceneRPCInterface::_get_node_config(con
105105
return rpc_cache[oid];
106106
}
107107
RPCConfigCache cache;
108-
_parse_rpc_config(p_node->get_rpc_config(), true, cache);
108+
_parse_rpc_config(p_node->get_node_rpc_config(), true, cache);
109109
if (p_node->get_script_instance()) {
110110
_parse_rpc_config(p_node->get_script_instance()->get_rpc_config(), false, cache);
111111
}

0 commit comments

Comments
 (0)