aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/game.gd7
-rw-r--r--client/multiplayer.gd8
2 files changed, 13 insertions, 2 deletions
diff --git a/client/game.gd b/client/game.gd
index e760186b..a31109cb 100644
--- a/client/game.gd
+++ b/client/game.gd
@@ -32,6 +32,7 @@ var tile_collide: Array = []
var tile_interact: Array = []
var map_names: Array = []
var in_lobby := false
+var is_replay := false
var marker_target = Vector3(0,0,0)
var players := {}
@@ -50,6 +51,7 @@ func _ready():
if !Global.on_vulkan():
environment.environment.tonemap_exposure = 0.5
+ mp.replay_start.connect(func(): is_replay = true)
mp.connection_closed.connect(func(reason: String):
Global.error_message = reason;
get_parent().replace_menu("res://menu/error.tscn")
@@ -241,11 +243,12 @@ func _process(delta):
marker.position = Global.interpolate(marker.position, marker_target, delta * 30.)
update_center()
+ if is_replay: mp.send_replay_tick(delta)
+
if Global.get_setting("debug_info"):
debug_label.show()
debug_label.text = "%d FPS" % Engine.get_frames_per_second()
- else:
- debug_label.hide()
+ else: debug_label.hide()
func get_tile_collision(pos: Vector2i) -> bool:
var t = map.get_tile_name(pos)
diff --git a/client/multiplayer.gd b/client/multiplayer.gd
index 4d071933..709a4502 100644
--- a/client/multiplayer.gd
+++ b/client/multiplayer.gd
@@ -51,6 +51,7 @@ signal set_ingame(state: bool, lobby: bool)
signal score(demands_failed: int, demands_completed: int, points: int, time_remaining: float)
signal hide_score()
signal server_message(text: String)
+signal replay_start()
signal connection_closed(reason: String)
@@ -242,6 +243,7 @@ func handle_packet(bytes: PackedByteArray):
"server_message":
var text = decoded["text"]
server_message.emit(text)
+ "replay_start": replay_start.emit()
_:
push_error("Unrecognized packet type: %s" % packet_type)
@@ -279,6 +281,12 @@ func send_chat(message: String):
}
})
+func send_replay_tick(dt: float):
+ send_packet({
+ "type": "replay_tick",
+ "dt": dt
+ })
+
func send_packet(packet):
var json = JSON.stringify(packet)
socket.send_text(json)