Prepare alpha 11 with online diagnostics
This commit is contained in:
1 parent
d53467baf2
commit
4d9e6d9185
14 files changed
+550
-77
No files matched your search
@@ -22,6 +22,8 @@ func _run() -> void:
|
||||
game.multiplayer_manager.matchmaking_state = "hosting"
|
||||
game.multiplayer_manager.private_room_code = "ABC123"
|
||||
assert(game._can_invite_friends())
|
||||
game.multiplayer_manager.matchmaking_state = "lobby"
|
||||
assert(game._can_invite_friends(), "Im privaten Warteraum muss EINLADEN sichtbar bleiben.")
|
||||
game.multiplayer_manager.matchmaking_state = "offline"
|
||||
assert(not game._can_invite_friends(), "Ein alter Raumcode darf keine Einladung mehr ermöglichen.")
|
||||
game.coop_online_mode = true
|
||||
@@ -66,6 +68,15 @@ func _run() -> void:
|
||||
online_manager._flush_pending_snapshots()
|
||||
assert(received.size() == 1 and received[0].tick == 7)
|
||||
assert(received[0].shots.size() == online_manager.MAX_PENDING_SNAPSHOTS)
|
||||
var diagnostic_bundle: String = online_manager.get_diagnostic_bundle()
|
||||
assert(diagnostic_bundle.contains("\"event\":\"window\""), "Die Online-Diagnose muss einen kopierbaren Messbericht erzeugen.")
|
||||
assert(diagnostic_bundle.contains("\"queue_dropped\":3"), "Verworfene Zustände im Rückstau müssen erfasst werden.")
|
||||
online_manager._finish_match_diagnostics("test_finished")
|
||||
assert(online_manager.diagnostic_match_key.is_empty())
|
||||
assert(online_manager.diagnostic_finished_match_key == "test-match".sha256_text().substr(0, 12))
|
||||
online_manager._on_match_state({"match_id": "test-match", "op_code": online_manager.OP_SNAPSHOT,
|
||||
"data": JSON.stringify({"tick": 8, "shots": []})})
|
||||
assert(online_manager.diagnostic_file == null, "Nach dem Rundenende darf kein zweiter Diagnosebericht geöffnet werden.")
|
||||
game._select_map(0)
|
||||
game._prepare_draw_geometry()
|
||||
assert(not game.draw_geometry_dirty and not game.road_tile_cache.is_empty())
|
||||
@@ -79,5 +90,19 @@ func _run() -> void:
|
||||
game._prepare_draw_geometry()
|
||||
var partner_cells: Array = game.build_cell_cache.filter(func(cell: Dictionary) -> bool: return cell.partner)
|
||||
assert(not partner_cells.is_empty(), "Die gespiegelte Koop-Seite braucht eigene Baufelder.")
|
||||
assert(partner_cells.all(func(cell: Dictionary) -> bool: return cell.rect.get_center().x > game.COOP_MIRROR_X),
|
||||
"Für Spieler 1 muss nur die rechte Seite als Partnerseite markiert sein.")
|
||||
game.coop_online_mode = true
|
||||
game.local_player_slot = 1
|
||||
game.draw_geometry_dirty = true
|
||||
game._prepare_draw_geometry()
|
||||
partner_cells = game.build_cell_cache.filter(func(cell: Dictionary) -> bool: return cell.partner)
|
||||
assert(not partner_cells.is_empty() and partner_cells.all(func(cell: Dictionary) -> bool: return cell.rect.get_center().x < game.COOP_MIRROR_X),
|
||||
"Für Spieler 2 muss nur die linke Seite als Partnerseite markiert sein.")
|
||||
game.camera_offset.x = game.COOP_WORLD_WIDTH - game.SCREEN.x
|
||||
game._toggle_coop_side()
|
||||
assert(game.status_text == "PARTNER-SEITE", "Der Seitenwechsel muss Spieler 2 links als Partnerseite benennen.")
|
||||
game._toggle_coop_side()
|
||||
assert(game.status_text == "DEINE SEITE", "Der Seitenwechsel muss Spieler 2 rechts als eigene Seite benennen.")
|
||||
print("VOID_BASTION_ONLINE_SNAPSHOT_OK")
|
||||
get_tree().quit()
|
||||
@@ -0,0 +1 @@
|
||||
uid://kwjokxtwfr0u
|
||||
Reference in new issue
Block a user