diff --git a/README.md b/README.md index 0b8bd66..bc6c36c 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Der aktuelle Stand ist bewusst ein technischer Prototyp. Es ist noch keine ferti - Run-Start, Spieler-Spawn und einfache Player-Snapshots werden geloggt bzw. fuer P2P-Versand vorbereitet. - Das Brogether-Modal ist standardmaessig versteckt und kann ueber das Hauptmenue oder `F5` geoeffnet werden. - Die UI enthaelt einen ersten Lobby-Browser, Lobby-Erstellung mit optionalem Passwort und einen Wartebereich mit Spielerkacheln. -- Der Wartebereich hat Ready-/Start-Status und einen Fake-Peer-Modus fuer lokale Tests ohne zweiten Client. +- Der Wartebereich hat Ready-Status und einen Fake-Peer-Modus fuer lokale Tests ohne zweiten Client. ## Was noch nicht fertig ist @@ -74,7 +74,7 @@ F11 Lokalen Loopback-Test starten Das Brogether-Modal enthaelt Buttons fuer Host, Join, Leave und Ping. Es ist fuer die naechsten Zwei-Client-Tests gedacht und ersetzt die meisten Hotkey-Aktionen. Passwort-Lobbys sind aktuell eine Mod-seitige Zugangskontrolle: die Lobby bleibt sichtbar, der Join-Button prueft aber das Passwort, bevor Brogether beitritt. -Fuer Tests ohne zweiten Steam-Client kann im Wartebereich `Add Fake` genutzt werden. Das fuegt einen lokalen Test-Peer hinzu, dessen Ready-Status mit `Fake Ready` umgeschaltet werden kann. `Start` wird nur fuer den Host aktiv, wenn alle sichtbaren Lobby-Mitglieder ready sind; aktuell schreibt Start nur ein Lobby-Protokollereignis ins Log und startet noch keinen echten Run. +Fuer Tests ohne zweiten Steam-Client kann im Wartebereich `Add Fake` genutzt werden. Das fuegt einen lokalen Test-Peer hinzu, dessen Ready-Status mit `Fake Ready` umgeschaltet werden kann. Einen eigenen Brogether-Startbutton gibt es bewusst noch nicht; bis die echte Run-Synchronisation steht, startet man Brotato weiterhin ueber den normalen Spielablauf. Brogether schreibt ein eigenes Log nach: diff --git a/docs/setup.md b/docs/setup.md index 9cabe2a..ad0bb5b 100644 --- a/docs/setup.md +++ b/docs/setup.md @@ -31,7 +31,7 @@ Brogether selbst bleibt danach unsichtbar, bis es geoeffnet wird. Im Hauptmenue Die UI hat jetzt einen ersten Lobby-Browser. Dort kann man Lobbys suchen, eine Lobby mit optionalem Passwort erstellen und einer ausgewaehlten Lobby beitreten. Nach Host/Join wechselt Brogether in einen Wartebereich mit Steam-Namen und statischen Initialen-Avataren fuer die Lobby-Spieler. -Ohne zweiten Client kann im Wartebereich `Add Fake` gedrueckt werden. Dadurch erscheint ein lokaler Test-Peer. Mit `Ready` und `Fake Ready` lassen sich beide Ready-Zustaende pruefen; `Start` wird beim Host erst aktiv, wenn alle sichtbaren Mitglieder ready sind. +Ohne zweiten Client kann im Wartebereich `Add Fake` gedrueckt werden. Dadurch erscheint ein lokaler Test-Peer. Mit `Ready` und `Fake Ready` lassen sich beide Ready-Zustaende pruefen. Einen eigenen Brogether-Startbutton gibt es erst, wenn die echte Run-Synchronisation dran ist; bis dahin nutzt man Brotatos normalen Startablauf. ## Debug-Hotkeys im Spiel diff --git a/src/mods-unpacked/Brogether-Brogether/mod_main.gd b/src/mods-unpacked/Brogether-Brogether/mod_main.gd index 7fd2b76..47dbeea 100644 --- a/src/mods-unpacked/Brogether-Brogether/mod_main.gd +++ b/src/mods-unpacked/Brogether-Brogether/mod_main.gd @@ -38,7 +38,6 @@ var lobby_members_container: GridContainer = null var lobby_title_label: Label = null var lobby_detail_label: Label = null var ready_button: Button = null -var start_button: Button = null var fake_peer_button: Button = null var fake_ready_button: Button = null var status_time_left := 0.0 @@ -494,8 +493,6 @@ func _handle_packet(sender: int, data, is_loopback: bool = false) -> void: _set_member_ready(ready_sender, bool(data.get("ready", false))) _log("ready state from %s: %s" % [ready_sender, _ready_text(ready_sender)]) _update_lobby_room() - "lobby_start": - _log("lobby start requested by %s: %s" % [sender, data]) "run_started": _log("remote run started from %s: %s" % [sender, data.get("state", {})]) "players_spawned": @@ -768,7 +765,6 @@ func _create_debug_panel() -> void: lobby_view.add_child(lobby_actions) ready_button = _add_panel_button(lobby_actions, "Ready", "toggle_local_ready") - start_button = _add_panel_button(lobby_actions, "Start", "request_lobby_start") fake_peer_button = _add_panel_button(lobby_actions, "Fake Peer", "toggle_fake_peer") fake_ready_button = _add_panel_button(lobby_actions, "Fake Ready", "toggle_fake_peer_ready") _add_panel_button(lobby_actions, "Ping", "send_ping") @@ -848,27 +844,6 @@ func toggle_local_ready() -> void: _update_lobby_room() -func request_lobby_start() -> void: - if lobby_id == 0: - _log("create or join a lobby before starting") - return - if not is_host: - _log("only the lobby host can start") - return - if not _all_members_ready(): - _log("cannot start: not all lobby members are ready") - return - var start_packet := { - "type": "lobby_start", - "from": steam_id, - "lobby_id": str(lobby_id), - "member_count": lobby_members.size(), - "fake_peer_enabled": fake_peer_enabled - } - _log("lobby start ready: %s" % start_packet) - _send_p2p_packet(0, start_packet) - - func toggle_fake_peer() -> void: if lobby_id == 0: _log("create a lobby before adding a fake peer") @@ -1119,8 +1094,6 @@ func _lobby_ready_summary() -> String: func _update_lobby_controls() -> void: if ready_button != null: ready_button.text = "Unready" if _is_member_ready(steam_id) else "Ready" - if start_button != null: - start_button.disabled = not is_host or not _all_members_ready() if fake_peer_button != null: fake_peer_button.text = "Remove Fake" if fake_peer_enabled else "Add Fake" if fake_ready_button != null: @@ -1189,7 +1162,6 @@ func _free_ui() -> void: lobby_title_label = null lobby_detail_label = null ready_button = null - start_button = null fake_peer_button = null fake_ready_button = null