Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion addons/netfox.extras/plugin.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
name="netfox.extras"
description="Game-specific utilities for Netfox"
author="Tamas Galffy"
version="1.8.0"
version="1.8.1"
script="netfox-extras.gd"
14 changes: 7 additions & 7 deletions addons/netfox.extras/weapon/network-weapon.gd
Original file line number Diff line number Diff line change
Expand Up @@ -24,15 +24,15 @@ func fire() -> Node:
if not can_fire():
return null

var id = _generate_id()
var id: String = _generate_id()
var projectile = _spawn()
_save_projectile(projectile, id)
var data = _projectile_data[id]

if not is_multiplayer_authority():
rpc_id(get_multiplayer_authority(), "_request_projectile", id, NetworkTime.tick, data)
_request_projectile.rpc_id(get_multiplayer_authority(), id, NetworkTime.tick, data)
else:
rpc("_accept_projectile", id, NetworkTime.tick, data)
_accept_projectile.rpc(id, NetworkTime.tick, data)

_logger.debug("Calling after fire hook for %s" % [projectile.name])
_after_fire(projectile)
Expand Down Expand Up @@ -143,22 +143,22 @@ func _request_projectile(id: String, tick: int, request_data: Dictionary):

# Reject if sender can't use this input
if not _can_peer_use(sender) or not _can_fire():
rpc_id(sender, "_decline_projectile", id)
_decline_projectile.rpc_id(sender, id)
_logger.error("Projectile %s rejected! Peer %s can't use this weapon now" % [id, sender])
return

# Validate incoming data
var projectile = _spawn()
var local_data = _get_data(projectile)
var local_data: Dictionary = _get_data(projectile)

if not _is_reconcilable(projectile, request_data, local_data):
projectile.queue_free()
rpc_id(sender, "_decline_projectile", id)
_decline_projectile.rpc_id(sender, id)
_logger.error("Projectile %s rejected! Can't reconcile states: [%s, %s]" % [id, request_data, local_data])
return

_save_projectile(projectile, id, local_data)
rpc("_accept_projectile", id, tick, local_data)
_accept_projectile.rpc(id, tick, local_data)
_after_fire(projectile)

@rpc("authority", "reliable", "call_local")
Expand Down
2 changes: 1 addition & 1 deletion addons/netfox.internals/plugin.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
name="netfox.internals"
description="Shared internals for netfox addons"
author="Tamas Galffy"
version="1.8.0"
version="1.8.1"
script="plugin.gd"
2 changes: 1 addition & 1 deletion addons/netfox.noray/plugin.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
name="netfox.noray"
description="Bulletproof your connectivity with noray integration for netfox"
author="Tamas Galffy"
version="1.8.0"
version="1.8.1"
script="netfox-noray.gd"
4 changes: 2 additions & 2 deletions addons/netfox/network-time-synchronizer.gd
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ func get_rtt(id: int, sample_id: int = -1) -> float:
return 0

var trip_start = get_real_time()
rpc_id(id, "_request_ping")
_request_ping.rpc_id(id)
var response = await on_ping
var trip_end = get_real_time()
var rtt = trip_end - trip_start
Expand Down Expand Up @@ -138,7 +138,7 @@ func _sync_time_loop(interval: float):
@rpc("any_peer", "reliable", "call_remote")
func _request_ping():
var sender = multiplayer.get_remote_sender_id()
rpc_id(sender, "_respond_ping", NetworkTime.time, NetworkTime.tick)
_respond_ping.rpc_id(sender, NetworkTime.time, NetworkTime.tick)

@rpc("any_peer", "reliable", "call_remote")
func _respond_ping(peer_time: float, peer_tick: int):
Expand Down
2 changes: 1 addition & 1 deletion addons/netfox/network-time.gd
Original file line number Diff line number Diff line change
Expand Up @@ -307,7 +307,7 @@ func start():
_next_tick_time = _get_os_time()
after_sync.emit()

