diff options
| author | Somhairle H. Marisol <[email protected]> | 2026-09-22 03:16:13 +0800 |
|---|---|---|
| committer | Somhairle H. Marisol <[email protected]> | 2026-09-22 03:16:13 +0800 |
| commit | 1d51da7caa7df7d9b19a9317d16aa1f6f7853e9d (patch) | |
| tree | fb8981a9e50a12b6c496b11357fa9778a3cab8db /src | |
| parent | f6d4c2fbfe8327381a124c25500225e9ed6558da (diff) | |
| download | living-village-1d51da7caa7df7d9b19a9317d16aa1f6f7853e9d.tar.gz | |
fix(mapgen): sample 录像流程保持 64x48,仅显式巡游用生成器世界
LV_AUTOPLAY_SAMPLE(非巡游)仍走旧 64x48 以确保既有录像可复现;
LV_RIVERSCAPE_TOUR=1 时才启用 256x192 生成器世界。新增 world-mode 启动日志。
Diffstat (limited to 'src')
| -rw-r--r-- | src/LivingVillage.Desktop/Game.fs | 11 |
1 files 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() = |
