From 0f7cd9caaff98cdacc3834d1d3efb6c240fab006 Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 10 Apr 2026 22:14:35 +0200 Subject: [PATCH] =?UTF-8?q?revert(app):=20drop=20foundry-statue=20camera?= =?UTF-8?q?=20target=20=E2=80=94=20it's=20a=20weenie?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The Holtburg foundry statue is a selectable in-game item (weenie template spawned by the server), not a static client-dat entity. It's correctly absent from: - LandBlockInfo.Objects (Stabs) - LandBlockInfo.Buildings (BuildingInfo) - EnvCell.StaticObjects - Region.SceneInfo procedural scenery (SceneryGenerator explicitly skips ObjectDesc entries where WeenieObj != 0 — that branch is the weenie-reference flag) The client is behaving correctly. The statue will appear once we connect to a live ACEmulator instance and receive CreateObject network messages placing the weenie at its spawn position — Phase 4+ work. Setup 0x02000081 that I speculatively identified as "the statue" is a different decoration entirely; there's no need to pin the default camera at its location. Revert the camera targeting from eb27e3c. OrbitCamera defaults back to (96, 96, 0) centered on Holtburg, FlyCamera to (96, 96, 150). --- src/AcDream.App/Rendering/GameWindow.cs | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/src/AcDream.App/Rendering/GameWindow.cs b/src/AcDream.App/Rendering/GameWindow.cs index e3c9bef..beb110f 100644 --- a/src/AcDream.App/Rendering/GameWindow.cs +++ b/src/AcDream.App/Rendering/GameWindow.cs @@ -413,17 +413,6 @@ public sealed class GameWindow : IDisposable } Console.WriteLine($"interior: spawned {interiorSpawned} static objects from EnvCells"); - // Point the default camera at the Holtburg foundry rooftop so the user - // can see Setup 0x02000081 (the presumed statue) without having to hunt - // for it. Foundry is Building[7] at (107.5, 36.0, 94) and we render a - // candidate statue Setup at (107.5, 36.0, 100.85) from EnvCell 0xA9B40166. - _cameraController!.Orbit.Target = new System.Numerics.Vector3(107.5f, 36.0f, 100.85f); - _cameraController.Orbit.Distance = 60f; - _cameraController.Fly.Position = new System.Numerics.Vector3(107.5f, 0f, 115f); - _cameraController.Fly.Yaw = MathF.PI / 2f; - _cameraController.Fly.Pitch = -0.15f; - Console.WriteLine("camera targeted at suspected foundry statue at (107.5, 36.0, 100.85)"); - _entities = hydratedEntities; Console.WriteLine($"hydrated {_entities.Count} entities total (stabs + buildings + scenery + interior)"); }