rpc_id(1, "_submit_sync_success")
_submit_sync_success.rpc_id(1)
else:
_active = true
_initial_sync_done = true
Expand Down
2 changes: 1 addition & 1 deletion addons/netfox/plugin.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@
name="netfox"
description="Shared internals for netfox addons"
author="Tamas Galffy"
version="1.8.0"
version="1.8.1"
script="netfox.gd"
6 changes: 3 additions & 3 deletions addons/netfox/rollback/rollback-synchronizer.gd
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ func _record_tick(tick: int):
# Broadcast as new state
_latest_state = max(_latest_state, tick)
_states[tick] = PropertySnapshot.merge(_states.get(tick, {}), broadcast)
rpc("_submit_state", broadcast, tick)
_submit_state.rpc(broadcast, tick)

# Record state for specified tick ( current + 1 )
if not _record_state_props.is_empty() and tick > _latest_state:
Expand Down Expand Up @@ -205,9 +205,9 @@ func _after_tick(_delta, _tick):
func _attempt_submit_input(input: Dictionary):
# TODO: Default to input broadcast in mesh network setups
if enable_input_broadcast:
rpc("_submit_input", input, NetworkTime.tick)
_submit_input.rpc(input, NetworkTime.tick)
elif not multiplayer.is_server():
rpc_id(1, "_submit_input", input, NetworkTime.tick)
_submit_input.rpc_id(1, input, NetworkTime.tick)

func _get_history(buffer: Dictionary, tick: int) -> Dictionary:
if buffer.has(tick):
Expand Down
2 changes: 1 addition & 1 deletion addons/netfox/state-synchronizer.gd
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ func _after_tick(_dt, tick):
if is_multiplayer_authority():
# Submit snapshot
var state = PropertySnapshot.extract(_props)
rpc("_submit_state", state, tick)
_submit_state.rpc(state, tick)
else:
# Apply last received state
PropertySnapshot.apply(_last_received_state, _property_cache)
Expand Down
2 changes: 1 addition & 1 deletion examples/forest-brawl/scripts/brawler-spawner.gd
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ func _spawn(id: int) -> BrawlerController:
# Submit name
var player_name = name_input.text
print("Submitting player name " + player_name)
rpc("_submit_name", player_name)
_submit_name.rpc(player_name)

return avatar

Expand Down
12 changes: 6 additions & 6 deletions examples/forest-brawl/scripts/brawler-weapon.gd
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,13 @@ func _after_fire(_projectile: Node3D):
sound.play()

func _spawn() -> Node3D:
var p = projectile.instantiate() as BombProjectile
get_tree().root.add_child(p, true)
p.global_transform = global_transform
p.fired_by = get_parent()
var bomb_projectile: BombProjectile = projectile.instantiate() as BombProjectile
get_tree().root.add_child(bomb_projectile, true)
bomb_projectile.global_transform = global_transform
bomb_projectile.fired_by = get_parent()

return p
return bomb_projectile

func _tick(_delta, _t):
func _tick(_delta: float, _t: int):
if input.is_firing:
fire()
6 changes: 3 additions & 3 deletions examples/forest-brawl/scripts/powerup.gd
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ func _tick(delta, tick):
if body.is_in_group("Brawlers") and not _has_powerup(body):
_take() # Predict
if is_multiplayer_authority():
rpc("_spawn_effect", randi_range(0, effects.size() - 1), body.get_path())
rpc("_take")
_spawn_effect.rpc(randi_range(0, effects.size() - 1), body.get_path())
_take.rpc()
else:
scale = scale.lerp(Vector3.ONE * 0.0005, fade_speed * delta)
if tick == respawn_tick:
_respawn() # Predict
if is_multiplayer_authority():
rpc("_respawn")
_respawn.rpc()

func _has_powerup(target: Node) -> bool:
return target.get_children()\
Expand Down
2 changes: 1 addition & 1 deletion examples/forest-brawl/scripts/score-manager.gd
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func _handle_fall(brawler: BrawlerController):
_scores[id] = _scores.get(id, 0) - 1

GameEvents.on_scores_updated.emit(_scores)
rpc("_submit_scores", _scores)
_submit_scores.rpc(_scores)

# Display scoreboard
if id == multiplayer.get_unique_id():
Expand Down