Add bounded aircraft control and verify current packaged runtime closure
This commit is contained in:
@@ -93,3 +93,15 @@ The exact installed API is `GameStateTransitions.RequestScenarioChangeTransition
|
||||
This uses the documented [native transition API](https://community.bistudio.com/wikidata/external-data/arma-reforger/ArmaReforgerScriptAPIPublic/interfaceGameStateTransitions.html), not an invented `-scenario` engine parameter. The official `-worldSystemsConfig` startup parameter is marked Diag-only, so it is not assumed to configure the regular executable. Native compilation and actual header transition are pending; failure to reach an idle main menu is retained as a failed diagnostic, without retries that could replace gameplay.
|
||||
|
||||
The runner now additionally requires a matching local-participant marker after normal finalized admission: the actual local controller must own the living body, the canonical roster must accept it, and the mission must be in PRISON. Header/world readiness alone can no longer pass while player admission is absent. This new observation is gated by the ordinary diagnostic flag and never creates a body or identity. Its ordinary native compilation is pending.
|
||||
|
||||
## Optional ordinary prisoner view
|
||||
|
||||
The explicit `-errOrdinaryScenario core|chat -errOrdinaryScreenshot 1` combination requests one screenshot three seconds after genuine finalized local prisoner admission. The runner exposes this as `--capture-prison-view` for loose successor startup; packed and vanilla-control runs refuse it. The request is absent from Workbench compilation and inert without both diagnostic arguments. It does not select a camera, inject input, move an entity or change presentation, so a captured menu, loading overlay or unexpected viewpoint is a finding to investigate rather than something the helper hides.
|
||||
|
||||
Before requesting `System.MakeScreenshot("$logs:err-ordinary-prison")`, the helper revalidates the same current world/mode, active prison phase, living actor, canonical roster-life/account, local controller and player-manager binding. It requires the exact opt-in value `1` and a non-console authoritative game. The owned delayed callback is removed on mission stop and by the existing native `OnBeforeWorldCleanup` hook; the per-world attempt latch prevents a second admission notification from requesting another capture. Invalidated admission cancels without retry. A new world resets the latch.
|
||||
|
||||
`tests/test_ordinary_screenshot.py` executes the helper's actual gate, queue, validation, capture and cleanup methods through adapters, including replaced controllers/bodies/lives, death, phase/world changes and late callbacks. This verifies source behavior only. The native capture call and actual image must still be checked in the ordinary game; a screenshot alone does not qualify manual escape, multiplayer or performance. Preserve the image with that run's raw logs and source provenance.
|
||||
|
||||
[121730](evidence/game-2026-09-19-121730-prison-view/report.json) passes ordinary Chat startup and the optional capture. The [unaltered player view](evidence/game-2026-09-19-121730-prison-view/ordinary-prison-view.png) shows the prisoner inside the authored walls with the correct escape objective and instructions. The exact native BMP is retained beside a documented lossless PNG conversion. The image also exposed tall wheat inside the yard; the first bounded decal candidate in [122353](evidence/game-2026-09-19-122353-yard-candidate/report.json) clears only a small central patch and is not yet full-yard treatment. Neither capture supplies player-input or full-route acceptance.
|
||||
|
||||
[125906 integrated startup](evidence/game-2026-09-19-125906-integrated-prison/report.json) passes after the admission-budget, interaction-feedback, optional aircraft-target and stock-scale yard changes. The native player view remains correct. The scale-ten vanilla decal clears a larger irregular patch while wheat remains near and within parts of the enclosure; complete yard clearance is not claimed. This is ordinary-game startup and initial-view evidence only.
|
||||
|
||||
Reference in New Issue
Block a user