From 1d51da7caa7df7d9b19a9317d16aa1f6f7853e9d Mon Sep 17 00:00:00 2001 From: "Somhairle H. Marisol" Date: Tue, 22 Sep 2026 03:16:13 +0800 Subject: fix(mapgen): sample 录像流程保持 64x48,仅显式巡游用生成器世界 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit LV_AUTOPLAY_SAMPLE(非巡游)仍走旧 64x48 以确保既有录像可复现; LV_RIVERSCAPE_TOUR=1 时才启用 256x192 生成器世界。新增 world-mode 启动日志。 --- src/LivingVillage.Desktop/Game.fs | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/LivingVillage.Desktop/Game.fs b/src/LivingVillage.Desktop/Game.fs index 8eafd26..e71b280 100644 --- a/src/LivingVillage.Desktop/Game.fs +++ b/src/LivingVillage.Desktop/Game.fs @@ -133,14 +133,16 @@ type LivingVillageGame() as this = | v -> match Int32.TryParse v with (true, value) -> max 1 value | _ -> 1 let mapTourMode = Environment.GetEnvironmentVariable("LV_MAP_TOUR") = "1" // P20 第三步:默认可玩世界走 256x192 生成器(核心可达区站位);LV_LEGACY_MAP=1 回退 64x48。 - let riverscapeActive = not legacyMapMode && not mapTourMode && mapScale <= 1 + // 证据用 sample 流程(LV_AUTOPLAY_SAMPLE)保持旧 64x48 以确保既有录像可复现,除非显式请求巡游。 + let riverscapeTourRequested = Environment.GetEnvironmentVariable("LV_RIVERSCAPE_TOUR") = "1" + let riverscapeActive = not legacyMapMode && not mapTourMode && mapScale <= 1 && (not sampleMode || riverscapeTourRequested) let riverscapeMap : MapGen.Result option = if riverscapeActive then Sim.configureBounds 256 192 Some (MapGen.generateWithSize 256 192 42UL) else None - let riverscapeTourMode = Environment.GetEnvironmentVariable("LV_RIVERSCAPE_TOUR") = "1" && riverscapeActive + let riverscapeTourMode = riverscapeTourRequested && riverscapeActive /// 巡游路点:第一座桥的整列(含两端外沿)+ 民居门 + 核心中心,用于桥面行走取证。 let riverscapeTourWaypoints () : (int * int) list = match riverscapeMap with @@ -280,6 +282,11 @@ type LivingVillageGame() as this = this.IsFixedTimeStep <- true this.TargetElapsedTime <- TimeSpan.FromTicks(TimeSpan.TicksPerSecond / 60L) this.Window.Title <- ChineseText.copy.SceneTitle + printfn + "world-mode=%s bounds=%dx%d" + (if riverscapeActive then "riverscape" elif mapScale > 1 then "map-scale" else "legacy-64x48") + Sim.mapWidthTiles + Sim.mapHeightTiles printfn $"mode={modeName} seed=42" printfn "controls=WASD move E interact 1-6 choose Q observe Tab needs C chronicle L relations P pause F1/F2/F3 speed F6 save F7 load Esc close/exit" member private this.CenterCamera() = -- cgit v1.2.3