From 60581bf9efe574837600c522a2a5253b02af8cb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Untersch=C3=BCtz?= Date: Wed, 22 Apr 2026 12:58:18 +0200 Subject: [PATCH] fix offline mode initialization for solo play --- cmd/client/main.go | 1 + cmd/client/offline_logic.go | 1 - cmd/client/wasm_bridge.go | 8 ++++---- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/cmd/client/main.go b/cmd/client/main.go index c1664cb..9b41e7b 100644 --- a/cmd/client/main.go +++ b/cmd/client/main.go @@ -875,6 +875,7 @@ func (g *Game) resetForNewGame() { g.lastRecvSeq = 0 // Spieler-State zurücksetzen + g.isOffline = false g.scoreSubmitted = false g.lastStatus = "" g.correctionCount = 0 diff --git a/cmd/client/offline_logic.go b/cmd/client/offline_logic.go index cd8fc9f..d03ec1d 100644 --- a/cmd/client/offline_logic.go +++ b/cmd/client/offline_logic.go @@ -113,7 +113,6 @@ func (g *Game) spawnOfflineChunk(atX float64) { var pool []string for id := range g.world.ChunkLibrary { if id != "start" { - pool = append(pool) pool = append(pool, id) } } diff --git a/cmd/client/wasm_bridge.go b/cmd/client/wasm_bridge.go index cc46f7a..f5a333b 100644 --- a/cmd/client/wasm_bridge.go +++ b/cmd/client/wasm_bridge.go @@ -36,11 +36,11 @@ func (g *Game) setupJavaScriptBridge() { g.savePlayerName(playerName) if mode == "solo" { - // Solo Mode - Auto-Start wartet auf Server - g.roomID = fmt.Sprintf("solo_%d", time.Now().UnixNano()) + // Solo Mode - Jetzt standardmäßig OFFLINE g.isHost = true - g.appState = StateLobby // Warte auf Server Auto-Start - log.Printf("🎮 Solo-Spiel gestartet: %s (warte auf Server)", playerName) + g.startOfflineGame() + log.Printf("🎮 Solo-Spiel OFFLINE gestartet: %s", playerName) + return nil } else if mode == "coop" && len(args) >= 5 { // Co-op Mode - in die Lobby roomID := args[2].String()