mirror of
https://github.com/jcreek/CosmicClash.git
synced 2026-09-11 08:23:45 +00:00
fix: pass Godot 4.7 multiplayer test suite
This commit is contained in:
@@ -340,7 +340,7 @@ func _handle_websocket_packet(packet: PackedByteArray) -> void:
|
||||
_on_resync_required(String(event["resource_id"]))
|
||||
|
||||
|
||||
func _valid_websocket_event(event: Dictionary) -> bool:
|
||||
static func _valid_websocket_event(event: Dictionary) -> bool:
|
||||
if not event.has("event") or not event["event"] is String or String(event["event"]).is_empty():
|
||||
return false
|
||||
if not event.has("revision") or not (event["revision"] is int or event["revision"] is float):
|
||||
|
||||
@@ -45,21 +45,21 @@ func begin_queue(new_ticket_id: String, new_playlist: String) -> bool:
|
||||
|
||||
func apply_ticket_update(update: Dictionary) -> bool:
|
||||
if not _has_string(update, "ticket_id") or not update.has("revision") or not update.has("state"):
|
||||
return _request_resync(ticket_id)
|
||||
return _request_resync(self.ticket_id)
|
||||
if ticket_id.is_empty() or String(update["ticket_id"]) != ticket_id:
|
||||
return _request_resync(ticket_id)
|
||||
return _request_resync(self.ticket_id)
|
||||
var incoming_revision := int(update["revision"])
|
||||
if incoming_revision < revision:
|
||||
return false
|
||||
if incoming_revision == revision:
|
||||
if _ticket_differs(update):
|
||||
return _request_resync(ticket_id)
|
||||
return _request_resync(self.ticket_id)
|
||||
return true
|
||||
if incoming_revision > revision + 1:
|
||||
return _request_resync(ticket_id)
|
||||
return _request_resync(self.ticket_id)
|
||||
var incoming_state := String(update["state"])
|
||||
if not _is_ticket_state(incoming_state):
|
||||
return _request_resync(ticket_id)
|
||||
return _request_resync(self.ticket_id)
|
||||
revision = incoming_revision
|
||||
phase = incoming_state
|
||||
if update.has("playlist"):
|
||||
|
||||
@@ -262,7 +262,7 @@ func _validate() -> void:
|
||||
errors.append("--arena-rotation must be sequential or random, got '%s'" % rotation)
|
||||
if bool(values["allocated-mode"]):
|
||||
for key in ["match-id", "server-id", "playlist-version", "client-build", "assignment-expiry-unix", "server-image-digest", "transport", "region"]:
|
||||
if String(values[key]).is_empty():
|
||||
if str(values[key]).is_empty():
|
||||
errors.append("--allocated-mode requires --%s" % key)
|
||||
if int(values["assignment-expiry-unix"]) <= int(Time.get_unix_time_from_system()):
|
||||
errors.append("--assignment-expiry-unix must be in the future")
|
||||
|
||||
Reference in New Issue
Block a user